From 39f5cba27eef35877c91291f518974f34130fcb6 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 31 Jan 2017 19:39:31 -0500 Subject: [PATCH] Huge update - lots of mods: areas, biome_lib, blox, bobblocks, boost_cart, homedecor, mobs, coloredwood, ilights, inbox, item_tweaks, moreblocks, moreores, pipeworks, plasticbox, signs_lib, stainedglass, roads, unifieddyes, vines, worldedit, xban2, maybe some others I didn't think about ;-) --- areas/api.lua | 16 + areas/api.md | 45 + areas/hud.lua | 10 + areas/mod.conf | 1 + biome_lib/init.lua | 24 +- blox/depends.txt | 1 + blox/init.lua | 662 ++-- blox/models/blox_block_with_overlay.obj | 44 + blox/textures/blox_cobble_checker.png | Bin 0 -> 384 bytes blox/textures/blox_cobble_corner.png | Bin 0 -> 351 bytes blox/textures/blox_cobble_cross.png | Bin 0 -> 345 bytes blox/textures/blox_cobble_diamond.png | Bin 0 -> 380 bytes blox/textures/blox_cobble_loop.png | Bin 0 -> 354 bytes blox/textures/blox_cobble_quarter.png | Bin 0 -> 342 bytes blox/textures/blox_cobble_tinted.png | Bin 0 -> 289 bytes blox/textures/blox_stone_checker.png | Bin 0 -> 361 bytes blox/textures/blox_stone_corner.png | Bin 0 -> 310 bytes blox/textures/blox_stone_cross.png | Bin 0 -> 311 bytes blox/textures/blox_stone_diamond.png | Bin 0 -> 328 bytes blox/textures/blox_stone_loop.png | Bin 0 -> 324 bytes blox/textures/blox_stone_quarter.png | Bin 0 -> 304 bytes blox/textures/blox_stone_square.png | Bin 0 -> 241 bytes blox/textures/blox_stone_tinted.png | Bin 0 -> 223 bytes blox/textures/blox_wood_checker.png | Bin 0 -> 369 bytes blox/textures/blox_wood_corner.png | Bin 0 -> 317 bytes blox/textures/blox_wood_cross.png | Bin 0 -> 305 bytes blox/textures/blox_wood_diamond.png | Bin 0 -> 326 bytes blox/textures/blox_wood_loop.png | Bin 0 -> 330 bytes blox/textures/blox_wood_quarter.png | Bin 0 -> 295 bytes blox/textures/blox_wood_tinted.png | Bin 0 -> 218 bytes bobblocks/blocks.lua | 1043 ++--- bobblocks/depends.txt | 1 + bobblocks/textures/bobblocks_block.png | Bin 0 -> 652 bytes bobblocks/textures/bobblocks_block_off.png | Bin 0 -> 604 bytes bobblocks/textures/bobblocks_pole_inv.png | Bin 0 -> 452 bytes bobblocks/textures/bobblocks_wavyblock.png | Bin 0 -> 1868 bytes bobblocks/textures/bobblocks_wavypole_inv.png | Bin 0 -> 747 bytes boost_cart/cart_entity.lua | 73 +- building_blocks/depends.txt | 3 +- building_blocks/init.lua | 77 +- carbone_mobs/README.txt | 19 + carbone_mobs/api.lua | 66 +- carbone_mobs/init.lua | 3 + chains/depends.txt | 3 +- chains/init.lua | 15 +- coloredwood/init.lua | 303 +- coloredwood/textures/coloredwood_base.png | Bin 0 -> 214 bytes .../textures/coloredwood_fence_base.png | Bin 0 -> 224 bytes computer/computers.lua | 18 +- computer/depends.txt | 3 +- computer/init.lua | 37 +- computer/miscitems.lua | 3 +- computer/tetris.lua | 36 +- currency/income.lua | 4 +- currency/init.lua | 16 +- fake_fire/depends.txt | 1 + fake_fire/init.lua | 52 +- framedglass/init.lua | 159 +- homedecor/bathroom_furniture.lua | 34 +- homedecor/bathroom_sanitation.lua | 38 +- homedecor/bedroom.lua | 334 +- homedecor/books.lua | 29 +- homedecor/climate-control.lua | 78 +- homedecor/clocks.lua | 4 +- homedecor/crafts.lua | 458 +-- homedecor/depends.txt | 3 +- homedecor/doors_and_gates.lua | 92 +- homedecor/electronics.lua | 14 +- homedecor/exterior.lua | 64 +- homedecor/fences.lua | 41 +- homedecor/foyer.lua | 1 - homedecor/furniture.lua | 223 +- homedecor/furniture_medieval.lua | 20 +- homedecor/furniture_recipes.lua | 162 +- homedecor/gastronomy.lua | 3 +- homedecor/handlers/expansion.lua | 120 +- homedecor/handlers/furnaces.lua | 44 +- homedecor/handlers/inventory.lua | 61 +- homedecor/handlers/nodeboxes.lua | 3 - homedecor/handlers/registration.lua | 2 +- homedecor/handlers/sit.lua | 4 +- homedecor/handlers/water_particles.lua | 9 +- homedecor/init.lua | 59 +- homedecor/intllib.lua | 45 + homedecor/kitchen_appliances.lua | 14 +- homedecor/kitchen_furniture.lua | 14 +- homedecor/laundry.lua | 2 +- homedecor/lighting.lua | 509 ++- homedecor/locale/de.po | 1490 ++++++++ homedecor/locale/es.po | 1152 ++++++ homedecor/locale/fr.po | 1438 +++++++ homedecor/locale/it.po | 1512 ++++++++ homedecor/locale/ms.po | 1512 ++++++++ homedecor/locale/ms.txt | 233 ++ homedecor/locale/pt.po | 1343 +++++++ homedecor/locale/template.pot | 1152 ++++++ homedecor/misc-nodes.lua | 114 +- homedecor/models/forniture_armchair.obj | 358 +- homedecor/models/homedecor_bed_extended.obj | 316 +- homedecor/models/homedecor_bed_kingsize.obj | 510 +-- homedecor/models/homedecor_bed_regular.obj | 302 +- homedecor/models/homedecor_desk_lamp.obj | 3372 +++++++++++------ homedecor/models/homedecor_kitchen_chair.obj | 166 +- homedecor/models/homedecor_toilet_open.obj | 1252 ++---- homedecor/models/homedecor_window_shutter.obj | 154 +- homedecor/office.lua | 11 +- homedecor/roofing.lua | 31 +- homedecor/shutters.lua | 122 +- homedecor/tables.lua | 47 +- homedecor/textures/homedecor_armchair_inv.png | Bin 0 -> 6376 bytes homedecor/textures/homedecor_bed_inv.png | Bin 5875 -> 6269 bytes .../textures/homedecor_bed_kingsize_inv.png | Bin 5752 -> 6178 bytes .../textures/homedecor_chair_padded_inv.png | Bin 0 -> 4554 bytes .../textures/homedecor_chair_wood_inv.png | Bin 0 -> 4411 bytes homedecor/textures/homedecor_curtain.png | Bin 465 -> 295 bytes homedecor/textures/homedecor_curtain_open.png | Bin 425 -> 276 bytes .../textures/homedecor_desk_lamp_inv.png | Bin 0 -> 1370 bytes .../textures/homedecor_generic_metal.png | Bin 0 -> 218 bytes .../textures/homedecor_generic_plastic.png | Bin 0 -> 226 bytes .../homedecor_generic_wood_luxury.png | Bin 1314 -> 590 bytes .../textures/homedecor_generic_wood_plain.png | Bin 605 -> 293 bytes .../textures/homedecor_glowlight_bottom.png | Bin 0 -> 95 bytes .../homedecor_glowlight_cube_sides.png | Bin 0 -> 137 bytes ...homedecor_glowlight_cube_sides_ceiling.png | Bin 0 -> 139 bytes .../textures/homedecor_glowlight_cube_tb.png | Bin 0 -> 142 bytes .../homedecor_glowlight_thick_sides.png | Bin 0 -> 173 bytes .../homedecor_glowlight_thin_sides.png | Bin 0 -> 137 bytes .../textures/homedecor_glowlight_top.png | Bin 0 -> 165 bytes homedecor/textures/homedecor_marble.png | Bin 818 -> 233 bytes ...omedecor_table_standing_lamp_lightbulb.png | Bin 581 -> 594 bytes .../textures/homedecor_window_shutter.png | Bin 278 -> 278 bytes .../textures/homedecor_window_shutter_inv.png | Bin 4871 -> 4879 bytes homedecor/tools/updatepo.sh | 20 + homedecor/trash_cans.lua | 3 +- homedecor/wardrobe.lua | 2 - homedecor/window_treatments.lua | 181 +- homedecor_3d_extras/init.lua | 3 +- homedecor_i18n/depends.txt | 1 + homedecor_i18n/init.lua | 7 + homedecor_i18n/intllib.lua | 45 + homedecor_i18n/locale/de.po | 1773 +++++++++ homedecor_i18n/locale/es.po | 1420 +++++++ homedecor_i18n/locale/fr.po | 1719 +++++++++ homedecor_i18n/locale/it.po | 1795 +++++++++ homedecor_i18n/locale/ms.po | 1795 +++++++++ homedecor_i18n/locale/pt.po | 1644 ++++++++ homedecor_i18n/locale/template.pot | 1420 +++++++ homedecor_i18n/tools/updatepo.sh | 22 + ilights/depends.txt | 3 +- ilights/init.lua | 179 +- ilights/textures/ilights_lamp_bulb.png | Bin 668 -> 492 bytes inbox/depends.txt | 1 + inbox/init.lua | 12 +- item_tweaks/item_drop.lua | 6 + itemframes/depends.txt | 1 + itemframes/init.lua | 29 +- lavalamp/depends.txt | 4 +- lavalamp/init.lua | 212 +- lavalamp/textures/lavalamp_lamp_anim.png | Bin 0 -> 4804 bytes lavalamp/textures/lavalamp_lamp_inv.png | Bin 0 -> 2884 bytes lavalamp/textures/lavalamp_lamp_off.png | Bin 82 -> 86 bytes lrfurn/armchairs.lua | 129 +- lrfurn/coffeetable.lua | 12 +- lrfurn/depends.txt | 2 + lrfurn/endtable.lua | 7 +- lrfurn/init.lua | 44 +- lrfurn/longsofas.lua | 169 +- lrfurn/models/lrfurn_armchair.obj | 478 +-- lrfurn/models/lrfurn_sofa_long.obj | 544 +-- lrfurn/models/lrfurn_sofa_short.obj | 440 +-- lrfurn/sofas.lua | 170 +- lrfurn/textures/lrfurn_armchair_inv.png | Bin 0 -> 6841 bytes lrfurn/textures/lrfurn_longsofa_inv.png | Bin 0 -> 4423 bytes lrfurn/textures/lrfurn_sofa_inv.png | Bin 0 -> 5297 bytes lrfurn/textures/lrfurn_upholstery.png | Bin 0 -> 2309 bytes moreblocks/.luacheckrc | 14 + moreblocks/aliases.lua | 1 - moreblocks/circular_saw.lua | 16 +- moreblocks/crafting.lua | 4 +- moreblocks/models/moreblocks_slope.obj | 68 +- moreblocks/models/moreblocks_slope_cut.obj | 87 +- moreblocks/models/moreblocks_slope_half.obj | 70 +- .../models/moreblocks_slope_half_raised.obj | 86 +- moreblocks/models/moreblocks_slope_inner.obj | 106 +- .../models/moreblocks_slope_inner_cut.obj | 90 +- .../moreblocks_slope_inner_cut_half.obj | 92 +- ...moreblocks_slope_inner_cut_half_raised.obj | 99 +- .../models/moreblocks_slope_inner_half.obj | 102 +- .../moreblocks_slope_inner_half_raised.obj | 104 +- moreblocks/models/moreblocks_slope_outer.obj | 63 +- .../models/moreblocks_slope_outer_cut.obj | 53 +- .../moreblocks_slope_outer_cut_half.obj | 54 +- ...moreblocks_slope_outer_cut_half_raised.obj | 70 +- .../models/moreblocks_slope_outer_half.obj | 65 +- .../moreblocks_slope_outer_half_raised.obj | 90 +- moreblocks/nodes.lua | 22 +- moreblocks/ownership.lua | 4 +- moreblocks/stairsplus/conversion.lua | 6 +- moreblocks/stairsplus/microblocks.lua | 20 +- moreblocks/stairsplus/panels.lua | 10 +- moreblocks/stairsplus/slabs.lua | 54 +- moreblocks/stairsplus/slopes.lua | 34 +- moreblocks/stairsplus/stairs.lua | 2 +- moreores/_config.txt | 24 +- moreores/init.lua | 40 +- .../moreores_copper_rail_t_junction.png | Bin 260 -> 337 bytes pipeworks/routing_tubes.lua | 9 +- plasmascreen/depends.txt | 3 +- plasmascreen/init.lua | 11 +- plasticbox/depends.txt | 5 +- plasticbox/init.lua | 392 +- plasticbox/textures/plasticbox_ud_palette.png | Bin 0 -> 443 bytes plasticbox/ud_palette.txt | 9 + signs_lib/init.lua | 4 +- stained_glass/geany_run_script.sh | 16 + stained_glass/init.lua | 328 +- stained_glass/textures/stained_glass.png | Bin 0 -> 291 bytes .../textures/stained_glass_faint_palette.png | Bin 0 -> 305 bytes .../stained_glass_pastels_palette.png | Bin 0 -> 334 bytes teleport_request/init.lua | 16 +- trafficlight/init.lua | 375 +- trafficlight/textures/streets_b_red.png | Bin 0 -> 847 bytes .../textures/streets_pl_number_0l.png | Bin 0 -> 572 bytes .../textures/streets_pl_number_0r.png | Bin 0 -> 615 bytes .../textures/streets_pl_number_1l.png | Bin 0 -> 601 bytes .../textures/streets_pl_number_1r.png | Bin 0 -> 602 bytes .../textures/streets_pl_number_2l.png | Bin 0 -> 610 bytes .../textures/streets_pl_number_2r.png | Bin 0 -> 610 bytes .../textures/streets_pl_number_3l.png | Bin 0 -> 606 bytes .../textures/streets_pl_number_3r.png | Bin 0 -> 610 bytes .../textures/streets_pl_number_4l.png | Bin 0 -> 614 bytes .../textures/streets_pl_number_4r.png | Bin 0 -> 620 bytes .../textures/streets_pl_number_5l.png | Bin 0 -> 603 bytes .../textures/streets_pl_number_5r.png | Bin 0 -> 621 bytes .../textures/streets_pl_number_6l.png | Bin 0 -> 608 bytes .../textures/streets_pl_number_6r.png | Bin 0 -> 618 bytes .../textures/streets_pl_number_7l.png | Bin 0 -> 607 bytes .../textures/streets_pl_number_7r.png | Bin 0 -> 620 bytes .../textures/streets_pl_number_8l.png | Bin 0 -> 608 bytes .../textures/streets_pl_number_8r.png | Bin 0 -> 611 bytes .../textures/streets_pl_number_9l.png | Bin 0 -> 605 bytes .../textures/streets_pl_number_9r.png | Bin 0 -> 613 bytes .../textures/streets_pl_number_template.png | Bin 0 -> 669 bytes trafficlight/textures/streets_pl_walk.png | Bin 628 -> 630 bytes trafficlight/textures/streets_rrfb_inv.png | Bin 0 -> 3066 bytes trafficlight/textures/streets_rrfb_off.png | Bin 0 -> 627 bytes trafficlight/textures/streets_rrfb_on.png | Bin 0 -> 762 bytes .../textures/streets_tl_straight_green.png | Bin 0 -> 938 bytes .../streets_trafficlight_inv_greenarrow.png | Bin 0 -> 2753 bytes unifiedbricks/init.lua | 985 +---- .../models/unifiedbricks_brick_block.obj | 44 + .../textures/unifiedbricks_brickblock.png | Bin 0 -> 118 bytes .../textures/unifiedbricks_clayblock.png | Bin 0 -> 389 bytes .../textures/unifiedbricks_mortar.png | Bin 0 -> 247 bytes unifieddyes/init.lua | 391 +- unifieddyes/textures/unifieddyes_palette.png | Bin 0 -> 443 bytes .../textures/unifieddyes_palette_aquas.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_blues.png | Bin 0 -> 101 bytes .../unifieddyes_palette_colorwallmounted.png | Bin 0 -> 158 bytes .../textures/unifieddyes_palette_cyans.png | Bin 0 -> 101 bytes .../textures/unifieddyes_palette_greens.png | Bin 0 -> 101 bytes .../textures/unifieddyes_palette_greys.png | Bin 0 -> 98 bytes .../textures/unifieddyes_palette_limes.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_magentas.png | Bin 0 -> 101 bytes .../textures/unifieddyes_palette_oranges.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_reds.png | Bin 0 -> 101 bytes .../unifieddyes_palette_redviolets.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_skyblues.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_violets.png | Bin 0 -> 99 bytes .../textures/unifieddyes_palette_yellows.png | Bin 0 -> 101 bytes vines/functions.lua | 10 +- worldedit/init.lua | 1 - worldedit/manipulations.lua | 11 +- worldedit_commands/init.lua | 61 +- worldedit_commands/mark.lua | 41 +- worldedit_commands/wand.lua | 34 + xban2/init.lua | 4 +- 277 files changed, 31735 insertions(+), 8666 deletions(-) create mode 100644 areas/api.md create mode 100644 areas/mod.conf create mode 100644 blox/models/blox_block_with_overlay.obj create mode 100644 blox/textures/blox_cobble_checker.png create mode 100644 blox/textures/blox_cobble_corner.png create mode 100644 blox/textures/blox_cobble_cross.png create mode 100644 blox/textures/blox_cobble_diamond.png create mode 100644 blox/textures/blox_cobble_loop.png create mode 100644 blox/textures/blox_cobble_quarter.png create mode 100644 blox/textures/blox_cobble_tinted.png create mode 100644 blox/textures/blox_stone_checker.png create mode 100644 blox/textures/blox_stone_corner.png create mode 100644 blox/textures/blox_stone_cross.png create mode 100644 blox/textures/blox_stone_diamond.png create mode 100644 blox/textures/blox_stone_loop.png create mode 100644 blox/textures/blox_stone_quarter.png create mode 100644 blox/textures/blox_stone_square.png create mode 100644 blox/textures/blox_stone_tinted.png create mode 100644 blox/textures/blox_wood_checker.png create mode 100644 blox/textures/blox_wood_corner.png create mode 100644 blox/textures/blox_wood_cross.png create mode 100644 blox/textures/blox_wood_diamond.png create mode 100644 blox/textures/blox_wood_loop.png create mode 100644 blox/textures/blox_wood_quarter.png create mode 100644 blox/textures/blox_wood_tinted.png create mode 100644 bobblocks/textures/bobblocks_block.png create mode 100644 bobblocks/textures/bobblocks_block_off.png create mode 100644 bobblocks/textures/bobblocks_pole_inv.png create mode 100644 bobblocks/textures/bobblocks_wavyblock.png create mode 100644 bobblocks/textures/bobblocks_wavypole_inv.png create mode 100644 coloredwood/textures/coloredwood_base.png create mode 100644 coloredwood/textures/coloredwood_fence_base.png create mode 100644 homedecor/intllib.lua create mode 100644 homedecor/locale/de.po create mode 100644 homedecor/locale/es.po create mode 100644 homedecor/locale/fr.po create mode 100644 homedecor/locale/it.po create mode 100644 homedecor/locale/ms.po create mode 100644 homedecor/locale/ms.txt create mode 100644 homedecor/locale/pt.po create mode 100644 homedecor/locale/template.pot create mode 100644 homedecor/textures/homedecor_armchair_inv.png create mode 100644 homedecor/textures/homedecor_chair_padded_inv.png create mode 100644 homedecor/textures/homedecor_chair_wood_inv.png create mode 100644 homedecor/textures/homedecor_desk_lamp_inv.png create mode 100644 homedecor/textures/homedecor_generic_metal.png create mode 100644 homedecor/textures/homedecor_generic_plastic.png create mode 100644 homedecor/textures/homedecor_glowlight_bottom.png create mode 100644 homedecor/textures/homedecor_glowlight_cube_sides.png create mode 100644 homedecor/textures/homedecor_glowlight_cube_sides_ceiling.png create mode 100644 homedecor/textures/homedecor_glowlight_cube_tb.png create mode 100644 homedecor/textures/homedecor_glowlight_thick_sides.png create mode 100644 homedecor/textures/homedecor_glowlight_thin_sides.png create mode 100644 homedecor/textures/homedecor_glowlight_top.png create mode 100755 homedecor/tools/updatepo.sh create mode 100644 homedecor_i18n/depends.txt create mode 100644 homedecor_i18n/init.lua create mode 100644 homedecor_i18n/intllib.lua create mode 100644 homedecor_i18n/locale/de.po create mode 100644 homedecor_i18n/locale/es.po create mode 100644 homedecor_i18n/locale/fr.po create mode 100644 homedecor_i18n/locale/it.po create mode 100644 homedecor_i18n/locale/ms.po create mode 100644 homedecor_i18n/locale/pt.po create mode 100644 homedecor_i18n/locale/template.pot create mode 100755 homedecor_i18n/tools/updatepo.sh create mode 100644 lavalamp/textures/lavalamp_lamp_anim.png create mode 100644 lavalamp/textures/lavalamp_lamp_inv.png create mode 100644 lrfurn/textures/lrfurn_armchair_inv.png create mode 100644 lrfurn/textures/lrfurn_longsofa_inv.png create mode 100644 lrfurn/textures/lrfurn_sofa_inv.png create mode 100644 lrfurn/textures/lrfurn_upholstery.png create mode 100644 moreblocks/.luacheckrc create mode 100644 plasticbox/textures/plasticbox_ud_palette.png create mode 100644 plasticbox/ud_palette.txt create mode 100644 stained_glass/geany_run_script.sh create mode 100644 stained_glass/textures/stained_glass.png create mode 100644 stained_glass/textures/stained_glass_faint_palette.png create mode 100644 stained_glass/textures/stained_glass_pastels_palette.png create mode 100644 trafficlight/textures/streets_b_red.png create mode 100644 trafficlight/textures/streets_pl_number_0l.png create mode 100644 trafficlight/textures/streets_pl_number_0r.png create mode 100644 trafficlight/textures/streets_pl_number_1l.png create mode 100644 trafficlight/textures/streets_pl_number_1r.png create mode 100644 trafficlight/textures/streets_pl_number_2l.png create mode 100644 trafficlight/textures/streets_pl_number_2r.png create mode 100644 trafficlight/textures/streets_pl_number_3l.png create mode 100644 trafficlight/textures/streets_pl_number_3r.png create mode 100644 trafficlight/textures/streets_pl_number_4l.png create mode 100644 trafficlight/textures/streets_pl_number_4r.png create mode 100644 trafficlight/textures/streets_pl_number_5l.png create mode 100644 trafficlight/textures/streets_pl_number_5r.png create mode 100644 trafficlight/textures/streets_pl_number_6l.png create mode 100644 trafficlight/textures/streets_pl_number_6r.png create mode 100644 trafficlight/textures/streets_pl_number_7l.png create mode 100644 trafficlight/textures/streets_pl_number_7r.png create mode 100644 trafficlight/textures/streets_pl_number_8l.png create mode 100644 trafficlight/textures/streets_pl_number_8r.png create mode 100644 trafficlight/textures/streets_pl_number_9l.png create mode 100644 trafficlight/textures/streets_pl_number_9r.png create mode 100644 trafficlight/textures/streets_pl_number_template.png create mode 100644 trafficlight/textures/streets_rrfb_inv.png create mode 100644 trafficlight/textures/streets_rrfb_off.png create mode 100644 trafficlight/textures/streets_rrfb_on.png create mode 100644 trafficlight/textures/streets_tl_straight_green.png create mode 100644 trafficlight/textures/streets_trafficlight_inv_greenarrow.png create mode 100644 unifiedbricks/models/unifiedbricks_brick_block.obj create mode 100644 unifiedbricks/textures/unifiedbricks_brickblock.png create mode 100644 unifiedbricks/textures/unifiedbricks_clayblock.png create mode 100644 unifiedbricks/textures/unifiedbricks_mortar.png create mode 100644 unifieddyes/textures/unifieddyes_palette.png create mode 100644 unifieddyes/textures/unifieddyes_palette_aquas.png create mode 100644 unifieddyes/textures/unifieddyes_palette_blues.png create mode 100644 unifieddyes/textures/unifieddyes_palette_colorwallmounted.png create mode 100644 unifieddyes/textures/unifieddyes_palette_cyans.png create mode 100644 unifieddyes/textures/unifieddyes_palette_greens.png create mode 100644 unifieddyes/textures/unifieddyes_palette_greys.png create mode 100644 unifieddyes/textures/unifieddyes_palette_limes.png create mode 100644 unifieddyes/textures/unifieddyes_palette_magentas.png create mode 100644 unifieddyes/textures/unifieddyes_palette_oranges.png create mode 100644 unifieddyes/textures/unifieddyes_palette_reds.png create mode 100644 unifieddyes/textures/unifieddyes_palette_redviolets.png create mode 100644 unifieddyes/textures/unifieddyes_palette_skyblues.png create mode 100644 unifieddyes/textures/unifieddyes_palette_violets.png create mode 100644 unifieddyes/textures/unifieddyes_palette_yellows.png create mode 100644 worldedit_commands/wand.lua diff --git a/areas/api.lua b/areas/api.lua index e8b9c7a0..730e96d5 100644 --- a/areas/api.lua +++ b/areas/api.lua @@ -1,7 +1,23 @@ +local hudHandlers = {} + +--- Adds a function as a HUD handler, it will be able to add items to the Areas HUD element. +function areas:registerHudHandler(handler) + table.insert(hudHandlers, handler) +end + + +function areas:getExternalHudEntries(pos) + local areas = {} + for _, func in pairs(hudHandlers) do + func(pos, areas) + end + return areas +end --- Returns a list of areas that include the provided position. function areas:getAreasAtPos(pos) local res = {} + if self.store then local a = self.store:get_areas_for_pos(pos, false, true) for store_id, store_area in pairs(a) do diff --git a/areas/api.md b/areas/api.md new file mode 100644 index 00000000..c74b4c7b --- /dev/null +++ b/areas/api.md @@ -0,0 +1,45 @@ +Areas mod API +=== + +API list +--- + + * `areas.registerHudHandler(handler)` - Registers a handler to add items to the Areas HUD. See [HUD](#hud). + + +HUD +--- + +If you are making a protection mod or a similar mod that adds invisible regions +to the world, and you would like then to show up in the areas HUD element, you +can register a callback to show your areas. + +HUD handler specification: + + * `handler(pos, list)` + * `pos` - The position to check. + * `list` - The list of area HUD elements, this should be modified in-place. + +The area list item is a table containing a list of tables with the following fields: + + * `id` - An identifier for the area. This should be a unique string in the format `mod:id`. + * `name` - The name of the area. + * `owner` - The player name of the region owner, if any. + +All of the fields are optional but at least one of them must be set. + +### Example + + local function areas_hud_handler(pos, areas) + local val = find_my_protection(pos) + + if val then + table.insert(areas, { + id = "mod:"..val.id, + name = val.name, + owner = val.owner, + }) + end + end + + areas:registerHudHandler(areas_hud_handler) diff --git a/areas/hud.lua b/areas/hud.lua index 4908b92c..0b7931f2 100644 --- a/areas/hud.lua +++ b/areas/hud.lua @@ -7,11 +7,21 @@ minetest.register_globalstep(function(dtime) local name = player:get_player_name() local pos = vector.round(player:getpos()) local areaStrings = {} + for id, area in pairs(areas:getAreasAtPos(pos)) do table.insert(areaStrings, ("%s [%u] (%s%s)") :format(area.name, id, area.owner, area.open and ":open" or "")) end + + for i, area in pairs(areas:getExternalHudEntries(pos)) do + local str = "" + if area.name then str = area.name .. " " end + if area.id then str = str.."["..area.id.."] " end + if area.owner then str = str.."("..area.owner..")" end + table.insert(areaStrings, str) + end + local areaString = "Areas:" if #areaStrings > 0 then areaString = areaString.."\n".. diff --git a/areas/mod.conf b/areas/mod.conf new file mode 100644 index 00000000..0ca8ec16 --- /dev/null +++ b/areas/mod.conf @@ -0,0 +1 @@ +name = areas diff --git a/biome_lib/init.lua b/biome_lib/init.lua index 349b2f2a..5cb6202a 100644 --- a/biome_lib/init.lua +++ b/biome_lib/init.lua @@ -448,20 +448,24 @@ end) -- to prevent unpopulated map areas minetest.register_on_shutdown(function() - print("[biome_lib] Stand by, playing out the rest of the aircheck mapblock log") - print("(there are "..#biome_lib.blocklist_aircheck.." entries)...") - while true do - biome_lib:generate_block_with_air_checking(0.1) - if #biome_lib.blocklist_aircheck == 0 then return end + if #biome_lib.blocklist_aircheck > 0 then + print("[biome_lib] Stand by, playing out the rest of the aircheck mapblock log") + print("(there are "..#biome_lib.blocklist_aircheck.." entries)...") + while true do + biome_lib:generate_block_with_air_checking(0.1) + if #biome_lib.blocklist_aircheck == 0 then return end + end end end) minetest.register_on_shutdown(function() - print("[biome_lib] Stand by, playing out the rest of the no-aircheck mapblock log") - print("(there are "..#biome_lib.blocklist_no_aircheck.." entries)...") - while true do - biome_lib:generate_block_no_aircheck(0.1) - if #biome_lib.blocklist_no_aircheck == 0 then return end + if #biome_lib.blocklist_no_aircheck > 0 then + print("[biome_lib] Stand by, playing out the rest of the no-aircheck mapblock log") + print("(there are "..#biome_lib.blocklist_no_aircheck.." entries)...") + while true do + biome_lib:generate_block_no_aircheck(0.1) + if #biome_lib.blocklist_no_aircheck == 0 then return end + end end end) diff --git a/blox/depends.txt b/blox/depends.txt index 562cf632..784823a5 100644 --- a/blox/depends.txt +++ b/blox/depends.txt @@ -1 +1,2 @@ default +unifieddyes diff --git a/blox/init.lua b/blox/init.lua index 16af8e46..6faabd94 100644 --- a/blox/init.lua +++ b/blox/init.lua @@ -10,6 +10,8 @@ by blert2112 -- Remove Blox from creative inventory if colormachine mod is installed +blox = {} + local creative = 0 if (minetest.get_modpath("colormachine")) then @@ -22,11 +24,7 @@ end -- Uncomment the line above and change value to 0 to keep nodes in creative inventory when colormachine is installed. -local version = "0.7.2112" - -local DyeSub = "" - -local Material = "" +local version = "0.8" local BloxColours = { "pink", @@ -41,42 +39,6 @@ local BloxColours = { "black", } -local UNIFIED = { - "magenta", - "yellow", - "white", - "orange", - "violet", - "blue", - "cyan", - "red", - "green", - "black", -} - -local BuiltInDyes = { - "pink", - "yellow", - "white", - "orange", - "violet", - "blue", - "cyan", - "red", - "green", - "black", -} - -local FuelBlox = { - "wood", - "diamond_wood", - "corner_wood", - "checker_wood", - "cross_wood", - "quarter_wood", - "loop_wood", -} - local NodeClass = { "diamond", "quarter", @@ -87,9 +49,9 @@ local NodeClass = { } local NodeMaterial = { - "", - "_wood", - "_cobble", + "stone", + "wood", + "cobble", } -- Nodes @@ -145,393 +107,274 @@ minetest.register_node("blox:glowdust", { groups = {cracky=3, snappy=3}, }) +-- param2-colored nodes: standard patterns -for _, NClass in ipairs(NodeClass) do +for _, nodeclass in ipairs(NodeClass) do - for _, colour in ipairs(BloxColours) do - local cname = colour .. NClass - - minetest.register_node('blox:' .. cname, { - description = colour .. " " .. NClass .. " stone block", - tiles = { 'blox_' .. cname .. '.png' }, - --inventory_image = 'blox_' .. cname .. '.png', + minetest.register_node("blox:stone_"..nodeclass, { + description = "Blox stone "..nodeclass, + drawtype = "mesh", + tiles = { + { name = "default_stone.png", color = 0xffffffff }, + "blox_stone_"..nodeclass..".png" + }, + mesh = "blox_block_with_overlay.obj", + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", is_ground_content = true, groups = {cracky=3, not_in_creative_inventory=creative}, sounds = default.node_sound_stone_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:stone_"..nodeclass) + end, }) - local sname = colour .. NClass .. '_cobble' - - minetest.register_node('blox:' .. sname, { - description = colour .. " " .. NClass .. " cobble block", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', + minetest.register_node("blox:cobble_"..nodeclass, { + description = "Blox cobble "..nodeclass, + drawtype = "mesh", + tiles = { + { name = "default_cobble.png", color = 0xffffffff }, + "blox_cobble_"..nodeclass..".png" + }, + mesh = "blox_block_with_overlay.obj", + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", is_ground_content = true, groups = {cracky=3, not_in_creative_inventory=creative}, sounds = default.node_sound_stone_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:cobble_"..nodeclass) + end, }) - local sname = colour .. NClass .. '_wood' - - minetest.register_node('blox:' .. sname, { - description = colour .. " " .. NClass .. " wooden block", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', + minetest.register_node("blox:wood_"..nodeclass, { + description = "Blox wood "..nodeclass, + drawtype = "mesh", + tiles = { + { name = "default_wood.png", color = 0xffffffff }, + "blox_wood_"..nodeclass..".png" + }, + mesh = "blox_block_with_overlay.obj", + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", is_ground_content = true, groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:wood_"..nodeclass) + end, }) - - end end - for _, colour in ipairs(BloxColours) do - local sname = colour .. 'square' +-- param2-colored nodes: tinted wood, cobble, stone, stone square - minetest.register_node('blox:' .. sname, { - description = colour .. " stone square", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', - is_ground_content = true, - groups = {cracky=3, not_in_creative_inventory=creative}, - sounds = default.node_sound_stone_defaults(), - }) - - local sname = colour .. 'stone' - - minetest.register_node('blox:' .. sname, { - description = colour .. " stone", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', - is_ground_content = true, - groups = {cracky=3, not_in_creative_inventory=creative}, - sounds = default.node_sound_stone_defaults(), - }) - - local sname = colour .. 'wood' - - minetest.register_node('blox:' .. sname, { - description = colour .. " wood", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', - is_ground_content = true, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, - sounds = default.node_sound_wood_defaults(), - }) - - local sname = colour .. 'cobble' - - minetest.register_node('blox:' .. sname, { - description = colour .. " cobble", - tiles = { 'blox_' .. sname .. '.png' }, - --inventory_image = 'blox_' .. sname .. '.png', - is_ground_content = true, - groups = {cracky=3, not_in_creative_inventory=creative}, - sounds = default.node_sound_stone_defaults(), - }) +minetest.register_node("blox:wood_tinted", { + description = "Blox tinted wood", + tiles = { "blox_wood_tinted.png" }, + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, + sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:wood_tinted") + end, +}) -end +minetest.register_node("blox:cobble_tinted", { + description = "Blox tinted cobble", + tiles = { "blox_cobble_tinted.png" }, + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, + sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:cobble_tinted") + end, +}) + +minetest.register_node("blox:stone_tinted", { + description = "Blox tinted stone", + tiles = { "blox_stone_tinted.png" }, + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, + sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:stone_tinted") + end, +}) + +minetest.register_node("blox:stone_square", { + description = "Blox stone square", + tiles = { "blox_stone_square.png" }, + palette = "unifieddyes_palette.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory=creative}, + sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "blox:stone_square") + end, +}) -- Crafting minetest.register_craft({ output = 'blox:glowstone 2', recipe = { - {'', 'blox:glowdust', ''}, + {"", 'blox:glowdust', ""}, {'blox:glowdust', 'default:stone', 'blox:glowdust'}, - {'', 'blox:glowdust', ''}, + {"", 'blox:glowdust', ""}, } }) +local dye_color = "unifieddyes:white" -for _, colour in ipairs(UNIFIED) do +for _, material in ipairs(NodeMaterial) do -if colour == "magenta" then -DyeSub = "pink" else if colour == "violet" then -DyeSub = "purple" else -DyeSub = colour -end -end + local def_mat = "default:"..material -for _, NMaterial in ipairs(NodeMaterial) do + minetest.register_craft({ + output = "blox:"..material.."_diamond 4", + recipe = { + { def_mat, dye_color, def_mat }, + { dye_color, "", dye_color }, + { def_mat, dye_color, def_mat }, + } + }) -if NMaterial == "_cobble" then -Material = "default:cobble" else if NMaterial == "_wood" then -Material = "default:wood" else -Material = "default:stone" -end -end ---print(Material, 'unifieddyes:' .. colour) ---print('unifieddyes:' .. colour, Material) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'quarter' .. NMaterial .. ' 4', - recipe = { - {Material, 'unifieddyes:' .. colour}, - {'unifieddyes:' .. colour, Material}, - } -}) + minetest.register_craft({ + output = "blox:"..material.."_quarter 4", + recipe = { + { dye_color, def_mat }, + { def_mat, dye_color }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'quarter' .. NMaterial .. ' 4', - recipe = { - {'unifieddyes:' .. colour, Material}, - {Material, 'unifieddyes:' .. colour}, - } -}) + minetest.register_craft({ + output = "blox:"..material.."_cross 4", + recipe = { + { def_mat, "", def_mat }, + { "", dye_color, "" }, + { def_mat, "", def_mat }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cross' .. NMaterial .. ' 4', - recipe = { - {Material, '', Material}, - {'', 'unifieddyes:' .. colour, ''}, - {Material, '', Material}, - } -}) + minetest.register_craft({ + output = "blox:"..material.."_checker 6", + recipe = { + { def_mat, dye_color, def_mat }, + { dye_color, def_mat, dye_color }, + { def_mat, dye_color, def_mat }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'checker' .. NMaterial .. ' 6', - recipe = { - {Material, 'unifieddyes:' .. colour,Material}, - {'unifieddyes:' .. colour, Material, 'unifieddyes:' .. colour}, - {Material, 'unifieddyes:' .. colour,Material}, - } -}) + minetest.register_craft({ + output = "blox:"..material.."_checker 8", + recipe = { + { dye_color, def_mat, dye_color }, + { def_mat, dye_color, def_mat }, + { dye_color, def_mat, dye_color }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'checker' .. NMaterial .. ' 8', - recipe = { - {'unifieddyes:' .. colour, Material, 'unifieddyes:' .. colour}, - {Material, 'unifieddyes:' .. colour,Material}, - {'unifieddyes:' .. colour, Material, 'unifieddyes:' .. colour}, - } -}) + minetest.register_craft({ + output = "blox:"..material.."_corner 4", + recipe = { + { dye_color, "", dye_color }, + { "", def_mat, "" }, + { dye_color, "", dye_color }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'loop' .. NMaterial .. ' 6', - recipe = { - {Material, Material, Material}, - {Material, 'unifieddyes:' .. colour, Material}, - {Material, Material, Material}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'corner' .. NMaterial .. ' 4', - recipe = { - {'unifieddyes:' .. colour, '', 'unifieddyes:' .. colour}, - {'', Material, ''}, - {'unifieddyes:' .. colour, '', 'unifieddyes:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'diamond' .. NMaterial .. ' 6', - recipe = { - {Material, 'unifieddyes:' .. colour, Material}, - {'unifieddyes:' .. colour, '', 'unifieddyes:' .. colour}, - {Material, 'unifieddyes:' .. colour, Material}, - } -}) - -end -end - -for _, colour in ipairs(UNIFIED) do - -if colour == "magenta" then -DyeSub = "pink" else if colour == "violet" then -DyeSub = "purple" else -DyeSub = colour -end + minetest.register_craft({ + output = "blox:"..material.."_loop 6", + recipe = { + { def_mat, def_mat, def_mat }, + { def_mat, dye_color, def_mat }, + { def_mat, def_mat, def_mat }, + } + }) end minetest.register_craft({ - output = 'blox:' .. DyeSub ..'square 6', + output = "blox:stone_square 6", recipe = { - {'unifieddyes:' .. colour, 'default:stone', 'default:stone'}, - {'default:stone', 'unifieddyes:' .. colour, 'default:stone'}, - {'default:stone', 'default:stone', 'unifieddyes:' .. colour}, + { dye_color, "default:stone", "default:stone" }, + { "default:stone", dye_color, "default:stone" }, + { "default:stone", "default:stone", dye_color }, } }) minetest.register_craft({ - output = 'blox:' .. DyeSub ..'stone 4', + output = "blox:stone_tinted 6", recipe = { - {'', 'default:stone', ''}, - {'default:stone', 'unifieddyes:' .. colour, 'default:stone'}, - {'', 'default:stone', ''}, + { "", "default:stone", "" }, + { "default:stone", dye_color, "default:stone" }, + { "", "default:stone", "" }, } }) minetest.register_craft({ - output = 'blox:' .. DyeSub ..'wood 4', + output = "blox:wood_tinted 6", recipe = { - {'', 'default:wood', ''}, - {'default:wood', 'unifieddyes:' .. colour, 'default:wood'}, - {'', 'default:wood', ''}, + { "", "default:wood", "" }, + { "default:wood", dye_color, "default:wood" }, + { "", "default:wood", "" }, } }) minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cobble 4', + output = "blox:cobble_tinted 6", recipe = { - {'', 'default:cobble', ''}, - {'default:cobble', 'unifieddyes:' .. colour, 'default:cobble'}, - {'', 'default:cobble', ''}, + { "", "default:cobble", "" }, + { "default:cobble", dye_color, "default:cobble" }, + { "", "default:cobble", "" }, } }) -end - - -for _, colour in ipairs(BuiltInDyes) do - -if colour == "violet" then -DyeSub = "purple" else -DyeSub = colour -end - -for _, NMaterial in ipairs(NodeMaterial) do - -if NMaterial == "_cobble" then -Material = "default:cobble" else if NMaterial == "_wood" then -Material = "default:wood" else -Material = "default:stone" -end -end - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'quarter' .. NMaterial .. ' 4', - recipe = { - {Material, 'dye:' .. colour}, - {'dye:' .. colour, Material}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'quarter' .. NMaterial .. ' 4', - recipe = { - {'dye:' .. colour, Material}, - {Material, 'dye:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cross' .. NMaterial .. ' 4', - recipe = { - {Material, '', Material}, - {'', 'dye:' .. colour, ''}, - {Material, '', Material}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'checker' .. NMaterial .. ' 6', - recipe = { - {Material, 'dye:' .. colour,Material}, - {'dye:' .. colour, Material, 'dye:' .. colour}, - {Material, 'dye:' .. colour,Material}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'checker' .. NMaterial .. ' 8', - recipe = { - {'dye:' .. colour, Material, 'dye:' .. colour}, - {Material, 'dye:' .. colour,Material}, - {'dye:' .. colour, Material, 'dye:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'loop' .. NMaterial .. ' 6', - recipe = { - {Material, Material, Material}, - {Material, 'dye:' .. colour, Material}, - {Material, Material, Material}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'corner' .. NMaterial .. ' 4', - recipe = { - {'dye:' .. colour, '', 'dye:' .. colour}, - {'', Material, ''}, - {'dye:' .. colour, '', 'dye:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'diamond' .. NMaterial .. ' 6', - recipe = { - {Material, 'dye:' .. colour, Material}, - {'dye:' .. colour, '', 'dye:' .. colour}, - {Material, 'dye:' .. colour, Material}, - } -}) - -end -end - -for _, colour in ipairs(UNIFIED) do - -if colour == "magenta" then -DyeSub = "pink" else if colour == "violet" then -DyeSub = "purple" else -DyeSub = colour -end -end - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'square 6', - recipe = { - {'dye:' .. colour, 'default:stone', 'default:stone'}, - {'default:stone', 'dye:' .. colour, 'default:stone'}, - {'default:stone', 'default:stone', 'dye:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'stone 4', - recipe = { - {'', 'default:stone', ''}, - {'default:stone', 'dye:' .. colour, 'default:stone'}, - {'', 'default:stone', ''}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'wood 4', - recipe = { - {'', 'default:wood', ''}, - {'default:wood', 'dye:' .. colour, 'default:wood'}, - {'', 'default:wood', ''}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cobble 4', - recipe = { - {'', 'default:cobble', ''}, - {'default:cobble', 'dye:' .. colour, 'default:cobble'}, - {'', 'default:cobble', ''}, - } -}) -end --Fuel - for _, colour in ipairs(BloxColours) do - for _, blox in ipairs(FuelBlox) do +for _, nodeclass in ipairs(NodeClass) do + minetest.register_craft({ + type = "fuel", + recipe = "blox:wood_"..nodeclass, + burntime = 7, + }) +end minetest.register_craft({ type = "fuel", - recipe = "blox:" .. colour .. blox, + recipe = "blox:wood_tinted", burntime = 7, }) -end -end +-- Tools minetest.register_tool("blox:bloodbane", { description = "Blood Bane", @@ -550,6 +393,8 @@ minetest.register_tool("blox:bloodbane", { } }) +-- Ores + local sea_level = 1 minetest.register_on_mapgen_init(function(mapgen_params) @@ -589,4 +434,99 @@ minetest.register_ore({ y_max = sea_level - 1, }) +-- Convert old static nodes to param2 color + +blox.old_static_list = {} + +for _, nodeclass in ipairs(NodeClass) do + if nodeclass ~= "colored" then + for _, color in ipairs(BloxColours) do + table.insert(blox.old_static_list, "blox:"..color..nodeclass) + table.insert(blox.old_static_list, "blox:"..color..nodeclass.."_cobble") + table.insert(blox.old_static_list, "blox:"..color..nodeclass.."_wood") + end + end +end + +for _, color in ipairs(BloxColours) do + table.insert(blox.old_static_list, "blox:"..color.."square") + table.insert(blox.old_static_list, "blox:"..color.."stone") + table.insert(blox.old_static_list, "blox:"..color.."wood") + table.insert(blox.old_static_list, "blox:"..color.."cobble") +end + +minetest.register_lbm({ + name = "blox:convert", + label = "Convert blox blocks to use param2 color", + run_at_every_load = true, + nodenames = blox.old_static_list, + action = function(pos, node) + local basename = string.sub(node.name, 6) + local color = basename + local material = "stone" + local pattern = "tinted" + + if string.find(basename, "_cobble") then + basename = string.sub(basename, 1, -8) + material = "cobble" + elseif string.find(basename, "cobble") then + basename = string.sub(basename, 1, -7) + material = "cobble" + elseif string.find(basename, "_wood") then + basename = string.sub(basename, 1, -6) + material = "wood" + elseif string.find(basename, "wood") then + basename = string.sub(basename, 1, -5) + material = "wood" + elseif string.find(basename, "square") then + basename = string.sub(basename, 1, -7) + pattern = "square" + elseif string.find(basename, "stone") then + basename = string.sub(basename, 1, -6) + end + + -- at this point, the material type has been deleted from `basename`. + + if string.find(basename, "quarter") then + basename = string.sub(basename, 1, -8) + pattern = "quarter" + elseif string.find(basename, "cross") then + basename = string.sub(basename, 1, -6) + pattern = "cross" + elseif string.find(basename, "corner") then + basename = string.sub(basename, 1, -7) + pattern = "corner" + elseif string.find(basename, "diamond") then + basename = string.sub(basename, 1, -8) + pattern = "diamond" + elseif string.find(basename, "loop") then + basename = string.sub(basename, 1, -5) + pattern = "loop" + elseif string.find(basename, "checker") then + basename = string.sub(basename, 1, -8) + pattern = "checker" + end + + -- all that's left in `basename` now is the color. + + color = basename + if color == "purple" then + color = "violet" + elseif color == "blue" then + color = "skyblue" + elseif color == "pink" then + color = "magenta" + elseif color == "black" and + ( pattern == "square" or + pattern == "tinted" ) then + color = "dark_grey" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "blox:"..material.."_"..pattern, param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) + print("Blox Mod [" ..version.. "] Loaded!") diff --git a/blox/models/blox_block_with_overlay.obj b/blox/models/blox_block_with_overlay.obj new file mode 100644 index 00000000..9c70760f --- /dev/null +++ b/blox/models/blox_block_with_overlay.obj @@ -0,0 +1,44 @@ +# Blender v2.72 (sub 0) OBJ File: 'unifiedbricks_brick_block.blend' +# www.blender.org +o Cube +v 0.496092 0.496092 0.496092 +v 0.496092 0.496092 -0.496092 +v -0.496092 0.496092 -0.496092 +v -0.496092 0.496092 0.496092 +v 0.496092 -0.496092 0.496092 +v 0.496092 -0.496092 -0.496092 +v -0.496092 -0.496092 -0.496092 +v -0.496092 -0.496092 0.496092 +v 0.499750 0.499750 0.499750 +v 0.499750 0.499750 -0.499750 +v -0.499750 0.499750 -0.499750 +v -0.499750 0.499750 0.499750 +v 0.499750 -0.499750 0.499750 +v 0.499750 -0.499750 -0.499750 +v -0.499750 -0.499750 -0.499750 +v -0.499750 -0.499750 0.499750 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +g Cube_Cube_base +s off +f 8/1/1 7/2/1 6/3/1 5/4/1 +f 4/2/2 3/3/2 7/4/2 8/1/2 +f 1/3/3 2/4/3 3/1/3 4/2/3 +f 2/2/4 1/3/4 5/4/4 6/1/4 +f 3/2/5 2/3/5 6/4/5 7/1/5 +f 1/2/6 4/3/6 8/4/6 5/1/6 +g Cube_Cube_overlay +f 16/1/1 15/2/1 14/3/1 13/4/1 +f 12/2/2 11/3/2 15/4/2 16/1/2 +f 9/3/3 10/4/3 11/1/3 12/2/3 +f 10/2/4 9/3/4 13/4/4 14/1/4 +f 11/2/5 10/3/5 14/4/5 15/1/5 +f 9/2/6 12/3/6 16/4/6 13/1/6 diff --git a/blox/textures/blox_cobble_checker.png b/blox/textures/blox_cobble_checker.png new file mode 100644 index 0000000000000000000000000000000000000000..1bcd4a15f47998feeef9c4ce58735c63a9b94439 GIT binary patch literal 384 zcmV-`0e}99P)SCT6BG3-NVW30fW}1~?3BYi&m<;H8-3 zj^BQGXpDufTQw^exF>$Kqw+`YTq&1aX`!wwcOrHzwRDyC1$=TV*>-BzHNu-juJk3$ ztt}lT>R$OAqO~A$06y4MXk)HpOWRE4uk5a4l}bY}vvTIrTSKM3rcJSfGc|KTN7DpD e-(;rhO8)==3w;6a#v5Y*00006y%0EXe`B&QzeZLcYXpcmY;6uP-KQ?vRL9Q;{bb?#P|8iWpRHBxaYln9y#YE62t z+zaJ6H2Cc=-^&|v?wqTPoO>NI8n5zmdpZ}!dUIPC`J$CkdMa6)+0vTpU7O;x!+HzZ0^cN+LLoTD!UDg=Wa)|0k>HKTDBSw$nSq(1@X{SJ zwh`25@d)gQrCqCyKUBzSc_SSE$g�&`FZ*|3E2bP+$kOg3VPU_$z$OBej94)=4N( zdXe`XSV}&KLs$B4w2r-ZhwsKt-P`vA@e)akOSQGEk}-FSBr*YKmR4vqC_NN@r&l@C x=}b)QqELA2aMPDKz?HsxtOV2!-RK*d;UBwMY|IEpyj1`I002ovPDHLkV1h%{pe_Ia literal 0 HcmV?d00001 diff --git a/blox/textures/blox_cobble_cross.png b/blox/textures/blox_cobble_cross.png new file mode 100644 index 0000000000000000000000000000000000000000..1c65b59e329178d7f186749fe3f46d13205e921b GIT binary patch literal 345 zcmV-f0jBSc6DB2 z3+81|g|ovwf6jq>;*$_4{`p*%U0F5?AcWKit;S!KB`4mXyA2W2Pt3`RdB?VJCrpL0 zKq}_c3JSjC$yDw-JV^7%3I?t*Q=#sGfz-(^VFw&pb8CV|E54Nv&fR*2O^29yiw&n% z+(}%4*N$EK=%oYqW-e4NRML;W?Z&E2oY;0~M-liUO6h+XB_(w0T%coHLIkEraG z3Nv2=rW#WzTQwAD?e+=#Sio3F3tFK;nDozj rbn1oL*l%?=)-M?YP&tF=CHUh%8&+W|XpDcJ00000NkvXXu0mjf!hDip literal 0 HcmV?d00001 diff --git a/blox/textures/blox_cobble_diamond.png b/blox/textures/blox_cobble_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..76aff7b2daa623d9146c338a7834c0fbaede4243 GIT binary patch literal 380 zcmV-?0fYXDP)6x+7=_{Ii>X(8O;Q|G3c6b;_!Gn>E_M;2;84X;a4v|yLFnXSQys)bq+2^VcWO+a zxJ3|ZQz(tqh_{2ELoc5B<-8nDtO$YhS9+TVo<`{`AvD_BQp=3CH#t!FkZm1dPDe-F z!v&-#dDSgU?06qc1sbVPn)MVu47{u}47d^AVYrjN7B7_QR8jg_A#A(P8pynEBxIro;N-891z(=5q;)V_j3X>wl z-gq4>1dk${e>2T!Mx%)rLZJAkC|If85JJjABfD0aBilk~I!#l&DwREBJDy_hiwc|s zsn|5~!NeL9{KcNYiQm#){KRqeWeo!Fye{@JNlGkG`9$6&qW^z7fuy zTcbsGWZzH`FJ&x1cIB33_i6g2MISVxOSom_KdWb7<|>UwsQ>@~07*qoM6N<$f)OvD AZU6uP literal 0 HcmV?d00001 diff --git a/blox/textures/blox_cobble_quarter.png b/blox/textures/blox_cobble_quarter.png new file mode 100644 index 0000000000000000000000000000000000000000..fe2e9cd2468659fa1bef25dd64012747a60c7f2d GIT binary patch literal 342 zcmV-c0jd6pP)Vu46oujMkr%zhLnfv{i6tbEC=e1gElHDfSpqv?BS@@gN*Zb`Bitd7DNHJxamLa_ zGMB;wr~dD`zfO89NeF+0@IKBoUVG%;Cl?;nYT?A8TA-lVm^sv2$UktT6OO^yO79y! zVlIaxl|bkuU+nNkvQIunConS6`mVUbFPvG)6$}lnQ#U?a`{{|Xna6T+Hvl8F8a=2? zomGL{bP+`5wRE-k@Bbdo$p(PN6IS`+OsQYB=r2Zvjn+uGu}(BZc{(YUn78u#|Y oE#0Y*&9N=&i1*+wuw&=@EVpAf%34=SsT ztV%6))vBaAD2B{;;^!9omk*_IQpCO_en7XjAUF!kr~QLVUxyB0D!=AvYs7|B+@EMm zO|Pn|AMK{SZc1~Q=X|nA5Ey0Clc54HJHFk-ofNjPW)C#81$mf6>acVah@U&)7~JmY zO+G(Q?3Y+%-1wed8*l4=OXvVB`@05{VTFvx5kra&YltAOnU2nr@hiL!X7S|`MO?Or nB+v?+pRRX%I)R{cz2^5H%B6PCf^u}e00000NkvXXu0mjfB~^T- literal 0 HcmV?d00001 diff --git a/blox/textures/blox_stone_checker.png b/blox/textures/blox_stone_checker.png new file mode 100644 index 0000000000000000000000000000000000000000..400e69996b4493d75c5be06745cf368816cda627 GIT binary patch literal 361 zcmV-v0ha!WP)?|y7j7zXGvC(zd+PMjdi7|G{Fv=YX13VD8 z7L4V|Ir)?GhZmx@GtcuDybBlBvS*oy_{dzN(NViX)W|j%f|!&x+P--J+PZ!^6^)OB z!rID-ft_m<7S3c-un<0H;6o^EHD2E3_aTcK@gX=^sce*b$6hoSbwws%g~HYt2`!au zDb{MqL0`uYe~j)3AKmI%3a|YYl%C`{_!Rc`Do^v!Z$0rII&NIL#MD~fPRq;;Q}Mg| zwr+h{G*00000NkvXX Hu0mjfvpJu+ literal 0 HcmV?d00001 diff --git a/blox/textures/blox_stone_corner.png b/blox/textures/blox_stone_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..7194904dbc7177c944ae240a427fe2c4fc44f100 GIT binary patch literal 310 zcmV-60m=S}P)OSFEhwZg3(GR_f<_{J%?5a(w4@;_{ljWPy7{E%fMI_#Y}bN+uY z7mrRVTwqjDswTmw&}80xAh{0}<{q-5uM^+g6la|)J2bYau|?cyok&PVgKVQN7HS7^ zsncjs>oJ)$t_#wNoh0cT9Lx+V)H+SE8K2Gm)%F6$q8?uT0(z)hd8j)oJpcdz07*qo IM6N<$f}{3<&;S4c literal 0 HcmV?d00001 diff --git a/blox/textures/blox_stone_cross.png b/blox/textures/blox_stone_cross.png new file mode 100644 index 0000000000000000000000000000000000000000..11fa7cf7bd3815200c1fd3a00a13d76a11598c7d GIT binary patch literal 311 zcmV-70m%M|P)Hd z!Ac`x5Cq__l7qc_2uu#e=v!9Igm!PoP?x5-2^kcq!567qYP!GnG2rm3!~ zrs9tfD2^TqY&-@KLaK#9?Y~pdXpFlBLi&d@S#b{58euQA0;xDtDJV7|*~_Dbcj+8i z!OU-K2~-ncCXM6Bu-1TUTRYSSu`TU{{)MDNj|I3ArO-QK>3h965!-Tfu)z-e@Y4zh zjTcMtTsSb9>#U~hZt8J|>;tFn%L+?>1NLfrDZ8=|7~FyUT{s>ZN-8MCjyX}^--%_l=PT42UzIu!r_002ov JPDHLkV1fz7iL?L! literal 0 HcmV?d00001 diff --git a/blox/textures/blox_stone_diamond.png b/blox/textures/blox_stone_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..4da02b9defe73636918a2c6f0328ecde5cbae7f5 GIT binary patch literal 328 zcmV-O0k{5%P)Hd zL2DBM5QgDrLPMpYo6-gn{ZF2xR}*i7;3e(3wBRM!f_l)Smmd8&{S9ftx{&IMhh@jZ zZbf|W?|d`!#asxaR$3)*Vx%L4L7|Wi4HZ_&%(pCzg(G8Q@f=T(K4s_4un1~_LE1NR z;B&IIwN)yeXAORfQ*e=-n7Oy-k+XnU;5u70{rHYj<6S(6SC)PD3HEGIVGM2}GO4tf z_@B~1e9u;6iyas`G(}^kG!b*}v!P#ZW7^vra24?q%iQ4@(|@8Wm+?cq@C+Z5$}zYD zPc5SsVvbPwke$_ez57Edb1o&KNG*XMsQLEIutqWT`S(>D<*JIYWEy;lQ!4LEnQnsucvK6kdHoL|` zNIS(J8+)T~IJ49%?yQid0$yq@yfJuHBihG8V`>%Y(xlg;1A_r;u(T6zW$Zxq;2-z9&I8SIfu-K~f==kgNEBLB_&PZw>br zPht(lp|{eCxH%ZLIx#pG!2-Q+oKPcKi;bmTMg!i!%~-02uRIzh4B#`&EXu*jN*qg> z${NWt2nH9ybrK{4mZkj^)i`OK#N@Rw>ulXL_TUkFL0mhiY_M_D>FxA|LM@A}&e4&A z=;DGG*?>Q>v$4?`3z!Mq-dT+x{yN^#9#r>t6~BKyEnZJqSxiCz0000ZhD8>)Zys@C=_9`4UEb30JwkgDEORHV6sntg@xKr13vUkgq);a zA*%5zlMlaJl{xW4Vg{YE5SQ)Rw~5s2XoTfF9wAH0QrL$Meae|e9Cn$c^)*jQB1mR> rWR_z1v^bYX)md4&6pD}Q8~^}?i#DKx!;&h>M zW+PRP7m`PQuixAF;uLd<)AC*(j;59)M}KU8-~PHKKF7bKr?6*!;m#hzW2rrYadSOS zl(oLtQhr-Q(RIrtw=U1lwna#KER-Qd_e)1W+NXMVd XUkn2*94bSgTe~DWM4f9tmMl literal 0 HcmV?d00001 diff --git a/blox/textures/blox_wood_checker.png b/blox/textures/blox_wood_checker.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae69cdefea3494dd7c8ea521ac8de07e84f2e8d GIT binary patch literal 369 zcmV-%0gnEOP)6y{7{&45d-Jy5-d<@U64Zbobrn}f!O2OT`~vQNBo{ZogHu7FgM$SZYpswdp;}9t zzn*aKj%F4F=4jAj3 zD2Mn^cM1ApL z*Zl#7wT*tGmd(WzB^cT@_S;DZ%v`!|E*^$Ig38nU(S6a|&}!8lXGr1|>^gUdQ!EWN zdX6`{d@-lJGfy2k*mND|wNb8aoP6D~JbO z)VZq`>h33v+RWNtanud-RWMU4-4jiW-7wV??|{}^&{rCnh;AwTv}NTVWY2CtVwGhh P00000NkvXXu0mjf$6=|Q literal 0 HcmV?d00001 diff --git a/blox/textures/blox_wood_corner.png b/blox/textures/blox_wood_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..9125036b8178d14f05f7a247d3b2e43859aace62 GIT binary patch literal 317 zcmV-D0mA-?P)7av%=Mk9(N!aM)rMHuQwa#@ z(%x7*^n$K;xdOqyf5frLiWK_D+^uB@=RVtb+Xza0V-xI%J-doFKjcVC33EaGkR&DE z@ng%D?bSn1Od!J!O4-s`sSy+zwG?(Gbw4I4K0F5_|LO^LMU*-A*;RjbPE>KHd zO-chn5C!0`v4fM0ba11fE77et@Gjm&aNz;Gk%$Kn+#38@I3OxyV*49y7c&axZR%0= zs_MZD`+|Vt+d%;iLsx?!CP6ECwd@RYbiFZxc#TR{3~hId&dmgkfLK&&1;yN4g_+z- z-^3xZf{`d1SVi3nMq)?13zOc%mPb=0t#H{pU&NPN5U*7Iw?%aQ$eJa*yRa@Uh~C5- zH^0iB{YN|vWFJ^|RF=STfSF__W*f!=T0HnP&|n3PAg*Wy3CX>IwSEY-B967PjM}6h zWIKwCsn|-ADT+PsF6=tdcvg2|J;@k>2Al5wlHkP;-Fi^AIa;Ny00000NkvXXu0mjf Dfl zu}+gw7>DuSpO&;~lNuN#xOfwGlf>P~LYV8IEC$(F931otm>szWLgJwD1~hRZVImZbsF!r>%Ac9|F+-67 zqGx+n;nKO|K#{j9ldV0Ud+te!A%0n^^sMXX_>!mk+WNlc!l_CnvZ;m6><>7o<6T_) Y2LeA&Ocfx$hyVZp07*qoM6N<$g0erArvLx| literal 0 HcmV?d00001 diff --git a/blox/textures/blox_wood_loop.png b/blox/textures/blox_wood_loop.png new file mode 100644 index 0000000000000000000000000000000000000000..f52f8834fefc9c57a0bbe44687812fdedcd4f6b4 GIT binary patch literal 330 zcmV-Q0k!^#P)Hd zF=~`i6vgr1l_&G%dowR+H+GW3!YyPMV(kWOT!1dZ&SeMz+Z2Lbb`aD+_&_i?FEf(} zqt9XwkeYCSsrLcC46Qeh6AMh%8>B0wdsaTkh z6`y;9r#3DO=0aL&mRP%zBrs{cWRV(9kt+u;!Fw|&kx>*JrXa0g78wQ#SikApigX07*qoM6N<$fHd zJ4!=A6b9gL$Vgs#Ln)aF3Ca*cc8t-CXIsLhc;&;)8vxtZ*)A t@F|{@h?CMKFKcdTNVdrCy9GCUdcPgNOqXP<9Wwv`002ovPDHLkV1iRqe4PLQ literal 0 HcmV?d00001 diff --git a/blox/textures/blox_wood_tinted.png b/blox/textures/blox_wood_tinted.png new file mode 100644 index 0000000000000000000000000000000000000000..d20cffe2b04a99885bc7454a915bb6ccd587c083 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA7J9lkhDcm?J%2EZ$x*=dqVY?q z7i;x+d>jO?|117?)W1NKqeW1Su`_b}66sA6YWGqD-``#J&P7&eOSJPIR%NY)Le`fL z`b_Lz{$|0tY{zp&eVg{4uowKR)hMyNvi{|Zd$t+kkCcO_d8*}1`u)>VEVxHG@lXFz zzqCMw9N}Bv^Y?q*+Ir+4_ZR8wFC|j%@3mVKDxiO4!kzQSf2?_S_}PAM9?tsMQ>Jz| R<355N?dj_0vd$@?2>=rtTFd|d literal 0 HcmV?d00001 diff --git a/bobblocks/blocks.lua b/bobblocks/blocks.lua index 652bc071..84fdc378 100644 --- a/bobblocks/blocks.lua +++ b/bobblocks/blocks.lua @@ -1,844 +1,321 @@ -- BobBlocks mod by RabbiBob -- State Changes -local update_bobblock = function (pos, node) - local nodename="" - local param2="" - --Switch Block State - if - -- Start Blocks - node.name == 'bobblocks:redblock_off' then nodename = 'bobblocks:redblock' - elseif node.name == 'bobblocks:redblock' then nodename = 'bobblocks:redblock_off' - elseif node.name == 'bobblocks:orangeblock_off' then nodename = 'bobblocks:orangeblock' - elseif node.name == 'bobblocks:orangeblock' then nodename = 'bobblocks:orangeblock_off' - elseif node.name == 'bobblocks:yellowblock_off' then nodename = 'bobblocks:yellowblock' - elseif node.name == 'bobblocks:yellowblock' then nodename = 'bobblocks:yellowblock_off' - elseif node.name == 'bobblocks:greenblock_off' then nodename = 'bobblocks:greenblock' - elseif node.name == 'bobblocks:greenblock' then nodename = 'bobblocks:greenblock_off' - elseif node.name == 'bobblocks:blueblock_off' then nodename = 'bobblocks:blueblock' - elseif node.name == 'bobblocks:blueblock' then nodename = 'bobblocks:blueblock_off' - elseif node.name == 'bobblocks:indigoblock_off' then nodename = 'bobblocks:indigoblock' - elseif node.name == 'bobblocks:indigoblock' then nodename = 'bobblocks:indigoblock_off' - elseif node.name == 'bobblocks:violetblock_off' then nodename = 'bobblocks:violetblock' - elseif node.name == 'bobblocks:violetblock' then nodename = 'bobblocks:violetblock_off' - elseif node.name == 'bobblocks:whiteblock_off' then nodename = 'bobblocks:whiteblock' - elseif node.name == 'bobblocks:whiteblock' then nodename = 'bobblocks:whiteblock_off' - -- Start Poles - elseif node.name == 'bobblocks:redpole_off' then nodename = 'bobblocks:redpole' - elseif node.name == 'bobblocks:redpole' then nodename = 'bobblocks:redpole_off' - elseif node.name == 'bobblocks:orangepole_off' then nodename = 'bobblocks:orangepole' - elseif node.name == 'bobblocks:orangepole' then nodename = 'bobblocks:orangepole_off' - elseif node.name == 'bobblocks:yellowpole_off' then nodename = 'bobblocks:yellowpole' - elseif node.name == 'bobblocks:yellowpole' then nodename = 'bobblocks:yellowpole_off' - elseif node.name == 'bobblocks:greenpole_off' then nodename = 'bobblocks:greenpole' - elseif node.name == 'bobblocks:greenpole' then nodename = 'bobblocks:greenpole_off' - elseif node.name == 'bobblocks:bluepole_off' then nodename = 'bobblocks:bluepole' - elseif node.name == 'bobblocks:bluepole' then nodename = 'bobblocks:bluepole_off' - elseif node.name == 'bobblocks:indigopole_off' then nodename = 'bobblocks:indigopole' - elseif node.name == 'bobblocks:indigopole' then nodename = 'bobblocks:indigopole_off' - elseif node.name == 'bobblocks:violetpole_off' then nodename = 'bobblocks:violetpole' - elseif node.name == 'bobblocks:violetpole' then nodename = 'bobblocks:violetpole_off' - elseif node.name == 'bobblocks:whitepole_off' then nodename = 'bobblocks:whitepole' - elseif node.name == 'bobblocks:whitepole' then nodename = 'bobblocks:whitepole_off' - end - minetest.add_node(pos, {name = nodename}) +bobblocks = {} +bobblocks.old_static_nodes = {} + +bobblocks.colorlist = { + "red", + "orange", + "yellow", + "green", + "blue", + "indigo", + "violet", + "white", + "grey" +} + +bobblocks.update_bobblock = function (pos, node) + local newnode = node + if string.find(newnode.name, "_off") then + newnode.name = string.sub(newnode.name, 1, -5) + else + newnode.name = newnode.name.."_off" + end + + minetest.swap_node(pos, newnode) minetest.sound_play("bobblocks_glassblock", {pos = pos, gain = 1.0, max_hear_distance = 32,}) end - --- Punch Blocks -local on_bobblock_punched = function (pos, node, puncher) - if - -- Start Blocks - node.name == 'bobblocks:redblock_off' or node.name == 'bobblocks:redblock' or - node.name == 'bobblocks:orangeblock_off' or node.name == 'bobblocks:orangeblock' or - node.name == 'bobblocks:yellowblock_off' or node.name == 'bobblocks:yellowblock' or - node.name == 'bobblocks:greenblock_off' or node.name == 'bobblocks:greenblock' or - node.name == 'bobblocks:blueblock_off' or node.name == 'bobblocks:blueblock' or - node.name == 'bobblocks:indigoblock_off' or node.name == 'bobblocks:indigoblock' or - node.name == 'bobblocks:violetblock_off' or node.name == 'bobblocks:violetblock' or - node.name == 'bobblocks:whiteblock_off' or node.name == 'bobblocks:whiteblock' or - --Start Poles - node.name == 'bobblocks:redpole_off' or node.name == 'bobblocks:redpole' or - node.name == 'bobblocks:orangepole_off' or node.name == 'bobblocks:orangepole' or - node.name == 'bobblocks:yellowpole_off' or node.name == 'bobblocks:yellowpole' or - node.name == 'bobblocks:greenpole_off' or node.name == 'bobblocks:greenpole' or - node.name == 'bobblocks:bluepole_off' or node.name == 'bobblocks:bluepole' or - node.name == 'bobblocks:indigopole_off' or node.name == 'bobblocks:indigopole' or - node.name == 'bobblocks:violetpole_off' or node.name == 'bobblocks:violetpole' or - node.name == 'bobblocks:whitepole_off' or node.name == 'bobblocks:whitepole' - then - update_bobblock(pos, node) - end -end - -minetest.register_on_punchnode(on_bobblock_punched) - -- Nodes --- Misc Node + +minetest.register_node("bobblocks:block", { + description = "Bobblocks Plain Block", + drawtype = "glasslike", + tiles = {"bobblocks_block.png"}, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + is_ground_content = true, + sounds = default.node_sound_glass_defaults(), + light_source = LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + foo = {conductor={ + state = mesecon.state.on, + offstate = "bobblocks:block_off" + } + }, + on_punch = bobblocks.update_bobblock, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:block", false) + end +}) + +minetest.register_node("bobblocks:block_off", { + description = "Bobblocks Plain Block (off)", + tiles = {"bobblocks_block.png"}, + paramtype2 = "color", + palette = "unifieddyes_palette.png", + is_ground_content = true, + alpha = WATER_ALPHA, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:redblock', + foo = {conductor={ + state = mesecon.state.off, + onstate = "bobblocks:block" + } + }, + on_punch = bobblocks.update_bobblock, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:block_off", false) + end +}) + +-- Block Poles +minetest.register_node("bobblocks:pole", { + description = "Bobblocks Pole", + drawtype = "fencelike", + tiles = {"bobblocks_block.png"}, + inventory_image = ("bobblocks_pole_inv.png"), + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + is_ground_content = true, + sounds = default.node_sound_glass_defaults(), + light_source = LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + foo = {conductor={ + state = mesecon.state.on, + offstate = "bobblocks:pole_off" + } + }, + on_punch = bobblocks.update_bobblock, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:pole", false) + end +}) + +minetest.register_node("bobblocks:pole_off", { + description = "Bobblocks Pole (off)", + drawtype = "fencelike", + tiles = {"bobblocks_block.png"}, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + is_ground_content = true, + sounds = default.node_sound_glass_defaults(), + light_source = LIGHT_MAX-10, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:redpole', + foo = {conductor={ + state = mesecon.state.off, + onstate = "bobblocks:pole" + } + }, + on_punch = bobblocks.update_bobblock, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:pole_off", false) + end +}) + +-- old static nodes grandfathered-in because they have a different texture or usage than the colored ones. minetest.register_node("bobblocks:btm", { description = "Bobs TransMorgifier v5", - tiles = {"bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", + tiles = {"bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm.png"}, - inventory_image = "bobblocks_btm.png", + inventory_image = "bobblocks_btm.png", paramtype2 = "facedir", material = minetest.digprop_dirtlike(1.0), legacy_facedir_simple = true, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, }) - --- Start Block Nodes -minetest.register_node("bobblocks:redblock", { - description = "Red Block", +minetest.register_node("bobblocks:wavyblock", { + description = "Bobblocks Wavy-textured Block", drawtype = "glasslike", - tiles = {"bobblocks_redblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_redblock.png"), + tiles = {"bobblocks_wavyblock.png"}, paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ + light_source = LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + foo = {conductor= + { state = mesecon.state.on, - offstate = "bobblocks:redblock_off" - }} + offstate = "bobblocks:wavyblock_off" + } + }, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:wavyblock", false) + end }) -minetest.register_node("bobblocks:redblock_off", { - description = "Red Block", - tiles = {"bobblocks_redblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:redblock', - foo = {conductor={ +minetest.register_node("bobblocks:wavyblock_off", { + description = "Bobblocks Wavy-textured Block (off)", + tiles = {"bobblocks_wavyblock.png"}, + paramtype2 = "color", + palette = "unifieddyes_palette.png", + is_ground_content = true, + alpha = WATER_ALPHA, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:wavyblock', + foo = {conductor= + { state = mesecon.state.off, - onstate = "bobblocks:redblock" - }} - + onstate = "bobblocks:wavyblock" + } + }, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:wavyblock_off", false) + end }) -minetest.register_node("bobblocks:orangeblock", { - description = "Orange Block", - drawtype = "glasslike", - tiles = {"bobblocks_orangeblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_orangeblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:orangeblock_off" - }} -}) - -minetest.register_node("bobblocks:orangeblock_off", { - description = "Orange Block", - tiles = {"bobblocks_orangeblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:orangeblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:orangeblock" - }} - -}) - -minetest.register_node("bobblocks:yellowblock", { - description = "Yellow Block", - drawtype = "glasslike", - tiles = {"bobblocks_yellowblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_yellowblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:yellowblock_off" - }} -}) - -minetest.register_node("bobblocks:yellowblock_off", { - description = "Yellow Block", - tiles = {"bobblocks_yellowblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:yellowblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:yellowblock" - }} - -}) - -minetest.register_node("bobblocks:greenblock", { - description = "Green Block", - drawtype = "glasslike", - tiles = {"bobblocks_greenblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_greenblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:greenblock_off" - }} -}) - -minetest.register_node("bobblocks:greenblock_off", { - description = "Green Block", - tiles = {"bobblocks_greenblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greenblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:greenblock" - }} - -}) - - -minetest.register_node("bobblocks:blueblock", { - description = "Blue Block", - drawtype = "glasslike", - tiles = {"bobblocks_blueblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_blueblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:blueblock_off" - }} -}) - -minetest.register_node("bobblocks:blueblock_off", { - description = "Blue Block", - tiles = {"bobblocks_blueblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:blueblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:blueblock" - }} - -}) - -minetest.register_node("bobblocks:indigoblock", { - description = "Indigo Block", - drawtype = "glasslike", - tiles = {"bobblocks_indigoblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_indigoblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:indigoblock_off" - }} -}) - -minetest.register_node("bobblocks:indigoblock_off", { - description = "Indigo Block", - tiles = {"bobblocks_indigoblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:indigoblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:indigoblock" - }} - -}) - - -minetest.register_node("bobblocks:violetblock", { - description = "Violet Block", - drawtype = "glasslike", - tiles = {"bobblocks_violetblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_violetblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:violetblock_off" - }} -}) - -minetest.register_node("bobblocks:violetblock_off", { - description = "Violet Block", - tiles = {"bobblocks_violetblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:violetblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:violetblock" - }} - -}) - -minetest.register_node("bobblocks:whiteblock", { - description = "White Block", - drawtype = "glasslike", - tiles = {"bobblocks_whiteblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_whiteblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:whiteblock_off" - }} -}) - -minetest.register_node("bobblocks:whiteblock_off", { - description = "White Block", - tiles = {"bobblocks_whiteblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:whiteblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:whiteblock" - }} - -}) - - -minetest.register_node("bobblocks:greyblock", { - description = "Grey Block", - drawtype = "glasslike", - tiles = {"bobblocks_greyblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_greyblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:greyblock_off" - }} -}) - -minetest.register_node("bobblocks:greyblock_off", { - description = "Grey Block", - tiles = {"bobblocks_greyblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greyblock', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:greyblock" - }} - -}) - - --- Block Poles -minetest.register_node("bobblocks:redpole", { - description = "Red Pole", +minetest.register_node("bobblocks:wavypole", { + description = "Wavy-textured Pole", drawtype = "fencelike", - tiles = {"bobblocks_redblock.png"}, - inventory_image = ("bobblocks_invredpole.png"), + tiles = {"bobblocks_wavyblock.png"}, + inventory_image = ("bobblocks_wavypole_inv.png"), paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:redpole_off" - }} + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "bobblocks:wavypole", false) + end + --light_source = LIGHT_MAX-0, }) -minetest.register_node("bobblocks:redpole_off", { - description = "Red Pole", - drawtype = "fencelike", - tiles = {"bobblocks_redblock.png"}, - inventory_image = ("bobblocks_invredpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:redpole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:redpole" - }} - -}) - -minetest.register_node("bobblocks:orangepole", { - description = "Orange Pole", - drawtype = "fencelike", - tiles = {"bobblocks_orangeblock.png"}, - inventory_image = ("bobblocks_invorangepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:orangepole_off" - }} -}) - -minetest.register_node("bobblocks:orangepole_off", { - description = "Orange Pole", - drawtype = "fencelike", - tiles = {"bobblocks_orangeblock.png"}, - inventory_image = ("bobblocks_invorangepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:orangepole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:orangepole" - }} - -}) - -minetest.register_node("bobblocks:yellowpole", { - description = "Yellow Pole", - drawtype = "fencelike", - tiles = {"bobblocks_yellowblock.png"}, - inventory_image = ("bobblocks_invyellowpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:yellowpole_off" - }} -}) - -minetest.register_node("bobblocks:yellowpole_off", { - description = "Yellow Pole", - drawtype = "fencelike", - tiles = {"bobblocks_yellowblock.png"}, - inventory_image = ("bobblocks_invyellowpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:yellowpole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:yellowpole" - }} - -}) - -minetest.register_node("bobblocks:greenpole", { - description = "Green Pole", - drawtype = "fencelike", - tiles = {"bobblocks_greenblock.png"}, - inventory_image = ("bobblocks_invgreenpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:greenpole_off" - }} -}) - -minetest.register_node("bobblocks:greenpole_off", { - description = "Green Pole", - drawtype = "fencelike", - tiles = {"bobblocks_greenblock.png"}, - inventory_image = ("bobblocks_invgreenpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greenpole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:greenpole" - }} - -}) - -minetest.register_node("bobblocks:bluepole", { - description = "Blue Pole", - drawtype = "fencelike", - tiles = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:bluepole_off" - }} -}) - -minetest.register_node("bobblocks:bluepole_off", { - description = "Blue Pole", - drawtype = "fencelike", - tiles = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:bluepole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:bluepole" - }} - -}) - -minetest.register_node("bobblocks:indigopole", { - description = "Indigo Pole", - drawtype = "fencelike", - tiles = {"bobblocks_indigoblock.png"}, - inventory_image = ("bobblocks_invindigopole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:indigopole_off" - }} -}) - -minetest.register_node("bobblocks:indigopole_off", { - description = "Indigo Pole", - drawtype = "fencelike", - tiles = {"bobblocks_indigoblock.png"}, - inventory_image = ("bobblocks_invindigopole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:indigopole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:indigopole" - }} - -}) - -minetest.register_node("bobblocks:violetpole", { - description = "Violet Pole", - drawtype = "fencelike", - tiles = {"bobblocks_violetblock.png"}, - inventory_image = ("bobblocks_invvioletpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:violetpole_off" - }} -}) - -minetest.register_node("bobblocks:violetpole_off", { - description = "Violet Pole", - drawtype = "fencelike", - tiles = {"bobblocks_violetblock.png"}, - inventory_image = ("bobblocks_invvioletpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:violetpole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:violetpole" - }} - -}) - -minetest.register_node("bobblocks:whitepole", { - description = "White Pole", - drawtype = "fencelike", - tiles = {"bobblocks_whiteblock.png"}, - inventory_image = ("bobblocks_invwhitepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:whitepole_off" - }} -}) - -minetest.register_node("bobblocks:whitepole_off", { - description = "White Pole", - drawtype = "fencelike", - tiles = {"bobblocks_whiteblock.png"}, - inventory_image = ("bobblocks_invwhitepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:whitepole', - foo = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:whitepole" - }} - -}) - -minetest.register_node("bobblocks:greypole", { - description = "Grey Pole", - drawtype = "fencelike", - tiles = {"bobblocks_greyblock.png"}, - inventory_image = ("bobblocks_invgreypole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - --light_source = LIGHT_MAX-0, -}) - - - -- Crafts --- BTM -minetest.register_craft({ - output = 'NodeItem "bobblocks:btm" 1', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:leaves" 1', - 'node "default:mese" 1','node "default:rat" 1'}, +minetest.register_craft({ + output = "bobblocks:btm", + type = "shapeless", + recipe = { + "default:glass", + "default:torch", + "group:leaves", + "default:mese_crystal", + "default:diamond" }, }) minetest.register_craft({ - output = 'NodeItem "bobblocks:greyblock" 2', + output = "bobblocks:block 2", recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:cobble" 1'}, - }, -}) - --- Red / Yellow / Blue / White --- Red / Yellow -> Orange --- Red / Blue -> Violet --- Blue / Yellow -> Green --- Red / Yellow / White -> Indigo - -minetest.register_craft({ - output = 'NodeItem "bobblocks:redblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:brick" 1'}, - }, -}) -minetest.register_craft({ - output = 'NodeItem "bobblocks:yellowblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:sand" 1'}, - }, -}) -minetest.register_craft({ - output = 'NodeItem "bobblocks:blueblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:gravel" 1'}, + { "default:glass", "default:torch", "default:cobble" }, }, }) minetest.register_craft({ - output = 'NodeItem "bobblocks:whiteblock" 2', + output = "bobblocks:pole", recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:dirt" 1'}, - }, + { "bobblocks:block", "group:stick" }, + } }) - minetest.register_craft({ - output = 'NodeItem "bobblocks:orangeblock" 2', + output = "bobblocks:wavyblock 2", + type = "shapeless", recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:yellowblock" 1'}, - - }, -}) - - -minetest.register_craft({ - output = 'NodeItem "bobblocks:violetblock" 2', - recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:blueblock" 1'}, - + "bobblocks:block", + "bobblocks:block" }, }) minetest.register_craft({ - output = 'NodeItem "bobblocks:greenblock" 2', + output = "bobblocks:wavypole", recipe = { - {'node "bobblocks:blueblock" 1', 'node "bobblocks:yellowblock" 1'}, - - }, + { "bobblocks:wavyblock", "group:stick" }, + } }) +-- Convert old static nodes to the param2 scheme -minetest.register_craft({ - output = 'NodeItem "bobblocks:indigoblock" 3', - recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:blueblock" 1', 'node "bobblocks:whiteblock" 1'}, +for _, i in ipairs(bobblocks.colorlist) do + table.insert(bobblocks.old_static_nodes, "bobblocks:"..i.."block") + table.insert(bobblocks.old_static_nodes, "bobblocks:"..i.."block_off") + table.insert(bobblocks.old_static_nodes, "bobblocks:"..i.."pole") + table.insert(bobblocks.old_static_nodes, "bobblocks:"..i.."pole_off") +end - }, +minetest.register_lbm({ + name = "bobblocks:convert", + label = "Convert bobblocks nodes to use param2 color", + run_at_every_load = true, + nodenames = bobblocks.old_static_nodes, + action = function(pos, node) + local basename = node.name + local color = string.sub(node.name, 11) -- delete the mod name + + if string.find(color, "_off") then -- delete "_off" if it exists + color = string.sub(color, 1, -5) + end + if string.find(color, "pole") then + color = string.sub(color, 1, -5) -- delete "pole"... + else + color = string.sub(color, 1, -6) -- or delete "block" + end + + local newcolor = "medium_"..color -- the result of the above should be just the hue + + -- custom re-mappings to use unified dyes' colors that are most similar to the originals + if color == "blue" then + newcolor = "medium_skyblue" + end + if color == "indigo" then + newcolor = "light_violet" + end + if color == "violet" then + newcolor = "violet_s50" + end + if color == "white" then + newcolor = "light_grey" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..newcolor, false) + local newnode = "bobblocks:block" + + if string.find(basename, "grey") then + paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:grey", false) + if string.find(basename, "pole") then + newnode = "bobblocks:wavypole" + else + newnode = "bobblocks:wavyblock" + end + else + if string.find(basename, "pole") then + newnode = "bobblocks:pole" + end + end + + local meta = minetest.get_meta(pos) + minetest.set_node(pos, { name = newnode, param2 = paletteidx }) + meta:set_string("dye", "unifieddyes:"..newcolor) + end }) - --- Poles - -minetest.register_craft({ - output = 'NodeItem "bobblocks:redpole" 1', - recipe = { - {'node "bobblocks:redblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:yellowpole" 1', - recipe = { - {'node "bobblocks:yellowblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:bluepole" 1', - recipe = { - {'node "bobblocks:blueblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:whitepole" 1', - recipe = { - {'node "bobblocks:whiteblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:orangepole" 1', - recipe = { - {'node "bobblocks:orangeblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:violetpole" 1', - recipe = { - {'node "bobblocks:violetblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greenpole" 1', - recipe = { - {'node "bobblocks:greenblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:indigopole" 1', - recipe = { - {'node "bobblocks:indigoblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greypole" 1', - recipe = { - {'node "bobblocks:greyblock" 1', 'node "default:stick" 1'}, - - }, -}) - - --- MESECON --- Add jeija to bobblocks\default.txt and paste the below in at the bottom of bobblocks\blocks.lua - diff --git a/bobblocks/depends.txt b/bobblocks/depends.txt index aca967d6..ada70933 100644 --- a/bobblocks/depends.txt +++ b/bobblocks/depends.txt @@ -1,2 +1,3 @@ default mesecons +unifieddyes diff --git a/bobblocks/textures/bobblocks_block.png b/bobblocks/textures/bobblocks_block.png new file mode 100644 index 0000000000000000000000000000000000000000..60d2374bdf641f1c06eed1e0f4c152608eb205a1 GIT binary patch literal 652 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 literal 0 HcmV?d00001 diff --git a/boost_cart/cart_entity.lua b/boost_cart/cart_entity.lua index ba237132..32ebe5fc 100644 --- a/boost_cart/cart_entity.lua +++ b/boost_cart/cart_entity.lua @@ -37,6 +37,12 @@ local cart_entity = { attached_items = {} } +-- Model and textures +if boost_cart.mtg_compat then + cart_entity.mesh = "carts_cart.b3d" + cart_entity.textures = {"carts_cart.png"} +end + function cart_entity:on_rightclick(clicker) if not clicker or not clicker:is_player() then return @@ -109,8 +115,9 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, local leftover = puncher:get_inventory():add_item("main", "carts:cart") if not leftover:is_empty() then - minetest.add_item(self.object:getpos(), leftover) + minetest.add_item(pos, leftover) end + self.object:remove() return end @@ -346,33 +353,41 @@ function cart_entity:on_step(dtime) end minetest.register_entity(":carts:cart", cart_entity) -minetest.register_craftitem(":carts:cart", { - description = "Cart (Sneak+Click to pick up)", - inventory_image = minetest.inventorycube("cart_top.png", "cart_side.png", "cart_side.png"), - wield_image = "cart_side.png", - on_place = function(itemstack, placer, pointed_thing) - if not pointed_thing.type == "node" then - return - end - if boost_cart:is_rail(pointed_thing.under) then - minetest.add_entity(pointed_thing.under, "carts:cart") - elseif boost_cart:is_rail(pointed_thing.above) then - minetest.add_entity(pointed_thing.above, "carts:cart") - else - return - end - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack - end, -}) +-- Register item to place the entity +if not boost_cart.mtg_compat then + minetest.register_craftitem(":carts:cart", { + description = "Cart (Sneak+Click to pick up)", + inventory_image = minetest.inventorycube( + "cart_top.png", + "cart_side.png", + "cart_side.png" + ), + wield_image = "cart_side.png", + on_place = function(itemstack, placer, pointed_thing) + if not pointed_thing.type == "node" then + return + end + if boost_cart:is_rail(pointed_thing.under) then + minetest.add_entity(pointed_thing.under, "carts:cart") + elseif boost_cart:is_rail(pointed_thing.above) then + minetest.add_entity(pointed_thing.above, "carts:cart") + else + return + end -minetest.register_craft({ - output = "carts:cart", - recipe = { - {"default:steel_ingot", "", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - }, -}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + }) + + minetest.register_craft({ + output = "carts:cart", + recipe = { + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + }, + }) +end diff --git a/building_blocks/depends.txt b/building_blocks/depends.txt index 9771003c..792f5cd4 100644 --- a/building_blocks/depends.txt +++ b/building_blocks/depends.txt @@ -1,2 +1,3 @@ default -moreblocks? \ No newline at end of file +homedecor_i18n +moreblocks? diff --git a/building_blocks/init.lua b/building_blocks/init.lua index 1df41e2a..5120be48 100644 --- a/building_blocks/init.lua +++ b/building_blocks/init.lua @@ -1,6 +1,9 @@ + +local S = homedecor_i18n.gettext + minetest.register_node("building_blocks:Adobe", { tiles = {"building_blocks_Adobe.png"}, - description = "Adobe", + description = S("Adobe"), is_ground_content = true, groups = {crumbly=3}, sounds = default.node_sound_stone_defaults(), @@ -8,7 +11,7 @@ minetest.register_node("building_blocks:Adobe", { minetest.register_node("building_blocks:Roofing", { tiles = {"building_blocks_Roofing.png"}, is_ground_content = true, - description = "Roof block", + description = S("Roof block"), groups = {snappy=3}, }) minetest.register_craft({ @@ -150,7 +153,7 @@ minetest.register_craft({ }) minetest.register_node("building_blocks:smoothglass", { drawtype = "glasslike", - description = "Streak Free Glass", + description = S("Streak Free Glass"), tiles = {"building_blocks_sglass.png"}, inventory_image = minetest.inventorycube("building_blocks_sglass.png"), paramtype = "light", @@ -161,7 +164,7 @@ minetest.register_node("building_blocks:smoothglass", { }) minetest.register_node("building_blocks:grate", { drawtype = "glasslike", - description = "Grate", + description = S("Grate"), tiles = {"building_blocks_grate.png"}, inventory_image = minetest.inventorycube("building_blocks_grate.png"), paramtype = "light", @@ -171,7 +174,7 @@ minetest.register_node("building_blocks:grate", { }) minetest.register_node("building_blocks:Fireplace", { - description = "Fireplace", + description = S("Fireplace"), tiles = { "building_blocks_cast_iron.png", "building_blocks_cast_iron.png", @@ -188,7 +191,7 @@ minetest.register_node("building_blocks:Fireplace", { minetest.register_node("building_blocks:woodglass", { drawtype = "glasslike", - description = "Wood Framed Glass", + description = S("Wood Framed Glass"), tiles = {"building_blocks_wglass.png"}, inventory_image = minetest.inventorycube("building_blocks_wglass.png"), paramtype = "light", @@ -199,7 +202,7 @@ minetest.register_node("building_blocks:woodglass", { }) minetest.register_node("building_blocks:terrycloth_towel", { drawtype = "raillike", - description = "Terrycloth towel", + description = S("Terrycloth towel"), tiles = {"building_blocks_towel.png"}, inventory_image = "building_blocks_towel_inv.png", paramtype = "light", @@ -215,7 +218,7 @@ minetest.register_node("building_blocks:terrycloth_towel", { }) minetest.register_node("building_blocks:Tarmac_spread", { drawtype = "raillike", - description = "Tarmac Spread", + description = S("Tarmac Spread"), tiles = {"building_blocks_tar.png"}, inventory_image = "building_blocks_tar_spread_inv.png", paramtype = "light", @@ -232,7 +235,7 @@ minetest.register_node("building_blocks:Tarmac_spread", { }) minetest.register_node("building_blocks:BWtile", { drawtype = "raillike", - description = "Chess board tiling", + description = S("Chess board tiling"), tiles = {"building_blocks_BWtile.png"}, inventory_image = "building_blocks_bwtile_inv.png", paramtype = "light", @@ -248,7 +251,9 @@ minetest.register_node("building_blocks:BWtile", { }) minetest.register_node("building_blocks:brobble_spread", { drawtype = "raillike", - description = "Brobble Spread", + -- Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". + -- Translate however you see fit. + description = S("Brobble Spread"), tiles = {"building_blocks_brobble.png"}, inventory_image = "building_blocks_brobble_spread_inv.png", paramtype = "light", @@ -264,7 +269,7 @@ minetest.register_node("building_blocks:brobble_spread", { }) minetest.register_node("building_blocks:gravel_spread", { drawtype = "raillike", - description = "Gravel Spread", + description = S("Gravel Spread"), tiles = {"default_gravel.png"}, inventory_image = "building_blocks_gravel_spread_inv.png", paramtype = "light", @@ -285,7 +290,7 @@ minetest.register_node("building_blocks:gravel_spread", { minetest.register_node("building_blocks:hardwood", { tiles = {"building_blocks_hardwood.png"}, is_ground_content = true, - description = "Hardwood", + description = S("Hardwood"), groups = {choppy=1,flammable=1}, sounds = default.node_sound_wood_defaults(), }) @@ -448,44 +453,44 @@ else bb_stairs.register_stair_and_slab("marble","building_blocks:Marble", {cracky=3}, {"building_blocks_marble.png"}, - "Marble stair", - "Marble slab" + S("Marble stair"), + S("Marble slab") ) bb_stairs.register_stair_and_slab("hardwood","building_blocks:hardwood", {choppy=1,flammable=1}, {"building_blocks_hardwood.png"}, - "Hardwood stair", - "Hardwood slab" + S("Hardwood stair"), + S("Hardwood slab") ) bb_stairs.register_stair_and_slab("fakegrass","building_blocks:fakegrass", {crumbly=3}, {"default_grass.png"}, - "Grass stair", - "Grass slab" + S("Grass stair"), + S("Grass slab") ) bb_stairs.register_stair_and_slab("tar","building_blocks:Tar", {crumbly=1}, {"building_blocks_tar.png"}, - "Tar stair", - "Tar slab" + S("Tar stair"), + S("Tar slab") ) bb_stairs.register_stair_and_slab("grate","building_blocks:grate", {cracky=1}, {"building_blocks_grate.png"}, - "Grate Stair", - "Grate Slab" + S("Grate Stair"), + S("Grate Slab") ) bb_stairs.register_stair_and_slab("Adobe", "building_blocks:Adobe", {crumbly=3}, {"building_blocks_Adobe.png"}, - "Adobe stair", - "Adobe slab" + S("Adobe stair"), + S("Adobe slab") ) bb_stairs.register_stair_and_slab("Roofing", "building_blocks:Roofing", {snappy=3}, {"building_blocks_Roofing.png"}, - "Roofing stair", - "Roofing slab" + S("Roofing stair"), + S("Roofing slab") ) end @@ -498,7 +503,7 @@ minetest.register_craft({ minetest.register_node("building_blocks:fakegrass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, - description = "Fake Grass", + description = S("Fake Grass"), is_ground_content = true, groups = {crumbly=3}, sounds = default.node_sound_dirt_defaults({ @@ -507,13 +512,13 @@ minetest.register_node("building_blocks:fakegrass", { }) minetest.register_craftitem("building_blocks:sticks", { - description = "Small bundle of sticks", + description = S("Small bundle of sticks"), image = "building_blocks_sticks.png", on_place_on_ground = minetest.craftitem_place_item, }) minetest.register_craftitem("building_blocks:tar_base", { - description = "Tar base", + description = S("Tar base"), image = "building_blocks_tar_base.png", }) @@ -537,14 +542,14 @@ minetest.register_alias("building_blocks:faggot", "building_blocks:sticks") minetest.register_alias("marble", "building_blocks:Marble") minetest.register_node("building_blocks:Tar", { - description = "Tar", + description = S("Tar"), tiles = {"building_blocks_tar.png"}, is_ground_content = true, groups = {crumbly=1, tar_block = 1}, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("building_blocks:Marble", { - description = "Marble", + description = S("Marble"), tiles = {"building_blocks_marble.png"}, is_ground_content = true, groups = {cracky=3, marble = 1}, @@ -568,7 +573,7 @@ minetest.register_craft({ }) minetest.register_tool("building_blocks:knife", { - description = "Tar Knife", + description = S("Tar Knife"), inventory_image = "building_blocks_knife.png", tool_capabilities = { max_drop_level=0, @@ -588,14 +593,14 @@ minetest.register_craft({ } }) -if not minetest.get_modpath("technic") then +if not minetest.get_modpath("technic") then minetest.register_node( ":technic:granite", { - description = "Granite", + description = S("Granite"), tiles = { "technic_granite.png" }, is_ground_content = true, groups = {cracky=1}, sounds = default.node_sound_stone_defaults(), - }) + }) minetest.register_craft({ output = "technic:granite 9", @@ -608,7 +613,7 @@ if not minetest.get_modpath("technic") then if minetest.get_modpath("moreblocks") then stairsplus:register_all("technic", "granite", "technic:granite", { - description="Granite", + description=S("Granite"), groups={cracky=1, not_in_creative_inventory=1}, tiles={"technic_granite.png"}, }) diff --git a/carbone_mobs/README.txt b/carbone_mobs/README.txt index a74e6ff0..b7bdc0d1 100644 --- a/carbone_mobs/README.txt +++ b/carbone_mobs/README.txt @@ -16,9 +16,28 @@ http://wiki.minetest.com/wiki/Installing_Mods How to use the mod: See https://github.com/PilzAdam/mobs/wiki +This mod can be configured via following minetest.conf variables: +( reminder: minetest.conf lines starting with "#" are comments ) + +* display_mob_spawn = true -> show you a message in the chat when a mob spawns. see https://github.com/PilzAdam/mobs/wiki +* only_peaceful_mobs = true -> "When you add only_peaceful_mobs = true to minetest.conf then all hostile mobs will despawn." + "They do spawn, but they immediately despawn." (see https://forum.minetest.net/viewtopic.php?id=551) + +So instead you can directly use this to avoid false-alarming spawn messages... +* spawn_friendly_mobs = true -> spawn friendly mobs (sheep, rat) +* spawn_hostile_mobs = true -> spawn hostile mobs + + For developers: The API documentation is moved to https://github.com/PilzAdam/mobs/wiki/API +Some internal details: + +* armor: lower values means better armor, means you need a better weapon to hurt it. + see e.g. https://github.com/PilzAdam/mobs/wiki/Dungeon-Master: + stone sword is OK to attack against armor value of 60. + + License: Sourcecode: WTFPL (see below) Grahpics: WTFPL (see below) diff --git a/carbone_mobs/api.lua b/carbone_mobs/api.lua index 227b0c01..675adc85 100644 --- a/carbone_mobs/api.lua +++ b/carbone_mobs/api.lua @@ -3,6 +3,12 @@ local monster_damage = minetest.setting_get("monster_damage_factor") or 1.0 carbone_mobs = {} function carbone_mobs:register_mob(name, def) + + -- jump = true as default + local is_jumping = true + if def.jump ~= nil then is_jumping = def.jump end + + -- see http://dev.minetest.net/register_entity minetest.register_entity(name, { hp_max = def.hp_max, physical = true, @@ -32,7 +38,7 @@ function carbone_mobs:register_mob(name, def) sounds = def.sounds, animation = def.animation, follow = def.follow, - jump = def.jump or true, + jump = is_jumping, timer = 0, env_damage_timer = 0, -- only if state = "attack" @@ -115,10 +121,10 @@ function carbone_mobs:register_mob(name, def) end end end, - - on_step = function(self, dtime) - + -- see http://dev.minetest.net/LuaEntitySAO + -- Callback method called every server tick. + on_step = function(self, dtime) self.lifetimer = self.lifetimer - dtime if self.lifetimer <= 0 and not self.tamed then local player_count = 0 @@ -436,7 +442,7 @@ function carbone_mobs:register_mob(name, def) obj:setvelocity(vec) end end - end, + end, -- on_step on_activate = function(self, staticdata, dtime_s) self.object:set_armor_groups({fleshy = self.armor}) @@ -460,7 +466,7 @@ function carbone_mobs:register_mob(name, def) minetest.log("action", "A mob with " .. tostring(hp) .. " HP despawned at " .. minetest.pos_to_string(pos) .. " on activation.") self.object:remove() end - end, + end, -- on_activate get_staticdata = function(self) local tmp = { @@ -468,34 +474,34 @@ function carbone_mobs:register_mob(name, def) tamed = self.tamed, } return minetest.serialize(tmp) - end, + end, -- get_staticdata on_punch = function(self, hitter) - local hp = self.object:get_hp() - if hp >= 1 then - minetest.sound_play("player_damage", {object = self.object, gain = 0.25}) - minetest.sound_play("hit", {pos = hitter:getpos(), gain = 0.4}) - end - local y = self.object:getvelocity().y - if y <= 0 then - self.object:setvelocity({x = 0, y = y + 4.5, z = 0}) - end - if hp <= 0 then - if hitter and hitter:is_player() and hitter:get_inventory() then - local pos = self.object:getpos() - minetest.sound_play("player_death", {object = self.object, gain = 0.4}) - minetest.sound_play("hit_death", {pos = hitter:getpos(), gain = 0.4}) - for _,drop in ipairs(self.drops) do - if math.random(1, drop.chance) == 1 then - hitter:get_inventory():add_item("main", ItemStack(drop.name .. " " .. math.random(drop.min, drop.max))) - end - end - end - end - end, + local hp = self.object:get_hp() + if hp >= 1 then + minetest.sound_play("player_damage", {object = self.object, gain = 0.25}) + minetest.sound_play("hit", {pos = hitter:getpos(), gain = 0.4}) + end + local y = self.object:getvelocity().y + if y <= 0 then + self.object:setvelocity({x = 0, y = y + 4.5, z = 0}) + end + if hp <= 0 then + if hitter and hitter:is_player() and hitter:get_inventory() then + local pos = self.object:getpos() + minetest.sound_play("player_death", {object = self.object, gain = 0.4}) + minetest.sound_play("hit_death", {pos = hitter:getpos(), gain = 0.4}) + for _,drop in ipairs(self.drops) do + if math.random(1, drop.chance) == 1 then + hitter:get_inventory():add_item("main", ItemStack(drop.name .. " " .. math.random(drop.min, drop.max))) + end + end + end + end -- if hp <= 0 + end, -- on_punch }) -end +end --function carbone_mobs:register_mob(name, def) carbone_mobs.spawning_mobs = {} function carbone_mobs:register_spawn(name, description, nodes, max_light, min_light, chance, active_object_count, max_height, spawn_func) diff --git a/carbone_mobs/init.lua b/carbone_mobs/init.lua index a57fb4b9..f12f105b 100644 --- a/carbone_mobs/init.lua +++ b/carbone_mobs/init.lua @@ -1,6 +1,9 @@ dofile(minetest.get_modpath("carbone_mobs").."/api.lua") +-- Minetest states since 2013 to use lua 5.1 (see http://dev.minetest.net/Lua , https://www.lua.org/manual/5.1/ ) + -- Ensure the correct active_block_range value is used (for performance and spawning): +-- see http://dev.minetest.net/minetest.register_abm minetest.setting_set("active_block_range", 1) carbone_mobs:register_mob("carbone_mobs:dirt_monster", { diff --git a/chains/depends.txt b/chains/depends.txt index 331d858c..7b3e79f7 100644 --- a/chains/depends.txt +++ b/chains/depends.txt @@ -1 +1,2 @@ -default \ No newline at end of file +default +homedecor diff --git a/chains/init.lua b/chains/init.lua index becbb35a..4a0f5003 100644 --- a/chains/init.lua +++ b/chains/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + local chains_sbox = { type = "fixed", fixed = { -0.1, -0.625, -0.1, 0.1, 0.5, 0.1 } @@ -12,7 +15,7 @@ local topchains_sbox = { } minetest.register_node("chains:chain", { - description = "Hanging chain (wrought iron)", + description = S("Hanging chain (wrought iron)"), drawtype = "mesh", mesh = "chains.obj", tiles = {"chains_wrought_iron.png"}, @@ -26,7 +29,7 @@ minetest.register_node("chains:chain", { }) minetest.register_node("chains:chain_brass", { - description = "Hanging chain (brass)", + description = S("Hanging chain (brass)"), drawtype = "mesh", mesh = "chains.obj", tiles = {"chains_brass.png"}, @@ -40,7 +43,7 @@ minetest.register_node("chains:chain_brass", { }) minetest.register_node("chains:chain_top", { - description = "Hanging chain (ceiling mount, wrought iron)", + description = S("Hanging chain (ceiling mount, wrought iron)"), drawtype = "mesh", mesh = "top_chains.obj", tiles = {"chains_wrought_iron.png"}, @@ -54,7 +57,7 @@ minetest.register_node("chains:chain_top", { }) minetest.register_node("chains:chain_top_brass", { - description = "Hanging chain (ceiling mount, brass)", + description = S("Hanging chain (ceiling mount, brass)"), drawtype = "mesh", mesh = "top_chains.obj", tiles = {"chains_brass.png"}, @@ -68,7 +71,7 @@ minetest.register_node("chains:chain_top_brass", { }) minetest.register_node("chains:chandelier", { - description = "Chandelier (wrought iron)", + description = S("Chandelier (wrought iron)"), paramtype = "light", light_source = default.LIGHT_MAX-2, walkable = false, @@ -95,7 +98,7 @@ minetest.register_node("chains:chandelier", { }) minetest.register_node("chains:chandelier_brass", { - description = "Chandelier (brass)", + description = S("Chandelier (brass)"), paramtype = "light", light_source = default.LIGHT_MAX-2, walkable = false, diff --git a/coloredwood/init.lua b/coloredwood/init.lua index 23dfa156..c83f2365 100644 --- a/coloredwood/init.lua +++ b/coloredwood/init.lua @@ -6,38 +6,10 @@ -- This mod provides 89 colors of wood, fences, and sticks, and enough -- cross-compatible recipes to make everything fit together naturally. -- --- Colored wood is crafted by putting two regular wood blocks into the --- grid along with one dye color, in any order and position. The result --- is two colored wood blocks. --- --- Colored sticks are crafted from colored wood blocks only - one colored --- wood block in any position yields 4 colored sticks as usual. --- --- Uncolored sticks cannot be dyed separately, but they can still be used --- to build colored wooden fences. These are crafted either by placing six --- plain, uncolored sticks into the crafting grid in the usual manner, plus --- one portion of dye in the upper-left corner of the grid --- (D = dye, S = uncolored stick): --- --- D - - --- S S S --- S S S --- --- You can also craft a colored fence by using colored sticks derived from --- colored wood. Just place six of them in the same manner as with plain --- fences (CS = colored stick): --- --- -- -- -- --- CS CS CS --- CS CS CS --- --- If you find yourself with too many colors of sticks and not enough, --- ladders, you can use any color (as long as they"re all the same) to --- create a ladder, but it"ll always result in a plain, uncolored ladder. --- This practice isn"t recommended of course, since it wastes dye. --- +-- Colored wood is created by placing a regular wood block on the ground +-- and then right-clicking on it with some dye. -- All materials are flammable and can be used as fuel. - +-- -- Hues are on a 30 degree spacing starting at red = 0 degrees. -- "s50" in a file/item name means "saturation: 50%". -- Texture brightness levels for the colors are 100%, 66% ("medium"), @@ -45,6 +17,11 @@ coloredwood = {} +coloredwood.enable_stairsplus = true +if minetest.setting_getbool("coloredwood_enable_stairsplus") == false or not minetest.get_modpath("moreblocks") then + coloredwood.enable_stairsplus = false +end + coloredwood.shades = { "dark_", "medium_", @@ -127,11 +104,265 @@ coloredwood.greys3 = { "dye:white" } --- All of the actual code is contained in separate lua files: +coloredwood.hues_plus_greys = {} -dofile(minetest.get_modpath("coloredwood").."/wood.lua") -dofile(minetest.get_modpath("coloredwood").."/fence.lua") -dofile(minetest.get_modpath("coloredwood").."/stick.lua") +for _, hue in ipairs(coloredwood.hues) do + table.insert(coloredwood.hues_plus_greys, hue) +end + +table.insert(coloredwood.hues_plus_greys, "grey") + +-- helper functions + +local function is_stairsplus(name) + local s1, s2 + + local a,b = string.find(name, ":stair") + if a then s1 = string.sub(name, a+1, b) end + + a,b = string.find(name, ":slab") + if a then s1 = string.sub(name, a+1, b) end + + a,b = string.find(name, ":panel") + if a then s1 = string.sub(name, a+1, b) end + + a,b = string.find(name, ":micro") + if a then s1 = string.sub(name, a+1, b) end + + a,b = string.find(name, ":slope") + if a then s1 = string.sub(name, a+1, b) end + + local h, s, v = unifieddyes.get_hsv(name) + + a,b = string.find(name, "_"..h..s) + if a then s2 = string.sub(name, b+1) + if string.find(s2, "wood") then s2 = string.sub(s2, 5) end + end + return s1, s2 +end + +-- the actual nodes! + +for _, color in ipairs(coloredwood.hues_plus_greys) do + minetest.register_node("coloredwood:wood_"..color, { + description = "Colored wooden planks", + tiles = { "coloredwood_base.png" }, + paramtype = "light", + paramtype2 = "colorfacedir", + palette = "unifieddyes_palette_"..color.."s.png", + walkable = true, + sunlight_propagates = false, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2, not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "coloredwood:wood_"..color, true) + end, + drop = "default:wood" + }) + + -- moreblocks/stairsplus support + + if coloredwood.enable_stairsplus then + + -- stairsplus:register_all(modname, subname, recipeitem, {fields}) + + stairsplus:register_all( + "coloredwood", + "wood_"..color, + "coloredwood:wood_"..color, + { + description = "Colored wood", + tiles = { "coloredwood_base.png" }, + paramtype = "light", + paramtype2 = "colorfacedir", + palette = "unifieddyes_palette_"..color.."s.png", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2, not_in_creative_inventory=1}, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, nil, true) + end + } + ) + end +end + +-- force on_rightclick for stairsplus default wood stair/slab/etc nodes + + if coloredwood.enable_stairsplus then + + for _, i in pairs(minetest.registered_nodes) do + if string.find(i.name, "moreblocks:stair_wood") + or string.find(i.name, "moreblocks:slab_wood") + or string.find(i.name, "moreblocks:panel_wood") + or string.find(i.name, "moreblocks:micro_wood") + or string.find(i.name, "moreblocks:slope_wood") + then + + minetest.override_item(i.name, { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local wield = itemstack:get_name() + local newnode = nil + if string.find(wield, "dye:") or string.find(wield, "unifieddyes:") then + local s1, s2 = is_stairsplus(i.name) + local paletteidx, hue = unifieddyes.getpaletteidx(wield, true) + if hue ~= 0 then + newnode = "coloredwood:"..s1.."_wood_"..coloredwood.hues[hue]..s2 + else + newnode = "coloredwood:"..s1.."_wood_grey"..s2 + end + end + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, newnode, true) + end, + }) + end + end + + -- fix drops for colored versions of stairsplus nodes + + for _, i in pairs(minetest.registered_nodes) do + if string.find(i.name, "coloredwood:stair_") + or string.find(i.name, "coloredwood:slab_") + or string.find(i.name, "coloredwood:panel_") + or string.find(i.name, "coloredwood:micro_") + or string.find(i.name, "coloredwood:slope_") + then + + mname = string.gsub(i.name, "coloredwood:", "moreblocks:") + local s1, s2 = is_stairsplus(mname) + + minetest.override_item(i.name, { + drop = "moreblocks:"..s1.."_wood"..s2 + }) + end + end +end + +minetest.override_item("default:wood", { + paramtype2 = "colorfacedir", + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "coloredwood:wood_grey", true) + end +}) + +minetest.register_node("coloredwood:fence", { + drawtype = "fencelike", + description = "Colored wooden fence", + tiles = { "coloredwood_fence_base.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + walkable = true, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "coloredwood:fence") + end, + drop = "default:fence_wood" +}) + +minetest.override_item("default:fence_wood", { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "coloredwood:fence") + end +}) + +-- ============================ +-- convert the old static nodes + +coloredwood.old_static_nodes = {} + +for _, hue in ipairs(coloredwood.hues) do + for _, sat in ipairs({"", "_s50"}) do + for _, val in ipairs ({"dark_", "medium_", "light_", ""}) do + table.insert(coloredwood.old_static_nodes, "coloredwood:wood_"..val..hue..sat) + table.insert(coloredwood.old_static_nodes, "coloredwood:fence_"..val..hue..sat) + end + end +end + +for _, shade in ipairs(coloredwood.greys) do + table.insert(coloredwood.old_static_nodes, "coloredwood:wood_"..shade) + table.insert(coloredwood.old_static_nodes, "coloredwood:fence_"..shade) +end + +-- add all of the stairsplus nodes + +for _, shape in ipairs(circular_saw.names) do + local a = shape[1] + local b = shape[2] + for _, hue in ipairs(coloredwood.hues) do + for _, shade in ipairs(coloredwood.shades) do + table.insert(coloredwood.old_static_nodes, "coloredwood:"..a.."_wood_"..shade..hue..b) + table.insert(coloredwood.old_static_nodes, "coloredwood:"..a.."_wood_"..shade..hue.."_s50"..b) + end + table.insert(coloredwood.old_static_nodes, "coloredwood:"..a.."_wood_light_"..hue..b) -- light doesn't have extra shades or s50 + end +end + +for _, shape in ipairs(circular_saw.names) do + local a = shape[1] + local b = shape[2] + for _, hue in ipairs(coloredwood.greys) do + for _, shade in ipairs(coloredwood.shades) do + table.insert(coloredwood.old_static_nodes, "coloredwood:"..a.."_wood_"..hue..b) + end + end +end + +minetest.register_lbm({ + name = "coloredwood:convert", + label = "Convert wood blocks, fences, stairsplus stuff, etc to use param2 color", + run_at_every_load = true, + nodenames = coloredwood.old_static_nodes, + action = function(pos, node) + local meta = minetest.get_meta(pos) + + if meta and (meta:get_string("dye") ~= "") then return end -- node has already been converted before. + + local name = node.name + local hue, sat, val = unifieddyes.get_hsv(name) + + local color = val..hue..sat + + local s1, s2 = is_stairsplus(name) + + if s1 then + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, true) + local cfdir = paletteidx + (node.param2 % 32) + local newname = "coloredwood:"..s1.."_wood_"..hue..s2 + + minetest.set_node(pos, { name = newname, param2 = cfdir }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + + elseif string.find(name, ":fence") then + local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color, false) + minetest.set_node(pos, { name = "coloredwood:fence", param2 = paletteidx }) + meta:set_string("dye", "unifieddyes:"..color) + else + local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color, true) + if hue ~= 0 and hue ~= nil then + minetest.set_node(pos, { name = "coloredwood:wood_"..coloredwood.hues[hue], param2 = paletteidx }) + meta:set_string("dye", "unifieddyes:"..color) + else + minetest.set_node(pos, { name = "coloredwood:wood_grey", param2 = paletteidx }) + meta:set_string("dye", "unifieddyes:"..color) + end + end + end +}) print("[Colored Wood] Loaded!") - diff --git a/coloredwood/textures/coloredwood_base.png b/coloredwood/textures/coloredwood_base.png new file mode 100644 index 0000000000000000000000000000000000000000..18d186e00d6796f2c10e2b29de49c14bd062d24a GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA=6bp~hDcnFJ!kL5>?m{eGL71_6$qqj?@5O5bz8_vi9cF4(73&(l3y z^30M~ze^owU0RZHG}9*TlvnUwf38nuj6Yx3yMJHMX(M`zS7ejy?!%ui=W6avtngU6 z>W=z^x7Tl1cF$kt?&9+2o80`p*XP}P|M8~7svI|&I2rwG$MEE@e4Dd#yH=>;)ycnIrhBf~>5(hatB~{8Fv5P(+{69no|Y~W@LE*WH;=0`L1q0) z`<02#CJ$~c-+V-1V~OH#_tnmMYqzrHE`3(;P=Eis=P$(KEc|Yr`1G@P!bbb7uzuk` YOv;zcVyYFmzk!_Y>FVdQ&MBb@0QIe0Bme*a literal 0 HcmV?d00001 diff --git a/computer/computers.lua b/computer/computers.lua index 877ccbde..5a7fed40 100644 --- a/computer/computers.lua +++ b/computer/computers.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + -- Amiga 500 lookalike computer.register("computer:shefriendSOO", { description = "SheFriendSOO", @@ -157,7 +160,7 @@ local mo_sbox = { } minetest.register_node("computer:monitor", { - description = "Monitor and keyboard", + description = S("Monitor and keyboard"), inventory_image = "computer_monitor_inv.png", drawtype = "mesh", mesh = "computer_monitor.obj", @@ -175,7 +178,6 @@ minetest.register_node("computer:monitor", { }) minetest.register_node("computer:monitor_on", { - description = "Monitor and keyboard", drawtype = "mesh", mesh = "computer_monitor.obj", tiles = {"monitor_display.png^[transformFX", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"}, @@ -200,7 +202,7 @@ minetest.register_alias("computer:monitor_desktop", "computer:monitor") --WIFI Router (linksys look-a-like) minetest.register_node("computer:router", { - description = "WIFI Router", + description = S("WIFI Router"), inventory_image = "computer_router_inv.png", tiles = {"computer_router_t.png","computer_router_bt.png","computer_router_l.png","computer_router_r.png","computer_router_b.png", {name="computer_router_f_animated.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},}, --"computer_router_f.png"}, @@ -228,7 +230,7 @@ local pct_cbox = { --Modern PC Tower minetest.register_node("computer:tower", { - description = "Computer Tower", + description = S("Computer Tower"), inventory_image = "computer_tower_inv.png", drawtype = "mesh", mesh = "computer_tower.obj", @@ -245,7 +247,7 @@ minetest.register_alias("computer:tower_on", "computer:tower") -- Printer/scaner combo minetest.register_node("computer:printer", { - description = "Printer Scaner Combo", + description = S("Printer-Scanner Combo"), inventory_image = "computer_printer_inv.png", tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png", "computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"}, @@ -273,7 +275,7 @@ minetest.register_node("computer:printer", { --Rack Server minetest.register_node("computer:server", { drawtype = "nodebox", - description = "Rack Server", + description = S("Rack Server"), tiles = { 'computer_server_t.png', 'computer_server_bt.png', @@ -303,7 +305,8 @@ minetest.register_node("computer:server", { on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then - minetest.chat_send_player( placer:get_player_name(), "Not enough vertical space to place a server!" ) + minetest.chat_send_player( placer:get_player_name(), + S("Not enough vertical space to place a server!" )) return itemstack end return minetest.item_place(itemstack, placer, pointed_thing) @@ -312,7 +315,6 @@ minetest.register_node("computer:server", { minetest.register_node("computer:server_on", { drawtype = "nodebox", - description = "Rack Server", tiles = { 'computer_server_t.png', 'computer_server_bt.png', diff --git a/computer/depends.txt b/computer/depends.txt index c48fe0d0..947d2a71 100644 --- a/computer/depends.txt +++ b/computer/depends.txt @@ -1,3 +1,2 @@ default -intllib? - +homedecor_i18n diff --git a/computer/init.lua b/computer/init.lua index bb690ede..534878dd 100644 --- a/computer/init.lua +++ b/computer/init.lua @@ -2,19 +2,18 @@ computer = {} screwdriver = screwdriver or {} computer.register = function (name, def) - local nodename = name if (name:sub(1, 1) == ":") then name = name:sub(2) end local modname, basename = name:match("^([^:]+):(.*)") local TEXPFX = modname.."_"..basename.."_" local ONSTATE = modname..":"..basename local OFFSTATE = modname..":"..basename.."_off" - local def = def + local cdef = table.copy(def) minetest.register_node(ONSTATE, { drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", - description = def.description, - inventory_image = def.inventory_image, + description = cdef.description, + inventory_image = cdef.inventory_image, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2}, tiles = { TEXPFX.."tp.png", @@ -24,10 +23,10 @@ computer.register = function (name, def) TEXPFX.."bk.png", TEXPFX.."ft.png" }, - node_box = def.node_box, - selection_box = def.node_box, + node_box = cdef.node_box, + selection_box = cdef.node_box, on_rightclick = function (pos, node, clicker, itemstack) - if def.on_turn_off and def.on_turn_off(pos, node, clicker, itemstack) then + if cdef.on_turn_off and cdef.on_turn_off(pos, node, clicker, itemstack) then return itemstack end node.name = OFFSTATE @@ -41,17 +40,17 @@ computer.register = function (name, def) paramtype2 = "facedir", groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, tiles = { - (TEXPFX.."tp"..(def.tiles_off.top and "_off" or "")..".png"), - (TEXPFX.."bt"..(def.tiles_off.bottom and "_off" or "")..".png"), - (TEXPFX.."rt"..(def.tiles_off.right and "_off" or "")..".png"), - (TEXPFX.."lt"..(def.tiles_off.left and "_off" or "")..".png"), - (TEXPFX.."bk"..(def.tiles_off.back and "_off" or "")..".png"), - (TEXPFX.."ft"..(def.tiles_off.front and "_off" or "")..".png") + (TEXPFX.."tp"..(cdef.tiles_off.top and "_off" or "")..".png"), + (TEXPFX.."bt"..(cdef.tiles_off.bottom and "_off" or "")..".png"), + (TEXPFX.."rt"..(cdef.tiles_off.right and "_off" or "")..".png"), + (TEXPFX.."lt"..(cdef.tiles_off.left and "_off" or "")..".png"), + (TEXPFX.."bk"..(cdef.tiles_off.back and "_off" or "")..".png"), + (TEXPFX.."ft"..(cdef.tiles_off.front and "_off" or "")..".png") }, - node_box = def.node_box_off or def.node_box, - selection_box = def.node_box_off or def.node_box, + node_box = cdef.node_box_off or cdef.node_box, + selection_box = cdef.node_box_off or cdef.node_box, on_rightclick = function (pos, node, clicker, itemstack) - if def.on_turn_on and def.on_turn_on(pos, node, clicker, itemstack) then + if cdef.on_turn_on and cdef.on_turn_on(pos, node, clicker, itemstack) then return itemstack end node.name = ONSTATE @@ -63,13 +62,10 @@ computer.register = function (name, def) end computer.register_handheld = function (name, def) - local nodename = name if (name:sub(1, 1) == ":") then name = name:sub(2) end local modname, basename = name:match("^([^:]+):(.*)") local TEXPFX = modname.."_"..basename.."_inv" local ONSTATE = modname..":"..basename - local OFFSTATE = modname..":"..basename.."_off" - local on_use = def.on_use minetest.register_craftitem(ONSTATE, { description = def.description, inventory_image = TEXPFX..".png", @@ -79,8 +75,7 @@ end computer.pixelnodebox = function (size, boxes) local fixed = { } - local i, box - for i, box in ipairs(boxes) do + for _, box in ipairs(boxes) do local x, y, z, w, h, l = unpack(box) fixed[#fixed + 1] = { (x / size) - 0.5, diff --git a/computer/miscitems.lua b/computer/miscitems.lua index c5017a7d..5f63c7d2 100644 --- a/computer/miscitems.lua +++ b/computer/miscitems.lua @@ -4,8 +4,7 @@ -- This file defines some items in order to not have to depend on other mods. --- Boilerplate to support localized strings if intllib mod is installed. -local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end +local S = homedecor_i18n.gettext if (not minetest.get_modpath("homedecor")) then diff --git a/computer/tetris.lua b/computer/tetris.lua index 5f0b71ca..1683dcca 100644 --- a/computer/tetris.lua +++ b/computer/tetris.lua @@ -1,6 +1,9 @@ + +local S = homedecor_i18n.gettext + local shapes = { { { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } }, - + { { x = {1, 1, 1, 1}, y = {0, 1, 2, 3} }, { x = {0, 1, 2, 3}, y = {1, 1, 1, 1} } }, @@ -35,7 +38,7 @@ local buttons = "button[3,4.5;0.6,0.6;left;<]" .."button[4.2,5.3;0.6,0.6;drop;V]" .."button[4.8,4.5;0.6,0.6;rotateright;R]" .."button[5.4,4.5;0.6,0.6;right;>]" - .."button[3.5,3;2,2;new;New Game]" + .."button[3.5,3;2,2;new;"..minetest.formspec_escape(S("New Game")).."]" local formsize = "size[5.9,5.7]" local boardx, boardy = 0, 0 @@ -70,8 +73,8 @@ end local function step(pos, fields) local meta = minetest.get_meta(pos) local t = minetest.deserialize(meta:get_string("tetris")) - - local function new_game(pos) + + local function new_game(p) local nex = math.random(7) t = { @@ -81,10 +84,10 @@ local function step(pos, fields) score = 0, cur = math.random(7), nex = nex, - x=4, y=0, rot=1 + x=4, y=0, rot=1 } - local timer = minetest.get_node_timer(pos) + local timer = minetest.get_node_timer(p) timer:set(0.3, 0) end @@ -99,7 +102,7 @@ local function step(pos, fields) i*sizey+boardy, semi, size, comma, size, semi, colors[tile[2]], close } - + ins = ins + 1 scr[ins] = concat(tmp) end @@ -138,9 +141,9 @@ local function step(pos, fields) for i=1,4 do local cx, cy = d.x[i]+x, d.y[i]+y - + if cx < 0 or cx > 9 or cy < 0 or cy > 19 then - return false + return false end for _, tile in pairs(t.board[ cy ] or {}) do @@ -157,7 +160,7 @@ local function step(pos, fields) end local function tick() - if stuck() then + if stuck() then if t.y <= 0 then return false end add() @@ -170,7 +173,7 @@ local function step(pos, fields) t.y = t.y + 1 end return true - end + end local function move(dx, dy) local newx, newy = t.x+dx, t.y+dy @@ -225,10 +228,10 @@ local function step(pos, fields) end if t then - local scr = { formsize, background, + local scr = { formsize, background, t.boardstring, t.previewstring, draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy), - "label[3.8,0.1;Next...]label[3.8,2.7;Score: ", + "label[3.8,0.1;Next...]label[3.8,2.7;Score: ", t.score, close, buttons } @@ -241,7 +244,7 @@ local function step(pos, fields) end minetest.register_node("computer:tetris_arcade", { - description="Tetris Arcade", + description=S("Tetris Arcade"), drawtype = "mesh", mesh = "tetris_arcade.obj", tiles = {"tetris_arcade.png"}, @@ -259,7 +262,8 @@ minetest.register_node("computer:tetris_arcade", { }, on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", formsize.."button[2,2.5;2,2;new;New Game]" + meta:set_string("formspec", formsize + .."button[2,2.5;2,2;new;"..minetest.formspec_escape(S("New Game")).."]" ..default.gui_bg..default.gui_bg_img..default.gui_slots) end, on_timer = function(pos) @@ -275,7 +279,7 @@ minetest.register_node("computer:tetris_arcade", { return itemstack end if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then - minetest.chat_send_player(placer:get_player_name(), "No room for place the Arcade!") + minetest.chat_send_player(placer:get_player_name(), S("No room for place the Arcade!")) return itemstack end local dir = placer:get_look_dir() diff --git a/currency/income.lua b/currency/income.lua index 5aa6fbcb..2bb42bc4 100644 --- a/currency/income.lua +++ b/currency/income.lua @@ -11,7 +11,7 @@ minetest.register_globalstep(function(dtime) players_income[name] = 0 end players_income[name] = 1 - print("[Currency] basic income for "..name.."") + minetest.log("info", "[Currency] basic income for "..name.."") end end end) @@ -27,7 +27,7 @@ earn_income = function(player) local inv = player:get_inventory() inv:add_item("main", {name="currency:minegeld_5", count=count}) players_income[name] = 0 - print("[Currency] added basic income for "..name.." to inventory") + minetest.log("info", "[Currency] added basic income for "..name.." to inventory") end end diff --git a/currency/init.lua b/currency/init.lua index 0c949942..744fcad9 100644 --- a/currency/init.lua +++ b/currency/init.lua @@ -1,20 +1,20 @@ -print(" Currency mod loading... ") +minetest.log("info", " Currency mod loading... ") local modpath = minetest.get_modpath("currency") dofile(modpath.."/craftitems.lua") -print("[Currency] Craft_items Loaded!") +minetest.log("info", "[Currency] Craft_items Loaded!") dofile(modpath.."/shop.lua") -print("[Currency] Shop Loaded!") +minetest.log("info", "[Currency] Shop Loaded!") dofile(modpath.."/barter.lua") -print("[Currency] Barter Loaded!") +minetest.log("info", "[Currency] Barter Loaded!") dofile(modpath.."/safe.lua") -print("[Currency] Safe Loaded!") +minetest.log("info", "[Currency] Safe Loaded!") dofile(modpath.."/crafting.lua") -print("[Currency] Crafting Loaded!") +minetest.log("info", "[Currency] Crafting Loaded!") if minetest.setting_getbool("creative_mode") then - print("[Currency] Creative mode in use, skipping basic income.") + minetest.log("info", "[Currency] Creative mode in use, skipping basic income.") else dofile(modpath.."/income.lua") - print("[Currency] Income Loaded!") + minetest.log("info", "[Currency] Income Loaded!") end diff --git a/fake_fire/depends.txt b/fake_fire/depends.txt index 562cf632..f91fb9f6 100644 --- a/fake_fire/depends.txt +++ b/fake_fire/depends.txt @@ -1 +1,2 @@ default +homedecor diff --git a/fake_fire/init.lua b/fake_fire/init.lua index 92d04f97..ffedce7d 100644 --- a/fake_fire/init.lua +++ b/fake_fire/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + screwdriver = screwdriver or {} local function start_smoke(pos, node, clicker, chimney) @@ -8,8 +11,8 @@ local function start_smoke(pos, node, clicker, chimney) if id ~= 0 then if s_handle then - minetest.after(0, function(s_handle) - minetest.sound_stop(s_handle) + minetest.after(0, function(handle) + minetest.sound_stop(handle) end, s_handle) end minetest.delete_particlespawner(id) @@ -30,19 +33,18 @@ local function start_smoke(pos, node, clicker, chimney) texture = "smoke_particle.png", }) if chimney == 1 then - s_handle = nil this_spawner_meta:set_int("smoky", id) this_spawner_meta:set_int("sound", nil) else - s_handle = minetest.sound_play("fire_small", { - pos = pos, - max_hear_distance = 5, - loop = true - }) - this_spawner_meta:set_int("smoky", id) - this_spawner_meta:set_int("sound", s_handle) + s_handle = minetest.sound_play("fire_small", { + pos = pos, + max_hear_distance = 5, + loop = true + }) + this_spawner_meta:set_int("smoky", id) + this_spawner_meta:set_int("sound", s_handle) end - return end + end end local function stop_smoke(pos) @@ -55,8 +57,8 @@ local function stop_smoke(pos) end if s_handle then - minetest.after(0, function(s_handle) - minetest.sound_stop(s_handle) + minetest.after(0, function(handle) + minetest.sound_stop(handle) end, s_handle) end @@ -65,12 +67,16 @@ local function stop_smoke(pos) end -- FLAME TYPES -local flame_types = {"fake", "ice"} +local flame_types = { + { "fake", S("Fake fire") }, + { "ice", S("Ice fire") }, +} for _, f in ipairs(flame_types) do - minetest.register_node("fake_fire:"..f.."_fire", { - inventory_image = f.."_fire_inv.png", - description = f.." fire", + local name, desc = unpack(f) + minetest.register_node("fake_fire:"..name.."_fire", { + inventory_image = name.."_fire_inv.png", + description = desc, drawtype = "plantlike", paramtype = "light", paramtype2 = "facedir", @@ -81,7 +87,7 @@ for _, f in ipairs(flame_types) do light_source = 14, waving = 1, tiles = { - {name=f.."_fire_animated.png", animation={type="vertical_frames", + {name=name.."_fire_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5}}, }, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) @@ -100,7 +106,7 @@ end minetest.register_node("fake_fire:fancy_fire", { inventory_image = "fancy_fire_inv.png", - description = "Fancy Fire", + description = S("Fancy Fire"), drawtype = "mesh", mesh = "fancy_fire.obj", paramtype = "light", @@ -112,7 +118,7 @@ minetest.register_node("fake_fire:fancy_fire", { damage_per_second = 4, on_rotate = screwdriver.rotate_simple, tiles = { - {name="fake_fire_animated.png", + {name="fake_fire_animated.png", animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}}, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) start_smoke(pos, node, clicker) @@ -137,7 +143,7 @@ minetest.register_node("fake_fire:fancy_fire", { -- EMBERS minetest.register_node("fake_fire:embers", { - description = "Glowing Embers", + description = S("Glowing Embers"), tiles = { {name="embers_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2}}, @@ -172,7 +178,7 @@ for _, m in ipairs(materials) do stop_smoke(pos) end }) - + minetest.register_craft({ type = "shapeless", output = 'fake_fire:chimney_top_'..m, @@ -182,7 +188,7 @@ end -- FLINT and STEEL minetest.register_tool("fake_fire:flint_and_steel", { - description = "Flint and steel", + description = S("Flint and steel"), inventory_image = "flint_and_steel.png", liquids_pointable = false, stack_max = 1, diff --git a/framedglass/init.lua b/framedglass/init.lua index bf504950..07f60d12 100644 --- a/framedglass/init.lua +++ b/framedglass/init.lua @@ -66,6 +66,110 @@ minetest.register_node("framedglass:wooden_framed_obsidian_glass", { sounds = default.node_sound_glass_defaults(), }) +-- helper functions copied partly from Unified Dyes + +local creative_mode = minetest.setting_getbool("creative_mode") + +local function select_node(pointed_thing) + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local def = node and minetest.registered_nodes[node.name] + + if not def or not def.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + def = node and minetest.registered_nodes[node.name] + end + return def and pos, def +end + +local function 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 + +local color_on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + + if not string.find(itemname, "dye:") then + if minetest.registered_nodes[node.name] then + local pos2 = select_node(pointed_thing) + if pos2 and is_buildable_to(clicker, pos2) then + minetest.set_node(pos2, { name = itemname }) + if not creative_mode then + itemstack:take_item() + end + end + end + return itemstack + end + + local a,b = string.find(node.name, "_glass") + local oldcolor = string.sub(node.name, b + 1) + local newcolor = string.sub(itemname, string.find(itemname, ":") + 1) + + local oldcolor2 = string.gsub(oldcolor, "darkgreen", "dark_green") + local oldcolor2 = string.gsub(oldcolor2, "darkgrey", "dark_grey") + + local newcolor2 = string.gsub(newcolor, "dark_green", "darkgreen") + local newcolor2 = string.gsub(newcolor2, "dark_grey", "darkgrey") + + if oldcolor == newcolor2 then + minetest.chat_send_player(clicker:get_player_name(), "That node is already "..newcolor.."." ) + return itemstack + end + + if not (newcolor == "dark_grey" + or newcolor == "dark_green" + or minetest.registered_nodes["framedglass:steel_framed_obsidian_glass"..newcolor]) then + minetest.chat_send_player(clicker:get_player_name(), "Framed glass doesn't support "..newcolor.."." ) + return itemstack + end + + local inv = clicker:get_inventory() + local prevdye = "dye:"..oldcolor2 + + print(oldcolor, oldcolor2, newcolor, newcolor2, prevdye) + + if not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then + if inv:room_for_item("main", prevdye) then + inv:add_item("main", prevdye) + else + minetest.add_item(pos, prevdye) + end + end + + minetest.set_node(pos, { name = "framedglass:steel_framed_obsidian_glass"..newcolor2 }) + itemstack:take_item() + return itemstack +end + +local return_dye_after_dig = function(pos, oldnode, oldmetadata, digger) + + local a,b = string.find(oldnode.name, "_glass") + local oldcolor = string.sub(oldnode.name, b + 1) + local oldcolor2 = string.gsub(oldcolor, "darkgreen", "dark_green") + local oldcolor2 = string.gsub(oldcolor2, "darkgrey", "dark_grey") + + local prevdye = "dye:"..oldcolor2 + + local inv = digger:get_inventory() + + if prevdye and not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then + if inv:room_for_item("main", prevdye) then + inv:add_item("main", prevdye) + else + minetest.add_item(pos, prevdye) + end + end +end + minetest.register_node("framedglass:steel_framed_obsidian_glass", { description = "Steel-framed Obsidian Glass", drawtype = "glasslike_framed", @@ -74,45 +178,44 @@ minetest.register_node("framedglass:steel_framed_obsidian_glass", { sunlight_propagates = true, groups = {cracky=3,oddly_breakable_by_hand=3}, sounds = default.node_sound_glass_defaults(), + on_rightclick = color_on_rightclick, + after_dig_node = return_dye_after_dig }) -function add_coloured_framedglass(name, desc, dye, texture) +function add_coloured_framedglass(name, desc, color) minetest.register_node( "framedglass:steel_framed_obsidian_glass"..name, { description = "Steel-framed "..desc.." Obsidian Glass", - tiles = {"framedglass_steel_frame.png",texture}, + tiles = { + "framedglass_steel_frame.png", + { name = "framedglass_whiteglass.png", color = color } + }, drawtype = "glasslike_framed", paramtype = "light", sunlight_propagates = true, is_ground_content = true, use_texture_alpha = true, - groups = {cracky=3}, + groups = {cracky=3, not_in_creative_inventory=1}, sounds = default.node_sound_glass_defaults(), + on_rightclick = color_on_rightclick, + after_dig_node = return_dye_after_dig, + drop = "framedglass:steel_framed_obsidian_glass" }) - - minetest.register_craft({ - type = "shapeless", - output = "framedglass:steel_framed_obsidian_glass"..name, - recipe = { - "framedglass:steel_framed_glass", - "group:basecolor_white", - dye - } - }) - end -add_coloured_framedglass ("red","Red","group:basecolor_red","framedglass_redglass.png") -add_coloured_framedglass ("green","Green","group:basecolor_green","framedglass_greenglass.png") -add_coloured_framedglass ("blue","Blue","group:basecolor_blue","framedglass_blueglass.png") -add_coloured_framedglass ("cyan","Cyan","group:basecolor_cyan","framedglass_cyanglass.png") -add_coloured_framedglass ("darkgreen","Dark Green","group:unicolor_dark_green","framedglass_darkgreenglass.png") -add_coloured_framedglass ("violet","Violet","group:excolor_violet","framedglass_violetglass.png") -add_coloured_framedglass ("pink","Pink","group:unicolor_light_red","framedglass_pinkglass.png") -add_coloured_framedglass ("yellow","Yellow","group:basecolor_yellow","framedglass_yellowglass.png") -add_coloured_framedglass ("orange","Orange","group:basecolor_orange","framedglass_orangeglass.png") -add_coloured_framedglass ("brown","Brown","group:unicolor_dark_orange","framedglass_brownglass.png") -add_coloured_framedglass ("white","White","group:basecolor_white","framedglass_whiteglass.png") -add_coloured_framedglass ("grey","Grey","group:basecolor_grey","framedglass_greyglass.png") -add_coloured_framedglass ("darkgrey","Dark Grey","group:excolor_darkgrey","framedglass_darkgreyglass.png") -add_coloured_framedglass ("black","Black","group:basecolor_black","framedglass_blackglass.png") +add_coloured_framedglass ("red", "Red", 0xffff0000) +add_coloured_framedglass ("orange", "Orange", 0xfffe7f00) +add_coloured_framedglass ("yellow", "Yellow", 0xffffff01) +add_coloured_framedglass ("green", "Green", 0xff0cff00) +add_coloured_framedglass ("cyan", "Cyan", 0xff7affff) +add_coloured_framedglass ("blue", "Blue", 0xff1600ff) +add_coloured_framedglass ("violet", "Violet", 0xff7d00ff) +add_coloured_framedglass ("magenta", "Magenta", 0xfffd05ff) +add_coloured_framedglass ("darkgreen", "Dark Green", 0xff144f00) +add_coloured_framedglass ("pink", "Pink", 0xffffa4a4) +add_coloured_framedglass ("brown", "Brown", 0xff542a00) + +add_coloured_framedglass ("white", "White", 0xffffffff) +add_coloured_framedglass ("grey", "Grey", 0xff7f817e) +add_coloured_framedglass ("darkgrey", "Dark Grey", 0xff3f403e) +add_coloured_framedglass ("black", "Black", 0xff000000) diff --git a/homedecor/bathroom_furniture.lua b/homedecor/bathroom_furniture.lua index 09ebee9a..99dc6993 100644 --- a/homedecor/bathroom_furniture.lua +++ b/homedecor/bathroom_furniture.lua @@ -1,21 +1,20 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext local bathroom_tile_colors = { - { "1", "white/grey", "#c0c0c0:200" }, - { "2", "white/dark grey", "#404040:150" }, - { "3", "white/black", "#000000:200" }, - { "4", "black/dark grey", "" }, - { "red", "white/red", "#d00000:150" }, - { "green", "white/green", "#00d000:150" }, - { "blue", "white/blue", "#0000d0:150" }, - { "yellow", "white/yellow", "#ffff00:150" }, - { "tan", "white/tan", "#ceaf42:150" } + { "1", S("white/grey"), "#c0c0c0:200" }, + { "2", S("white/dark grey"), "#404040:150" }, + { "3", S("white/black"), "#000000:200" }, + { "4", S("black/dark grey"), "" }, + { "red", S("white/red"), "#d00000:150" }, + { "green", S("white/green"), "#00d000:150" }, + { "blue", S("white/blue"), "#0000d0:150" }, + { "yellow", S("white/yellow"), "#ffff00:150" }, + { "tan", S("white/tan"), "#ceaf42:150" } } -for i in ipairs(bathroom_tile_colors) do - local color = bathroom_tile_colors[i][1] - local shade = bathroom_tile_colors[i][2] - local hue = bathroom_tile_colors[i][3] +for _, c in ipairs(bathroom_tile_colors) do + local color, shade, hue = unpack(c) local coloredtile = "homedecor_bathroom_tiles_bg.png^(homedecor_bathroom_tiles_fg.png^[colorize:"..hue..")" @@ -25,7 +24,7 @@ for i in ipairs(bathroom_tile_colors) do end minetest.register_node("homedecor:tiles_"..color, { - description = "Bathroom/kitchen tiles ("..shade..")", + description = S("Bathroom/kitchen tiles (@1)", shade), tiles = { coloredtile, coloredtile, @@ -46,7 +45,7 @@ local tr_cbox = { } homedecor.register("towel_rod", { - description = "Towel rod with towel", + description = S("Towel rod with towel"), mesh = "homedecor_towel_rod.obj", tiles = { "homedecor_generic_terrycloth.png", @@ -60,7 +59,7 @@ homedecor.register("towel_rod", { }) homedecor.register("medicine_cabinet", { - description = S("Medicine Cabinet"), + description = S("Medicine cabinet"), mesh = "homedecor_medicine_cabinet.obj", tiles = { 'default_wood.png', @@ -103,4 +102,3 @@ homedecor.register("medicine_cabinet_open", { minetest.swap_node(pos, node) end, }) - diff --git a/homedecor/bathroom_sanitation.lua b/homedecor/bathroom_sanitation.lua index d5d396af..c5868011 100644 --- a/homedecor/bathroom_sanitation.lua +++ b/homedecor/bathroom_sanitation.lua @@ -1,4 +1,5 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext local toilet_sbox = { type = "fixed", @@ -7,7 +8,7 @@ local toilet_sbox = { local toilet_cbox = { type = "fixed", - fixed = { + fixed = { {-6/16, -8/16, -8/16, 6/16, 1/16, 8/16 }, {-6/16, -8/16, 4/16, 6/16, 9/16, 8/16 } } @@ -17,10 +18,10 @@ homedecor.register("toilet", { description = S("Toilet"), mesh = "homedecor_toilet_closed.obj", tiles = { - "homedecor_marble.png^[colorize:#ffffff:175", - "homedecor_marble.png^[colorize:#ffffff:175", - "homedecor_marble.png^[colorize:#ffffff:175", - "homedecor_generic_metal_black.png^[brighten" + "homedecor_marble.png", + "homedecor_marble.png", + "homedecor_marble.png", + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey } }, selection_box = toilet_sbox, node_box = toilet_cbox, @@ -35,11 +36,11 @@ homedecor.register("toilet", { homedecor.register("toilet_open", { mesh = "homedecor_toilet_open.obj", tiles = { - "homedecor_marble.png^[colorize:#ffffff:175", - "homedecor_marble.png^[colorize:#ffffff:175", - "homedecor_marble.png^[colorize:#ffffff:175", + "homedecor_marble.png", + "homedecor_marble.png", + "homedecor_marble.png", "default_water.png", - "homedecor_generic_metal_black.png^[brighten" + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey } }, selection_box = toilet_sbox, collision_box = toilet_cbox, @@ -89,7 +90,7 @@ homedecor.register("sink", { description = S("Bathroom Sink"), mesh = "homedecor_bathroom_sink.obj", tiles = { - "homedecor_marble.png^[colorize:#ffffff:175", + "homedecor_marble.png", "homedecor_marble.png", "default_water.png" }, @@ -119,7 +120,8 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing) if below and below.name == "homedecor:shower_tray" or below.name == "homedecor:sink" or - below.name == "homedecor:kitchen_cabinet_with_sink" then + below.name == "homedecor:kitchen_cabinet_with_sink" or + below.name == "homedecor:kitchen_cabinet_with_sink_locked" then local particledef = { outlet = { x = 0, y = -0.44, z = 0.28 }, velocity_x = { min = -0.1, max = 0.1 }, @@ -136,9 +138,9 @@ homedecor.register("taps", { description = S("Bathroom taps/faucet"), mesh = "homedecor_bathroom_faucet.obj", tiles = { - "homedecor_generic_metal_black.png^[brighten", + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, "homedecor_generic_metal_bright.png", - "homedecor_generic_metal_black.png^[colorize:#ffffff:200", + "homedecor_generic_metal.png", "homedecor_generic_metal_bright.png" }, inventory_image = "3dforniture_taps_inv.png", @@ -161,7 +163,7 @@ homedecor.register("taps_brass", { tiles = { "homedecor_generic_metal_brass.png", "homedecor_generic_metal_brass.png", - "homedecor_generic_metal_black.png^[colorize:#ffffff:200", + "homedecor_generic_metal.png", "homedecor_generic_metal_brass.png" }, inventory_image = "3dforniture_taps_brass_inv.png", @@ -217,11 +219,11 @@ homedecor.register("shower_head", { drawtype = "mesh", mesh = "homedecor_shower_head.obj", tiles = { - "homedecor_generic_metal_black.png^[brighten", + "homedecor_generic_metal.png", "homedecor_shower_head.png" }, inventory_image = "homedecor_shower_head_inv.png", - description = "Shower Head", + description = S("Shower Head"), groups = {snappy=3}, selection_box = sh_cbox, walkable = false, @@ -261,7 +263,7 @@ homedecor.register("bathroom_set", { "homedecor_bathroom_set_toothpaste.png", }, inventory_image = "homedecor_bathroom_set_inv.png", - description = "Bathroom sundries set", + description = S("Bathroom sundries set"), groups = {snappy=3}, selection_box = bs_cbox, walkable = false, diff --git a/homedecor/bedroom.lua b/homedecor/bedroom.lua index 51c4dd54..92e0bc5a 100644 --- a/homedecor/bedroom.lua +++ b/homedecor/bedroom.lua @@ -1,31 +1,16 @@ -local S = homedecor.gettext -local bedcolors = { - { "black", "#000000:200" }, --new cg72 - { "brown", "#603010:175" }, - { "blue", "#0000d0:150" }, - { "cyan", "#009fa7:150" }, --new cg72 - { "darkgrey", "#101010:175" }, - { "dark_green", "#007000:150" }, - { "green", "#00d000:150" }, --new cg72 - { "grey", "#101010:100" }, --new cg72 - { "magenta", "#e0048b:150" }, --new cg72 - { "orange", "#ff3000:150" }, - { "pink", "#ff80b0:150" }, - { "red", "#d00000:150" }, - { "violet", "#7000e0:150" }, - { "white", "#000000:000" }, --new cg72 - { "yellow", "#ffe000:150" } -} +local S = homedecor_i18n.gettext + +local function N_(x) return x end local bed_sbox = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 } + type = "wallmounted", + wall_side = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 } } local bed_cbox = { - type = "fixed", - fixed = { + type = "wallmounted", + wall_side = { { -0.5, -0.5, -0.5, 0.5, -0.05, 1.5 }, { -0.5, -0.5, 1.44, 0.5, 0.5, 1.5 }, { -0.5, -0.5, -0.5, 0.5, 0.18, -0.44 }, @@ -33,130 +18,145 @@ local bed_cbox = { } local kbed_sbox = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 1.5, 0.5, 1.5 } + type = "wallmounted", + wall_side = { -0.5, -0.5, -0.5, 1.5, 0.5, 1.5 } } local kbed_cbox = { - type = "fixed", - fixed = { + type = "wallmounted", + wall_side = { { -0.5, -0.5, -0.5, 1.5, -0.05, 1.5 }, { -0.5, -0.5, 1.44, 1.5, 0.5, 1.5 }, { -0.5, -0.5, -0.5, 1.5, 0.18, -0.44 }, } } -for i in ipairs(bedcolors) do - local color = bedcolors[i][1] - local color2=color - local hue = bedcolors[i][2] - - if color == "darkgrey" then - color2 = "dark_grey" +homedecor.register("bed_regular", { + mesh = "homedecor_bed_regular.obj", + tiles = { + { name = "homedecor_bed_frame.png", color = 0xffffffff }, + { name = "default_wood.png", color = 0xffffffff }, + { name = "wool_white.png", color = 0xffffffff }, + "wool_white.png", + { name = "homedecor_bed_bottom.png", color = 0xffffffff }, + "wool_white.png^[brighten", -- pillow + }, + inventory_image = "homedecor_bed_inv.png", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + description = S("Bed"), + groups = {snappy=3}, + selection_box = bed_sbox, + node_box = bed_cbox, + sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow, + after_place_node = function(pos, placer, itemstack, pointed_thing) + homedecor.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) + if not placer:get_player_control().sneak then + return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing) + end + end, + after_dig_node = function(pos) + homedecor.unextend_bed(pos) + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:bed_regular", "wallmounted") + elseif itemname == "homedecor:bed_regular" then + homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true) + return itemstack + else +-- if minetest.get_modpath("beds") then +-- beds.on_rightclick(pos, clicker) +-- end + return itemstack + end end - homedecor.register("bed_"..color.."_regular", { - mesh = "homedecor_bed_regular.obj", - tiles = { - "homedecor_bed_frame.png", - "default_wood.png", - "wool_white.png", - "wool_"..color2..".png", - "homedecor_bed_bottom.png", - "wool_"..color2..".png^[brighten", -- pillow - }, - inventory_image = "homedecor_bed_inv.png^(homedecor_bed_overlay_inv.png^[colorize:"..hue..")", - description = S("Bed (%s)"):format(color), - groups = {snappy=3}, - selection_box = bed_sbox, - collision_box = bed_cbox, - sounds = default.node_sound_wood_defaults(), - on_rotate = screwdriver.disallow, - after_place_node = function(pos, placer, itemstack, pointed_thing) - if not placer:get_player_control().sneak then - return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color) - end - end, - after_dig_node = function(pos) - homedecor.unextend_bed(pos, color) - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - if minetest.get_modpath("beds") then - beds.on_rightclick(pos, clicker) - end +}) + +homedecor.register("bed_extended", { + mesh = "homedecor_bed_extended.obj", + tiles = { + { name = "homedecor_bed_frame.png", color = 0xffffffff }, + { name = "default_wood.png", color = 0xffffffff }, + { name = "wool_white.png", color = 0xffffffff }, + "wool_white.png", + { name = "homedecor_bed_bottom.png", color = 0xffffffff }, + "wool_white.png^[brighten", + }, + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = bed_sbox, + node_box = bed_cbox, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + expand = { forward = "air" }, + on_rotate = screwdriver.disallow, + after_dig_node = function(pos) + homedecor.unextend_bed(pos) + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:bed_extended", "wallmounted") + else +-- if minetest.get_modpath("beds") then +-- beds.on_rightclick(pos, clicker) +-- end return itemstack end - }) + end, + drop = "homedecor:bed_regular" +}) - homedecor.register("bed_"..color.."_extended", { - mesh = "homedecor_bed_extended.obj", - tiles = { - "homedecor_bed_frame.png", - "default_wood.png", - "wool_white.png", - "wool_"..color2..".png", - "homedecor_bed_bottom.png", - "wool_"..color2..".png^[brighten", - }, - selection_box = bed_sbox, - collision_box = bed_cbox, - sounds = default.node_sound_wood_defaults(), - expand = { forward = "air" }, - on_rotate = screwdriver.disallow, - after_dig_node = function(pos) - homedecor.unextend_bed(pos, color) - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - if minetest.get_modpath("beds") then - beds.on_rightclick(pos, clicker) - end - return itemstack - end, - drop = "homedecor:bed_"..color.."_regular" - }) - - homedecor.register("bed_"..color.."_kingsize", { - mesh = "homedecor_bed_kingsize.obj", - tiles = { - "homedecor_bed_frame.png", - "default_wood.png", - "wool_white.png", - "wool_"..color2..".png", - "homedecor_bed_bottom.png", - "wool_"..color2..".png^[brighten", - }, - inventory_image = "homedecor_bed_kingsize_inv.png^(homedecor_bed_kingsize_overlay_inv.png^[colorize:"..hue..")", - groups = {snappy=3, not_in_creative_inventory=1}, - description = S("Bed (%s, king sized)"):format(color), - groups = {snappy=3, not_in_creative_inventory=1}, - selection_box = kbed_sbox, - collision_box = kbed_cbox, - sounds = default.node_sound_wood_defaults(), - on_rotate = screwdriver.disallow, - after_dig_node = function(pos, oldnode, oldmetadata, digger) - local inv = digger:get_inventory() - if digger:get_player_control().sneak and inv:room_for_item("main", "bed_"..color.."_regular 1") then - inv:remove_item("main", "homedecor:bed_"..color.."_kingsize 1") - inv:add_item("main", "homedecor:bed_"..color.."_regular 2") - end - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - if minetest.get_modpath("beds") then - beds.on_rightclick(pos, clicker) - end +homedecor.register("bed_kingsize", { + mesh = "homedecor_bed_kingsize.obj", + tiles = { + { name = "homedecor_bed_frame.png", color = 0xffffffff }, + { name = "default_wood.png", color = 0xffffffff }, + { name = "wool_white.png", color = 0xffffffff }, + "wool_white.png", + { name = "homedecor_bed_bottom.png", color = 0xffffffff }, + "wool_white.png^[brighten", + }, + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + inventory_image = "homedecor_bed_kingsize_inv.png", + groups = {snappy=3, not_in_creative_inventory=1}, + description = S("Bed (king sized)"), + groups = {snappy=3, not_in_creative_inventory=1}, + selection_box = kbed_sbox, + node_box = kbed_cbox, + sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow, + after_place_node = homedecor.fix_rotation_nsew, + after_dig_node = function(pos, oldnode, oldmetadata, digger) + local inv = digger:get_inventory() + if digger:get_player_control().sneak and inv:room_for_item("main", "bed_regular 1") then + inv:remove_item("main", "homedecor:bed_kingsize 1") + inv:add_item("main", "homedecor:bed_regular 2") + end + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:bed_kingsize", "wallmounted") + else +-- if minetest.get_modpath("beds") then +-- beds.on_rightclick(pos, clicker) +-- end return itemstack end - }) + end +}) - minetest.register_alias("homedecor:bed_"..color.."_foot", "homedecor:bed_"..color.."_regular") - minetest.register_alias("homedecor:bed_"..color.."_footext", "homedecor:bed_"..color.."_extended") - minetest.register_alias("homedecor:bed_"..color.."_head", "air") - -end - - -for _, w in pairs({"mahogany", "oak"}) do +for _, w in pairs({ N_("mahogany"), N_("oak") }) do homedecor.register("nightstand_"..w.."_one_drawer", { - description = S("Nightstand with One Drawer ("..w..")"), + description = S("Nightstand with One Drawer (@1)", S(w)), tiles = { 'homedecor_nightstand_'..w..'_tb.png', 'homedecor_nightstand_'..w..'_tb.png^[transformFY', 'homedecor_nightstand_'..w..'_lr.png^[transformFX', @@ -167,7 +167,7 @@ for _, w in pairs({"mahogany", "oak"}) do type = "fixed", fixed = { { -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half - { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face + { -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face { -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left { 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right { -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back @@ -185,7 +185,7 @@ for _, w in pairs({"mahogany", "oak"}) do }) homedecor.register("nightstand_"..w.."_two_drawers", { - description = S("Nightstand with Two Drawers ("..w..")"), + description = S("Nightstand with Two Drawers (@1)", S(w)), tiles = { 'homedecor_nightstand_'..w..'_tb.png', 'homedecor_nightstand_'..w..'_tb.png^[transformFY', 'homedecor_nightstand_'..w..'_lr.png^[transformFX', @@ -210,3 +210,75 @@ for _, w in pairs({"mahogany", "oak"}) do }, }) end + +-- convert to param2 colorization + +local bedcolors = { + "black", + "brown", + "blue", + "cyan", + "darkgrey", + "dark_green", + "green", + "grey", + "magenta", + "orange", + "pink", + "red", + "violet", + "white", + "yellow" +} + +homedecor.old_bed_nodes = {} + +for _, color in ipairs(bedcolors) do + table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_regular") + table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_extended") + table.insert(homedecor.old_bed_nodes, "homedecor:bed_"..color.."_kingsize") +end + +minetest.register_lbm({ + name = "homedecor:convert_beds", + label = "Convert homedecor static bed nodes to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_bed_nodes, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_") + 1) + local color = string.sub(color, 1, string.find(color, "_", -10) - 1) -- -10 puts us near the end of the color field + + if color == "darkgrey" then + color = "dark_grey" + end + + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + + if string.find(name, "regular") then + new_name = "homedecor:bed_regular" + elseif string.find(name, "extended") then + new_name = "homedecor:bed_extended" + else + new_name = "homedecor:bed_kingsize" + end + + minetest.set_node(pos, { name = new_name, param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) diff --git a/homedecor/books.lua b/homedecor/books.lua index 67da99e1..fecbcece 100644 --- a/homedecor/books.lua +++ b/homedecor/books.lua @@ -1,22 +1,23 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end local bookcolors = { - { "red", "#c00000:150" }, - { "green", "#008000:150" }, - { "blue", "#4040c0:150" }, - { "violet", "#600070:150" }, - { "grey", "#202020:150" }, - { "brown", "#603010:175" } + { N_("red"), "#c00000:150" }, + { N_("green"), "#008000:150" }, + { N_("blue"), "#4040c0:150" }, + { N_("violet"), "#600070:150" }, + { N_("grey"), "#202020:150" }, + { N_("brown"), "#603010:175" } } local BOOK_FORMNAME = "homedecor:book_form" local player_current_book = { } -for c in ipairs(bookcolors) do - local color = bookcolors[c][1] - local color_d = S(bookcolors[c][1]) - local hue = bookcolors[c][2] +for _, c in ipairs(bookcolors) do + local color, hue = unpack(c) local function book_dig(pos, node, digger) if minetest.is_protected(pos, digger:get_player_name()) then return end @@ -41,7 +42,7 @@ for c in ipairs(bookcolors) do local inv_img = "homedecor_book_inv.png^[colorize:"..hue.."^homedecor_book_trim_inv.png" homedecor.register("book_"..color, { - description = S("Writable Book (%s)"):format(color_d), + description = S("Writable Book (@1)", S(color)), mesh = "homedecor_book.obj", tiles = { "(homedecor_book_cover.png^[colorize:"..hue..")^homedecor_book_cover_trim.png", @@ -169,6 +170,6 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields) if (fields.title or "") ~= "" then meta:set_string("infotext", fields.title) end - minetest.log("action", player:get_player_name().." has written in a book (title: \""..fields.title.."\"): \""..fields.text.. - "\" at location: "..minetest.pos_to_string(player:getpos())) + minetest.log("action", S("@1 has written in a book (title: \"@2\"): \"@3\" at location @4", + player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(player:getpos()))) end) diff --git a/homedecor/climate-control.lua b/homedecor/climate-control.lua index 462f4504..bb685833 100644 --- a/homedecor/climate-control.lua +++ b/homedecor/climate-control.lua @@ -1,6 +1,6 @@ -- Nodes that would affect the local temperature e.g. fans, heater, A/C -local S = homedecor.gettext +local S = homedecor_i18n.gettext homedecor.register("air_conditioner", { description = S("Air Conditioner"), @@ -24,8 +24,24 @@ minetest.register_entity("homedecor:mesh_desk_fan", { visual_size = {x=10, y=10}, }) +local add_mesh_desk_fan_entity = function(pos) + print("in add_mesh_desk_fan_entity()") + local param2 = minetest.get_node(pos).param2 + local entity = minetest.add_entity(pos, "homedecor:mesh_desk_fan") + if param2 == 0 then + entity:setyaw(3.142) -- 180 degrees + elseif minetest.get_node(pos).param2 == 1 then + entity:setyaw(3.142/2) -- 90 degrees + elseif minetest.get_node(pos).param2 == 3 then + entity:setyaw((-3.142/2)) -- 270 degrees + else + entity:setyaw(0) + end + return entity +end + homedecor.register("desk_fan", { - description = "Desk Fan", + description = S("Desk Fan"), groups = {oddly_breakable_by_hand=2}, node_box = { type = "fixed", @@ -39,55 +55,25 @@ homedecor.register("desk_fan", { selection_box = { type = "regular" }, on_rotate = screwdriver.disallow, on_construct = function(pos) - local entity_remove = minetest.get_objects_inside_radius(pos, 0.1) local meta = minetest.get_meta(pos) meta:set_string("active", "no") - if entity_remove[1] == nil then - minetest.add_entity({x=pos.x, y=pos.y, z=pos.z}, "homedecor:mesh_desk_fan") --+(0.0625*10) - entity_remove = minetest.get_objects_inside_radius(pos, 0.1) - if minetest.get_node(pos).param2 == 0 then --list of rad to 90 degree: 3.142/2 = 90; 3.142 = 180; 3*3.142 = 270 - entity_remove[1]:setyaw(3.142) - elseif minetest.get_node(pos).param2 == 1 then - entity_remove[1]:setyaw(3.142/2) - elseif minetest.get_node(pos).param2 == 3 then - entity_remove[1]:setyaw((-3.142/2)) - else - entity_remove[1]:setyaw(0) - end - end + add_mesh_desk_fan_entity(pos) end, on_punch = function(pos) - local entity_anim = minetest.get_objects_inside_radius(pos, 0.1) - local speedy_meta = minetest.get_meta(pos) - if speedy_meta:get_string("active") == "no" then - speedy_meta:set_string("active", "yes") - elseif speedy_meta:get_string("active") == "yes" then - speedy_meta:set_string("active", "no") - end - - if entity_anim[1] == nil then - minetest.add_entity({x=pos.x, y=pos.y, z=pos.z}, "homedecor:mesh_desk_fan") --+(0.0625*10) - local entity_remove = minetest.get_objects_inside_radius(pos, 0.1) - if minetest.get_node(pos).param2 == 0 then --list of rad to 90 degree: 3.142/2 = 90; 3.142 = 180; 3*3.142 = 270 - entity_remove[1]:setyaw(3.142) - elseif minetest.get_node(pos).param2 == 1 then - entity_remove[1]:setyaw(3.142/2) - elseif minetest.get_node(pos).param2 == 3 then - entity_remove[1]:setyaw((-3.142/2)) - else - entity_remove[1]:setyaw(0) - end - end - local entity_anim = minetest.get_objects_inside_radius(pos, 0.1) - if minetest.get_meta(pos):get_string("active") == "no" then - entity_anim[1]:set_animation({x=0,y=0}, 1, 0) - elseif minetest.get_meta(pos):get_string("active") == "yes" then - entity_anim[1]:set_animation({x=0,y=96}, 24, 0) + local meta = minetest.get_meta(pos) + local entities = minetest.get_objects_inside_radius(pos, 0.1) + local entity = entities[1] or add_mesh_desk_fan_entity(pos) + if meta:get_string("active") == "no" then + meta:set_string("active", "yes") + entity:set_animation({x=0,y=96}, 24, 0) + else + meta:set_string("active", "no") + entity:set_animation({x=0,y=0}, 1, 0) end end, after_dig_node = function(pos) - local entity_remove = minetest.get_objects_inside_radius(pos, 0.1) - entity_remove[1]:remove() + local entities = minetest.get_objects_inside_radius(pos, 0.1) + if entities[1] then entities[1]:remove() end end, }) @@ -146,11 +132,11 @@ local r_cbox = homedecor.nodebox.slab_z(-0.25) homedecor.register("radiator", { mesh = "homedecor_radiator.obj", tiles = { - "homedecor_generic_metal_black.png^[colorize:#ffffff:200", + "homedecor_generic_metal.png", "homedecor_radiator_controls.png" }, inventory_image = "homedecor_radiator_inv.png", - description = "Radiator heater", + description = S("Radiator heater"), groups = {snappy=3}, selection_box = r_cbox, collision_box = r_cbox, diff --git a/homedecor/clocks.lua b/homedecor/clocks.lua index 0a00934f..b2a594a0 100644 --- a/homedecor/clocks.lua +++ b/homedecor/clocks.lua @@ -4,7 +4,7 @@ local clock_sbox = { } local clock_materials = { - { "plastic", "homedecor_generic_plastic_black.png^[colorize:#ffffff:220" }, + { "plastic", "homedecor_generic_plastic.png" }, { "wood", "default_wood.png" } } @@ -82,7 +82,7 @@ homedecor.register("grandfather_clock", { tiles = { "default_glass.png", "homedecor_grandfather_clock_face.png", - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_grandfather_clock_face_edge.png", "homedecor_generic_metal_brass.png" }, diff --git a/homedecor/crafts.lua b/homedecor/crafts.lua index 80ba5e7f..b887c2da 100644 --- a/homedecor/crafts.lua +++ b/homedecor/crafts.lua @@ -2,7 +2,7 @@ -- -- Mostly my own code; overall template borrowed from game default -local S = homedecor.gettext +local S = homedecor_i18n.gettext -- misc craftitems @@ -109,23 +109,23 @@ minetest.register_craftitem("homedecor:steel_strip", { }) minetest.register_craftitem(":glooptest:chainlink", { - description = "Steel chainlink", + description = S("Steel chainlink"), inventory_image = "homedecor_chainlink_steel.png" }) minetest.register_craftitem("homedecor:chainlink_brass", { - description = "Brass chainlink", + description = S("Brass chainlink"), inventory_image = "homedecor_chainlink_brass.png" }) minetest.register_craftitem("homedecor:soda_can", { - description = "Soda Can", + description = S("Soda Can"), inventory_image = "homedecor_soda_can.png", on_use = minetest.item_eat(2), }) minetest.register_craftitem("homedecor:coin", { - description = "Gold Coin (for soda vending machine)", + description = S("Gold Coin (for soda vending machine)"), inventory_image = "homedecor_coin.png", }) @@ -537,15 +537,13 @@ minetest.register_craft({ recipe = "homedecor:skylight_frosted", }) --- Various colors of shutters - minetest.register_craft( { - output = "homedecor:shutter_oak 2", - recipe = { + output = "homedecor:shutter 2", + recipe = { { "group:stick", "group:stick" }, { "group:stick", "group:stick" }, { "group:stick", "group:stick" }, - }, + }, }) minetest.register_craft({ @@ -554,201 +552,6 @@ minetest.register_craft({ burntime = 30, }) --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_black 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:black" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_black", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_dark_grey 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:dark_grey" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_dark_grey", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_grey 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:grey" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_grey", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_white 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:white" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_white", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_mahogany 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:brown" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_mahogany", - burntime = 30, -}) -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_red 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:red" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_red", - burntime = 30, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_yellow 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:yellow" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_yellow", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_forest_green 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:dark_green" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_forest_green", - burntime = 30, -}) - --- - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_light_blue 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "unifieddyes:light_blue" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_light_blue", - burntime = 30, -}) - -minetest.register_craft( { - type = "shapeless", - output = "homedecor:shutter_violet 4", - recipe = { - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "homedecor:shutter_oak", - "dye:violet" - }, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "homedecor:shutter_violet", - burntime = 30, -}) - --- - minetest.register_craft( { output = "homedecor:drawer_small", recipe = { @@ -931,7 +734,7 @@ minetest.register_craft( { minetest.register_craft( { type = "shapeless", output = "homedecor:rug_small 8", - recipe = { + recipe = { "wool:red", "wool:yellow", "wool:blue", @@ -953,7 +756,7 @@ minetest.register_craft( { minetest.register_craft( { type = "shapeless", output = "homedecor:rug_small 8", - recipe = { + recipe = { "cotton:red", "cotton:yellow", "cotton:blue", @@ -973,37 +776,37 @@ minetest.register_craft( { -- fuel recipes for same minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_small", - burntime = 30, + type = "fuel", + recipe = "homedecor:rug_small", + burntime = 30, }) minetest.register_craft( { type = "shapeless", output = "homedecor:rug_large 2", - recipe = { + recipe = { "homedecor:rug_small", "homedecor:rug_small", }, }) minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_large", - burntime = 30, + type = "fuel", + recipe = "homedecor:rug_large", + burntime = 30, }) minetest.register_craft({ - type = "fuel", - recipe = "homedecor:rug_persian", - burntime = 30, + type = "fuel", + recipe = "homedecor:rug_persian", + burntime = 30, }) -- Speakers minetest.register_craft( { output = "homedecor:speaker_driver 2", - recipe = { + recipe = { { "", "default:steel_ingot", "" }, { "default:paper", "homedecor:copper_wire", "default:iron_lump" }, { "", "default:steel_ingot", "" }, @@ -1012,14 +815,14 @@ minetest.register_craft( { minetest.register_craft( { output = "homedecor:speaker_small", - recipe = { + recipe = { { "wool:black", "homedecor:speaker_driver", "group:wood" }, }, }) minetest.register_craft( { output = "homedecor:speaker", - recipe = { + recipe = { { "wool:black", "homedecor:speaker_driver", "group:wood" }, { "wool:black", "homedecor:speaker_driver", "group:wood" }, { "wool:black", "group:wood", "group:wood" }, @@ -1030,14 +833,14 @@ minetest.register_craft( { minetest.register_craft( { output = "homedecor:speaker_small", - recipe = { + recipe = { { "cotton:black", "homedecor:speaker_driver", "group:wood" }, }, }) minetest.register_craft( { output = "homedecor:speaker", - recipe = { + recipe = { { "cotton:black", "homedecor:speaker_driver", "group:wood" }, { "cotton:black", "homedecor:speaker_driver", "group:wood" }, { "cotton:black", "group:wood", "group:wood" }, @@ -1046,26 +849,23 @@ minetest.register_craft( { -- Curtains -local curtaincolors = { - "red", - "green", - "blue", - "white", - "pink", - "violet" -} +minetest.register_craft( { + output = "homedecor:curtain_closed 4", + recipe = { + { "wool:white", "", ""}, + { "wool:white", "", ""}, + { "wool:white", "", ""}, + }, +}) -for c in ipairs(curtaincolors) do - local color = curtaincolors[c] - minetest.register_craft( { - output = "homedecor:curtain_"..color.." 3", - recipe = { - { "wool:"..color, "", ""}, - { "wool:"..color, "", ""}, - { "wool:"..color, "", ""}, - }, - }) -end +minetest.register_craft( { + output = "homedecor:curtain_closed 4", + recipe = { + { "cottages:wool", "", ""}, + { "cottages:wool", "", ""}, + { "cottages:wool", "", ""}, + }, +}) local mats = { { "brass", "homedecor:pole_brass" }, @@ -1214,7 +1014,7 @@ minetest.register_craft({ minetest.register_craft({ output = "homedecor:refrigerator_steel", recipe = { - {"default:steel_ingot", "homedecor:glowlight_small_cube_white", "default:steel_ingot", }, + {"default:steel_ingot", "homedecor:glowlight_small_cube", "default:steel_ingot", }, {"default:steel_ingot", "default:copperblock", "default:steel_ingot", }, {"default:steel_ingot", "default:clay", "default:steel_ingot", }, } @@ -1390,73 +1190,10 @@ minetest.register_craft( { }, }) --- yellow glowlights +-- glowlights minetest.register_craft({ - output = "homedecor:glowlight_half_yellow 6", - recipe = { - {"default:glass", "homedecor:power_crystal", "default:glass", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half_yellow 6", - recipe = { - {"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_quarter_yellow 6", - recipe = { - {"homedecor:glowlight_half_yellow", "homedecor:glowlight_half_yellow", "homedecor:glowlight_half_yellow", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube_yellow 16", - recipe = { - {"default:glass" }, - {"homedecor:power_crystal" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube_yellow 16", - recipe = { - {"moreblocks:glow_glass" }, - {"moreblocks:super_glow_glass" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube_yellow 4", - recipe = { - {"homedecor:glowlight_half_yellow" }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half_yellow", - recipe = { - {"homedecor:glowlight_small_cube_yellow","homedecor:glowlight_small_cube_yellow"}, - {"homedecor:glowlight_small_cube_yellow","homedecor:glowlight_small_cube_yellow"} - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_half_yellow", - type = "shapeless", - recipe = { - "homedecor:glowlight_quarter_yellow", - "homedecor:glowlight_quarter_yellow" - } -}) - --- white - -minetest.register_craft({ - output = "homedecor:glowlight_half_white 6", + output = "homedecor:glowlight_half 6", recipe = { { "dye:white", "dye:white", "dye:white" }, { "default:glass", "homedecor:power_crystal", "default:glass", }, @@ -1464,7 +1201,7 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "homedecor:glowlight_half_white 6", + output = "homedecor:glowlight_half 6", recipe = { { "dye:white", "dye:white", "dye:white" }, {"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", }, @@ -1472,24 +1209,14 @@ minetest.register_craft({ }) minetest.register_craft({ - type = "shapeless", - output = "homedecor:glowlight_half_white 2", + output = "homedecor:glowlight_quarter 6", recipe = { - "dye:white", - "homedecor:glowlight_half_yellow", - "homedecor:glowlight_half_yellow", + {"homedecor:glowlight_half", "homedecor:glowlight_half", "homedecor:glowlight_half", }, } }) minetest.register_craft({ - output = "homedecor:glowlight_quarter_white 6", - recipe = { - {"homedecor:glowlight_half_white", "homedecor:glowlight_half_white", "homedecor:glowlight_half_white", }, - } -}) - -minetest.register_craft({ - output = "homedecor:glowlight_small_cube_white 8", + output = "homedecor:glowlight_small_cube 8", recipe = { { "dye:white" }, { "default:glass" }, @@ -1498,7 +1225,7 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "homedecor:glowlight_small_cube_white 8", + output = "homedecor:glowlight_small_cube 8", recipe = { {"dye:white" }, {"moreblocks:super_glow_glass" }, @@ -1506,26 +1233,26 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "homedecor:glowlight_small_cube_white 4", + output = "homedecor:glowlight_small_cube 4", recipe = { - {"homedecor:glowlight_half_white" }, + {"homedecor:glowlight_half" }, } }) minetest.register_craft({ - output = "homedecor:glowlight_half_white", + output = "homedecor:glowlight_half", recipe = { - {"homedecor:glowlight_small_cube_white","homedecor:glowlight_small_cube_white"}, - {"homedecor:glowlight_small_cube_white","homedecor:glowlight_small_cube_white"} + {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"}, + {"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"} } }) minetest.register_craft({ - output = "homedecor:glowlight_half_white", + output = "homedecor:glowlight_half", type = "shapeless", recipe = { - "homedecor:glowlight_quarter_white", - "homedecor:glowlight_quarter_white" + "homedecor:glowlight_quarter", + "homedecor:glowlight_quarter" } }) @@ -2120,64 +1847,64 @@ minetest.register_craft({ local painting_patterns = { [1] = { { "brown", "red", "brown" }, - { "dark_green", "red", "green" } }, + { "dark_green", "red", "green" } }, [2] = { { "green", "yellow", "green" }, - { "green", "yellow", "green" } }, + { "green", "yellow", "green" } }, [3] = { { "green", "pink", "green" }, - { "brown", "pink", "brown" } }, + { "brown", "pink", "brown" } }, [4] = { { "black", "orange", "grey" }, - { "dark_green", "orange", "orange" } }, + { "dark_green", "orange", "orange" } }, [5] = { { "blue", "orange", "yellow" }, - { "green", "red", "brown" } }, + { "green", "red", "brown" } }, [6] = { { "green", "red", "orange" }, - { "orange", "yellow", "green" } }, + { "orange", "yellow", "green" } }, [7] = { { "blue", "dark_green", "dark_green" }, - { "green", "grey", "green" } }, + { "green", "grey", "green" } }, [8] = { { "blue", "blue", "blue" }, - { "green", "green", "green" } }, + { "green", "green", "green" } }, [9] = { { "blue", "blue", "dark_green" }, - { "green", "grey", "dark_green" } }, + { "green", "grey", "dark_green" } }, [10] = { { "green", "white", "green" }, - { "dark_green", "white", "dark_green" } }, + { "dark_green", "white", "dark_green" } }, [11] = { { "blue", "white", "blue" }, - { "blue", "grey", "dark_green" } }, + { "blue", "grey", "dark_green" } }, [12] = { { "green", "green", "green" }, - { "grey", "grey", "green" } }, + { "grey", "grey", "green" } }, [13] = { { "blue", "blue", "grey" }, - { "dark_green", "white", "white" } }, + { "dark_green", "white", "white" } }, [14] = { { "red", "yellow", "blue" }, - { "blue", "green", "violet" } }, + { "blue", "green", "violet" } }, [15] = { { "blue", "yellow", "blue" }, - { "black", "black", "black" } }, + { "black", "black", "black" } }, [16] = { { "red", "orange", "blue" }, - { "black", "dark_grey", "grey" } }, + { "black", "dark_grey", "grey" } }, [17] = { { "orange", "yellow", "orange" }, - { "black", "black", "black" } }, + { "black", "black", "black" } }, [18] = { { "grey", "dark_green", "grey" }, - { "white", "white", "white" } }, + { "white", "white", "white" } }, [19] = { { "white", "brown", "green" }, - { "green", "brown", "brown" } }, + { "green", "brown", "brown" } }, [20] = { { "blue", "blue", "blue" }, - { "red", "brown", "grey" } } + { "red", "brown", "grey" } } } for i,recipe in pairs(painting_patterns) do @@ -2213,7 +1940,7 @@ minetest.register_craft({ minetest.register_craft({ output = "homedecor:fishtank", recipe = { - { "homedecor:plastic_sheeting", "homedecor:glowlight_small_cube_white", "homedecor:plastic_sheeting" }, + { "homedecor:plastic_sheeting", "homedecor:glowlight_small_cube", "homedecor:plastic_sheeting" }, { "default:glass", "bucket:bucket_water", "default:glass" }, { "default:glass", "building_blocks:gravel_spread", "default:glass" }, }, @@ -2349,7 +2076,7 @@ minetest.register_craft({ recipe = { { "homedecor:motor" }, { "homedecor:fan_blades" }, - { "homedecor:glowlight_small_cube_white" } + { "homedecor:glowlight_small_cube" } } }) @@ -2358,7 +2085,7 @@ minetest.register_craft({ recipe = { { "technic:motor" }, { "homedecor:fan_blades" }, - { "homedecor:glowlight_small_cube_white" } + { "homedecor:glowlight_small_cube" } } }) @@ -3134,18 +2861,14 @@ for i in ipairs(picture_dyes) do }) end -local dlamp_colors = { "red","blue","green","violet" } - -for _, color in ipairs(dlamp_colors) do - minetest.register_craft({ - output = "homedecor:desk_lamp_"..color, - recipe = { - { "", "homedecor:steel_strip", "homedecor:glowlight_small_cube_white" }, - { "", "homedecor:copper_wire", "" }, - { "homedecor:plastic_sheeting", "dye:"..color, "homedecor:plastic_sheeting" }, - }, - }) -end +minetest.register_craft({ + output = "homedecor:desk_lamp 2", + recipe = { + { "", "default:steel_ingot", "homedecor:glowlight_small_cube" }, + { "", "homedecor:steel_strip", "" }, + { "homedecor:plastic_sheeting", "homedecor:copper_wire", "homedecor:plastic_sheeting" }, + }, +}) minetest.register_craft({ output = "homedecor:hanging_lantern 2", @@ -3224,7 +2947,7 @@ minetest.register_craft({ recipe = { { "", "technic:brass_ingot", ""}, { "", "homedecor:chainlink_brass", ""}, - { "default:glass", "homedecor:glowlight_small_cube_white", "default:glass"} + { "default:glass", "homedecor:glowlight_small", "default:glass"} }, }) @@ -3232,7 +2955,7 @@ minetest.register_craft({ output = "homedecor:ceiling_lamp", recipe = { { "", "chains:chain_top_brass", ""}, - { "default:glass", "homedecor:glowlight_small_cube_white", "default:glass"} + { "default:glass", "homedecor:glowlight_small", "default:glass"} }, }) @@ -3414,4 +3137,3 @@ end if (minetest.get_modpath("technic") and minetest.get_modpath("dye") and minetest.get_modpath("bees")) then technic.register_separating_recipe({ input = {"bees:wax 1"}, output = {"homedecor:oil_extract 2","dye:yellow 1"} }) end - diff --git a/homedecor/depends.txt b/homedecor/depends.txt index ea261e93..ef162067 100644 --- a/homedecor/depends.txt +++ b/homedecor/depends.txt @@ -1,11 +1,12 @@ default +unifieddyes +homedecor_i18n building_blocks? signs_lib? moreblocks? technic? dye? bees? -intllib? bucket? beds? flowers? diff --git a/homedecor/doors_and_gates.lua b/homedecor/doors_and_gates.lua index 1e6ae0a6..81d85830 100644 --- a/homedecor/doors_and_gates.lua +++ b/homedecor/doors_and_gates.lua @@ -1,11 +1,13 @@ -- Node definitions for Homedecor doors -local S = homedecor.gettext +local S = homedecor_i18n.gettext + +local function N_(x) return x end -- doors -local function isSolid(pos,adj) - local adj = {x=adj[1],y=adj[2],z=adj[3]} +local function isSolid(pos, adjust) + local adj = {x = adjust[1], y = adjust[2], z = adjust[3]} local node = minetest.get_node(vector.add(pos,adj)) if node then local idef = minetest.registered_nodes[minetest.get_node(vector.add(pos,adj)).name] @@ -42,14 +44,12 @@ local function calculateClosed(pos) local node = minetest.get_node(pos) -- the door is considered closed if it is closing off something. - local solids = 0 local direction = node.param2 % 6 local isTrap = direction == 0 or direction == 5 if isTrap then -- the trap door is considered closed when all nodes on its sides are solid -- or all nodes in the 3x3 above/below it are solid except the center for level = 0, 1 do - local fail = false local solids = countSolids(pos,node,level) if solids == 8 then return true @@ -99,7 +99,6 @@ local function calculateClosed(pos) end return false end - error("What direction is this???",direction) end end @@ -122,32 +121,32 @@ end local door_model_list = { { name = "closet_mahogany", - description = S("Mahogany Closet Door"), + description = N_("Mahogany Closet Door (@1 opening)"), mesh = "homedecor_door_closet.obj" }, { name = "closet_oak", - description = S("Oak Closet Door"), + description = N_("Oak Closet Door (@1 opening)"), mesh = "homedecor_door_closet.obj" }, { name = "exterior_fancy", - description = S("Fancy Wood/Glass Door"), + description = N_("Fancy Wood/Glass Door (@1 opening)"), mesh = "homedecor_door_fancy.obj", tiles = { "homedecor_door_exterior_fancy.png", "homedecor_door_exterior_fancy_insert.png" - }, + }, usealpha = true }, { name = "glass", - description = S("Glass Office Door"), + description = N_("Glass Office Door (@1 opening)"), mesh = "homedecor_door_plain.obj" }, { name = "wood_glass_oak", - description = S("Glass and Wood, Oak-colored"), + description = N_("Glass and Wood, Oak-colored (@1 opening)"), mesh = "homedecor_door_wood_glass.obj", tiles = { "homedecor_door_wood_glass_oak.png", @@ -156,7 +155,7 @@ local door_model_list = { }, { name = "wood_glass_mahogany", - description = S("Glass and Wood, Mahogany-colored"), + description = N_("Glass and Wood, Mahogany-colored (@1 opening)"), mesh = "homedecor_door_wood_glass.obj", tiles = { "homedecor_door_wood_glass_mahogany.png", @@ -165,7 +164,7 @@ local door_model_list = { }, { name = "wood_glass_white", - description = S("Glass and Wood, White"), + description = N_("Glass and Wood, White (@1 opening)"), mesh = "homedecor_door_wood_glass.obj", tiles = { "homedecor_door_wood_glass_white.png", @@ -174,22 +173,22 @@ local door_model_list = { }, { name = "wood_plain", - description = S("Plain Wooden Door"), + description = N_("Plain Wooden Door (@1 opening)"), mesh = "homedecor_door_plain.obj" }, { name = "bedroom", - description = S("White Bedroom Door"), + description = N_("White Bedroom Door (@1 opening)"), mesh = "homedecor_door_plain.obj" }, { name = "wrought_iron", - description = S("Wrought Iron Gate/Door"), + description = N_("Wrought Iron Gate/Door (@1 opening)"), mesh = "homedecor_door_wrought_iron.obj" }, { name = "woodglass", - description = S("Wooden door with glass insert"), + description = N_("Wooden door with glass insert (@1 opening)"), mesh = "homedecor_door_woodglass_typea.obj", tiles = { "homedecor_door_woodglass_typea.png", @@ -199,7 +198,7 @@ local door_model_list = { }, { name = "woodglass2", - description = S("Wooden door with glass insert, type 2"), + description = N_("Wooden door with glass insert, type 2 (@1 opening)"), mesh = "homedecor_door_plain.obj", usealpha = true }, @@ -210,10 +209,9 @@ local def_selbox = { fixed = { -0.5, -0.5, 0.375, 0.5, 1.5, 0.5 } } -local sides = {"left", "right"} +local sides = { N_("left"), N_("right") } -for i in ipairs(sides) do - local side = sides[i] +for i, side in ipairs(sides) do for _, door_model in ipairs(door_model_list) do @@ -230,7 +228,7 @@ for i in ipairs(sides) do end minetest.register_node("homedecor:door_"..doorname.."_"..side, { - description = door_model.description.." "..S("(%s-opening)"):format(side), + description = S(door_model.description, S(side)), drawtype = "mesh", mesh = mesh, tiles = door_model.tiles or { "homedecor_door_"..doorname..".png" }, @@ -294,8 +292,12 @@ end -- Gates -local gates_list = { "picket", "picket_white", "barbed_wire", "chainlink" } -local gate_names = { "Unpainted Picket", "White Picket", "Barbed Wire", "Chainlink" } +local gate_list = { + { "picket", S("Unpainted Picket Fence Gate") }, + { "picket_white", S("White Picket Fence Gate") }, + { "barbed_wire", S("Barbed Wire Fence Gate") }, + { "chainlink", S("Chainlink Fence Gate") }, +} local gate_models_closed = { {{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }}, @@ -303,13 +305,13 @@ local gate_models_closed = { {{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }}, {{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post - { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece { -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }}, -- the wire {{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post - { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece { -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece { -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself @@ -322,22 +324,22 @@ local gate_models_open = { {{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }}, {{ 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post - { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece { 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 }}, -- the wire {{ 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post - { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post + { 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post { 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece { 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece { 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself { 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 }} -- the lump representing the lock } -for i in ipairs(gates_list) do +for i, g in ipairs(gate_list) do - local gate=gates_list[i] + local gate, gatedesc = unpack(g) local tiles = { "homedecor_gate_"..gate.."_tb.png", @@ -372,7 +374,7 @@ for i in ipairs(gates_list) do local def = { drawtype = "nodebox", - description = S(gate_names[i].." Fence Gate"), + description = gatedesc, tiles = tiles, paramtype = "light", groups = {snappy=3}, @@ -448,8 +450,8 @@ function homedecor.flip_door(pos, node, player, name, side, isClosed) -- and if not isClosed, a closed door isClosed = not isClosed - local rside = nil - local nfdir = nil + local rside + local nfdir local ofdir = node.param2 or 0 if side == "left" then rside = "right" @@ -485,7 +487,7 @@ function homedecor.flip_gate(pos, node, player, gate, oc) -- since right facing gates use "open" nodes for closed, we need an -- isClosed flag to tell if it's "really" closed. - local gateresult = nil + local gateresult if oc == "closed" then gateresult = "homedecor:gate_"..gate.."_open" else @@ -521,11 +523,11 @@ local jp_cbox = { } minetest.register_node("homedecor:japanese_wall_top", { - description = "Japanese wall (top)", + description = S("Japanese wall (top)"), drawtype = "mesh", mesh = "homedecor_wall_japanese_top.obj", tiles = { - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_japanese_paper.png" }, paramtype = "light", @@ -537,11 +539,11 @@ minetest.register_node("homedecor:japanese_wall_top", { }) minetest.register_node("homedecor:japanese_wall_middle", { - description = "Japanese wall", + description = S("Japanese wall"), drawtype = "mesh", mesh = "homedecor_wall_japanese_middle.obj", tiles = { - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_japanese_paper.png" }, paramtype = "light", @@ -553,11 +555,11 @@ minetest.register_node("homedecor:japanese_wall_middle", { }) minetest.register_node("homedecor:japanese_wall_bottom", { - description = "Japanese wall (bottom)", + description = S("Japanese wall (bottom)"), drawtype = "mesh", mesh = "homedecor_wall_japanese_bottom.obj", tiles = { - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_japanese_paper.png" }, paramtype = "light", @@ -577,7 +579,7 @@ minetest.register_node("homedecor:tatami_mat", { "homedecor_tatami.png", "homedecor_tatami.png" }, - description = "Japanese tatami", + description = S("Japanese tatami"), drawtype = "nodebox", paramtype = "light", groups = {snappy=3}, @@ -590,10 +592,10 @@ minetest.register_node("homedecor:tatami_mat", { }) homedecor.register("door_japanese_closed", { - description = "Japanese-style door", + description = S("Japanese-style door"), inventory_image = "homedecor_door_japanese_inv.png", tiles = { - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_japanese_paper.png" }, mesh = "homedecor_door_japanese_closed.obj", @@ -616,7 +618,7 @@ homedecor.register("door_japanese_closed", { homedecor.register("door_japanese_open", { tiles = { - "homedecor_generic_wood_luxury.png", + homedecor.lux_wood, "homedecor_japanese_paper.png" }, mesh = "homedecor_door_japanese_open.obj", diff --git a/homedecor/electronics.lua b/homedecor/electronics.lua index 9a59a962..420da6d9 100644 --- a/homedecor/electronics.lua +++ b/homedecor/electronics.lua @@ -1,6 +1,6 @@ -- Various home electronics -local S = homedecor.gettext +local S = homedecor_i18n.gettext homedecor.register("speaker", { description = S("Large Stereo Speaker"), @@ -23,7 +23,7 @@ homedecor.register("speaker_open", { "homedecor_speaker_sides.png", "homedecor_speaker_driver.png", "homedecor_speaker_open_front.png", - "homedecor_generic_metal_black.png" + { name = "homedecor_generic_metal.png", color = homedecor.color_black } }, groups = { snappy = 3, not_in_creative_inventory=1 }, sounds = default.node_sound_wood_defaults(), @@ -135,7 +135,7 @@ homedecor.register("telephone", { "homedecor_telephone_cord.png", }, inventory_image = "homedecor_telephone_inv.png", - description = "Telephone", + description = S("Telephone"), groups = {snappy=3}, selection_box = tel_cbox, walkable = false, @@ -149,9 +149,9 @@ minetest.register_abm({ chance = 15, action = function(pos, node) minetest.sound_play("homedecor_telephone_ringing", { - pos = pos, - gain = 1.0, - max_hear_distance = 5 - }) + pos = pos, + gain = 1.0, + max_hear_distance = 5 + }) end }) diff --git a/homedecor/exterior.lua b/homedecor/exterior.lua index c9434b21..074fa952 100644 --- a/homedecor/exterior.lua +++ b/homedecor/exterior.lua @@ -1,4 +1,7 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end local bbq_cbox = { type = "fixed", @@ -6,11 +9,11 @@ local bbq_cbox = { } homedecor.register("barbecue", { - description = "Barbecue", + description = S("Barbecue"), mesh = "homedecor_barbecue.obj", tiles = { - "homedecor_generic_metal_black.png", - { name="homedecor_embers.png", + { name = "homedecor_generic_metal.png" , color = homedecor.color_black }, + { name = "homedecor_embers.png", animation={ type="vertical_frames", aspect_w=16, @@ -50,7 +53,7 @@ homedecor.register("bench_large_1", { "homedecor_generic_wood_old.png", "homedecor_generic_metal_wrought_iron.png" }, - description = "Garden Bench (style 1)", + description = S("Garden Bench (style 1)"), inventory_image = "homedecor_bench_large_1_inv.png", groups = { snappy = 3 }, expand = { right="placeholder" }, @@ -77,7 +80,7 @@ local bl2_cbox = { } homedecor.register("bench_large_2", { - description = "Garden Bench (style 2)", + description = S("Garden Bench (style 2)"), mesh = "homedecor_bench_large_2.obj", tiles = { "homedecor_generic_wood_old.png" }, inventory_image = "homedecor_bench_large_2_inv.png", @@ -100,7 +103,7 @@ local dc_cbox = { homedecor.register("deckchair", { mesh = "homedecor_deckchair.obj", tiles = {"homedecor_deckchair.png"}, - description = "Deck Chair", + description = S("Deck Chair"), groups = { snappy = 3 }, expand = { forward="placeholder" }, sounds = default.node_sound_wood_defaults(), @@ -115,7 +118,7 @@ minetest.register_alias("homedecor:deckchair_head", "air") homedecor.register("deckchair_striped_blue", { mesh = "homedecor_deckchair.obj", tiles = {"homedecor_deckchair_striped_blue.png"}, - description = "Deck Chair", + description = S("Deck Chair"), groups = { snappy = 3 }, expand = { forward="placeholder" }, sounds = default.node_sound_wood_defaults(), @@ -131,7 +134,7 @@ homedecor.register("doghouse", { "default_wood.png", "building_blocks_towel.png" }, - description = "Doghouse", + description = S("Doghouse"), inventory_image = "homedecor_doghouse_inv.png", selection_box = homedecor.nodebox.slab_y(1.5), collision_box = homedecor.nodebox.slab_y(1.5), @@ -146,7 +149,7 @@ minetest.register_alias("homedecor:doghouse_base", "homedecor:doghouse") homedecor.register("simple_bench", { tiles = { "homedecor_generic_wood_old.png" }, - description = "Simple Bench", + description = S("Simple Bench"), groups = {snappy=3}, node_box = { type = "fixed", @@ -160,7 +163,7 @@ homedecor.register("simple_bench", { }) homedecor.register("stonepath", { - description = "Garden stone path", + description = S("Garden stone path"), tiles = { "default_stone.png" }, @@ -187,17 +190,20 @@ homedecor.register("stonepath", { }) local lattice_colors = { - {"wood", ".png^[colorize:#704214:180"}, - {"white_wood", ".png"}, - {"wood_vegetal", ".png^[colorize:#704214:180^homedecor_lattice_vegetal.png"}, - {"white_wood_vegetal", ".png^homedecor_lattice_vegetal.png"}, + { "wood", S("wood"), ".png^[colorize:#704214:180" }, + { "white_wood", S("white wood"), ".png" }, + { "wood_vegetal", S("wood, with vegetation"), + ".png^[colorize:#704214:180^homedecor_lattice_vegetal.png" }, + { "white_wood_vegetal", S("white wood, with vegetation"), + ".png^homedecor_lattice_vegetal.png" }, } -for _, m in ipairs(lattice_colors) do -homedecor.register("lattice_"..m[1], { - description = "Garden Lattice ("..m[1]..")", - tiles = {"homedecor_lattice"..m[2]}, - inventory_image = "homedecor_lattice"..m[2], +for _, c in ipairs(lattice_colors) do +local name, desc, texture = unpack(c) +homedecor.register("lattice_"..name, { + description = S("Garden Lattice (@1)", desc), + tiles = {"homedecor_lattice"..texture}, + inventory_image = "homedecor_lattice"..texture, groups = { snappy=3 }, node_box = { type = "fixed", @@ -218,7 +224,7 @@ homedecor.register("lattice_"..m[1], { end homedecor.register("swing", { - description = "Tree's swing", + description = S("Tree's swing"), tiles = { "homedecor_swing_top.png", "homedecor_swing_top.png^[transformR180", @@ -268,8 +274,6 @@ homedecor.register("swing", { local fdir = minetest.dir_to_facedir(placer:get_look_dir()) for j = 0, height do -- then fill that space with ropes... local testpos = { x=pos.x, y=pos.y-j, z=pos.z } - local testnode = minetest.get_node(testpos) - local testreg = core.registered_nodes[testnode.name] minetest.set_node(testpos, { name = "homedecor:swing_rope", param2 = fdir }) end @@ -315,14 +319,14 @@ homedecor.register("well", { mesh = "homedecor_well.obj", tiles = { "homedecor_rope_texture.png", - "homedecor_generic_metal_black.png^[brighten", + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, "default_water.png", "default_cobble.png", "default_wood.png", "homedecor_shingles_wood.png" }, inventory_image = "homedecor_well_inv.png", - description = "Water well", + description = S("Water well"), groups = { snappy = 3 }, selection_box = homedecor.nodebox.slab_y(2), collision_box = homedecor.nodebox.slab_y(2), @@ -354,16 +358,16 @@ if minetest.get_modpath("bucket") then end homedecor.shrub_colors = { - "green", - "red", - "yellow" + N_("green"), + N_("red"), + N_("yellow"), } local shrub_cbox = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } for _, color in ipairs(homedecor.shrub_colors) do minetest.register_node("homedecor:shrubbery_large_"..color, { - description = S("Shrubbery ("..color..")"), + description = S("Shrubbery (@1)", S(color)), drawtype = "mesh", mesh = "homedecor_cube.obj", tiles = {"homedecor_shrubbery_"..color..".png"}, @@ -374,7 +378,7 @@ for _, color in ipairs(homedecor.shrub_colors) do }) minetest.register_node("homedecor:shrubbery_"..color, { - description = S("Shrubbery ("..color..")"), + description = S("Shrubbery (@1)", S(color)), drawtype = "mesh", mesh = "homedecor_shrubbery.obj", tiles = { diff --git a/homedecor/fences.lua b/homedecor/fences.lua index 8352431c..642b7c9f 100644 --- a/homedecor/fences.lua +++ b/homedecor/fences.lua @@ -14,16 +14,24 @@ if signs_modpath then sign_post_model = signs_lib.sign_post_model.nodebox end -local S = homedecor.gettext -local materials = {"brass", "wrought_iron"} +local S = homedecor_i18n.gettext + +local function N_(x) return x end + +local materials = { + { S("brass"), "brass" }, + { S("wrought iron"), "wrought_iron" }, +} for _, m in ipairs(materials) do -homedecor.register("fence_"..m, { - description = S("Fence/railing ("..m..")"), +local desc, name = unpack(m) + +homedecor.register("fence_"..name, { + description = S("Fence/railing (@1)", desc), drawtype = "fencelike", - tiles = {"homedecor_generic_metal_"..m..".png"}, - inventory_image = "homedecor_fence_"..m..".png", + tiles = {"homedecor_generic_metal_"..name..".png"}, + inventory_image = "homedecor_fence_"..name..".png", selection_box = homedecor.nodebox.bar_y(1/7), groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), @@ -31,17 +39,17 @@ homedecor.register("fence_"..m, { -- brass/wrought iron with signs: -homedecor.register("fence_"..m.."_with_sign", { - description = S("Fence/railing with sign ("..m..")"), +homedecor.register("fence_"..name.."_with_sign", { + description = S("Fence/railing with sign (@1)", desc), tiles = { - "homedecor_sign_"..m.."_post_top.png", - "homedecor_sign_"..m.."_post_bottom.png", - "homedecor_sign_"..m.."_post_side.png", - "homedecor_sign_"..m.."_post_side.png", - "homedecor_sign_"..m.."_post_back.png", - "homedecor_sign_"..m.."_post_front.png", + "homedecor_sign_"..name.."_post_top.png", + "homedecor_sign_"..name.."_post_bottom.png", + "homedecor_sign_"..name.."_post_side.png", + "homedecor_sign_"..name.."_post_side.png", + "homedecor_sign_"..name.."_post_back.png", + "homedecor_sign_"..name.."_post_front.png", }, - wield_image = "homedecor_sign_"..m.."_post.png", + wield_image = "homedecor_sign_"..name.."_post.png", node_box = sign_post_model, groups = {snappy=3,not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), @@ -50,7 +58,7 @@ homedecor.register("fence_"..m.."_with_sign", { max_items = 2, items = { { items = { "default:sign_wall" }}, - { items = { "homedecor:fence_"..m }}, + { items = { "homedecor:fence_"..name }}, }, }, }) @@ -301,4 +309,3 @@ if signs_modpath then signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign") signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign") end - diff --git a/homedecor/foyer.lua b/homedecor/foyer.lua index 6d9afa7c..ad2d54af 100644 --- a/homedecor/foyer.lua +++ b/homedecor/foyer.lua @@ -1,4 +1,3 @@ -local S = homedecor.gettext homedecor.register("coatrack_wallmount", { tiles = { homedecor.plain_wood }, diff --git a/homedecor/furniture.lua b/homedecor/furniture.lua index fd793510..8f60c5d8 100644 --- a/homedecor/furniture.lua +++ b/homedecor/furniture.lua @@ -1,21 +1,18 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext local table_colors = { - { "", homedecor.plain_wood }, - { "_mahogany", homedecor.mahogany_wood }, - { "_white", homedecor.white_wood } + { "", S("Table"), homedecor.plain_wood }, + { "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood }, + { "_white", S("White Table"), homedecor.white_wood } } -for i in ipairs(table_colors) do - local desc = S("Table ("..i..")") +for _, t in ipairs(table_colors) do + local suffix, desc, texture = unpack(t) - if i == 1 then - desc = S("Table") - end - - homedecor.register("table"..table_colors[i][1], { + homedecor.register("table"..suffix, { description = desc, - tiles = { table_colors[i][2] }, + tiles = { texture }, node_box = { type = "fixed", fixed = { @@ -36,13 +33,13 @@ for i in ipairs(table_colors) do end local chaircolors = { - { "", "plain" }, - { "black", "Black" }, - { "red", "Red" }, - { "pink", "Pink" }, - { "violet", "Violet" }, - { "blue", "Blue" }, - { "dark_green", "Dark Green" }, + { "", S("plain") }, + { "black", S("black") }, + { "red", S("red") }, + { "pink", S("pink") }, + { "violet", S("violet") }, + { "blue", S("blue") }, + { "dark_green", S("dark green") }, } local kc_cbox = { @@ -52,69 +49,84 @@ local kc_cbox = { local ac_cbox = { type = "fixed", - fixed = { + fixed = { {-0.5, -0.5, -0.5, 0.5, 0, 0.5 }, {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } } } -for i in ipairs(chaircolors) do - - local color = "_"..chaircolors[i][1] - local color2 = chaircolors[i][1] - local name = S(chaircolors[i][2]) - local chairtiles = { +homedecor.register("kitchen_chair_wood", { + description = S("Kitchen chair"), + mesh = "homedecor_kitchen_chair.obj", + tiles = { homedecor.plain_wood, - "wool"..color..".png", - } - - if chaircolors[i][1] == "" then - color = "" - chairtiles = { - homedecor.plain_wood, - homedecor.plain_wood - } + homedecor.plain_wood + }, + inventory_image = "homedecor_chair_wood_inv.png", + paramtype2 = "wallmounted", + selection_box = kc_cbox, + collision_box = kc_cbox, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + after_place_node = homedecor.fix_rotation_nsew, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + pos.y = pos.y+0 -- where do I put my ass ? + homedecor.sit(pos, node, clicker) + return itemstack end +}) - homedecor.register("chair"..color, { - description = S("Kitchen chair (%s)"):format(name), - mesh = "homedecor_kitchen_chair.obj", - tiles = chairtiles, - selection_box = kc_cbox, - collision_box = kc_cbox, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +homedecor.register("kitchen_chair_padded", { + description = S("Kitchen chair"), + mesh = "homedecor_kitchen_chair.obj", + tiles = { + homedecor.plain_wood, + "wool_white.png", + }, + inventory_image = "homedecor_chair_padded_inv.png", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = kc_cbox, + collision_box = kc_cbox, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + after_place_node = homedecor.fix_rotation_nsew, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:kitchen_chair_padded", "wallmounted") + else pos.y = pos.y+0 -- where do I put my ass ? homedecor.sit(pos, node, clicker) return itemstack end - }) - - if color ~= "" then - homedecor.register("armchair"..color, { - description = S("Armchair (%s)"):format(name), - mesh = "forniture_armchair.obj", - tiles = { - "wool"..color..".png", - "wool_dark_grey.png", - "default_wood.png" - }, - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), - node_box = ac_cbox - }) - - minetest.register_craft({ - output = "homedecor:armchair"..color.." 2", - recipe = { - { "wool:"..color2,""}, - { "group:wood","group:wood" }, - { "wool:"..color2,"wool:"..color2 }, - }, - }) end -end +}) + +homedecor.register("armchair", { + description = S("Armchair"), + mesh = "forniture_armchair.obj", + tiles = { + "wool_white.png", + { name = "wool_dark_grey.png", color = 0xffffffff }, + { name = "default_wood.png", color = 0xffffffff } + }, + inventory_image = "homedecor_armchair_inv.png", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + node_box = ac_cbox, + after_place_node = homedecor.fix_rotation_nsew, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:armchair", "wallmounted") + end +}) local ob_cbox = { type = "fixed", @@ -122,7 +134,7 @@ local ob_cbox = { } minetest.register_node(":homedecor:openframe_bookshelf", { - description = "Bookshelf (open-frame)", + description = S("Bookshelf (open-frame)"), drawtype = "mesh", mesh = "homedecor_openframe_bookshelf.obj", tiles = { @@ -138,7 +150,7 @@ minetest.register_node(":homedecor:openframe_bookshelf", { }) homedecor.register("wall_shelf", { - description = "Wall Shelf", + description = S("Wall Shelf"), tiles = { "homedecor_wood_table_large_edges.png", }, @@ -163,3 +175,72 @@ minetest.register_alias("homedecor:armchair", "homedecor:armchair_black") minetest.register_alias('table', 'homedecor:table') minetest.register_alias('chair', 'homedecor:chair') minetest.register_alias('armchair', 'homedecor:armchair') + +-- conversion to param2 colorization + +homedecor.old_static_chairs = {} + +for _, color in ipairs(lrfurn.colors) do + table.insert(homedecor.old_static_chairs, "homedecor:chair_"..color) + table.insert(homedecor.old_static_chairs, "homedecor:armchair_"..color) +end +table.insert(homedecor.old_static_chairs, "homedecor:chair") + +minetest.register_lbm({ + name = "homedecor:convert_chairs", + label = "Convert homedecor chairs to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_static_chairs, + action = function(pos, node) + local name = node.name + local paletteidx = 0 + local color + local a,b = string.find(name, "_") + + if a then + color = string.sub(name, a+1) + + if color == "blue" then + color = "medium_blue" + elseif color == "violet" then + color = "medium_violet" + elseif color == "red" then + color = "medium_red" + elseif color == "black" then + color = "dark_grey" + end + + paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + end + + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + local newname = "homedecor:armchair" + + print(name, dump(a), dump(b), dump(color).."("..dump(paletteidx)..")", dump(param2)) + + if node.name == "homedecor:chair" then + newname = "homedecor:kitchen_chair_wood" + elseif string.find(node.name, "homedecor:chair_") then + newname = "homedecor:kitchen_chair_padded" + end + + minetest.set_node(pos, { name = newname, param2 = param2 }) + local meta = minetest.get_meta(pos) + if color then + meta:set_string("dye", "unifieddyes:"..color) + end + end +}) diff --git a/homedecor/furniture_medieval.lua b/homedecor/furniture_medieval.lua index a029d5ce..e0932a44 100644 --- a/homedecor/furniture_medieval.lua +++ b/homedecor/furniture_medieval.lua @@ -1,9 +1,9 @@ -local S = homedecor.gettext +local S = homedecor_i18n.gettext homedecor.register("bars", { description = S("Bars"), - tiles = { "homedecor_generic_metal_black.png^[transformR270" }, + tiles = { { name = "homedecor_generic_metal.png^[transformR270", color = homedecor.color_black } }, node_box = { type = "fixed", fixed = { @@ -25,7 +25,7 @@ homedecor.register("bars", { --L Binding Bars homedecor.register("L_binding_bars", { description = S("Binding Bars"), - tiles = { "homedecor_generic_metal_black.png^[transformR270" }, + tiles = { { name = "homedecor_generic_metal.png^[transformR270", color = homedecor.color_black } }, node_box = { type = "fixed", fixed = { @@ -50,7 +50,7 @@ local chain_cbox = { homedecor.register("chains", { description = S("Chains"), mesh = "forniture_chains.obj", - tiles = { "homedecor_generic_metal_black.png" }, + tiles = { { name = "homedecor_generic_metal.png", color = homedecor.color_black } }, inventory_image="forniture_chains_inv.png", selection_box = chain_cbox, walkable = false, @@ -71,8 +71,8 @@ homedecor.register("torch_wall", { length=1.0, }, }, - "homedecor_generic_metal_black.png", - "homedecor_generic_metal_black.png^[brighten", + { name = "homedecor_generic_metal.png", color = homedecor.color_black }, + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, "forniture_coal.png", }, inventory_image="forniture_torch_inv.png", @@ -93,8 +93,12 @@ local wl_cbox = { homedecor.register("wall_lamp", { description = S("Wall Lamp"), mesh = "homedecor_wall_lamp.obj", - tiles = {"homedecor_generic_metal_black.png^[brighten", "homedecor_generic_wood_luxury.png^[colorize:#000000:30", - "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png"}, + tiles = { + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, + homedecor.lux_wood, + "homedecor_light.png", + "homedecor_generic_metal_wrought_iron.png" + }, use_texture_alpha = true, inventory_image = "homedecor_wall_lamp_inv.png", groups = {snappy=3}, diff --git a/homedecor/furniture_recipes.lua b/homedecor/furniture_recipes.lua index 208a31ae..9ece79f2 100644 --- a/homedecor/furniture_recipes.lua +++ b/homedecor/furniture_recipes.lua @@ -1,6 +1,6 @@ minetest.register_craft({ - output = "homedecor:table", "homedecor:chair 2", + output = "homedecor:table", "homedecor:kitchen_chair_wood 2", recipe = { { "group:wood","group:wood", "group:wood" }, { "group:stick", "", "group:stick" }, @@ -53,7 +53,7 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "homedecor:chair 2", + output = "homedecor:kitchen_chair_wood 2", recipe = { { "group:stick",""}, { "group:wood","group:wood" }, @@ -61,41 +61,35 @@ minetest.register_craft({ }, }) +minetest.register_craft({ + output = "homedecor:armchair 2", + recipe = { + { "wool:white",""}, + { "group:wood","group:wood" }, + { "wool:white","wool:white" }, + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = "homedecor:kitchen_chair_padded", + recipe = { + "homedecor:kitchen_chair_wood", + "wool:white", + }, +}) + minetest.register_craft({ type = "fuel", - recipe = "homedecor:chair", + recipe = "homedecor:kitchen_chair_wood", burntime = 15, }) -local chaircolors = { "black", "red", "pink", "violet", "blue", "dark_green" } - -for _, color in ipairs(chaircolors) do - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:chair_"..color, - recipe = { - "homedecor:chair", - "wool:white", - "dye:"..color - }, - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:chair_"..color, - recipe = { - "homedecor:chair", - "wool:"..color - }, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "homedecor:chair_"..color, - burntime = 15, - }) -end +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:kitchen_chair_padded", + burntime = 15, +}) minetest.register_craft({ type = "fuel", @@ -104,27 +98,9 @@ minetest.register_craft({ }) minetest.register_craft({ - output = "homedecor:table_lamp_white_off", + output = "homedecor:standing_lamp_off", recipe = { - {"default:paper","default:torch" ,"default:paper"}, - {"","group:stick",""}, - {"","stairs:slab_wood",""}, - }, -}) - -minetest.register_craft({ - output = "homedecor:table_lamp_white_off", - recipe = { - {"default:paper","default:torch" ,"default:paper"}, - {"","group:stick",""}, - {"","moreblocks:slab_wood",""}, - }, -}) - -minetest.register_craft({ - output = "homedecor:standing_lamp_white_off", - recipe = { - {"homedecor:table_lamp_white_off"}, + {"homedecor:table_lamp_off"}, {"group:stick"}, {"group:stick"}, }, @@ -132,71 +108,41 @@ minetest.register_craft({ minetest.register_craft({ type = "fuel", - recipe = "homedecor:table_lamp_white_off", + recipe = "homedecor:table_lamp_off", burntime = 10, }) -local lamp_colors = { "blue", "green", "pink", "red", "violet" } +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) -for _, color in ipairs(lamp_colors) do +minetest.register_craft({ + output = "homedecor:table_lamp_off", + recipe = { + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, + }, +}) - minetest.register_craft({ - output = "homedecor:table_lamp_"..color.."_off", - recipe = { - {"wool:"..color,"default:torch" ,"wool:"..color}, - {"","group:stick",""}, - {"","stairs:slab_wood",""}, - }, - }) - - minetest.register_craft({ - output = "homedecor:table_lamp_"..color.."_off", - recipe = { - {"wool:"..color,"default:torch" ,"wool:"..color}, - {"","group:stick",""}, - {"","moreblocks:slab_wood",""}, - }, - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:table_lamp_"..color.."_off", - recipe = { - "dye:"..color, - "homedecor:table_lamp_off", - }, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table_lamp_"..color.."_off", - burntime = 10, - }) - - minetest.register_craft({ - output = "homedecor:standing_lamp_"..color.."_off", - recipe = { - {"homedecor:table_lamp_"..color.."_off"}, - {"group:stick"}, - {"group:stick"}, - }, - }) - - minetest.register_craft({ - type = "shapeless", - output = "homedecor:standing_lamp_"..color.."_off", - recipe = { - "homedecor:standing_lamp_off", - "dye:"..color - }, - }) - -end +minetest.register_craft({ + output = "homedecor:standing_lamp_off", + recipe = { + { "homedecor:table_lamp_off"}, + { "group:stick"}, + { "group:stick"}, + }, +}) minetest.register_craft({ output = "homedecor:toilet", recipe = { - {"","","bucket:bucket_water"}, + { "","","bucket:bucket_water"}, { "group:marble","group:marble", "group:marble" }, { "", "bucket:bucket_empty", "" }, }, diff --git a/homedecor/gastronomy.lua b/homedecor/gastronomy.lua index d4bc6110..052e526e 100644 --- a/homedecor/gastronomy.lua +++ b/homedecor/gastronomy.lua @@ -1,4 +1,3 @@ -local S = homedecor.gettext local cutlery_cbox = { type = "fixed", @@ -119,7 +118,7 @@ homedecor.register("beer_tap", { mesh = "homedecor_beer_taps.obj", tiles = { "homedecor_generic_metal_bright.png", - "homedecor_generic_metal_black.png", + { name = "homedecor_generic_metal.png", color = homedecor.color_black } }, inventory_image = "homedecor_beertap_inv.png", groups = { snappy=3 }, diff --git a/homedecor/handlers/expansion.lua b/homedecor/handlers/expansion.lua index 07678370..705f313a 100644 --- a/homedecor/handlers/expansion.lua +++ b/homedecor/handlers/expansion.lua @@ -1,4 +1,3 @@ -local S = homedecor.gettext -- vectors to place one node next to or behind another @@ -23,6 +22,35 @@ homedecor.fdir_to_fwd = { { -1, 0 }, } +-- special case for wallmounted nodes + +homedecor.wall_fdir_to_right = { + nil, + nil, + { -1, 0 }, + { 1, 0 }, + { 0, -1 }, + { 0, 1 }, +} + +homedecor.wall_fdir_to_left = { + nil, + nil, + { 1, 0 }, + { -1, 0 }, + { 0, 1 }, + { 0, -1 }, +} + +homedecor.wall_fdir_to_fwd = { + nil, + nil, + { 0, -1 }, + { 0, 1 }, + { 1, 0 }, + { -1, 0 }, +} + local placeholder_node = "homedecor:expansion_placeholder" minetest.register_node(placeholder_node, { description = "Expansion placeholder (you hacker you!)", @@ -67,8 +95,8 @@ end local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2) local placer_name = placer:get_player_name() or "" if is_buildable_to(placer_name, pos, pos2) then - local fdir = fdir or minetest.dir_to_facedir(placer:get_look_dir()) - minetest.set_node(pos, { name = node1, param2 = fdir }) + local lfdir = fdir or minetest.dir_to_facedir(placer:get_look_dir()) + minetest.set_node(pos, { name = node1, param2 = lfdir }) node2 = node2 or "air" -- this can be used to clear buildable_to nodes even though we are using a multinode mesh -- do not assume by default, as we still might want to allow overlapping in some cases local has_facedir = node2 ~= "air" @@ -76,7 +104,7 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2) has_facedir = false node2 = placeholder_node end - minetest.set_node(pos2, { name = node2, param2 = (has_facedir and fdir) or nil }) + minetest.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil }) -- call after_place_node of the placed node if available local ctrl_node_def = minetest.registered_nodes[node1] @@ -91,18 +119,18 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2) return itemstack end -local function rightclick_pointed_thing(pos, placer, itemstack) +local function rightclick_pointed_thing(pos, placer, itemstack, pointed_thing) local node = minetest.get_node_or_nil(pos) if not node then return false end local def = minetest.registered_nodes[node.name] if not def or not def.on_rightclick then return false end - return def.on_rightclick(pos, node, placer, itemstack) or itemstack + return def.on_rightclick(pos, node, placer, itemstack, pointed_thing) or itemstack end -- Stack one node above another -- leave the last argument nil if it's one 2m high node function homedecor.stack_vertically(itemstack, placer, pointed_thing, node1, node2) - local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack) + local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing) if rightclick_result then return rightclick_result end local pos, def = select_node(pointed_thing) @@ -117,7 +145,7 @@ end -- like homedecor.stack_vertically but tests first if it was placed as a right wing, then uses node1_right and node2_right instead function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, node1_right, node2_right) - local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack) + local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing) if rightclick_result then return rightclick_result end local pos, def = select_node(pointed_thing) @@ -136,27 +164,27 @@ function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, no end function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2, dir) - local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack) + local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing) if rightclick_result then return rightclick_result end local pos, def = select_node(pointed_thing) if not pos then return itemstack end local fdir = minetest.dir_to_facedir(placer:get_look_dir()) - local fdir_transform = dir and homedecor.fdir_to_right or homedecor.fdir_to_fwd + local fdir_transform = dir and homedecor.fdir_to_right or homedecor.dir_to_fwd local pos2 = { x = pos.x + fdir_transform[fdir+1][1], y=pos.y, z = pos.z + fdir_transform[fdir+1][2] } return stack(itemstack, placer, fdir, pos, def, pos2, node1, node2) end -function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color) +function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks) local thisnode = minetest.get_node(pos) local fdir = thisnode.param2 - local fxd = homedecor.fdir_to_fwd[fdir+1][1] - local fzd = homedecor.fdir_to_fwd[fdir+1][2] + local fxd = homedecor.wall_fdir_to_fwd[fdir+1][1] + local fzd = homedecor.wall_fdir_to_fwd[fdir+1][2] local forwardpos = {x=pos.x+fxd, y=pos.y, z=pos.z+fzd} local forwardnode = minetest.get_node(forwardpos) @@ -170,65 +198,67 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color) return true end - if minetest.is_protected(forwardpos, placer_name) then + if minetest.is_protected(forwardpos, placer_name) then minetest.chat_send_player( placer:get_player_name(), "Someone already owns the spot where the headboard goes." ) return true end minetest.set_node(forwardpos, {name = "air"}) - local lxd = homedecor.fdir_to_left[fdir+1][1] - local lzd = homedecor.fdir_to_left[fdir+1][2] + local lxd = homedecor.wall_fdir_to_left[fdir+1][1] + local lzd = homedecor.wall_fdir_to_left[fdir+1][2] local leftpos = {x=pos.x+lxd, y=pos.y, z=pos.z+lzd} local leftnode = minetest.get_node(leftpos) - local rxd = homedecor.fdir_to_right[fdir+1][1] - local rzd = homedecor.fdir_to_right[fdir+1][2] + local rxd = homedecor.wall_fdir_to_right[fdir+1][1] + local rzd = homedecor.wall_fdir_to_right[fdir+1][2] local rightpos = {x=pos.x+rxd, y=pos.y, z=pos.z+rzd} local rightnode = minetest.get_node(rightpos) - if leftnode.name == "homedecor:bed_"..color.."_regular" then + if leftnode.name == "homedecor:bed_regular" then local newname = string.gsub(thisnode.name, "_regular", "_kingsize") minetest.set_node(pos, {name = "air"}) minetest.set_node(leftpos, { name = newname, param2 = fdir}) - elseif rightnode.name == "homedecor:bed_"..color.."_regular" then + elseif rightnode.name == "homedecor:bed_regular" then local newname = string.gsub(thisnode.name, "_regular", "_kingsize") minetest.set_node(rightpos, {name = "air"}) minetest.set_node(pos, { name = newname, param2 = fdir}) end - - local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}) - local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z}) - if string.find(topnode.name, "homedecor:bed_.*_regular$") then - if fdir == topnode.param2 then - local newname = string.gsub(thisnode.name, "_regular", "_extended") - minetest.set_node(pos, { name = newname, param2 = fdir}) - end - end + local toppos = {x=pos.x, y=pos.y+1.0, z=pos.z} + local botpos = {x=pos.x, y=pos.y-1.0, z=pos.z} - if string.find(bottomnode.name, "homedecor:bed_.*_regular$") then - if fdir == bottomnode.param2 then - local newname = string.gsub(bottomnode.name, "_regular", "_extended") - minetest.set_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = fdir}) - end + local topposfwd = {x=toppos.x+fxd, y=toppos.y, z=toppos.z+fzd} + local topnodefwd = minetest.get_node(topposfwd) + + local topnode = minetest.get_node(toppos) + local bottomnode = minetest.get_node(botpos) + + print(topnode.name, thisnode.name, bottomnode.name, itemstack:get_name(), dump(trybunks)) + + if trybunks and is_buildable_to(placer_name, toppos, topposfwd) then + print("want to stack beds, top seems to be clear") + local newname = string.gsub(thisnode.name, "_regular", "_extended") + minetest.set_node(toppos, { name = thisnode.name, param2 = fdir}) + minetest.set_node(pos, { name = newname, param2 = fdir}) + itemstack:take_item() end end -function homedecor.unextend_bed(pos, color) +function homedecor.unextend_bed(pos) local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z}) local fdir = bottomnode.param2 - if string.find(bottomnode.name, "homedecor:bed_.*_extended$") then + if bottomnode.name == "homedecor:bed_extended" then local newname = string.gsub(bottomnode.name, "_extended", "_regular") minetest.set_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = fdir}) end end function homedecor.place_banister(itemstack, placer, pointed_thing) - local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack) + local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing) if rightclick_result then return rightclick_result end - local pos, def = select_node(pointed_thing) + local pos, _ = select_node(pointed_thing) if not pos then return itemstack end local fdir = minetest.dir_to_facedir(placer:get_look_dir()) @@ -244,7 +274,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) return itemstack end - if minetest.is_protected(abovepos, placer_name) then + if minetest.is_protected(abovepos, placer_name) then minetest.chat_send_player(placer_name, "Someone already owns that spot." ) return itemstack end @@ -269,21 +299,20 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) local right_fwd_below_pos = { x=pos.x+rxd+fxd, y=pos.y-1, z=pos.z+rzd+fzd } local left_fwd_below_pos = { x=pos.x+lxd+fxd, y=pos.y-1, z=pos.z+lzd+fzd } - local below_node = minetest.get_node(below_pos) - local fwd_node = minetest.get_node(fwd_pos) + local below_node = minetest.get_node(below_pos) + --local fwd_node = minetest.get_node(fwd_pos) local left_node = minetest.get_node(left_pos) local right_node = minetest.get_node(right_pos) local left_fwd_node = minetest.get_node(left_fwd_pos) local right_fwd_node = minetest.get_node(right_fwd_pos) local left_below_node = minetest.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z}) local right_below_node = minetest.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z}) - local right_fwd_above_node = minetest.get_node(right_fwd_above_pos) - local left_fwd_above_node = minetest.get_node(left_fwd_above_pos) + --local right_fwd_above_node = minetest.get_node(right_fwd_above_pos) + --local left_fwd_above_node = minetest.get_node(left_fwd_above_pos) local right_fwd_below_node = minetest.get_node(right_fwd_below_pos) local left_fwd_below_node = minetest.get_node(left_fwd_below_pos) local new_place_name = itemstack:get_name() - local n = 0 -- try to place a diagonal one on the side of blocks stacked like stairs -- or follow an existing diagonal with another. @@ -326,7 +355,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) new_place_name = string.gsub(right_node.name, "_diagonal_.-$", "_horizontal") -- try to place a horizontal in-line with the nearest diagonal, at the bottom - elseif left_fwd_node and string.find(left_fwd_node.name, "homedecor:banister_.*_diagonal") + elseif left_fwd_node and string.find(left_fwd_node.name, "homedecor:banister_.*_diagonal") and is_buildable_to(placer_name, fwd_pos, fwd_pos) then fdir = left_fwd_node.param2 pos = fwd_pos @@ -359,4 +388,3 @@ function homedecor.place_banister(itemstack, placer, pointed_thing) itemstack:take_item() return itemstack end - diff --git a/homedecor/handlers/furnaces.lua b/homedecor/handlers/furnaces.lua index d436b493..36a79391 100644 --- a/homedecor/handlers/furnaces.lua +++ b/homedecor/handlers/furnaces.lua @@ -1,6 +1,6 @@ -- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures. -local S = homedecor.gettext +local S = homedecor_i18n.gettext local function swap_node(pos, name) local node = minetest.get_node(pos) @@ -88,7 +88,7 @@ function homedecor.register_furnace(name, furnacedef) furnacedef.cook_speed = furnacedef.cook_speed or 1 - local description = furnacedef.description or "Furnace" + local description = furnacedef.description or S("Furnace") local furnace_construct = function(pos) local meta = minetest.get_meta(pos) @@ -106,7 +106,7 @@ function homedecor.register_furnace(name, furnacedef) if listname == "fuel" then if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then if inv:is_empty("src") then - meta:set_string("infotext", S("%s is empty"):format(description)) + meta:set_string("infotext", S("@1 (empty)", description)) end return stack:get_count() else @@ -125,7 +125,7 @@ function homedecor.register_furnace(name, furnacedef) if to_list == "fuel" then if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then if inv:is_empty("src") then - meta:set_string("infotext", S("%s is empty"):format(description)) + meta:set_string("infotext", S("@1 (empty)", description)) end return count else @@ -151,7 +151,7 @@ function homedecor.register_furnace(name, furnacedef) } local def_active = { - description = description .. " (active)", + description = S("@1 (active)", description), tiles = make_tiles(furnacedef.tiles_active, furnacedef.tile_format, true), light_source = 8, drop = "homedecor:" .. name, @@ -171,28 +171,28 @@ function homedecor.register_furnace(name, furnacedef) end end - local name_active = name.."_active" + local n_active = name.."_active" homedecor.register(name, def) - homedecor.register(name_active, def_active) + homedecor.register(n_active, def_active) - local name, name_active = "homedecor:"..name, "homedecor:"..name_active + local nname, name_active = "homedecor:"..name, "homedecor:"..n_active minetest.register_abm({ - nodenames = {name, name_active, name.."_locked", name_active.."_locked"}, + nodenames = {nname, name_active, nname.."_locked", name_active.."_locked"}, label = "furnaces", interval = 1.0, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local meta = minetest.get_meta(pos) - for i, name in ipairs({ + for i, pname in ipairs({ "fuel_totaltime", "fuel_time", "src_totaltime", "src_time" }) do - if meta:get_string(name) == "" then - meta:set_float(name, 0.0) + if meta:get_string(pname) == "" then + meta:set_float(pname, 0.0) end end @@ -226,12 +226,12 @@ function homedecor.register_furnace(name, furnacedef) -- XXX: Quick patch, make it better in the future. local locked = node.name:find("_locked$") and "_locked" or "" - local desc = minetest.registered_nodes[name..locked].description + local desc = minetest.registered_nodes[nname..locked].description if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then local percent = math.floor(meta:get_float("fuel_time") / meta:get_float("fuel_totaltime") * 100) - meta:set_string("infotext",S("%s active: %d%%"):format(desc,percent)) + meta:set_string("infotext", S("@1 (active: @2%)", desc, percent)) swap_node(pos,name_active..locked) meta:set_string("formspec", make_formspec(furnacedef, percent)) return @@ -239,9 +239,9 @@ function homedecor.register_furnace(name, furnacedef) local fuel = nil local afterfuel - local cooked = nil + cooked = nil local fuellist = inv:get_list("fuel") - local srclist = inv:get_list("src") + srclist = inv:get_list("src") if srclist then cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) @@ -251,24 +251,24 @@ function homedecor.register_furnace(name, furnacedef) end if (not fuel) or (fuel.time <= 0) then - meta:set_string("infotext",desc..S(": Out of fuel")) - swap_node(pos, name..locked) + meta:set_string("infotext", S("@1 (out of fuel)", desc)) + swap_node(pos, nname..locked) meta:set_string("formspec", make_formspec(furnacedef, 0)) return end if cooked.item:is_empty() then if was_active then - meta:set_string("infotext",S("%s is empty"):format(desc)) - swap_node(pos, name..locked) + meta:set_string("infotext", S("@1 (empty)", desc)) + swap_node(pos, nname..locked) meta:set_string("formspec", make_formspec(furnacedef, 0)) end return end if not inv:room_for_item("dst", cooked.item) then - meta:set_string("infotext", desc..S(": output bins are full")) - swap_node(pos, name..locked) + meta:set_string("infotext", S("@1 (output bins are full)", desc)) + swap_node(pos, nname..locked) meta:set_string("formspec", make_formspec(furnacedef, 0)) return end diff --git a/homedecor/handlers/inventory.lua b/homedecor/handlers/inventory.lua index dc4b740f..4db9892f 100644 --- a/homedecor/handlers/inventory.lua +++ b/homedecor/handlers/inventory.lua @@ -1,4 +1,5 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext local default_can_dig = function(pos,player) local meta = minetest.get_meta(pos) @@ -84,17 +85,17 @@ function homedecor.handle_inventory(name, def, original_def) def.can_dig = def.can_dig or default_can_dig def.on_metadata_inventory_move = def.on_metadata_inventory_move or function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", S("%s moves stuff in %s at %s"):format( + minetest.log("action", S("@1 moves stuff in @2 at @3", player:get_player_name(), name, minetest.pos_to_string(pos) )) end def.on_metadata_inventory_put = def.on_metadata_inventory_put or function(pos, listname, index, stack, player) - minetest.log("action", S("%s moves %s to %s at %s"):format( + minetest.log("action", S("@1 moves @2 to @3 at @4", player:get_player_name(), stack:get_name(), name, minetest.pos_to_string(pos) )) end def.on_metadata_inventory_take = def.on_metadata_inventory_take or function(pos, listname, index, stack, player) - minetest.log("action", S("%s takes %s from %s at %s"):format( + minetest.log("action", S("@1 takes @2 from @3 at @4", player:get_player_name(), stack:get_name(), name, minetest.pos_to_string(pos) )) end @@ -107,7 +108,7 @@ function homedecor.handle_inventory(name, def, original_def) local owner = placer:get_player_name() or "" meta:set_string("owner", owner) - meta:set_string("infotext", S("%s (owned by %s)"):format(def.infotext or def.description, owner)) + meta:set_string("infotext", S("@1 (owned by @2)", def.infotext or def.description, owner)) return after_place_node and after_place_node(pos, placer) end @@ -117,15 +118,17 @@ function homedecor.handle_inventory(name, def, original_def) local owner = meta:get_string("owner") local playername = player:get_player_name() - if (playername ~= owner) then - minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s", - playername, name, owner, minetest.pos_to_string(pos) - )) - return 0 + if playername == owner or + minetest.check_player_privs(player, "protection_bypass") then + return allow_move and + allow_move(pos, from_list, from_index, to_list, to_index, count, player) or + count end - return allow_move and allow_move(pos, from_list, from_index, to_list, to_index, count, player) - or count + minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4", + playername, name, owner, minetest.pos_to_string(pos) + )) + return 0 end local allow_put = def.allow_metadata_inventory_put @@ -134,14 +137,16 @@ function homedecor.handle_inventory(name, def, original_def) local owner = meta:get_string("owner") local playername = player:get_player_name() - if (playername ~= owner) then - minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s", - playername, name, owner, minetest.pos_to_string(pos) - )) - return 0 + if playername == owner or + minetest.check_player_privs(player, "protection_bypass") then + return allow_put and allow_put(pos, listname, index, stack, player) or + stack:get_count() end - return allow_put and allow_put(pos, listname, index, stack, player) - or stack:get_count() + + minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4", + playername, name, owner, minetest.pos_to_string(pos) + )) + return 0 end local allow_take = def.allow_metadata_inventory_take @@ -150,21 +155,23 @@ function homedecor.handle_inventory(name, def, original_def) local owner = meta:get_string("owner") local playername = player:get_player_name() - if (playername ~= owner) then - minetest.log("action", string.format("%s tried to access a %s belonging to %s at %s", - playername, name, owner, minetest.pos_to_string(pos) - )) - return 0 + if playername == owner or + minetest.check_player_privs(player, "protection_bypass") then + return allow_take and allow_take(pos, listname, index, stack, player) or + stack:get_count() end - return allow_take and allow_take(pos, listname, index, stack, player) - or stack:get_count() + + minetest.log("action", S("@1 tried to access a @2 belonging to @3 at @4", + playername, name, owner, minetest.pos_to_string(pos) + )) + return 0 end end local lockable = inventory.lockable if lockable then local locked_def = table.copy(original_def) - locked_def.description = S("Locked %s"):format(def.description or name) + locked_def.description = S("@1 (Locked)", def.description or name) local locked_inventory = locked_def.inventory locked_inventory.locked = true diff --git a/homedecor/handlers/nodeboxes.lua b/homedecor/handlers/nodeboxes.lua index 0d8306e3..c0a7df79 100644 --- a/homedecor/handlers/nodeboxes.lua +++ b/homedecor/handlers/nodeboxes.lua @@ -57,6 +57,3 @@ mt.__index = function(table, key) error("unexpected datatype " .. tostring(type(ref)) .. " while looking for " .. key) end setmetatable(homedecor.nodebox, mt) - - - diff --git a/homedecor/handlers/registration.lua b/homedecor/handlers/registration.lua index b25378fa..8c20558f 100644 --- a/homedecor/handlers/registration.lua +++ b/homedecor/handlers/registration.lua @@ -1,5 +1,5 @@ homedecor = homedecor or {} -local S = homedecor.gettext + local placeholder_node = "homedecor:expansion_placeholder" --wrapper around minetest.register_node that sets sane defaults and interprets some specialized settings diff --git a/homedecor/handlers/sit.lua b/homedecor/handlers/sit.lua index 636a585d..fc49177f 100644 --- a/homedecor/handlers/sit.lua +++ b/homedecor/handlers/sit.lua @@ -1,5 +1,6 @@ function homedecor.sit(pos, node, clicker) - do return end -- delete it when the engine is stabler for the player's physics + return -- delete it when the engine is stabler for the player's physics +--[[ local meta = minetest.get_meta(pos) local param2 = node.param2 local name = clicker:get_player_name() @@ -29,4 +30,5 @@ function homedecor.sit(pos, node, clicker) clicker:set_look_yaw(4.75) else return end end +--]] end diff --git a/homedecor/handlers/water_particles.lua b/homedecor/handlers/water_particles.lua index a3334b03..c514e9af 100644 --- a/homedecor/handlers/water_particles.lua +++ b/homedecor/handlers/water_particles.lua @@ -25,8 +25,8 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname) if id ~= 0 then if s_handle then - minetest.after(0, function(s_handle) - minetest.sound_stop(s_handle) + minetest.after(0, function(handle) + minetest.sound_stop(handle) end, s_handle) end minetest.delete_particlespawner(id) @@ -104,12 +104,11 @@ function homedecor.stop_particle_spawner(pos) end if s_handle then - minetest.after(0, function(s_handle) - minetest.sound_stop(s_handle) + minetest.after(0, function(handle) + minetest.sound_stop(handle) end, s_handle) end this_spawner_meta:set_int("active", nil) this_spawner_meta:set_int("sound", nil) end - diff --git a/homedecor/init.lua b/homedecor/init.lua index b0e44829..f4c6ed6a 100644 --- a/homedecor/init.lua +++ b/homedecor/init.lua @@ -9,12 +9,11 @@ local modpath = minetest.get_modpath("homedecor") +local S = homedecor_i18n.gettext + homedecor = { modpath = modpath, - -- Boilerplate to support localized strings if intllib mod is installed. - gettext = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end, - -- infinite stacks expect_infinite_stacks = minetest.setting_getbool("creative_mode") and not minetest.get_modpath("unified_inventory") } @@ -32,9 +31,6 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing) itemstack, pointed_thing) return end - local pitch = placer:get_look_pitch() - local fdir = core.dir_to_facedir(placer:get_look_dir()) - local wield_name = itemstack:get_name() local above = pointed_thing.above local under = pointed_thing.under @@ -50,7 +46,6 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing) if undef and undef.buildable_to then pos = pointed_thing.under node = unode - iswall = false end if core.is_protected(pos, placer:get_player_name()) then @@ -66,20 +61,46 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing) return isceiling, pos end +-- call this function to reset the rotation of a "wallmounted" object on place + +function homedecor.fix_rotation(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local yaw = placer:get_look_yaw() + 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/4) then + fdir = 0 + elseif pitch > math.pi/4 then + fdir = 1 + end + minetest.swap_node(pos, { name = node.name, param2 = fdir }) +end + +-- use this when you have a "wallmounted" node that should never be oriented +-- to floor or ceiling (e.g. a desk lamp) + +function homedecor.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local yaw = placer:get_look_yaw() + local dir = minetest.yaw_to_dir(yaw) + local fdir = minetest.dir_to_wallmounted(dir) + minetest.swap_node(pos, { name = node.name, param2 = fdir }) +end + screwdriver = screwdriver or {} -homedecor.plain_wood = "homedecor_generic_wood_plain.png^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#a7682020:100)" - -homedecor.mahogany_wood = "(homedecor_generic_wood_plain.png^[colorize:#401010:125)^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#66493880:200)" - -homedecor.white_wood = "(homedecor_generic_wood_plain.png^[colorize:#e0f0ff:200)^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#ffffff:200)" - -homedecor.dark_wood = "(homedecor_generic_wood_plain.png^[colorize:#140900:200)^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#21110180:180)" +homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 } +homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 } +homedecor.white_wood = "homedecor_generic_wood_plain.png" +homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f } +homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 } +homedecor.color_black = 0xff303030 +homedecor.color_dark_grey = 0xff606060 +homedecor.color_med_grey = 0xffa0a0a0 -- load different handler subsystems dofile(modpath.."/handlers/init.lua") @@ -131,4 +152,4 @@ dofile(modpath.."/wardrobe.lua") dofile(modpath.."/crafts.lua") -print("[HomeDecor] " .. homedecor.gettext("Loaded!")) +print("[HomeDecor] " .. S("Loaded!")) diff --git a/homedecor/intllib.lua b/homedecor/intllib.lua new file mode 100644 index 00000000..6669d720 --- /dev/null +++ b/homedecor/intllib.lua @@ -0,0 +1,45 @@ + +-- Fallback functions for when `intllib` is not installed. +-- Code released under Unlicense . + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/homedecor/kitchen_appliances.lua b/homedecor/kitchen_appliances.lua index 70d07032..1caa1ec9 100644 --- a/homedecor/kitchen_appliances.lua +++ b/homedecor/kitchen_appliances.lua @@ -1,6 +1,8 @@ -- This file supplies refrigerators -local S = homedecor.gettext +local S = homedecor_i18n.gettext + +local function N_(x) return x end -- steel-textured fridge homedecor.register("refrigerator_steel", { @@ -112,7 +114,7 @@ homedecor.register("coffee_maker", { "homedecor_coffeemaker_cup.png", "homedecor_coffeemaker_case.png", }, - description = "Coffee Maker", + description = S("Coffee Maker"), inventory_image = "homedecor_coffeemaker_inv.png", walkable = false, groups = {snappy=3}, @@ -159,7 +161,7 @@ minetest.register_abm({ }) homedecor.register("toaster", { - description = "Toaster", + description = S("Toaster"), tiles = { "homedecor_toaster_sides.png" }, inventory_image = "homedecor_toaster_inv.png", walkable = false, @@ -211,7 +213,7 @@ homedecor.register("toaster_loaf", { homedecor.register("dishwasher", { - description = "Dishwasher", + description = S("Dishwasher"), drawtype = "nodebox", tiles = { "homedecor_dishwasher_top.png", @@ -235,11 +237,11 @@ homedecor.register("dishwasher", { groups = { snappy = 3 }, }) -local materials = {"granite", "marble", "steel", "wood"} +local materials = { N_("granite"), N_("marble"), N_("steel"), N_("wood") } for _, m in ipairs(materials) do homedecor.register("dishwasher_"..m, { - description = "Dishwasher ("..m..")", + description = S("Dishwasher (@1)", S(m)), tiles = { "homedecor_kitchen_cabinet_top_"..m..".png", "homedecor_dishwasher_bottom.png", diff --git a/homedecor/kitchen_furniture.lua b/homedecor/kitchen_furniture.lua index cf240f84..d0712cf7 100644 --- a/homedecor/kitchen_furniture.lua +++ b/homedecor/kitchen_furniture.lua @@ -1,18 +1,21 @@ -- This file supplies Kitchen cabinets and kitchen sink -local S = homedecor.gettext +local S = homedecor_i18n.gettext -local counter_materials = { "", "granite", "marble", "steel" } local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png" local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)" +local function N_(x) return x end + +local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") } + for _, mat in ipairs(counter_materials) do local desc = S("Kitchen Cabinet") local material = "" if mat ~= "" then - desc = S("Kitchen Cabinet ("..mat.." top)") + desc = S("Kitchen Cabinet (@1 top)", S(mat)) material = "_"..mat end @@ -121,7 +124,8 @@ homedecor.register("kitchen_faucet", { local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z}) if below and below.name == "homedecor:sink" or - below.name == "homedecor:kitchen_cabinet_with_sink" then + below.name == "homedecor:kitchen_cabinet_with_sink" or + below.name == "homedecor:kitchen_cabinet_with_sink_locked" then local particledef = { outlet = { x = 0, y = -0.19, z = 0.13 }, velocity_x = { min = -0.05, max = 0.05 }, @@ -143,7 +147,7 @@ homedecor.register("paper_towel", { "default_wood.png" }, inventory_image = "homedecor_paper_towel_inv.png", - description = "Paper towels", + description = S("Paper towels"), groups = { snappy=3 }, walkable = false, selection_box = { diff --git a/homedecor/laundry.lua b/homedecor/laundry.lua index e2ef7215..5ee9ec68 100644 --- a/homedecor/laundry.lua +++ b/homedecor/laundry.lua @@ -52,7 +52,7 @@ homedecor.register("ironing_board", { mesh = "homedecor_ironing_board.obj", tiles = { "wool_grey.png", - "homedecor_generic_metal_black.png^[brighten" + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, }, expand = {right = "placeholder"}, groups = { snappy = 3 }, diff --git a/homedecor/lighting.lua b/homedecor/lighting.lua index 6b8ff07a..2101ce96 100644 --- a/homedecor/lighting.lua +++ b/homedecor/lighting.lua @@ -1,63 +1,12 @@ -- This file supplies glowlights -local dirs1 = { 20, 23, 22, 21 } local dirs2 = { 9, 18, 7, 12 } -local S = homedecor.gettext +local S = homedecor_i18n.gettext -local colors = {"yellow","white"} +local function N_(x) return x end -for i in ipairs(colors) do - local color = colors[i] - - minetest.register_abm({ - nodenames = { "homedecor:glowlight_thin_"..color }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = 20}) - end, - }) - - minetest.register_abm({ - nodenames = { "homedecor:glowlight_thick_"..color }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = 20}) - end, - }) - - minetest.register_abm({ - nodenames = { "homedecor:glowlight_thin_"..color.."_wall" }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local fdir = node.param2 or 0 - local nfdir = dirs2[fdir+1] - minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = nfdir}) - end, - }) - - minetest.register_abm({ - nodenames = { "homedecor:glowlight_thick_"..color.."_wall" }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - local fdir = node.param2 or 0 - local nfdir = dirs2[fdir+1] - minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = nfdir}) - end, - }) - - minetest.register_abm({ - nodenames = { "homedecor:glowlight_small_cube_"..color.."_ceiling" }, - interval = 1, - chance = 1, - action = function(pos, node, active_object_count, active_object_count_wider) - minetest.set_node(pos, {name = "homedecor:glowlight_small_cube_"..color, param2 = 20}) - end, - }) +local colors = { N_("yellow"), N_("white") } local glowlight_nodebox = { half = homedecor.nodebox.slab_y(1/2), @@ -68,66 +17,104 @@ local glowlight_nodebox = { }, } -homedecor.register("glowlight_half_"..color, { - description = S("Thick Glowlight ("..color..")"), +minetest.register_node("homedecor:glowlight_half", { + description = S("Thick Glowlight"), tiles = { - "homedecor_glowlight_"..color.."_top.png", - "homedecor_glowlight_"..color.."_bottom.png", - "homedecor_glowlight_thick_"..color.."_sides.png", - "homedecor_glowlight_thick_"..color.."_sides.png", - "homedecor_glowlight_thick_"..color.."_sides.png", - "homedecor_glowlight_thick_"..color.."_sides.png" + "homedecor_glowlight_top.png", + "homedecor_glowlight_bottom.png", + "homedecor_glowlight_thick_sides.png", + "homedecor_glowlight_thick_sides.png", + "homedecor_glowlight_thick_sides.png", + "homedecor_glowlight_thick_sides.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { + type = "wallmounted", + wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 }, + wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, + wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 } }, - selection_box = glowlight_nodebox.half, node_box = glowlight_nodebox.half, groups = { snappy = 3 }, light_source = default.LIGHT_MAX, sounds = default.node_sound_glass_defaults(), - on_place = minetest.rotate_node + after_place_node = homedecor.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:glowlight_half", "wallmounted") + end, }) -homedecor.register("glowlight_quarter_"..color, { - description = S("Thin Glowlight ("..color..")"), +minetest.register_node("homedecor:glowlight_quarter", { + description = S("Thin Glowlight"), tiles = { - "homedecor_glowlight_"..color.."_top.png", - "homedecor_glowlight_"..color.."_bottom.png", - "homedecor_glowlight_thin_"..color.."_sides.png", - "homedecor_glowlight_thin_"..color.."_sides.png", - "homedecor_glowlight_thin_"..color.."_sides.png", - "homedecor_glowlight_thin_"..color.."_sides.png" + "homedecor_glowlight_top.png", + "homedecor_glowlight_bottom.png", + "homedecor_glowlight_thin_sides.png", + "homedecor_glowlight_thin_sides.png", + "homedecor_glowlight_thin_sides.png", + "homedecor_glowlight_thin_sides.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { + type = "wallmounted", + wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 }, + wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 }, + wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 } }, - selection_box = glowlight_nodebox.quarter, node_box = glowlight_nodebox.quarter, groups = { snappy = 3 }, light_source = default.LIGHT_MAX-1, sounds = default.node_sound_glass_defaults(), - on_place = minetest.rotate_node + after_place_node = homedecor.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:glowlight_quarter", "wallmounted") + end, }) --- Glowlight "cubes" - -homedecor.register("glowlight_small_cube_"..color, { - description = S("Small Glowlight Cube ("..color..")"), +minetest.register_node("homedecor:glowlight_small_cube", { + description = S("Small Glowlight Cube"), tiles = { - "homedecor_glowlight_cube_"..color.."_tb.png", - "homedecor_glowlight_cube_"..color.."_tb.png", - "homedecor_glowlight_cube_"..color.."_sides.png", - "homedecor_glowlight_cube_"..color.."_sides.png", - "homedecor_glowlight_cube_"..color.."_sides.png", - "homedecor_glowlight_cube_"..color.."_sides.png" + "homedecor_glowlight_cube_tb.png", + "homedecor_glowlight_cube_tb.png", + "homedecor_glowlight_cube_sides.png", + "homedecor_glowlight_cube_sides.png", + "homedecor_glowlight_cube_sides.png", + "homedecor_glowlight_cube_sides.png" + }, + paramtype = "light", + paramtype2 = "colorwallmounted", + drawtype = "nodebox", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { + type = "wallmounted", + wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 }, + wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }, + wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 } }, - selection_box = glowlight_nodebox.small_cube, node_box = glowlight_nodebox.small_cube, groups = { snappy = 3 }, light_source = default.LIGHT_MAX-1, sounds = default.node_sound_glass_defaults(), - on_place = minetest.rotate_node + after_place_node = homedecor.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:glowlight_small_cube", "wallmounted") + end, }) -end - homedecor.register("plasma_lamp", { - description = "Plasma Lamp", + description = S("Plasma Lamp"), drawtype = "glasslike_framed", tiles = {"default_gold_block.png","homedecor_glass_face_clean.png"}, special_tiles = { @@ -147,10 +134,10 @@ homedecor.register("plasma_lamp", { }) homedecor.register("plasma_ball", { - description = "Plasma Ball", + description = S("Plasma Ball"), mesh = "homedecor_plasma_ball.obj", tiles = { - "homedecor_generic_plastic_black.png", + "homedecor_generic_plastic.png", { name = "homedecor_plasma_ball_streamers.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0}, @@ -158,7 +145,7 @@ homedecor.register("plasma_ball", { "homedecor_plasma_ball_glass.png" }, inventory_image = "homedecor_plasma_ball_inv.png", - selection_box = { + selection_box = { type = "fixed", fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 } }, @@ -280,10 +267,10 @@ homedecor.register("oil_lamp", { mesh = "homedecor_oil_lamp.obj", tiles = { "homedecor_generic_metal_brass.png", - "homedecor_generic_metal_black.png", - "homedecor_generic_metal_black.png^[colorize:#ff0000:160", + { name = "homedecor_generic_metal.png", color = homedecor.color_black }, + { name = "homedecor_generic_metal.png", color = 0xffa00000 }, "homedecor_oil_lamp_wick.png", - "homedecor_generic_metal_black.png^[colorize:#ff0000:150", + { name = "homedecor_generic_metal.png", color = 0xffa00000 }, "homedecor_oil_lamp_glass.png", }, use_texture_alpha = true, @@ -357,7 +344,7 @@ homedecor.register("ceiling_lantern", { use_texture_alpha = true, inventory_image = "homedecor_ceiling_lantern_inv.png", description = "Ceiling Lantern", - groups = {snappy=3}, + groups = {snappy=3}, light_source = 11, selection_box = cl_cbox, walkable = false @@ -392,17 +379,31 @@ homedecor.register("lattice_lantern_small", { on_place = minetest.rotate_node }) -local repl = { off="low", low="med", med="hi", hi="max", max="off", } +local brightness_tab = { + 0xffd0d0d0, + 0xffd8d8d8, + 0xffe0e0e0, + 0xffe8e8e8, + 0xffffffff, +} -local brights_tab = { 0, 50, 100, 150, 200 } +-- table lamps and standing lamps + +local repl = { + ["off"] ="low", + ["low"] ="med", + ["med"] ="hi", + ["hi"] ="max", + ["max"] ="off", +} local lamp_colors = { - {"white", "#ffffffe0:175"}, - {"blue", "#2626c6e0:200"}, - {"green", "#27a927e0:200"}, - {"pink", "#ff8fb7e0:200"}, - {"red", "#ad2323e0:200"}, - {"violet", "#7f29d7e0:200"} + "white", + "blue", + "green", + "pink", + "red", + "violet", } local tlamp_cbox = { @@ -415,30 +416,23 @@ local slamp_cbox = { fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 } } -local function reg_lamp(suffix, nxt, tilesuffix, light, color) - local lampcolor = "_"..color[1] - local colordesc = " ("..color[1]..")" - local woolcolor = color[1] - local invcolor = color[2] - local wool_brighten = (light or 0) * 7 - local bulb_brighten = (light or 0) * 14 +local function reg_lamp(suffix, nxt, light, brightness) - if color == "" then - lampcolor = "" - colordesc = " (white)" - woolcolor = "white" - end + local wool_brighten = (light or 0) * 15 - homedecor.register("table_lamp"..lampcolor.."_"..suffix, { - description = S("Table Lamp "..colordesc), + homedecor.register("table_lamp_"..suffix, { + description = S("Table Lamp"), mesh = "homedecor_table_lamp.obj", tiles = { - "wool_"..woolcolor..".png^[colorize:#ffffff:"..wool_brighten, - "homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:"..bulb_brighten, - "homedecor_generic_wood_red.png", - "homedecor_generic_metal_black.png^[brighten", + "wool_grey.png^[colorize:#ffffff:"..wool_brighten, + { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] }, + { name = "homedecor_generic_wood_red.png", color = 0xffffffff }, + { name = "homedecor_generic_metal.png", color = homedecor.color_black }, }, - inventory_image = "homedecor_table_lamp_foot_inv.png^(homedecor_table_lamp_top_inv.png^[colorize:"..invcolor..")", + inventory_image = "homedecor_table_lamp_foot_inv.png^homedecor_table_lamp_top_inv.png", + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", walkable = false, light_source = light, selection_box = tlamp_cbox, @@ -446,25 +440,31 @@ local function reg_lamp(suffix, nxt, tilesuffix, light, color) groups = {cracky=2,oddly_breakable_by_hand=1, not_in_creative_inventory=((light ~= nil) and 1) or nil, }, - drop = "homedecor:table_lamp"..lampcolor.."_off", + drop = "homedecor:table_lamp_off", on_punch = function(pos, node, puncher) - node.name = "homedecor:table_lamp"..lampcolor.."_"..repl[suffix] + node.name = "homedecor:table_lamp_"..repl[suffix] minetest.set_node(pos, node) end, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:table_lamp_"..suffix, false) + end, }) - -- standing lamps - - homedecor.register("standing_lamp"..lampcolor.."_"..suffix, { - description = S("Standing Lamp"..colordesc), + homedecor.register("standing_lamp_"..suffix, { + description = S("Standing Lamp"), mesh = "homedecor_standing_lamp.obj", tiles = { - "wool_"..woolcolor..".png^[colorize:#ffffff:"..wool_brighten, - "homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:"..bulb_brighten, - "homedecor_generic_wood_red.png", - "homedecor_generic_metal_black.png^[brighten", + "wool_grey.png^[colorize:#ffffff:"..wool_brighten, + { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] }, + { name = "homedecor_generic_wood_red.png", color = 0xffffffff }, + { name = "homedecor_generic_metal.png", color = homedecor.color_black }, }, - inventory_image = "homedecor_standing_lamp_foot_inv.png^(homedecor_standing_lamp_top_inv.png^[colorize:"..invcolor..")", + inventory_image = "homedecor_standing_lamp_foot_inv.png^homedecor_standing_lamp_top_inv.png", + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", walkable = false, light_source = light, groups = {cracky=2,oddly_breakable_by_hand=1, @@ -474,52 +474,60 @@ local function reg_lamp(suffix, nxt, tilesuffix, light, color) sounds = default.node_sound_wood_defaults(), on_rotate = screwdriver.rotate_simple, on_punch = function(pos, node, puncher) - node.name = "homedecor:standing_lamp"..lampcolor.."_"..repl[suffix] + node.name = "homedecor:standing_lamp_"..repl[suffix] minetest.set_node(pos, node) end, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:standing_lamp_"..suffix, false) + end, expand = { top="placeholder" }, }) - minetest.register_alias("homedecor:standing_lamp_bottom"..lampcolor.."_"..suffix, "homedecor:standing_lamp"..lampcolor.."_"..suffix) - minetest.register_alias("homedecor:standing_lamp_top"..lampcolor.."_"..suffix, "air") - -- for old maps that had the original 3dforniture mod - if lampcolor == "" then - minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix) - end + minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix) end -for _, color in ipairs(lamp_colors) do - reg_lamp("off", "low", "", nil, color ) - reg_lamp("low", "med", "l", 3, color ) - reg_lamp("med", "hi", "m", 7, color ) - reg_lamp("hi", "max", "h", 11, color ) - reg_lamp("max", "off", "x", 14, color ) -end +reg_lamp("off", "low", nil, 1 ) +reg_lamp("low", "med", 3, 2 ) +reg_lamp("med", "hi", 7, 3 ) +reg_lamp("hi", "max", 11, 4 ) +reg_lamp("max", "off", 14, 5 ) + +-- "gooseneck" style desk lamps local dlamp_cbox = { - type = "fixed", - fixed = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 }, + type = "wallmounted", + wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 }, } -local dlamp_colors = { "red","blue","green","violet" } +homedecor.register("desk_lamp", { + description = S("Desk Lamp"), + mesh = "homedecor_desk_lamp.obj", + tiles = { + "homedecor_generic_metal.png", + "homedecor_generic_metal.png", + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, + { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[5] }, + }, + inventory_image = "homedecor_desk_lamp_inv.png", + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = dlamp_cbox, + node_box = dlamp_cbox, + walkable = false, + groups = {snappy=3}, + after_place_node = homedecor.fix_rotation_nsew, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:desk_lamp", "wallmounted") + end, +}) -for _, color in ipairs(dlamp_colors) do - homedecor.register("desk_lamp_"..color, { - description = S("Desk Lamp ("..color..")"), - mesh = "homedecor_desk_lamp.obj", - tiles = { - "homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:200", - "homedecor_generic_metal_black.png^[colorize:"..color..":150", - "homedecor_generic_metal_black.png", - "homedecor_generic_metal_black.png^[colorize:"..color..":150" - }, - inventory_image = "homedecor_desk_lamp_stem_inv.png^(homedecor_desk_lamp_metal_inv.png^[colorize:"..color..":140)", - selection_box = dlamp_cbox, - walkable = false, - groups = {snappy=3}, - }) -end +-- "kitchen"/"dining room" ceiling lamp homedecor.register("ceiling_lamp", { description = S("Ceiling Lamp"), @@ -527,8 +535,8 @@ homedecor.register("ceiling_lamp", { tiles = { "homedecor_generic_metal_brass.png", "homedecor_ceiling_lamp_glass.png", - "homedecor_table_standing_lamp_lightbulb.png^[colorize:#ffffff:200", - "homedecor_generic_plastic_black.png^[colorize:#442d04:200", + "homedecor_table_standing_lamp_lightbulb.png", + { name = "homedecor_generic_plastic.png", color = 0xff442d04 }, }, inventory_image = "homedecor_ceiling_lamp_inv.png", light_source = default.LIGHT_MAX, @@ -545,8 +553,8 @@ homedecor.register("ceiling_lamp_off", { tiles = { "homedecor_generic_metal_brass.png", "homedecor_ceiling_lamp_glass.png", - "homedecor_table_standing_lamp_lightbulb.png", - "homedecor_generic_plastic_black.png^[colorize:#442d04:200", + { "homedecor_table_standing_lamp_lightbulb.png", color = 0xffd0d0d0 }, + { name = "homedecor_generic_plastic.png", color = 0xff442d04 }, }, groups = {snappy=3, not_in_creative_inventory=1}, walkable = false, @@ -555,3 +563,162 @@ homedecor.register("ceiling_lamp_off", { end, drop = "homedecor:ceiling_lamp" }) + +-- conversion LBM for param2 coloring + +homedecor.old_static_nodes = { + "homedecor:glowlight_quarter_white", + "homedecor:glowlight_quarter_yellow", + "homedecor:glowlight_half_white", + "homedecor:glowlight_half_yellow", + "homedecor:glowlight_small_cube_white", + "homedecor:glowlight_small_cube_yellow" +} + +local lamp_power = {"off", "low", "med", "hi", "max"} + +for _, power in ipairs(lamp_power) do + for _, color in ipairs(lamp_colors) do + table.insert(homedecor.old_static_nodes, "homedecor:table_lamp_"..color.."_"..power) + table.insert(homedecor.old_static_nodes, "homedecor:standing_lamp_"..color.."_"..power) + end +end + +minetest.register_lbm({ + name = "homedecor:convert_lighting", + label = "Convert homedecor glowlights, table lamps, and standing lamps to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_static_nodes, + action = function(pos, node) + local name = node.name + local newname + local color + + if string.find(name, "small_cube") then + newname = "homedecor:glowlight_small_cube" + elseif string.find(name, "glowlight_half") then + newname = "homedecor:glowlight_half" + elseif string.find(name, "glowlight_quarter") then + newname = "homedecor:glowlight_quarter" + end + + local lampname + if string.find(name, "standing_lamp") then + lampname = "homedecor:standing_lamp" + elseif string.find(name, "table_lamp") then + lampname = "homedecor:table_lamp" + end + if lampname then + newname = lampname + if string.find(name, "_off") then + newname = newname.."_off" + elseif string.find(name, "_low") then + newname = newname.."_low" + elseif string.find(name, "_med") then + newname = newname.."_med" + elseif string.find(name, "_hi") then + newname = newname.."_hi" + elseif string.find(name, "_max") then + newname = newname.."_max" + end + end + + if string.find(name, "red") then + color = "red" + elseif string.find(name, "pink") then + color = "pink" + elseif string.find(name, "green") then + color = "green" + elseif string.find(name, "blue") then + color = "blue" + elseif string.find(name, "yellow") then + color = "yellow" + elseif string.find(name, "violet") then + color = "violet" + else + color = "white" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, false) + + local old_node = node.name + local old_fdir + local new_node = newname + local new_fdir + local param2 + + if string.find(name, "glowlight") then + paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + + old_fdir = math.floor(node.param2 / 4) + + if old_fdir == 5 then + new_fdir = 0 + elseif old_fdir == 1 then + new_fdir = 5 + elseif old_fdir == 2 then + new_fdir = 4 + elseif old_fdir == 3 then + new_fdir = 3 + elseif old_fdir == 4 then + new_fdir = 2 + elseif old_fdir == 0 then + new_fdir = 1 + end + param2 = paletteidx + new_fdir + else + param2 = paletteidx + end + + minetest.set_node(pos, { name = new_node, param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) + +-- this one's for the small "gooseneck" desk lamps + +homedecor.old_static_desk_lamps = { + "homedecor:desk_lamp_red", + "homedecor:desk_lamp_blue", + "homedecor:desk_lamp_green", + "homedecor:desk_lamp_violet", +} + +minetest.register_lbm({ + name = "homedecor:convert_lighting", + label = "Convert homedecor glowlights, table lamps, and standing lamps to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_static_desk_lamps, + action = function(pos, node) + local name = node.name + local newname + local color = string.sub(name, string.find(name, "_", -8) + 1) + + if color == "green" then + color = "medium_green" + elseif color == "violet" then + color = "magenta" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + + minetest.set_node(pos, { name = "homedecor:desk_lamp", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) diff --git a/homedecor/locale/de.po b/homedecor/locale/de.po new file mode 100644 index 00000000..8185e222 --- /dev/null +++ b/homedecor/locale/de.po @@ -0,0 +1,1490 @@ +# German translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Xanthin \n" +"Language-Team: German\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +#, fuzzy +msgid "Plastic sheet" +msgstr "Kunststoffplatte" + +#: ../computer/miscitems.lua:18 +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Unverarbeitetes Plastik" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +#, fuzzy +msgid "black" +msgstr "schwarz" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +#, fuzzy +msgid "blue" +msgstr "blau" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +#, fuzzy +msgid "dark grey" +msgstr "dunkelgruen" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +#, fuzzy +msgid "dark green" +msgstr "dunkelgruen" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +#, fuzzy +msgid "green" +msgstr "gruen" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +#, fuzzy +msgid "red" +msgstr "rot" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +#, fuzzy +msgid "violet" +msgstr "violett" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +#, fuzzy +msgid "white" +msgstr "weiss" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua:161 +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Eichenachttisch mit einer Schublade" + +#: ../homedecor/bedroom.lua:182 +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Nachttisch mit einer Schublade" + +#: ../homedecor/bedroom.lua:190 +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Eichenachttisch mit zwei Schubladen" + +#: ../homedecor/bedroom.lua:208 +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Nachttisch mit zwei Schubladen" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Kuechenschrank" + +#: ../homedecor/kitchen_furniture.lua:18 +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Kuechenschrank" + +#: ../homedecor/kitchen_furniture.lua:42 +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Halbhoher Kuechenschrank (haengend)" + +#: ../homedecor/kitchen_furniture.lua:63 +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Unterschrank mit Spuele" + +#: ../homedecor/kitchen_furniture.lua:73 +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Unterschrank" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:5 +#, fuzzy +msgid "Bars" +msgstr "Gitterstaebe" + +#: ../homedecor/furniture_medieval.lua:27 +#, fuzzy +msgid "Binding Bars" +msgstr "Eckverbindung fuer Gitterstaebe" + +#: ../homedecor/furniture_medieval.lua:51 +#, fuzzy +msgid "Chains" +msgstr "Ketten" + +#: ../homedecor/furniture_medieval.lua:62 +#, fuzzy +msgid "Wall Torch" +msgstr "Wandfackel" + +#: ../homedecor/furniture_medieval.lua:94 +#, fuzzy +msgid "Wall Lamp" +msgstr "Tischlampe" + +#: ../homedecor/kitchen_appliances.lua:12 +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Kuehlschrank" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +#, fuzzy +msgid "Refrigerator" +msgstr "Kuehlschrank" + +#: ../homedecor/kitchen_appliances.lua:60 +#, fuzzy +msgid "Oven" +msgstr "Herd" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:76 +#, fuzzy +msgid "Microwave Oven" +msgstr "Mikrowelle" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:7 +#, fuzzy +msgid "Glass Skylight" +msgstr "Glasdachfenster" + +#: ../homedecor/roofing.lua:19 +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Milchglasdachfenster" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +#, fuzzy +msgid "terracotta" +msgstr "Terrakottaschindeln" + +#: ../homedecor/roofing.lua:33 +#, fuzzy +msgid "Shingles (@1)" +msgstr "Holzschindeln" + +#: ../homedecor/roofing.lua:87 +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Holzschindeln (Aussenecke)" + +#: ../homedecor/roofing.lua:109 +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Holzschindeln (Innenecke)" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +#, fuzzy +msgid "Wood Shingles" +msgstr "Holzschindeln" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Asphaltschindeln" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Terrakottaschindeln" + +#: ../homedecor/roofing.lua:307 +#, fuzzy +msgid "Glass Shingles" +msgstr "Asphaltschindeln" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua:72 +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Weisse Gluehlampe (dick)" + +#: ../homedecor/window_treatments.lua:91 +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +#, fuzzy +msgid "Curtains (@1)" +msgstr "Vorhaenge (%s)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +#, fuzzy +msgid "wrought iron" +msgstr "Schmiedeeiserne Stange" + +#: ../homedecor/window_treatments.lua:175 +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Vorhaenge (%s)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua:10 +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Ungebrannte Terrakotta" + +#: ../homedecor/crafts.lua:15 +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Terrakottadachziegel" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua:25 +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Unverarbeitetes Plastik" + +#: ../homedecor/crafts.lua:37 +#, fuzzy +msgid "Plastic strips" +msgstr "Kunststoffplatte" + +#: ../homedecor/crafts.lua:42 +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Kleiner Holzschubkasten" + +#: ../homedecor/crafts.lua:47 +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Einfacher integrierter Schaltkreis" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:117 +#, fuzzy +msgid "Brass chainlink" +msgstr "Messingzaun/Gelaender" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua:137 +#, fuzzy +msgid "Silicon lump" +msgstr "Silikonklumpen" + +#: ../homedecor/crafts.lua:154 +#, fuzzy +msgid "Brass Ingot" +msgstr "Messingbarren" + +#: ../homedecor/crafts.lua:3330 +#, fuzzy +msgid "Small Flower Pot" +msgstr "Schwarzer Plastikblumentopf" + +#: ../homedecor/electronics.lua:6 +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Grosser Lautsprecher" + +#: ../homedecor/electronics.lua:20 +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Grosser Lautsprecher" + +#: ../homedecor/electronics.lua:41 +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/electronics.lua:54 +#, fuzzy +msgid "Stereo Receiver" +msgstr "Stereoanlage" + +#: ../homedecor/electronics.lua:66 +#, fuzzy +msgid "Projection Screen Material" +msgstr "Projektorleinwand" + +#: ../homedecor/electronics.lua:82 +#, fuzzy +msgid "Small CRT Television" +msgstr "Kleiner Roehrenfernseher" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua:73 +#, fuzzy +msgid "Thick Glowlight (@1)" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/lighting.lua:91 +#, fuzzy +msgid "Thin Glowlight (@1)" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/lighting.lua:111 +#, fuzzy +msgid "Small Glowlight Cube (@1)" +msgstr "Gelbe Gluehlampe (kleiner Wuerfel)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua:254 +#, fuzzy +msgid "Wall sconce" +msgstr "Wandfackel" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua:426 +#, fuzzy +msgid "Table Lamp (@1)" +msgstr "Tischlampe" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua:31 +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Messingzaun/Gelaender" + +#: ../homedecor/fences.lua:43 +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Messingzaun/Gelaender mit Schild" + +#: ../homedecor/fences.lua:71 +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Unlackierter Lattenenzaun" + +#: ../homedecor/fences.lua:87 +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Unlackierte Lattenenzaunecke" + +#: ../homedecor/fences.lua:103 +#, fuzzy +msgid "White Picket Fence" +msgstr "Weisser Lattenzaun" + +#: ../homedecor/fences.lua:119 +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Weisse Lattenzaunecke" + +#: ../homedecor/fences.lua:135 +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Sichtschutzzaun aus Holz" + +#: ../homedecor/fences.lua:159 +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Sichtschutzzaunecke aus Holz" + +#: ../homedecor/fences.lua:194 +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Stacheldrahtzaun" + +#: ../homedecor/fences.lua:204 +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Stacheldrahtzaunecke" + +#: ../homedecor/fences.lua:214 +#, fuzzy +msgid "Chainlink Fence" +msgstr "Maschendrahtzaun" + +#: ../homedecor/fences.lua:232 +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Maschendrahtzaunecke" + +#: ../homedecor/fences.lua:249 +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/fences.lua:276 +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua:11 +#, fuzzy +msgid "light blue" +msgstr "rechts" + +#: ../homedecor/shutters.lua:35 +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Holzjalousie (rot)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +#, fuzzy +msgid "Deck Chair" +msgstr "Stuhl" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua:194 +#, fuzzy +msgid "white wood" +msgstr "weiss" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:17 +#, fuzzy +msgid "Toilet" +msgstr "Toilette" + +#: ../homedecor/bathroom_sanitation.lua:68 +#, fuzzy +msgid "Toilet paper" +msgstr "Toilette" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:185 +#, fuzzy +msgid "Shower Tray" +msgstr "Duschtasse" + +#: ../homedecor/bathroom_sanitation.lua:225 +#, fuzzy +msgid "Shower Head" +msgstr "Duschbrause" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua:6 +#, fuzzy +msgid "Air Conditioner" +msgstr "Klimaanlage" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:124 +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Wandschranktuer aus Mahagoni" + +#: ../homedecor/doors_and_gates.lua:129 +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Wandschranktuer aus Eiche" + +#: ../homedecor/doors_and_gates.lua:134 +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Schicke Holz/Glastuer" + +#: ../homedecor/doors_and_gates.lua:144 +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Glasbuerotuer" + +#: ../homedecor/doors_and_gates.lua:149 +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Glas-Holz-Tuer, eichefarben" + +#: ../homedecor/doors_and_gates.lua:158 +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Glas-Holz-Tuer, mahagonifarben" + +#: ../homedecor/doors_and_gates.lua:167 +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Glas-Holz-Tuer, weiss" + +#: ../homedecor/doors_and_gates.lua:176 +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Einfache Holztuer" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:186 +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "left" +msgstr "links" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "right" +msgstr "rechts" + +#: ../homedecor/doors_and_gates.lua:296 +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Unlackiertes Lattenzauntor" + +#: ../homedecor/doors_and_gates.lua:297 +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Weisses Lattenzauntor" + +#: ../homedecor/doors_and_gates.lua:298 +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Stacheldrahtzauntor" + +#: ../homedecor/doors_and_gates.lua:299 +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Maschendrahtzauntor" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/init.lua:133 +#, fuzzy +msgid "Loaded!" +msgstr "Geladen!" + +#: ../homedecor/misc-nodes.lua:7 +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Deckenfarbe (Raufaser)" + +#: ../homedecor/misc-nodes.lua:19 +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Deckenplatte" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua:90 +#, fuzzy +msgid "Viola" +msgstr "violett" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:127 +#, fuzzy +msgid "Brass Pole" +msgstr "Messingstange" + +#: ../homedecor/misc-nodes.lua:145 +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Schmiedeeiserne Stange" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua:273 +#, fuzzy +msgid "Pool Table" +msgstr "Tisch" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua:8 +#, fuzzy +msgid "Small round glass table" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua:12 +#, fuzzy +msgid "Small square wooden table" +msgstr "Kleiner Holzschubkasten" + +#: ../homedecor/tables.lua:13 +#, fuzzy +msgid "Small round wooden table" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua:134 +#, fuzzy +msgid "Utility Table" +msgstr "Arbeitsplatte" + +#: ../homedecor/tables.lua:173 +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Messingtischbeine" + +#: ../homedecor/tables.lua:189 +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Tischbeine fuer Arbeitsplatte" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua:4 +#, fuzzy +msgid "Table" +msgstr "Tisch" + +#: ../homedecor/furniture.lua:5 +#, fuzzy +msgid "Mahogany Table" +msgstr "Wandschranktuer aus Mahagoni" + +#: ../homedecor/furniture.lua:6 +#, fuzzy +msgid "White Table" +msgstr "Arbeitsplatte" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua:77 +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Kuechenschrank" + +#: ../homedecor/furniture.lua:93 +#, fuzzy +msgid "Armchair (@1)" +msgstr "Sessel (%s)" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:87 +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s bewegt etwas im Nachttisch" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:110 +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (gehoert %s)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s versuchte Zugang zu %s von %s zu bekommen bei %s" + +#: ../homedecor/handlers/inventory.lua:173 +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (verschlossen)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:234 +#, fuzzy +msgid "@1 (active: @2%)" +msgstr "%s ist aktiv: %d%%" + +#: ../homedecor/handlers/furnaces.lua:254 +#, fuzzy +msgid "@1 (out of fuel)" +msgstr ": kein Brennmaterial vorhanden" + +#: ../homedecor/handlers/furnaces.lua:270 +#, fuzzy +msgid "@1 (output bins are full)" +msgstr ": Produktfelder sind voll" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +#, fuzzy +msgid "Filing cabinet" +msgstr "Unterschrank" + +#: ../homedecor/bathroom_furniture.lua:5 +#, fuzzy +msgid "white/grey" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:9 +#, fuzzy +msgid "white/red" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:11 +#, fuzzy +msgid "white/blue" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:13 +#, fuzzy +msgid "white/tan" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +#, fuzzy +msgid "Medicine cabinet" +msgstr "Unterschrank" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s bewegt etwas im Kuechenschrank bei %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s legt etwas in den Kuechenschrank bei %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s nimmt etwas aus dem Kuechenschrank bei %s" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "" +#~ "Es gibt nicht genug Raum ueber dieser Stelle um die Tuer zu platzieren!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Eimer mit weisser Farbe" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Tischbeine fuer kleinen Arbeitsplatte" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Titandioxid" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Schmiedeeiserner Zaun/Gelaender mit Schild" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "Moechte einfach den getragenen Gegenstand wie gewohnt platzieren." + +#~ msgid "Red " +#~ msgstr "rot" + +#~ msgid "Pink " +#~ msgstr "rosa" + +#~ msgid "Blue " +#~ msgstr "blau" + +#~ msgid "Sink " +#~ msgstr "Waschbecken" + +#~ msgid "Taps " +#~ msgstr "Wasserhahn" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Asphaltschindeln (Aussenecke)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Asphaltschindeln (Innenecke)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Schmiedeeiserne Tischbeine" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Glastischplatte (klein, rund)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Glastischplatte (klein, quadratisch)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Glastischplatte (gross)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Gruener Plastikblumentopf" + +#~ msgid "Large Area Rug " +#~ msgstr "Grosser Teppich" + +#~ msgid "Small Throw Rug " +#~ msgstr "Kleiner Teppich" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Terrakottablumentopf" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Terrakottaschindeln (Aussenecke)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Terrakottaschindeln (Innenecke)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Arbeitsplatte Modell 2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Holzjalousie (schwarz)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Holzjalousie (dunkelgrau)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Holzjalousie (waldgruen)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Holzjalousie (grau)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Holzjalousie (hellblau)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Holzjalousie (violett)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Holzjalousie (mahagoni)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Holzjalousie (eiche)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Holzjalousie (weiss)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Holzjalousie (gelb)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Holztischplatte (gross)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Holztischplatte (klein, rund)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Holztischplatte (klein, quadratisch)" + +#~ msgid "someone " +#~ msgstr "jemand" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Tut mir leid, %s gehoert diese Stelle." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Weisse Gluehlampe (kleiner Wuerfel)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Weisse Gluehlampe (kleiner Wuerfel, an der Decke)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Weisse Gluehlampe (dick, an der Wand)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Weisse Gluehlampe (duenn, an der Wand)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Gelbe Gluehlampe (kleiner Wuerfel, an der Decke)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Gelbe Gluehlampe (dick)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Gelbe Gluehlampe (dick, an der Wand)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Gelbe Gluehlampe (duenn)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Gelbe Gluehlampe (duenn, an der Wand)" + +#~ msgid "Locked Fridge " +#~ msgstr "Verschlossener Kuehlschrank" + +#~ msgid "Locked Cabinet " +#~ msgstr "Verschlossener Schrank" + +#~ msgid "Locked Nightstand " +#~ msgstr "Verschlossener Nachttisch" + +#~ msgid "Locked Oven " +#~ msgstr "Verschlossener Herd" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Verschlossener Herd (aktiv)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Verschlossene Mikrowelle" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Verschlossene Mikrowelle (aktiv)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Mahagoninachttisch mit einer Schublade" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Mahagoninachttisch mit zwei Schubladen" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s legt etwas in den Nachttisch" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s nimmt etwas aus dem Nachttisch" + +#~ msgid "%s is empty " +#~ msgstr "%s ist leer" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s bewegt etwas im Kuehlschrank bei %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s legt etwas in den Kuehlschrank bei %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s nimmt etwas aus dem Kuehlschrank bei %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "" +#~ "Es gibt nicht genug Raum ueber dieser Stelle um den Kuehlschrank zu " +#~ "platzieren!" diff --git a/homedecor/locale/es.po b/homedecor/locale/es.po new file mode 100644 index 00000000..8395815a --- /dev/null +++ b/homedecor/locale/es.po @@ -0,0 +1,1152 @@ +# Spanish translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:02-0300\n" +"PO-Revision-Date: 2017-01-24 20:24-0300\n" +"Last-Translator: Diego Martínez \n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +msgid "Plastic sheet" +msgstr "Placa de plástico" + +#: ../computer/miscitems.lua:18 +msgid "Unprocessed Plastic base" +msgstr "Base de plástico sin procesar" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +msgid "black" +msgstr "negra" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "marrón" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +msgid "blue" +msgstr "azul" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "cian" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +msgid "dark grey" +msgstr "gris oscuro" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +msgid "dark green" +msgstr "verde oscuro" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "gris" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "magenta" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "naranja" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +msgid "red" +msgstr "roja" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +msgid "violet" +msgstr "violeta" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +msgid "white" +msgstr "blanca" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "amarilla" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "Cama (@1)" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "Cama (@1, tamaño rey)" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "caoba" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "roble" + +#: ../homedecor/bedroom.lua:161 +msgid "Nightstand with One Drawer (@1)" +msgstr "Mesa de luz con un cajón (@1)" + +#: ../homedecor/bedroom.lua:182 +msgid "One-drawer Nightstand" +msgstr "Mesa de luz con un cajón" + +#: ../homedecor/bedroom.lua:190 +msgid "Nightstand with Two Drawers (@1)" +msgstr "Mesa de luz con dos cajones (@1)" + +#: ../homedecor/bedroom.lua:208 +msgid "Two-drawer Nightstand" +msgstr "Mesa de luz con dos cajones" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "granito" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "mármol" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "acero" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +msgid "Kitchen Cabinet" +msgstr "Gabinete de cocina" + +#: ../homedecor/kitchen_furniture.lua:18 +msgid "Kitchen Cabinet (@1 top)" +msgstr "Gabinete de cocina (mesada de @1)" + +#: ../homedecor/kitchen_furniture.lua:42 +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Gabinete de cocina de media altura (en techo)" + +#: ../homedecor/kitchen_furniture.lua:63 +msgid "Kitchen Cabinet with sink" +msgstr "Gabinete de cocina con lavabo" + +#: ../homedecor/kitchen_furniture.lua:73 +msgid "Under-sink cabinet" +msgstr "Gabinete bajo lavabo" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "Toallas de papel" + +#: ../homedecor/furniture_medieval.lua:5 +msgid "Bars" +msgstr "Barrotes" + +#: ../homedecor/furniture_medieval.lua:27 +msgid "Binding Bars" +msgstr "Barrotes de contención" + +#: ../homedecor/furniture_medieval.lua:51 +msgid "Chains" +msgstr "Cadenas" + +#: ../homedecor/furniture_medieval.lua:62 +msgid "Wall Torch" +msgstr "Antorcha de pared" + +#: ../homedecor/furniture_medieval.lua:94 +msgid "Wall Lamp" +msgstr "Lámpara de pared" + +#: ../homedecor/kitchen_appliances.lua:12 +msgid "Refrigerator (stainless steel)" +msgstr "Refrigerador (acero inoxidable)" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +msgid "Refrigerator" +msgstr "Refrigerador" + +#: ../homedecor/kitchen_appliances.lua:60 +msgid "Oven" +msgstr "Horno" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "Horno (acero inoxidable)" + +#: ../homedecor/kitchen_appliances.lua:76 +msgid "Microwave Oven" +msgstr "Horno microondas" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "Cafetera" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "Tostador" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "Lavavajillas" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "madera" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "Lavavajillas (@1)" + +#: ../homedecor/roofing.lua:7 +msgid "Glass Skylight" +msgstr "Claraboya de cristal" + +#: ../homedecor/roofing.lua:19 +msgid "Glass Skylight Frosted" +msgstr "Claraboya de cristal esmerilado" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "asfalto" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +msgid "terracotta" +msgstr "terracota" + +#: ../homedecor/roofing.lua:33 +msgid "Shingles (@1)" +msgstr "Tejas (@1)" + +#: ../homedecor/roofing.lua:87 +msgid "@1 (outer corner)" +msgstr "@1 (esquina exterior)" + +#: ../homedecor/roofing.lua:109 +msgid "@1 (inner corner)" +msgstr "@1 (esquina interior)" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +msgid "Wood Shingles" +msgstr "Tejado de madera" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +msgid "Asphalt Shingles" +msgstr "Tejado de asfalto" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +msgid "Terracotta Shingles" +msgstr "Tejado de terracota" + +#: ../homedecor/roofing.lua:307 +msgid "Glass Shingles" +msgstr "Claraboya de cristal" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "Chimenea" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "Ventana (cuarteada)" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "Ventana (lisa)" + +#: ../homedecor/window_treatments.lua:72 +msgid "Window Blinds (thick)" +msgstr "Persianas (gruesas)" + +#: ../homedecor/window_treatments.lua:91 +msgid "Window Blinds (thin)" +msgstr "Persianas (finas)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +msgid "Curtains (@1)" +msgstr "Cortinas (@1)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "latón" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +msgid "wrought iron" +msgstr "hierro forjado" + +#: ../homedecor/window_treatments.lua:175 +msgid "Curtain Rod (@1)" +msgstr "Palo de cortinas (@1)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "Caja de flores de ventana" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "Vídrio coloreado" + +#: ../homedecor/crafts.lua:10 +msgid "Uncooked Terracotta Base" +msgstr "Base de terracota sin cocer" + +#: ../homedecor/crafts.lua:15 +msgid "Terracotta Roof Tile" +msgstr "Tejado de terracota" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "Extracto de aceite" + +#: ../homedecor/crafts.lua:25 +msgid "Unprocessed paraffin" +msgstr "Parafina sin procesar" + +#: ../homedecor/crafts.lua:37 +msgid "Plastic strips" +msgstr "Tiras de plástico" + +#: ../homedecor/crafts.lua:42 +msgid "Small Wooden Drawer" +msgstr "Cajón de madera pequeño" + +#: ../homedecor/crafts.lua:47 +msgid "Simple Integrated Circuit" +msgstr "Circuito integrado simple" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "Elemento de calefacción" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "Motor" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "Cristal de poder" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "Lienzo en blanco" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "Grabadora de vídeo" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "Reproductor de DVD" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "Bobina de alambre de cobre" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "Bobina de alambre de acero" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "Conductor de altavoz" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "Aspas de ventilador" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "Tira de cobre" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "Tira de acero" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "Cadenas de acero" + +#: ../homedecor/crafts.lua:117 +msgid "Brass chainlink" +msgstr "Cadenas de latón" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "Lata de refresco" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "Moneda de oro (para la máquina expendedora)" + +#: ../homedecor/crafts.lua:137 +msgid "Silicon lump" +msgstr "Bulto de silicio" + +#: ../homedecor/crafts.lua:154 +msgid "Brass Ingot" +msgstr "Lingote de latón" + +#: ../homedecor/crafts.lua:3330 +msgid "Small Flower Pot" +msgstr "Maceta pequeña" + +#: ../homedecor/electronics.lua:6 +msgid "Large Stereo Speaker" +msgstr "Altavoz estéreo grande" + +#: ../homedecor/electronics.lua:20 +msgid "Large Stereo Speaker, open front" +msgstr "Altavoz estéreo grande con frente abierto" + +#: ../homedecor/electronics.lua:41 +msgid "Small Surround Speaker" +msgstr "Altavoz envolvente pequeño" + +#: ../homedecor/electronics.lua:54 +msgid "Stereo Receiver" +msgstr "Receptor estéreo" + +#: ../homedecor/electronics.lua:66 +msgid "Projection Screen Material" +msgstr "Material para pantalla de proyección" + +#: ../homedecor/electronics.lua:82 +msgid "Small CRT Television" +msgstr "Televisión CRT pequeña" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "DVD y reproductor de vídeo" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "Teléfono" + +#: ../homedecor/lighting.lua:73 +msgid "Thick Glowlight (@1)" +msgstr "Luz brillante gruesa (@1)" + +#: ../homedecor/lighting.lua:91 +msgid "Thin Glowlight (@1)" +msgstr "Luz brillante fina (@1)" + +#: ../homedecor/lighting.lua:111 +msgid "Small Glowlight Cube (@1)" +msgstr "Cubo pequeño de luz brillante (@1)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "Lámpara de plasma" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "Bola de plasma" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "Vela gruesa" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "Vela fina" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "Candelero (hierro forjado)" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "Candelero (latón)" + +#: ../homedecor/lighting.lua:254 +msgid "Wall sconce" +msgstr "Candelabro de pared" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "Lámpara de aceite (huracán)" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "Lámpara de aceite de mesa" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "Linterna de piso" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "Linterna colgante" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "Linterna enrejada (grande)" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "Linterna enrejada (pequeña)" + +#: ../homedecor/lighting.lua:426 +msgid "Table Lamp (@1)" +msgstr "Lámpara de mesa (@1)" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "Lámpara de pié" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "Lámpara de escritorio (@1)" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "Lámpara de techo" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "Lámpara de techo (apagada)" + +#: ../homedecor/fences.lua:31 +msgid "Fence/railing (@1)" +msgstr "Cerca/barandilla (@1)" + +#: ../homedecor/fences.lua:43 +msgid "Fence/railing with sign (@1)" +msgstr "Cerca/barandilla con letrero (@1)" + +#: ../homedecor/fences.lua:71 +msgid "Unpainted Picket Fence" +msgstr "Cerca de piquete sin pintar" + +#: ../homedecor/fences.lua:87 +msgid "Unpainted Picket Fence Corner" +msgstr "Esquina de cerca de piquete sin pintar" + +#: ../homedecor/fences.lua:103 +msgid "White Picket Fence" +msgstr "Cerca de piquete blanca" + +#: ../homedecor/fences.lua:119 +msgid "White Picket Fence Corner" +msgstr "Esquina de cerca de piquete blanca" + +#: ../homedecor/fences.lua:135 +msgid "Wooden Privacy Fence" +msgstr "Cerca de privacidad de madera" + +#: ../homedecor/fences.lua:159 +msgid "Wooden Privacy Fence Corner" +msgstr "Esquina de cerca de privacidad de madera" + +#: ../homedecor/fences.lua:194 +msgid "Barbed Wire Fence" +msgstr "Cerca de alambre de espino" + +#: ../homedecor/fences.lua:204 +msgid "Barbed Wire Fence Corner" +msgstr "Esquina de cerca de alambre de espino" + +#: ../homedecor/fences.lua:214 +msgid "Chainlink Fence" +msgstr "Cerca de eslabón de cadena" + +#: ../homedecor/fences.lua:232 +msgid "Chainlink Fence Corner" +msgstr "Esquina de cerca de eslabón de cadena" + +#: ../homedecor/fences.lua:249 +msgid "Wrought Iron fence (type 2)" +msgstr "Cerca de hierro forjado (tipo 2)" + +#: ../homedecor/fences.lua:276 +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Esquina de cerca de hierro forjado (tipo 2)" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "roble sin pintar" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "verde bosque" + +#: ../homedecor/shutters.lua:11 +msgid "light blue" +msgstr "azul claro" + +#: ../homedecor/shutters.lua:35 +msgid "Wooden Shutter (@1)" +msgstr "Postigo de madera (@1)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "Barbacoa" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "Banco de jardín (estilo 1)" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "Banco de jardín (estilo 2)" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +msgid "Deck Chair" +msgstr "Tumbona" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "Casa de perros" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "Banco simple" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "Camino de piedra de jardín" + +#: ../homedecor/exterior.lua:194 +msgid "white wood" +msgstr "madera blanca" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "madera, con vegetación" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "madera blanca, con vegetación" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "Enrejado de jardín (@1)" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "Columpio" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "Pozo de agua" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "Arbustos (@1)" + +#: ../homedecor/bathroom_sanitation.lua:17 +msgid "Toilet" +msgstr "Inodoro" + +#: ../homedecor/bathroom_sanitation.lua:68 +msgid "Toilet paper" +msgstr "Papel higiénico" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "Lavabo de baño" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "Grifo de baño" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "Grifo de baño (latón)" + +#: ../homedecor/bathroom_sanitation.lua:185 +msgid "Shower Tray" +msgstr "Plato de ducha" + +#: ../homedecor/bathroom_sanitation.lua:225 +msgid "Shower Head" +msgstr "Ducha" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "Artículos de baño" + +#: ../homedecor/climate-control.lua:6 +msgid "Air Conditioner" +msgstr "Acondicionador de aire" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "Ventilador de escritorio" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "Ventilador de techo" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "Calentador de espacios" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "Radiador" + +#: ../homedecor/doors_and_gates.lua:124 +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Puerta de armario de caoba (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:129 +msgid "Oak Closet Door (@1 opening)" +msgstr "Puerta de armario de roble (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:134 +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Puerta de madera/cristal de lujo (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:144 +msgid "Glass Office Door (@1 opening)" +msgstr "Vídrio de cristal de oficina (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:149 +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vídrio y madera, color roble (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:158 +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vídrio y madera, color caoba (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:167 +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vídrio y madera, blanca (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:176 +msgid "Plain Wooden Door (@1 opening)" +msgstr "Puerta de madera lisa (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "Puerta de habitación blanca (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:186 +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Portón de hierro forjado (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "Puerta de madera con inserto de vídrio (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "Puerta de madera con inserto de vídrio, tipo 2 (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "left" +msgstr "izquierda" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "right" +msgstr "derecha" + +#: ../homedecor/doors_and_gates.lua:296 +msgid "Unpainted Picket Fence Gate" +msgstr "Cerca de piquete sin pintar" + +#: ../homedecor/doors_and_gates.lua:297 +msgid "White Picket Fence Gate" +msgstr "Cerca de piquete blanca" + +#: ../homedecor/doors_and_gates.lua:298 +msgid "Barbed Wire Fence Gate" +msgstr "Cerca de alambre de espino" + +#: ../homedecor/doors_and_gates.lua:299 +msgid "Chainlink Fence Gate" +msgstr "Cerca de eslabón de cadena" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "Pared japonesa (parte más alta)" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "Pared japonesa" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "Pared japonesa (parte más baja)" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "Tatami" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "Puerta estilo japonés" + +#: ../homedecor/init.lua:133 +msgid "Loaded!" +msgstr "¡Cargado!" + +#: ../homedecor/misc-nodes.lua:7 +msgid "Textured Ceiling Paint" +msgstr "Pintura de techo con textura" + +#: ../homedecor/misc-nodes.lua:19 +msgid "Drop-Ceiling Tile" +msgstr "Azulejo de techo" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "pequeño" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "grande" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "persa" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "Tapete (@1)" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "Maceta (@1)" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "Rosa" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "Tulipán" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "Diente de león amarillo" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "Diente de león blanco" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "Geranio azul" + +#: ../homedecor/misc-nodes.lua:90 +msgid "Viola" +msgstr "Viola" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "Cacto" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "Bonsai" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "Flor en maceta (@1)" + +#: ../homedecor/misc-nodes.lua:127 +msgid "Brass Pole" +msgstr "Poste de latón" + +#: ../homedecor/misc-nodes.lua:145 +msgid "Wrought Iron Pole" +msgstr "Poste de hierro forjado" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "Estanque para peces" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "Estanque para peces (iliminado)" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "Caja de cartón (grande)" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "Caja de cartón" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "Gabinete de CDs/DVDs" + +#: ../homedecor/misc-nodes.lua:273 +msgid "Pool Table" +msgstr "Mesa de pool" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "Piano" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "Trofeo" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "Banco deportivo" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "Patineta" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "Mesa de trabajo y gabinete en hierro" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "Marco de fotografía" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "Pintura decorativa nº@1" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "mesada oscura" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "diagonal" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "horizontal" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "Barandilla para escaleras (@1, @2)" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "no hay suficiente espacio" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "Mesa cuadrada pequeña de vídrio" + +#: ../homedecor/tables.lua:8 +msgid "Small round glass table" +msgstr "Mesa redonda pequeña de vídrio" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "Mesa grande de vídrio" + +#: ../homedecor/tables.lua:12 +msgid "Small square wooden table" +msgstr "Mesa cuadrada pequeña de madera" + +#: ../homedecor/tables.lua:13 +msgid "Small round wooden table" +msgstr "Mesa redonda pequeña de madera" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "Mesa grande de madera" + +#: ../homedecor/tables.lua:134 +msgid "Utility Table" +msgstr "Mesa utilitaria" + +#: ../homedecor/tables.lua:173 +msgid "Table Legs (@1)" +msgstr "Patas de mesa (@1)" + +#: ../homedecor/tables.lua:189 +msgid "Legs for Utility Table" +msgstr "Patas para mesa utilitaria" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "Libro (@1)" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "@1 ha escrito en un libro (título: \"@2\"): \"@3\" en la ubicación @4" + +#: ../homedecor/furniture.lua:4 +msgid "Table" +msgstr "Mesa" + +#: ../homedecor/furniture.lua:5 +msgid "Mahogany Table" +msgstr "Mesa de caoba" + +#: ../homedecor/furniture.lua:6 +msgid "White Table" +msgstr "Mesa blanca" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "liso" + +#: ../homedecor/furniture.lua:77 +msgid "Kitchen chair (@1)" +msgstr "Silla de cocina (@1)" + +#: ../homedecor/furniture.lua:93 +msgid "Armchair (@1)" +msgstr "Sillón (@1)" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "Estante para libros (abierto)" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "Estante" + +#: ../homedecor/handlers/inventory.lua:87 +msgid "@1 moves stuff in @2 at @3" +msgstr "@1 mueve cosas en @2 en @3" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "@1 mueve @2 a @3 en @4" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "@1 toma @2 desde @3 en @4" + +#: ../homedecor/handlers/inventory.lua:110 +msgid "@1 (owned by @2)" +msgstr "@1 (propiedad de @2)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "@1 intentó acceder a @2 perteneciente a @3 en @4" + +#: ../homedecor/handlers/inventory.lua:173 +msgid "@1 (Locked)" +msgstr "@1 (Cerrado)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "Horno" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "@1 (vacía)" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "@1 (activo)" + +#: ../homedecor/handlers/furnaces.lua:234 +msgid "@1 (active: @2%)" +msgstr "@1 (activo: @2%)" + +#: ../homedecor/handlers/furnaces.lua:254 +msgid "@1 (out of fuel)" +msgstr "@1 (sin combustible)" + +#: ../homedecor/handlers/furnaces.lua:270 +msgid "@1 (output bins are full)" +msgstr "@1 (output bins are full)" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +msgid "Filing cabinet" +msgstr "Archivador" + +#: ../homedecor/bathroom_furniture.lua:5 +msgid "white/grey" +msgstr "blanco/gris" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "blanco/gris oscuro" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "blanco/negro" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "negro/gris oscuro" + +#: ../homedecor/bathroom_furniture.lua:9 +msgid "white/red" +msgstr "blanco/rojo" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "blanco/verde" + +#: ../homedecor/bathroom_furniture.lua:11 +msgid "white/blue" +msgstr "blanco/azul" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "blanco/amarillo" + +#: ../homedecor/bathroom_furniture.lua:13 +msgid "white/tan" +msgstr "blanco/marrón" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "Azulejo de baño/cocina (@1)" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "Toallero con toalla" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +msgid "Medicine cabinet" +msgstr "Gabinete de medicinas" diff --git a/homedecor/locale/fr.po b/homedecor/locale/fr.po new file mode 100644 index 00000000..5fc61e39 --- /dev/null +++ b/homedecor/locale/fr.po @@ -0,0 +1,1438 @@ +# French translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Calinou \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +#, fuzzy +msgid "Plastic sheet" +msgstr "Bout de plastique" + +#: ../computer/miscitems.lua:18 +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Base de plastique non transformée" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +msgid "black" +msgstr "" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +#, fuzzy +msgid "blue" +msgstr "bleues" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +msgid "dark grey" +msgstr "" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +#, fuzzy +msgid "dark green" +msgstr "vertes" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +#, fuzzy +msgid "green" +msgstr "vertes" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +#, fuzzy +msgid "pink" +msgstr "roses" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +#, fuzzy +msgid "red" +msgstr "rouges" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +#, fuzzy +msgid "violet" +msgstr "violettes" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +#, fuzzy +msgid "white" +msgstr "blanches" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua:161 +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Table de chevet en chêne avec un tiroir" + +#: ../homedecor/bedroom.lua:182 +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Table de chevet avec un tiroir" + +#: ../homedecor/bedroom.lua:190 +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Table de chevet en chêne avec deux tiroirs" + +#: ../homedecor/bedroom.lua:208 +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Table de chevet avec deux tiroirs" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Meuble de cuisine" + +#: ../homedecor/kitchen_furniture.lua:18 +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Meuble de cuisine" + +#: ../homedecor/kitchen_furniture.lua:42 +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Meuble de cuisine réduit en hauteur (sur le plafond)" + +#: ../homedecor/kitchen_furniture.lua:63 +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Meuble de cuisine avec lavabo" + +#: ../homedecor/kitchen_furniture.lua:73 +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Meuble sous évier" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:5 +msgid "Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:27 +msgid "Binding Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:51 +msgid "Chains" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:62 +msgid "Wall Torch" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:94 +msgid "Wall Lamp" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:12 +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Réfrégirateur" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +#, fuzzy +msgid "Refrigerator" +msgstr "Réfrégirateur" + +#: ../homedecor/kitchen_appliances.lua:60 +#, fuzzy +msgid "Oven" +msgstr "Four" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:76 +msgid "Microwave Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:7 +#, fuzzy +msgid "Glass Skylight" +msgstr "Verre" + +#: ../homedecor/roofing.lua:19 +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Verre" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +#, fuzzy +msgid "terracotta" +msgstr "Tuile en terre cuite" + +#: ../homedecor/roofing.lua:33 +#, fuzzy +msgid "Shingles (@1)" +msgstr "Bardeaux de bois" + +#: ../homedecor/roofing.lua:87 +msgid "@1 (outer corner)" +msgstr "" + +#: ../homedecor/roofing.lua:109 +msgid "@1 (inner corner)" +msgstr "" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +#, fuzzy +msgid "Wood Shingles" +msgstr "Bardeaux de bois" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Bardeaux d'asphalte" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Tuile en terre cuite" + +#: ../homedecor/roofing.lua:307 +#, fuzzy +msgid "Glass Shingles" +msgstr "Bardeaux d'asphalte" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua:72 +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Lampe blanche (épaisse)" + +#: ../homedecor/window_treatments.lua:91 +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +#, fuzzy +msgid "Curtains (@1)" +msgstr "Volets (%s)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +#, fuzzy +msgid "wrought iron" +msgstr "Barre de fer forgé" + +#: ../homedecor/window_treatments.lua:175 +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Volets (%s)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua:10 +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Base de terre non cuite" + +#: ../homedecor/crafts.lua:15 +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Tuile de toit en terre cuite" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua:25 +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Base de plastique non transformée" + +#: ../homedecor/crafts.lua:37 +#, fuzzy +msgid "Plastic strips" +msgstr "Bout de plastique" + +#: ../homedecor/crafts.lua:42 +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Petit tiroir en bois" + +#: ../homedecor/crafts.lua:47 +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Circuit intégré simple" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:117 +#, fuzzy +msgid "Brass chainlink" +msgstr "Barrière en laiton" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua:137 +#, fuzzy +msgid "Silicon lump" +msgstr "Silicone" + +#: ../homedecor/crafts.lua:154 +#, fuzzy +msgid "Brass Ingot" +msgstr "Lingot de laiton" + +#: ../homedecor/crafts.lua:3330 +#, fuzzy +msgid "Small Flower Pot" +msgstr "Pot de fleur en plastique noir" + +#: ../homedecor/electronics.lua:6 +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Grand haut-parleur stéréo" + +#: ../homedecor/electronics.lua:20 +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Grand haut-parleur stéréo" + +#: ../homedecor/electronics.lua:41 +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/electronics.lua:54 +#, fuzzy +msgid "Stereo Receiver" +msgstr "Récepteur stéréo" + +#: ../homedecor/electronics.lua:66 +#, fuzzy +msgid "Projection Screen Material" +msgstr "Matériel pour projecteur" + +#: ../homedecor/electronics.lua:82 +#, fuzzy +msgid "Small CRT Television" +msgstr "Petite télévision à tube cathodique" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua:73 +#, fuzzy +msgid "Thick Glowlight (@1)" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/lighting.lua:91 +#, fuzzy +msgid "Thin Glowlight (@1)" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/lighting.lua:111 +#, fuzzy +msgid "Small Glowlight Cube (@1)" +msgstr "Lampe jaune (petit cube)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua:254 +msgid "Wall sconce" +msgstr "" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua:426 +msgid "Table Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua:31 +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Barrière en laiton" + +#: ../homedecor/fences.lua:43 +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Barrière en laiton avec pancarte" + +#: ../homedecor/fences.lua:71 +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Barrière en piquets non peinte" + +#: ../homedecor/fences.lua:87 +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Barrière en piquets non peinte" + +#: ../homedecor/fences.lua:103 +#, fuzzy +msgid "White Picket Fence" +msgstr "Barrière en piquets blanche" + +#: ../homedecor/fences.lua:119 +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Barrière en piquets blanche" + +#: ../homedecor/fences.lua:135 +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Barrière en bois" + +#: ../homedecor/fences.lua:159 +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Barrière en bois" + +#: ../homedecor/fences.lua:194 +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Barrière en fil barbelé" + +#: ../homedecor/fences.lua:204 +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Barrière en fil barbelé" + +#: ../homedecor/fences.lua:214 +#, fuzzy +msgid "Chainlink Fence" +msgstr "Grillage" + +#: ../homedecor/fences.lua:232 +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Grillage" + +#: ../homedecor/fences.lua:249 +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Barrière en fer forgé" + +#: ../homedecor/fences.lua:276 +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Barrière en fer forgé" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua:11 +#, fuzzy +msgid "light blue" +msgstr "droite" + +#: ../homedecor/shutters.lua:35 +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Volet en bois (rouge)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +msgid "Deck Chair" +msgstr "" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua:194 +#, fuzzy +msgid "white wood" +msgstr "blanches" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:17 +msgid "Toilet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:68 +msgid "Toilet paper" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:185 +msgid "Shower Tray" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:225 +msgid "Shower Head" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua:6 +msgid "Air Conditioner" +msgstr "" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:124 +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porte en bois d'acajou" + +#: ../homedecor/doors_and_gates.lua:129 +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Porte en bois de chêne" + +#: ../homedecor/doors_and_gates.lua:134 +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porte artistique en bois et verre" + +#: ../homedecor/doors_and_gates.lua:144 +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Porte en verre" + +#: ../homedecor/doors_and_gates.lua:149 +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Porte couleur chêne en bois et verre" + +#: ../homedecor/doors_and_gates.lua:158 +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Porte couleur acajou en bois et verre" + +#: ../homedecor/doors_and_gates.lua:167 +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Porte blanche en bois et verre" + +#: ../homedecor/doors_and_gates.lua:176 +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porte en bois simple" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:186 +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Barrière en fer forgé" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "left" +msgstr "gauche" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "right" +msgstr "droite" + +#: ../homedecor/doors_and_gates.lua:296 +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Porte de barrière en piquets non peinte" + +#: ../homedecor/doors_and_gates.lua:297 +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Porte de barrière en piquets blanche" + +#: ../homedecor/doors_and_gates.lua:298 +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Porte de barrière en fil barbelé" + +#: ../homedecor/doors_and_gates.lua:299 +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Porte de grillage" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/init.lua:133 +#, fuzzy +msgid "Loaded!" +msgstr "Chargé !" + +#: ../homedecor/misc-nodes.lua:7 +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Papier peint avec motif pour plafond" + +#: ../homedecor/misc-nodes.lua:19 +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Dalle suspendue au plafond" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua:90 +msgid "Viola" +msgstr "" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:127 +#, fuzzy +msgid "Brass Pole" +msgstr "Barre en laiton" + +#: ../homedecor/misc-nodes.lua:145 +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Barre de fer forgé" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua:273 +msgid "Pool Table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua:8 +#, fuzzy +msgid "Small round glass table" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/tables.lua:9 +#, fuzzy +msgid "Large glass table piece" +msgstr "Grand bout de verre de table" + +#: ../homedecor/tables.lua:12 +#, fuzzy +msgid "Small square wooden table" +msgstr "Petit tiroir en bois" + +#: ../homedecor/tables.lua:13 +#, fuzzy +msgid "Small round wooden table" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/tables.lua:14 +#, fuzzy +msgid "Large wooden table piece" +msgstr "Bout de dessus de table" + +#: ../homedecor/tables.lua:134 +#, fuzzy +msgid "Utility Table" +msgstr "Table basse" + +#: ../homedecor/tables.lua:173 +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Pieds de table en laiton" + +#: ../homedecor/tables.lua:189 +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Pieds pour table basse" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua:4 +msgid "Table" +msgstr "" + +#: ../homedecor/furniture.lua:5 +#, fuzzy +msgid "Mahogany Table" +msgstr "Porte en bois d'acajou" + +#: ../homedecor/furniture.lua:6 +#, fuzzy +msgid "White Table" +msgstr "Table basse" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua:77 +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Meuble de cuisine" + +#: ../homedecor/furniture.lua:93 +msgid "Armchair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:87 +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s déplace des objets dans une table de chevet à %s" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:110 +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (propriété de %s)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s a essayé d'accéder à %s qui est propriété de %s à %s" + +#: ../homedecor/handlers/inventory.lua:173 +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (verrouillé)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:234 +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:254 +#, fuzzy +msgid "@1 (out of fuel)" +msgstr "Four sans carburant" + +#: ../homedecor/handlers/furnaces.lua:270 +msgid "@1 (output bins are full)" +msgstr "" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +#, fuzzy +msgid "Filing cabinet" +msgstr "Meuble sous évier" + +#: ../homedecor/bathroom_furniture.lua:5 +#, fuzzy +msgid "white/grey" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:9 +#, fuzzy +msgid "white/red" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:11 +#, fuzzy +msgid "white/blue" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:13 +#, fuzzy +msgid "white/tan" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +#, fuzzy +msgid "Medicine cabinet" +msgstr "Meuble sous évier" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s déplace des objets dans un meuble de cuisine à %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s édplace des objets vers un meuble de cuisine à %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s prend des objets d'un meuble de cuisine à %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(partie supérieur, charnière à %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(charnière à %s)" + +#~ msgid "Not enough vertical space to place a door! " +#~ msgstr "Pas assez d'espace vertical pour placer une porte !" + +#~ msgid "Bucket of white paint " +#~ msgstr "Seau de peinture blanche" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Pieds pour table basse" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Dioxide de titane" + +#~ msgid "Chainlink Fence Gate (open) " +#~ msgstr "Porte de grillage (ouverte)" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Barrière en fer forgé avec pancarte" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "veut simplement placer l'objet comme d'habitude." + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Table en verre (petite, ronde)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Table en verre (petite, carrée)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Pot de fleur en plastique vert" + +#~ msgid "Large Area Rug " +#~ msgstr "Grande couverture" + +#~ msgid "Small Throw Rug " +#~ msgstr "Petite couverture" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Pot de fleur en terre cuite" + +#~ msgid "Utility table mk2 " +#~ msgstr "Table basse MK2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Volet en bois (noir)" + +#~ msgid "Wooden Shutter (Dark Grey) " +#~ msgstr "Volet en bois (gris foncé)" + +#~ msgid "Wooden Shutter (Forest Green) " +#~ msgstr "Volet en bois (vert foncé)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Volet en bois (gris)" + +#~ msgid "Wooden Shutter (Light Blue) " +#~ msgstr "Volet en bois (bleu clair)" + +#~ msgid "Wooden Shutter (Purple) " +#~ msgstr "Volet en bois (violet)" + +#~ msgid "Wooden Shutter (Unpainted Mahogany) " +#~ msgstr "Volet en bois (acajou non peint)" + +#~ msgid "Wooden Shutter (Unpainted Oak) " +#~ msgstr "Volet en bois (chêne non peint)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Volet en bois (blanc)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Volet en bois (jaune)" + +#~ msgid "Wooden Tabletop (Small, Round) " +#~ msgstr "Dessus de table (petit, rond)" + +#~ msgid "Wooden Tabletop (Small, Square) " +#~ msgstr "Dessus de table (petit, carré)" + +#~ msgid "someone " +#~ msgstr "quelqu'un" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Désolé, %s est propriétaire de cette zone." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Lampe blanche (petit cube)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Lampe blanche (petit cube, sur le plafond)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Lampe blanche (épaisse, sur le mur)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Lampe blanche (fine, sur le mur)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Lampe jaune (petit cube, sur le plafond)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Lampe jaune (épaisse)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Lampe jaune (épaisse, sur le mur)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Lampe jaune (fine)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Lampe jaune (fine, sur le mur)" + +#~ msgid "Locked Cabinet " +#~ msgstr "Meuble verrouillé" + +#~ msgid "Locked Nightstand " +#~ msgstr "Table de chevet verrouillée" + +#~ msgid "Locked Fridge " +#~ msgstr "Réfrégirateur verrouillé" + +#~ msgid "Locked Oven " +#~ msgstr "Four verrouillé" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Table de chevet en acajou avec un tiroir" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Table de chevet en acajou avec deux tiroirs" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s déplace des objets vers une table de chevet à %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s prend des objets d'une table de chevet à %s" + +#~ msgid "Oven active: %d%% " +#~ msgstr "Four actif : %d%%" + +#~ msgid "Oven is empty " +#~ msgstr "Four vide" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s déplace des objets dans un réfrégirateur à %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s déplace des objets vers un réfrégirateur à %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s prend des objets d'un réfrégirateur à %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Pas assez d'espace vertical pour placer un réfrégirateur !" + +#~ msgid "E: character map file not found " +#~ msgstr "E: fichier de table de caractère non trouvé" + +#~ msgid "W: unknown symbol in '%s' at %d (probably %s) " +#~ msgstr "A: symbole inconnu dans '%s' dans %d (probablement %s)" diff --git a/homedecor/locale/it.po b/homedecor/locale/it.po new file mode 100644 index 00000000..0b4a4390 --- /dev/null +++ b/homedecor/locale/it.po @@ -0,0 +1,1512 @@ +# Italian translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Emon \n" +"Language-Team: Italian\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +#, fuzzy +msgid "Plastic sheet" +msgstr "Foglio di plastica" + +#: ../computer/miscitems.lua:18 +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Base non lavorata di plastica" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +#, fuzzy +msgid "black" +msgstr "nero" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +#, fuzzy +msgid "blue" +msgstr "blu" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +#, fuzzy +msgid "dark grey" +msgstr "verde scuro" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +#, fuzzy +msgid "dark green" +msgstr "verde scuro" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +#, fuzzy +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +#, fuzzy +msgid "red" +msgstr "rosso" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +#, fuzzy +msgid "violet" +msgstr "viola" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +#, fuzzy +msgid "white" +msgstr "bianco" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua:161 +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Comodino in quercia con un cassetto" + +#: ../homedecor/bedroom.lua:182 +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Comodino a singolo cassetto" + +#: ../homedecor/bedroom.lua:190 +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Comodino in quercia con due cassetti" + +#: ../homedecor/bedroom.lua:208 +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Comodino a doppio cassetto" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Armadietto della cucina" + +#: ../homedecor/kitchen_furniture.lua:18 +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Armadietto della cucina" + +#: ../homedecor/kitchen_furniture.lua:42 +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Armadietto della cucina di altezza dimezzata (sul soffitto)" + +#: ../homedecor/kitchen_furniture.lua:63 +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Armadietto della cucina con il lavandino" + +#: ../homedecor/kitchen_furniture.lua:73 +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Armadietto sotto il lavandino" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:5 +#, fuzzy +msgid "Bars" +msgstr "Sbarre" + +#: ../homedecor/furniture_medieval.lua:27 +#, fuzzy +msgid "Binding Bars" +msgstr "Ceppi" + +#: ../homedecor/furniture_medieval.lua:51 +#, fuzzy +msgid "Chains" +msgstr "Catene" + +#: ../homedecor/furniture_medieval.lua:62 +#, fuzzy +msgid "Wall Torch" +msgstr "Torcia a muro" + +#: ../homedecor/furniture_medieval.lua:94 +#, fuzzy +msgid "Wall Lamp" +msgstr "Lampada da tavolo" + +#: ../homedecor/kitchen_appliances.lua:12 +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Frigorifero" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +#, fuzzy +msgid "Refrigerator" +msgstr "Frigorifero" + +#: ../homedecor/kitchen_appliances.lua:60 +#, fuzzy +msgid "Oven" +msgstr "Forno" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:76 +#, fuzzy +msgid "Microwave Oven" +msgstr "Forno a microonde" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:7 +#, fuzzy +msgid "Glass Skylight" +msgstr "Lucernario di vetro" + +#: ../homedecor/roofing.lua:19 +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Lucernario di vetro satinato" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +#, fuzzy +msgid "terracotta" +msgstr "Tegole di terracotta" + +#: ../homedecor/roofing.lua:33 +#, fuzzy +msgid "Shingles (@1)" +msgstr "Tegole in legno" + +#: ../homedecor/roofing.lua:87 +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Tegole in legno (angolo esterno)" + +#: ../homedecor/roofing.lua:109 +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Tegole in legno (angolo interno)" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +#, fuzzy +msgid "Wood Shingles" +msgstr "Tegole in legno" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Mattonelle di asfalto" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Tegole di terracotta" + +#: ../homedecor/roofing.lua:307 +#, fuzzy +msgid "Glass Shingles" +msgstr "Mattonelle di asfalto" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua:72 +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Luce fosforescente bianca (spessa)" + +#: ../homedecor/window_treatments.lua:91 +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +#, fuzzy +msgid "Curtains (@1)" +msgstr "Tende (%s)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +#, fuzzy +msgid "wrought iron" +msgstr "Palo di ferro battuto" + +#: ../homedecor/window_treatments.lua:175 +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Tende (%s)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua:10 +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Base cruda di terracotta" + +#: ../homedecor/crafts.lua:15 +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Tegole di terracotta" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua:25 +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Base non lavorata di plastica" + +#: ../homedecor/crafts.lua:37 +#, fuzzy +msgid "Plastic strips" +msgstr "Foglio di plastica" + +#: ../homedecor/crafts.lua:42 +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Bauletto in legno" + +#: ../homedecor/crafts.lua:47 +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Circuito integrato semplice" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:117 +#, fuzzy +msgid "Brass chainlink" +msgstr "Recinzione di ottone/ringhiera" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua:137 +#, fuzzy +msgid "Silicon lump" +msgstr "Grumo di silicone" + +#: ../homedecor/crafts.lua:154 +#, fuzzy +msgid "Brass Ingot" +msgstr "Lingotto di ottone" + +#: ../homedecor/crafts.lua:3330 +#, fuzzy +msgid "Small Flower Pot" +msgstr "Vaso per fiori di plastica nera" + +#: ../homedecor/electronics.lua:6 +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Altoparlante stereo grande" + +#: ../homedecor/electronics.lua:20 +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Altoparlante stereo grande" + +#: ../homedecor/electronics.lua:41 +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/electronics.lua:54 +#, fuzzy +msgid "Stereo Receiver" +msgstr "Ricevitore stereo" + +#: ../homedecor/electronics.lua:66 +#, fuzzy +msgid "Projection Screen Material" +msgstr "Materiale per lo schermo di proiezione" + +#: ../homedecor/electronics.lua:82 +#, fuzzy +msgid "Small CRT Television" +msgstr "Piccola televisione a tubo catodico" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua:73 +#, fuzzy +msgid "Thick Glowlight (@1)" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/lighting.lua:91 +#, fuzzy +msgid "Thin Glowlight (@1)" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/lighting.lua:111 +#, fuzzy +msgid "Small Glowlight Cube (@1)" +msgstr "Luce fosforescente gialla (cubo piccolo)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua:254 +#, fuzzy +msgid "Wall sconce" +msgstr "Torcia a muro" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua:426 +#, fuzzy +msgid "Table Lamp (@1)" +msgstr "Lampada da tavolo" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua:31 +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Recinzione di ottone/ringhiera" + +#: ../homedecor/fences.lua:43 +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Recinzione di ottone/ringhiera con cartello" + +#: ../homedecor/fences.lua:71 +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Recinzione non verniciata di paletti" + +#: ../homedecor/fences.lua:87 +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Angolo della recinzione non verniciata di paletti" + +#: ../homedecor/fences.lua:103 +#, fuzzy +msgid "White Picket Fence" +msgstr "Recinzione di paletti bianca" + +#: ../homedecor/fences.lua:119 +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Angolo della recinzione di paletti bianca" + +#: ../homedecor/fences.lua:135 +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Recinzione di isolamento in legno" + +#: ../homedecor/fences.lua:159 +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Angolo della recinzione di isolamento in legno" + +#: ../homedecor/fences.lua:194 +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Recinzione di filo spinato" + +#: ../homedecor/fences.lua:204 +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Angolo della recinzione di filo spinato" + +#: ../homedecor/fences.lua:214 +#, fuzzy +msgid "Chainlink Fence" +msgstr "Rete metallica" + +#: ../homedecor/fences.lua:232 +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Angolo della rete metallica" + +#: ../homedecor/fences.lua:249 +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/fences.lua:276 +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua:11 +#, fuzzy +msgid "light blue" +msgstr "destra" + +#: ../homedecor/shutters.lua:35 +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Persiana in legno (rossa)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +#, fuzzy +msgid "Deck Chair" +msgstr "Sedia" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua:194 +#, fuzzy +msgid "white wood" +msgstr "bianco" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:17 +#, fuzzy +msgid "Toilet" +msgstr "Water" + +#: ../homedecor/bathroom_sanitation.lua:68 +#, fuzzy +msgid "Toilet paper" +msgstr "Water" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:185 +#, fuzzy +msgid "Shower Tray" +msgstr "Piatto della doccia" + +#: ../homedecor/bathroom_sanitation.lua:225 +#, fuzzy +msgid "Shower Head" +msgstr "Pigna della doccia" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua:6 +#, fuzzy +msgid "Air Conditioner" +msgstr "Condizionatore dell'aria" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:124 +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porta dell'armadio in mogano" + +#: ../homedecor/doors_and_gates.lua:129 +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Porta dell'armadio in quercia" + +#: ../homedecor/doors_and_gates.lua:134 +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porta decorativa in vetro e legno" + +#: ../homedecor/doors_and_gates.lua:144 +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Porta dell'ufficio in vetro" + +#: ../homedecor/doors_and_gates.lua:149 +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vetro e legno, color quercia" + +#: ../homedecor/doors_and_gates.lua:158 +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vetro e legno, color mogano" + +#: ../homedecor/doors_and_gates.lua:167 +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vetro e legno, bianca" + +#: ../homedecor/doors_and_gates.lua:176 +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porta in legno semplice" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:186 +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "left" +msgstr "sinistra" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "right" +msgstr "destra" + +#: ../homedecor/doors_and_gates.lua:296 +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Cancello della recinzione non verniciata di paletti" + +#: ../homedecor/doors_and_gates.lua:297 +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Cancello della recinzione di paletti bianca" + +#: ../homedecor/doors_and_gates.lua:298 +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Cancello della recinzione di filo spinato" + +#: ../homedecor/doors_and_gates.lua:299 +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Cancello della rete metallica" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/init.lua:133 +#, fuzzy +msgid "Loaded!" +msgstr "Caricato!" + +#: ../homedecor/misc-nodes.lua:7 +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Vernice con trama per il soffitto" + +#: ../homedecor/misc-nodes.lua:19 +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Piastrella del controsoffitto" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua:90 +#, fuzzy +msgid "Viola" +msgstr "viola" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:127 +#, fuzzy +msgid "Brass Pole" +msgstr "Palo di ottone" + +#: ../homedecor/misc-nodes.lua:145 +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Palo di ferro battuto" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua:273 +#, fuzzy +msgid "Pool Table" +msgstr "Tavolo" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua:8 +#, fuzzy +msgid "Small round glass table" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua:12 +#, fuzzy +msgid "Small square wooden table" +msgstr "Bauletto in legno" + +#: ../homedecor/tables.lua:13 +#, fuzzy +msgid "Small round wooden table" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua:134 +#, fuzzy +msgid "Utility Table" +msgstr "Tavolo di lavoro" + +#: ../homedecor/tables.lua:173 +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Gambe in ottone del tavolo" + +#: ../homedecor/tables.lua:189 +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Gambe per il tavolo da lavoro" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua:4 +#, fuzzy +msgid "Table" +msgstr "Tavolo" + +#: ../homedecor/furniture.lua:5 +#, fuzzy +msgid "Mahogany Table" +msgstr "Porta dell'armadio in mogano" + +#: ../homedecor/furniture.lua:6 +#, fuzzy +msgid "White Table" +msgstr "Tavolo di lavoro" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua:77 +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Armadietto della cucina" + +#: ../homedecor/furniture.lua:93 +#, fuzzy +msgid "Armchair (@1)" +msgstr "Poltrona (%s)" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:87 +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s sposta delle cose nel comodino alla posizione %s" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:110 +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (di proprietà di %s)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s ha provato ad accedere a %s di proprietà di %s alla posizione %s" + +#: ../homedecor/handlers/inventory.lua:173 +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (Con lucchetto)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:234 +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:254 +#, fuzzy +msgid "@1 (out of fuel)" +msgstr "Senza combustibile" + +#: ../homedecor/handlers/furnaces.lua:270 +#, fuzzy +msgid "@1 (output bins are full)" +msgstr "i contenitori sono pieni" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +#, fuzzy +msgid "Filing cabinet" +msgstr "Armadietto sotto il lavandino" + +#: ../homedecor/bathroom_furniture.lua:5 +#, fuzzy +msgid "white/grey" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:9 +#, fuzzy +msgid "white/red" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:11 +#, fuzzy +msgid "white/blue" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:13 +#, fuzzy +msgid "white/tan" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +#, fuzzy +msgid "Medicine cabinet" +msgstr "Armadietto sotto il lavandino" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s sposta delle cose nell'armadietto della cucina a %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s mette delle cose nell'armadietto della cucina a %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s prende delle cose nell'armadietto della cucina a %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Metà superiore, apertura a %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(apertura a %s)" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "Non c'è abbastanza spazio sopra quel punto per mettere una porta!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Secchio di vernice bianca" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Gambe per il tavolo da lavoro piccolo" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Biossido di titanio" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Recinzione/ringhiera in ferro battuto con cartello" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "vuole mettere l'oggetto impugnato come sempre." + +#~ msgid "Red " +#~ msgstr "rosso" + +#~ msgid "Pink " +#~ msgstr "rosa" + +#~ msgid "Blue " +#~ msgstr "blu" + +#~ msgid "Sink " +#~ msgstr "Lavandino" + +#~ msgid "Taps " +#~ msgstr "Rubinetti" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Mattonelle di asfalto (angolo esterno)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Mattonelle di asfalto (angolo interno)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Gambe in ferro battuto del tavolo" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Tavolo di vetro (piccolo, rotondo)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Tavolo di vetro (piccolo, quadrato)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Pezzo di tavolo di vetro (grande)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Vaso per fiori di plastica verde" + +#~ msgid "Large Area Rug " +#~ msgstr "Tappeto per aree grandi" + +#~ msgid "Small Throw Rug " +#~ msgstr "Tappetino" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Vaso per fiori in terracotta" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Tegole di terracotta (angolo esterno)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Tegole di terracotta (angolo interno)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Tavolo di lavoro mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Persiana in legno (nera)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Persiana in legno (grigia scura)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Persiana in legno (verde foresta)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Persiana in legno (grigia)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Persiana in legno (blu chiaro)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Persiana in legno (viola)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Persiana in legno (mogano)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Persiana in legno (quercia non verniciata)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Persiana in legno (bianca)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Persiana in legno (gialla)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Pezzo di tavolo in legno (grande)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Tavolo in legno (piccolo, rotondo)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Tavolo in legno (piccolo, quadrato)" + +#~ msgid "someone " +#~ msgstr "qualcuno" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Spiacente, quel punto è di proprietà di %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Luce fosforescente bianca (cubo piccolo)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Luce fosforescente bianca (cubo piccolo, sul soffitto)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Luce fosforescente bianca (spessa, a muro)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Luce fosforescente bianca (sottile, a muro)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Luce fosforescente gialla (cubo piccolo, sul soffitto)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Luce fosforescente gialla (spessa)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Luce fosforescente gialla (spessa, a muro)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Luce fosforescente gialla (sottile)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Luce fosforescente gialla (sottile, a muro)" + +#~ msgid "Locked Fridge " +#~ msgstr "Frigorifero con lucchetto" + +#~ msgid "Locked Cabinet " +#~ msgstr "Armadietto con lucchetto" + +#~ msgid "Locked Nightstand " +#~ msgstr "Comodino con lucchetto" + +#~ msgid "Locked Oven " +#~ msgstr "Forno con lucchetto" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Forno con lucchetto (attivo)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Forno a microonde con lucchetto" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Forno a microonde con lucchetto (attivo)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Comodino in mogano con un cassetto" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Comodino in mogano con due cassetti" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s mette delle cose nel comodino alla posizione %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s prende delle cose nel comodino alla posizione %s" + +#~ msgid "%s is empty " +#~ msgstr "%s è vuoto" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s sposta delle cose nel frigorifero alla posizione %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s mette delle cose nel comodino alla posizione %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s prende delle cose nel comodino alla posizione %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Non c'è abbastanza spazio verticale per mettere un frigorifero!" + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s ha scritto \"%s\" sul cartello alla posizione %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Lettura della banca dati dei caratteri nella cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Sembra che i caratteri siano cambiati. Ricostruzione della cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Non è stato possibile trovare l'altezza della riga del carattere nella " +#~ "banca dati nella cache." + +#~ msgid "Registered %s and %s " +#~ msgstr "Registrato %s e %s" + +#~ msgid "signs loaded " +#~ msgstr "cartelli caricati" diff --git a/homedecor/locale/ms.po b/homedecor/locale/ms.po new file mode 100644 index 00000000..bcdc5e4f --- /dev/null +++ b/homedecor/locale/ms.po @@ -0,0 +1,1512 @@ +# Malay translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: muhdnurhidayat \n" +"Language-Team: Malay\n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +#, fuzzy +msgid "Plastic sheet" +msgstr "Kepingan Plastik" + +#: ../computer/miscitems.lua:18 +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Bes Plastik Belum Diproses" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +#, fuzzy +msgid "black" +msgstr "Hitam" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +#, fuzzy +msgid "blue" +msgstr "biru" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +#, fuzzy +msgid "dark grey" +msgstr "Hijau Gelap" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +#, fuzzy +msgid "dark green" +msgstr "Hijau Gelap" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +#, fuzzy +msgid "green" +msgstr "hijau" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +#, fuzzy +msgid "pink" +msgstr "merah jambu" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +#, fuzzy +msgid "red" +msgstr "merah" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +#, fuzzy +msgid "violet" +msgstr "ungu" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +#, fuzzy +msgid "white" +msgstr "putih" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua:161 +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Kabinet Katil Oak dengan Satu Laci" + +#: ../homedecor/bedroom.lua:182 +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Kabinet Katil Laci Satu" + +#: ../homedecor/bedroom.lua:190 +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Kabinet Katil Oak dengan Dua Laci" + +#: ../homedecor/bedroom.lua:208 +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Kabinet Katil Laci Dua" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Kabinet Dapur" + +#: ../homedecor/kitchen_furniture.lua:18 +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Kabinet Dapur" + +#: ../homedecor/kitchen_furniture.lua:42 +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Kabinet Dapur Separuh (atas siling)" + +#: ../homedecor/kitchen_furniture.lua:63 +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Kabinet Dapur dengan Sinki" + +#: ../homedecor/kitchen_furniture.lua:73 +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Kabinet Bawah Sinki" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:5 +#, fuzzy +msgid "Bars" +msgstr "Palang" + +#: ../homedecor/furniture_medieval.lua:27 +#, fuzzy +msgid "Binding Bars" +msgstr "Palang Bersambung" + +#: ../homedecor/furniture_medieval.lua:51 +#, fuzzy +msgid "Chains" +msgstr "Rantai" + +#: ../homedecor/furniture_medieval.lua:62 +#, fuzzy +msgid "Wall Torch" +msgstr "Obor Dinding" + +#: ../homedecor/furniture_medieval.lua:94 +#, fuzzy +msgid "Wall Lamp" +msgstr "Lampu Meja" + +#: ../homedecor/kitchen_appliances.lua:12 +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Peti Sejuk" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +#, fuzzy +msgid "Refrigerator" +msgstr "Peti Sejuk" + +#: ../homedecor/kitchen_appliances.lua:60 +#, fuzzy +msgid "Oven" +msgstr "Ketuhar" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:76 +#, fuzzy +msgid "Microwave Oven" +msgstr "Ketuhar Gelombang Mikro" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:7 +#, fuzzy +msgid "Glass Skylight" +msgstr "Bumbung Kaca" + +#: ../homedecor/roofing.lua:19 +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Bumbung Kaca Berkabut" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +#, fuzzy +msgid "terracotta" +msgstr "Genting Terracotta" + +#: ../homedecor/roofing.lua:33 +#, fuzzy +msgid "Shingles (@1)" +msgstr "Genting Kayu" + +#: ../homedecor/roofing.lua:87 +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Genting Kayu (bucu luar)" + +#: ../homedecor/roofing.lua:109 +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Genting Kayu (bucu dalam)" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +#, fuzzy +msgid "Wood Shingles" +msgstr "Genting Kayu" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Genting Asfalt" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Genting Terracotta" + +#: ../homedecor/roofing.lua:307 +#, fuzzy +msgid "Glass Shingles" +msgstr "Genting Asfalt" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua:72 +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Lampu Bara Putih (tebal)" + +#: ../homedecor/window_treatments.lua:91 +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +#, fuzzy +msgid "Curtains (@1)" +msgstr "Langsir (%s)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +#, fuzzy +msgid "wrought iron" +msgstr "Tiang Besi Tempaan" + +#: ../homedecor/window_treatments.lua:175 +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Langsir (%s)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua:10 +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Bes Terracotta Belum Dimasak" + +#: ../homedecor/crafts.lua:15 +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Genting Bumbung Terracotta" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua:25 +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Bes Plastik Belum Diproses" + +#: ../homedecor/crafts.lua:37 +#, fuzzy +msgid "Plastic strips" +msgstr "Kepingan Plastik" + +#: ../homedecor/crafts.lua:42 +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Laci Kayu Kecil" + +#: ../homedecor/crafts.lua:47 +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Litar Bersepadu Ringkas" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:117 +#, fuzzy +msgid "Brass chainlink" +msgstr "Pagar/Kisi-kisi Loyang" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua:137 +#, fuzzy +msgid "Silicon lump" +msgstr "Ketulan Silikon" + +#: ../homedecor/crafts.lua:154 +#, fuzzy +msgid "Brass Ingot" +msgstr "Jongkong Loyang" + +#: ../homedecor/crafts.lua:3330 +#, fuzzy +msgid "Small Flower Pot" +msgstr "Pasu Bunga Plastik Hitam" + +#: ../homedecor/electronics.lua:6 +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Pembesar Suara Stereo Besar" + +#: ../homedecor/electronics.lua:20 +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Pembesar Suara Stereo Besar" + +#: ../homedecor/electronics.lua:41 +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/electronics.lua:54 +#, fuzzy +msgid "Stereo Receiver" +msgstr "Penerima Stereo" + +#: ../homedecor/electronics.lua:66 +#, fuzzy +msgid "Projection Screen Material" +msgstr "Bahan Skrin Pemancaran" + +#: ../homedecor/electronics.lua:82 +#, fuzzy +msgid "Small CRT Television" +msgstr "Televisyen CRT Kecil" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua:73 +#, fuzzy +msgid "Thick Glowlight (@1)" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/lighting.lua:91 +#, fuzzy +msgid "Thin Glowlight (@1)" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/lighting.lua:111 +#, fuzzy +msgid "Small Glowlight Cube (@1)" +msgstr "Lampu Bara Kuning (kiub kecil)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua:254 +#, fuzzy +msgid "Wall sconce" +msgstr "Obor Dinding" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua:426 +#, fuzzy +msgid "Table Lamp (@1)" +msgstr "Lampu Meja" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua:31 +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Pagar/Kisi-kisi Loyang" + +#: ../homedecor/fences.lua:43 +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Pagar/Kisi-kisi Loyang dengan Papan Tanda" + +#: ../homedecor/fences.lua:71 +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Pagar Pancang Tidak Bercat" + +#: ../homedecor/fences.lua:87 +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Bucu Pagar Pancang Tidak Bercat" + +#: ../homedecor/fences.lua:103 +#, fuzzy +msgid "White Picket Fence" +msgstr "Pagar Pancang Putih" + +#: ../homedecor/fences.lua:119 +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Bucu Pagar Pancang Putih" + +#: ../homedecor/fences.lua:135 +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Pagar Privasi Kayu" + +#: ../homedecor/fences.lua:159 +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Bucu Pagar Privasi Kayu" + +#: ../homedecor/fences.lua:194 +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Pagar Dawai Berduri" + +#: ../homedecor/fences.lua:204 +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Bucu Pagar Dawai Berduri" + +#: ../homedecor/fences.lua:214 +#, fuzzy +msgid "Chainlink Fence" +msgstr "Pagar Dawai Berangkai" + +#: ../homedecor/fences.lua:232 +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Bucu Pagar Dawai Berangkai" + +#: ../homedecor/fences.lua:249 +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/fences.lua:276 +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua:11 +#, fuzzy +msgid "light blue" +msgstr "kanan" + +#: ../homedecor/shutters.lua:35 +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Pengatup Kayu (Merah)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +#, fuzzy +msgid "Deck Chair" +msgstr "Kerusi" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua:194 +#, fuzzy +msgid "white wood" +msgstr "putih" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:17 +#, fuzzy +msgid "Toilet" +msgstr "Tandas" + +#: ../homedecor/bathroom_sanitation.lua:68 +#, fuzzy +msgid "Toilet paper" +msgstr "Tandas" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:185 +#, fuzzy +msgid "Shower Tray" +msgstr "Lubang Air Mandi" + +#: ../homedecor/bathroom_sanitation.lua:225 +#, fuzzy +msgid "Shower Head" +msgstr "Kepala Air Mandi" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua:6 +#, fuzzy +msgid "Air Conditioner" +msgstr "Pendingin Hawa" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:124 +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Pintu Almari Mahogani" + +#: ../homedecor/doors_and_gates.lua:129 +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Pintu Almari Oak" + +#: ../homedecor/doors_and_gates.lua:134 +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Pintu Hiasan Kayu/Kaca" + +#: ../homedecor/doors_and_gates.lua:144 +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Pintu Pejabat Kaca" + +#: ../homedecor/doors_and_gates.lua:149 +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Kaca dan Kayu, warna Oak" + +#: ../homedecor/doors_and_gates.lua:158 +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Kaca dan Kayu, warna Mahogani" + +#: ../homedecor/doors_and_gates.lua:167 +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Kaca dan Kayu, warna Putih" + +#: ../homedecor/doors_and_gates.lua:176 +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Pintu Kayu Biasa" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:186 +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "left" +msgstr "kiri" + +#: ../homedecor/doors_and_gates.lua:212 +#, fuzzy +msgid "right" +msgstr "kanan" + +#: ../homedecor/doors_and_gates.lua:296 +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Pintu Pagar Pancang Tidak Bercat" + +#: ../homedecor/doors_and_gates.lua:297 +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Pintu Pagar Pancang Putih" + +#: ../homedecor/doors_and_gates.lua:298 +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Pintu Pagar Dawai Berduri" + +#: ../homedecor/doors_and_gates.lua:299 +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Pintu Pagar Dawai Berangkai" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/init.lua:133 +#, fuzzy +msgid "Loaded!" +msgstr "Telah Dimuatkan!" + +#: ../homedecor/misc-nodes.lua:7 +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Cat Siling Bertekstur" + +#: ../homedecor/misc-nodes.lua:19 +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Kepingan Siling" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua:90 +#, fuzzy +msgid "Viola" +msgstr "Ungu" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:127 +#, fuzzy +msgid "Brass Pole" +msgstr "Tiang Loyang" + +#: ../homedecor/misc-nodes.lua:145 +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Tiang Besi Tempaan" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua:273 +#, fuzzy +msgid "Pool Table" +msgstr "Meja" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua:8 +#, fuzzy +msgid "Small round glass table" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua:12 +#, fuzzy +msgid "Small square wooden table" +msgstr "Laci Kayu Kecil" + +#: ../homedecor/tables.lua:13 +#, fuzzy +msgid "Small round wooden table" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua:134 +#, fuzzy +msgid "Utility Table" +msgstr "Meja Utiliti" + +#: ../homedecor/tables.lua:173 +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Kaki Meja Loyang" + +#: ../homedecor/tables.lua:189 +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Kaki untuk Meja Utiliti" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua:4 +#, fuzzy +msgid "Table" +msgstr "Meja" + +#: ../homedecor/furniture.lua:5 +#, fuzzy +msgid "Mahogany Table" +msgstr "Pintu Almari Mahogani" + +#: ../homedecor/furniture.lua:6 +#, fuzzy +msgid "White Table" +msgstr "Meja Utiliti" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua:77 +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Kabinet Dapur" + +#: ../homedecor/furniture.lua:93 +#, fuzzy +msgid "Armchair (@1)" +msgstr "Kerusi Tangan (%s)" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:87 +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s pindah barang dalam kabinet katil dekat %s" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:110 +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (hak milik %s)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s cuba untuk pakai %s milik %s dekat %s" + +#: ../homedecor/handlers/inventory.lua:173 +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (Berkunci)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:234 +#, fuzzy +msgid "@1 (active: @2%)" +msgstr "%s aktif: %d%%" + +#: ../homedecor/handlers/furnaces.lua:254 +#, fuzzy +msgid "@1 (out of fuel)" +msgstr ": Kehabisan bahan api" + +#: ../homedecor/handlers/furnaces.lua:270 +#, fuzzy +msgid "@1 (output bins are full)" +msgstr ": dulang keluar penuh" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +#, fuzzy +msgid "Filing cabinet" +msgstr "Kabinet Bawah Sinki" + +#: ../homedecor/bathroom_furniture.lua:5 +#, fuzzy +msgid "white/grey" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:9 +#, fuzzy +msgid "white/red" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:11 +#, fuzzy +msgid "white/blue" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:13 +#, fuzzy +msgid "white/tan" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +#, fuzzy +msgid "Medicine cabinet" +msgstr "Kabinet Bawah Sinki" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s pindah barang dalam kabinet dapur dekat %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s pindah barang masuk kabinet dapur dekat %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s ambil barang dari kabinet dapur dekat %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Separuh Atas, bukaan %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(Bukaan %s)" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "Tidak cukup ruang di atas kawasan untuk letak pintu!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Baldi cat putih" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Kaki untuk Meja Utiliti Kecil" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Titanium Dioksida" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Pagar/Kisi-kisi Besi Tempaan dengan Papan Tanda" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "ingin letakkan barangan yang diacukan seperti biasa." + +#~ msgid "Red " +#~ msgstr "Merah" + +#~ msgid "Pink " +#~ msgstr "Merah Jambu" + +#~ msgid "Blue " +#~ msgstr "Biru" + +#~ msgid "Sink " +#~ msgstr "Sinki" + +#~ msgid "Taps " +#~ msgstr "Pili Air" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Genting Asfalt (bucu luar)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Genting Asfalt (bucu dalam)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Kaki Meja Besi Tempaan" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Meja Kaca (Bulat, Kecil)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Meja Kaca (Segi Empat, Kecil)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Kepingan Meja Kaca (besar)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Pasu Bunga Plastik Hijau" + +#~ msgid "Large Area Rug " +#~ msgstr "Ambal Kawasan Besar" + +#~ msgid "Small Throw Rug " +#~ msgstr "Ambal Kecil" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Pasu Bunga Terracotta" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Genting Terracotta (bucu luar)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Genting Terracotta (bucu dalam)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Meja utiliti mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Pengatup Kayu (Hitam)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Pengatup Kayu (Kelabu Gelap)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Pengatup Kayu (Hijau Rimba)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Pengatup Kayu (Kelabu)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Pengatup Kayu (Biru Cerah)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Pengatup Kayu (Ungu)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Pengatup Kayu (Mahogani)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Pengatup Kayu (Oak tak bercat)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Pengatup Kayu (Putih)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Pengatup Kayu (Kuning)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Kepingan Meja Kayu (besar)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Meja Kayu (Bulat, Kecil)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Meja Kayu (Segi Empat, Kecil)" + +#~ msgid "someone " +#~ msgstr "seseorang" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Maaf, ini kawasan %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Lampu Bara Putih (kiub kecil)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Lampu Bara Putih (kiub kecil, dekat siling)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Lampu Bara Putih (tebal, dekat dinding)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Lampu Bara Putih (nipis, dekat dinding)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Lampu Bara Kuning (kiub kecil, dekat siling)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Lampu Bara Kuning (tebal)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Lampu Bara Kuning (tebal, dekat dinding)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Lampu Bara Kuning (nipis)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Lampu Bara Kuning (nipis, dekat dinding)" + +#~ msgid "Locked Fridge " +#~ msgstr "Peti Sejuk Berkunci" + +#~ msgid "Locked Cabinet " +#~ msgstr "Kabinet Berkunci" + +#~ msgid "Locked Nightstand " +#~ msgstr "Kabinet Katil Berkunci" + +#~ msgid "Locked Oven " +#~ msgstr "Ketuhar Berkunci" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Ketuhar Berkunci (aktif)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Ketuhar Gelombang Mikro Berkunci" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Ketuhar Gelombang Mikro Berkunci (aktif)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Kabinet Katil Mahogani dengan Satu Laci" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Kabinet Katil Mahogani dengan Dua Laci" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s pindah barang masuk kabinet katil dekat %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s ambil barang dari kabinet katil dekat %s" + +#~ msgid "%s is empty " +#~ msgstr "%s tiada apa-apa" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s pindah barang dalam peti sejuk dekat %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s pindah barang masuk peti sejuk dekat %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s ambil barang dari peti sejuk dekat %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Tidak cukup ruangan menegak untuk meletak peti sejuk!" + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s menulis \"%s\" pada papan tanda dekat %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Sedang membaca pangkalan data watak yang di-cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Nampaknya fon tulisan berubah. Membina semula cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Tak jumpa ketinggian baris fon dalam DB yang di-cache. Sedang cuba " +#~ "paksaan kasar." + +#~ msgid "Registered %s and %s " +#~ msgstr "Dah daftarkan %s dan %s" + +#~ msgid "signs loaded " +#~ msgstr "papan tanda telah dimuatkan" diff --git a/homedecor/locale/ms.txt b/homedecor/locale/ms.txt new file mode 100644 index 00000000..c764568c --- /dev/null +++ b/homedecor/locale/ms.txt @@ -0,0 +1,233 @@ + +# +# Language: Malay +# Author: muhdnurhidayat +# + + +### Special strings ### + +### kitchen_cabinet.lua ### +Kitchen Cabinet = Kabinet Dapur +## 1: Player name, 2: position +%s moves stuff in kitchen cabinet at %s = %s pindah barang dalam kabinet dapur dekat %s +%s moves stuff to kitchen cabinet at %s = %s pindah barang masuk kabinet dapur dekat %s +%s takes stuff from kitchen cabinet at %s = %s ambil barang dari kabinet dapur dekat %s +Half-height Kitchen Cabinet (on ceiling) = Kabinet Dapur Separuh (atas siling) +Under-sink cabinet = Kabinet Bawah Sinki +Kitchen Cabinet with sink = Kabinet Dapur dengan Sinki + +### door_models.lua ### +Mahogany Closet Door = Pintu Almari Mahogani +Oak Closet Door = Pintu Almari Oak +Fancy Wood/Glass Door = Pintu Hiasan Kayu/Kaca +Glass Office Door = Pintu Pejabat Kaca +Glass and Wood, Mahogany-colored = Kaca dan Kayu, warna Mahogani +Glass and Wood, Oak-colored = Kaca dan Kayu, warna Oak +Glass and Wood, White = Kaca dan Kayu, warna Putih +Plain Wooden Door = Pintu Kayu Biasa +left = kiri +right = kanan +## 1: Side the doors opens to +(Top Half, %s-opening) = (Separuh Atas, bukaan %s) +(%s-opening) = (Bukaan %s) + + +### door_nodes.lua ### +Not enough space above that spot to place a door! = Tidak cukup ruang di atas kawasan untuk letak pintu! + +### crafts.lua ### +Brass Ingot = Jongkong Loyang +Bucket of white paint = Baldi cat putih +Legs for Small Utility table = Kaki untuk Meja Utiliti Kecil +Plastic sheet = Kepingan Plastik +Silicon lump = Ketulan Silikon +Simple Integrated Circuit = Litar Bersepadu Ringkas +Small Wooden Drawer = Laci Kayu Kecil +Terracotta Roof Tile = Genting Bumbung Terracotta +Titanium Dioxide = Titanium Dioksida +Uncooked Terracotta Base = Bes Terracotta Belum Dimasak +Unprocessed Plastic base = Bes Plastik Belum Diproses + +### door_models.lua ### + +### door_nodes.lua ### + +### fences.lua ### +Barbed Wire Fence = Pagar Dawai Berduri +Barbed Wire Fence Corner = Bucu Pagar Dawai Berduri +Barbed Wire Fence Gate = Pintu Pagar Dawai Berduri +Brass Fence/railing = Pagar/Kisi-kisi Loyang +Brass Fence/railing with sign = Pagar/Kisi-kisi Loyang dengan Papan Tanda +Chainlink Fence = Pagar Dawai Berangkai +Chainlink Fence Corner = Bucu Pagar Dawai Berangkai +Chainlink Fence Gate = Pintu Pagar Dawai Berangkai +Unpainted Picket Fence = Pagar Pancang Tidak Bercat +Unpainted Picket Fence Corner = Bucu Pagar Pancang Tidak Bercat +Unpainted Picket Fence Gate = Pintu Pagar Pancang Tidak Bercat +White Picket Fence = Pagar Pancang Putih +White Picket Fence Corner = Bucu Pagar Pancang Putih +White Picket Fence Gate = Pintu Pagar Pancang Putih +Wooden Privacy Fence = Pagar Privasi Kayu +Wooden Privacy Fence Corner = Bucu Pagar Privasi Kayu +Wrought Iron Fence/railing = Pagar/Kisi-kisi Besi Tempaan +Wrought Iron Fence/railing with sign = Pagar/Kisi-kisi Besi Tempaan dengan Papan Tanda +want to simply place the wielded item like usual. = ingin letakkan barangan yang diacukan seperti biasa. + +### furniture.lua ### +Table = Meja +Chair = Kerusi +Black = Hitam +Red = Merah +Pink = Merah Jambu +Violet = Ungu +Blue = Biru +Dark Green = Hijau Gelap +## 1: Color name +Armchair (%s) = Kerusi Tangan (%s) +Table Lamp = Lampu Meja + +### furniture_medieval.lua ### +Bars = Palang +Binding Bars = Palang Bersambung +Chains = Rantai +Wall Torch = Obor Dinding + +### furniture_bathroom.lua ### +Toilet = Tandas +Sink = Sinki +Taps = Pili Air +Shower Tray = Lubang Air Mandi +Shower Head = Kepala Air Mandi + +### init.lua ### +Loaded! = Telah Dimuatkan! +Air Conditioner = Pendingin Hawa +Asphalt Shingles = Genting Asfalt +Asphalt Shingles (outer corner) = Genting Asfalt (bucu luar) +Asphalt Shingles (inner corner) = Genting Asfalt (bucu dalam) +Black Plastic Flower Pot = Pasu Bunga Plastik Hitam +Brass Pole = Tiang Loyang +Brass Table Legs = Kaki Meja Loyang +Wrought Iron Table Legs = Kaki Meja Besi Tempaan +red = merah +green = hijau +blue = biru +white = putih +pink = merah jambu +violet = ungu +## 1: Color name +Curtains (%s) = Langsir (%s) +Drop-Ceiling Tile = Kepingan Siling +Glass Skylight = Bumbung Kaca +Glass Skylight Frosted = Bumbung Kaca Berkabut +Glass Table (Small, Round) = Meja Kaca (Bulat, Kecil) +Glass Table (Small, Square) = Meja Kaca (Segi Empat, Kecil) +Glass Table Piece (large) = Kepingan Meja Kaca (besar) +Green Plastic Flower Pot = Pasu Bunga Plastik Hijau +Large Area Rug = Ambal Kawasan Besar +Glass Table Piece (large) = Kepingan Meja Kaca (besar) +Large Stereo Speaker = Pembesar Suara Stereo Besar +Legs for Utility Table = Kaki untuk Meja Utiliti +Projection Screen Material = Bahan Skrin Pemancaran +Small Surround Speaker = Pembesar Suara Keliling Kecil +Small Throw Rug = Ambal Kecil +Stereo Receiver = Penerima Stereo +Terracotta Flower Pot = Pasu Bunga Terracotta +Terracotta Shingles = Genting Terracotta +Terracotta Shingles (outer corner) = Genting Terracotta (bucu luar) +Terracotta Shingles (inner corner) = Genting Terracotta (bucu dalam) +Textured Ceiling Paint = Cat Siling Bertekstur +Utility Table = Meja Utiliti +Utility table mk2 = Meja utiliti mk2 +Wooden Shutter (Black) = Pengatup Kayu (Hitam) +Wooden Shutter (Dark grey) = Pengatup Kayu (Kelabu Gelap) +Wooden Shutter (Forest green) = Pengatup Kayu (Hijau Rimba) +Wooden Shutter (Grey) = Pengatup Kayu (Kelabu) +Wooden Shutter (Light blue) = Pengatup Kayu (Biru Cerah) +Wooden Shutter (Violet) = Pengatup Kayu (Ungu) +Wooden Shutter (Red) = Pengatup Kayu (Merah) +Wooden Shutter (Mahogany) = Pengatup Kayu (Mahogani) +Wooden Shutter (Unpainted oak) = Pengatup Kayu (Oak tak bercat) +Wooden Shutter (White) = Pengatup Kayu (Putih) +Wooden Shutter (Yellow) = Pengatup Kayu (Kuning) +Wood Table Piece (large)= Kepingan Meja Kayu (besar) +Wood Table (Small, Round) = Meja Kayu (Bulat, Kecil) +Wood Table (Small, Square) = Meja Kayu (Segi Empat, Kecil) +Wood Shingles = Genting Kayu +Wood Shingles (outer corner) = Genting Kayu (bucu luar) +Wood Shingles (inner corner) = Genting Kayu (bucu dalam) +Wrought Iron Pole = Tiang Besi Tempaan +someone = seseorang +## 1: Player name +Sorry, %s owns that spot. = Maaf, ini kawasan %s. + +### lighting.lua ### +White Glowlight (small cube) = Lampu Bara Putih (kiub kecil) +White Glowlight (small cube, on ceiling) = Lampu Bara Putih (kiub kecil, dekat siling) +White Glowlight (thick) = Lampu Bara Putih (tebal) +White Glowlight (thick, on wall) = Lampu Bara Putih (tebal, dekat dinding) +White Glowlight (thin) = Lampu Bara (nipis) +White Glowlight (thin, on wall) = Lampu Bara Putih (nipis, dekat dinding) +Yellow Glowlight (small cube) = Lampu Bara Kuning (kiub kecil) +Yellow Glowlight (small cube, on ceiling) = Lampu Bara Kuning (kiub kecil, dekat siling) +Yellow Glowlight (thick) = Lampu Bara Kuning (tebal) +Yellow Glowlight (thick, on wall) = Lampu Bara Kuning (tebal, dekat dinding) +Yellow Glowlight (thin) = Lampu Bara Kuning (nipis) +Yellow Glowlight (thin, on wall) = Lampu Bara Kuning (nipis, dekat dinding) + +### locked.lua ### +## 1: Item description, 2: Owner name +%s (owned by %s) = %s (hak milik %s) +## 1: Player name, 2: Item description, 3: Owner name, 4: Position +%s tried to access a %s belonging to %s at %s = %s cuba untuk pakai %s milik %s dekat %s +## 1: Item description +%s (Locked) = %s (Berkunci) +Locked Fridge = Peti Sejuk Berkunci +Locked Cabinet = Kabinet Berkunci +Locked Nightstand = Kabinet Katil Berkunci +Locked Oven = Ketuhar Berkunci +Locked Oven (active) = Ketuhar Berkunci (aktif) +Locked Microwave Oven = Ketuhar Gelombang Mikro Berkunci +Locked Microwave Oven (active) = Ketuhar Gelombang Mikro Berkunci (aktif) + +### nightstands.lua ### +Mahogany Nightstand with One Drawer = Kabinet Katil Mahogani dengan Satu Laci +Mahogany Nightstand with Two Drawers = Kabinet Katil Mahogani dengan Dua Laci +Oak Nightstand with One Drawer = Kabinet Katil Oak dengan Satu Laci +Oak Nightstand with Two Drawers = Kabinet Katil Oak dengan Dua Laci +## 1: Player name, 2: position +%s moves stuff in nightstand at %s = %s pindah barang dalam kabinet katil dekat %s +%s moves stuff to nightstand at %s = %s pindah barang masuk kabinet katil dekat %s +%s takes stuff from nightstand at %s = %s ambil barang dari kabinet katil dekat %s +One-drawer Nightstand = Kabinet Katil Laci Satu +Two-drawer Nightstand = Kabinet Katil Laci Dua + +### oven.lua ### +Oven = Ketuhar +Microwave Oven = Ketuhar Gelombang Mikro +## 1: Item description, 2: Percentage +%s active: %d%% = %s aktif: %d%% +## 1: Item description +%s is empty = %s tiada apa-apa +: Out of fuel = : Kehabisan bahan api +: output bins are full = : dulang keluar penuh + +### refrigerator.lua ### +Refrigerator = Peti Sejuk +## 1: Player name, 2: position +%s moves stuff in refrigerator at %s = %s pindah barang dalam peti sejuk dekat %s +%s moves stuff to refrigerator at %s = %s pindah barang masuk peti sejuk dekat %s +%s takes stuff from refrigerator at %s = %s ambil barang dari peti sejuk dekat %s +Not enough vertical space to place a refrigerator! = Tidak cukup ruangan menegak untuk meletak peti sejuk! + +### television.lua ### +Small CRT Television = Televisyen CRT Kecil + +### signs_lib.lua ### +%s wrote "%s" to sign at %s = %s menulis "%s" pada papan tanda dekat %s +Reading cached character database. = Sedang membaca pangkalan data watak yang di-cache. +Font seems to have changed. Rebuilding cache. = Nampaknya fon tulisan berubah. Membina semula cache. +Could not find font line height in cached DB. Trying brute force. = Tak jumpa ketinggian baris fon dalam DB yang di-cache. Sedang cuba paksaan kasar. +Registered %s and %s = Dah daftarkan %s dan %s +signs loaded = papan tanda telah dimuatkan diff --git a/homedecor/locale/pt.po b/homedecor/locale/pt.po new file mode 100644 index 00000000..5f4acc97 --- /dev/null +++ b/homedecor/locale/pt.po @@ -0,0 +1,1343 @@ +# Portuguese translations for homedecor package. +# Translations distributed under CC-BY-SA license. +# +# Translators and reviewers (updates): +# BrunoMine [2017] +# Aracnus , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: 2017-01-29 00:21-0200\n" +"Last-Translator: Aracnus \n" +"Language-Team: Portuguese\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +msgid "Plastic sheet" +msgstr "Folha de Plástico" + +#: ../computer/miscitems.lua:18 +msgid "Unprocessed Plastic base" +msgstr "Base de plástico não Processada" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +msgid "black" +msgstr "preto" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "marrom" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +msgid "blue" +msgstr "azul" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "ciano\t\t" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +msgid "dark grey" +msgstr "cinza escuro" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +msgid "dark green" +msgstr "verde escuro" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "cinza" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "magenta" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "laranja" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +msgid "red" +msgstr "vermelho" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +msgid "violet" +msgstr "violeta" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +msgid "white" +msgstr "branco" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "amarelo" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "Cama (@1)" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "Cama (@1, aumentada)" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "mogno" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "carvalho" + +#: ../homedecor/bedroom.lua:161 +msgid "Nightstand with One Drawer (@1)" +msgstr "Mesa de Cabeceira com Gaveta (@1)" + +#: ../homedecor/bedroom.lua:182 +msgid "One-drawer Nightstand" +msgstr "Mesinha de Uma Gaveta" + +#: ../homedecor/bedroom.lua:190 +msgid "Nightstand with Two Drawers (@1)" +msgstr "Mesa de Cabeceira com Duas Gavetas" + +#: ../homedecor/bedroom.lua:208 +msgid "Two-drawer Nightstand" +msgstr "Mesinha de Duas Gavetas" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "granito" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "mármore" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "aço" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +msgid "Kitchen Cabinet" +msgstr "Armário de Cozinha" + +#: ../homedecor/kitchen_furniture.lua:18 +msgid "Kitchen Cabinet (@1 top)" +msgstr "Armário de Cozinha (tampo de @1)" + +#: ../homedecor/kitchen_furniture.lua:42 +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Armário Superior de Cozinha (no teto)" + +#: ../homedecor/kitchen_furniture.lua:63 +msgid "Kitchen Cabinet with sink" +msgstr "Armário de Cozinha com Pia" + +#: ../homedecor/kitchen_furniture.lua:73 +msgid "Under-sink cabinet" +msgstr "Armário sob a Pia" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "Papel toalha" + +#: ../homedecor/furniture_medieval.lua:5 +msgid "Bars" +msgstr "Barras" + +#: ../homedecor/furniture_medieval.lua:27 +msgid "Binding Bars" +msgstr "Barras do Canto" + +#: ../homedecor/furniture_medieval.lua:51 +msgid "Chains" +msgstr "Correntes" + +#: ../homedecor/furniture_medieval.lua:62 +msgid "Wall Torch" +msgstr "Tocha de parede" + +#: ../homedecor/furniture_medieval.lua:94 +msgid "Wall Lamp" +msgstr "Lâmpada de Parede" + +#: ../homedecor/kitchen_appliances.lua:12 +msgid "Refrigerator (stainless steel)" +msgstr "Refrigerador (aço inoxidável)" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +msgid "Refrigerator" +msgstr "Refrigerador" + +#: ../homedecor/kitchen_appliances.lua:60 +msgid "Oven" +msgstr "Forno" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "Forno (aço inoxidável)" + +#: ../homedecor/kitchen_appliances.lua:76 +msgid "Microwave Oven" +msgstr "Forno Microondas" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "Cafeteira" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "Torradeira" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "Lava Louças" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "madeira" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "Lava Louças (@1)" + +#: ../homedecor/roofing.lua:7 +msgid "Glass Skylight" +msgstr "Claraboia de Vidro" + +#: ../homedecor/roofing.lua:19 +msgid "Glass Skylight Frosted" +msgstr "Claraboia de Vidro Fosco" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "asfalto" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +msgid "terracotta" +msgstr "terracota" + +#: ../homedecor/roofing.lua:33 +msgid "Shingles (@1)" +msgstr "Telhas (@1)" + +#: ../homedecor/roofing.lua:87 +msgid "@1 (outer corner)" +msgstr "@1 (canto exterior)" + +#: ../homedecor/roofing.lua:109 +msgid "@1 (inner corner)" +msgstr "@1 (canto interno)" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +msgid "Wood Shingles" +msgstr "Telhas de Madeira" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +msgid "Asphalt Shingles" +msgstr "Telhas de Asfalto" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +msgid "Terracotta Shingles" +msgstr "Telhas de Terracota" + +#: ../homedecor/roofing.lua:307 +msgid "Glass Shingles" +msgstr "Telhas de Vidro" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "Chaminé" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "Janela Dividida" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "Janela (Sem Acabamento)" + +#: ../homedecor/window_treatments.lua:72 +msgid "Window Blinds (thick)" +msgstr "Persiana (grossa)" + +#: ../homedecor/window_treatments.lua:91 +msgid "Window Blinds (thin)" +msgstr "Persiana (fina)" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +msgid "Curtains (@1)" +msgstr "Cortinas (@1)" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "latão" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +msgid "wrought iron" +msgstr "ferro forjado" + +#: ../homedecor/window_treatments.lua:175 +msgid "Curtain Rod (@1)" +msgstr "Suporte de Cortina (@1)" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "Janela com Caixa de Flores" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "Vitral" + +#: ../homedecor/crafts.lua:10 +msgid "Uncooked Terracotta Base" +msgstr "Base Bruta de Terracota" + +#: ../homedecor/crafts.lua:15 +msgid "Terracotta Roof Tile" +msgstr "Telha de Terracota" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "Extrato de Óleo" + +#: ../homedecor/crafts.lua:25 +msgid "Unprocessed paraffin" +msgstr "Parafina não processada" + +#: ../homedecor/crafts.lua:37 +msgid "Plastic strips" +msgstr "Faixas de plástico" + +#: ../homedecor/crafts.lua:42 +msgid "Small Wooden Drawer" +msgstr "Gaveta Pequena de Madeira" + +#: ../homedecor/crafts.lua:47 +msgid "Simple Integrated Circuit" +msgstr "Circuito Integrado Simples" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "Elemento de aquecimento" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "Motor" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "Cristal de Força" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "Tela Branca" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "VCR" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "DVD Player" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "Bobina de fio de cobre" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "Bobina de fio de aço" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "Alto-falante" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "Pás de ventilador" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "Tira de Cobre" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "Tira de Aço" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "Cerca/corrimão de aço" + +#: ../homedecor/crafts.lua:117 +msgid "Brass chainlink" +msgstr "Cerca/corrimão de bronze" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "Lata de Refrigerante" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "Moeda de Ouro (para máquina de venda de refrigerante)" + +#: ../homedecor/crafts.lua:137 +msgid "Silicon lump" +msgstr "Massa de silício" + +#: ../homedecor/crafts.lua:154 +msgid "Brass Ingot" +msgstr "Lingote de Latão" + +#: ../homedecor/crafts.lua:3330 +msgid "Small Flower Pot" +msgstr "Vaso de Flor Pequeno" + +#: ../homedecor/electronics.lua:6 +msgid "Large Stereo Speaker" +msgstr "Alto-falante Grande" + +#: ../homedecor/electronics.lua:20 +msgid "Large Stereo Speaker, open front" +msgstr "Alto-falante Grande, frente aberta" + +#: ../homedecor/electronics.lua:41 +msgid "Small Surround Speaker" +msgstr "Alto-falante Pequeno" + +#: ../homedecor/electronics.lua:54 +msgid "Stereo Receiver" +msgstr "Aparelho de Som" + +#: ../homedecor/electronics.lua:66 +msgid "Projection Screen Material" +msgstr "Material de Tela de Projeção" + +#: ../homedecor/electronics.lua:82 +msgid "Small CRT Television" +msgstr "TV de tubo pequena" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "DVD e VCR" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "Telefone" + +#: ../homedecor/lighting.lua:73 +msgid "Thick Glowlight (@1)" +msgstr "Arandela Fina (@1)" + +#: ../homedecor/lighting.lua:91 +msgid "Thin Glowlight (@1)" +msgstr "Arandela Grossa (@1)" + +#: ../homedecor/lighting.lua:111 +msgid "Small Glowlight Cube (@1)" +msgstr "Arandela Cúbica Pequena (@1)" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "Lâmpada de Plasma" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "Bola de Plasma" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "Vela Grossa" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "Vela Fina" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "Castiçal (ferro forjado)" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "Castiçal (latão)" + +#: ../homedecor/lighting.lua:254 +msgid "Wall sconce" +msgstr "Candeeiro de Parede" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "Luminária a óleo (lamparina)" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "Luminária a Óleo (sobre mesa)" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "Lanterna de Chão" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "Lanterna de Parede" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "Lanterna com gelosia (grande)" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "Lanterna com gelosia (pequena)" + +#: ../homedecor/lighting.lua:426 +msgid "Table Lamp (@1)" +msgstr "Luminária de Mesa (@1)" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "Luminária Elevada (@1)" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "Luminária de Escritório (@1)" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "Luminária de Teto" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "Luminária de Teto (desligada)" + +#: ../homedecor/fences.lua:31 +msgid "Fence/railing (@1)" +msgstr "Cerca/corrimão (@1)" + +#: ../homedecor/fences.lua:43 +msgid "Fence/railing with sign (@1)" +msgstr "Cerca/corrimão com placa (@1)" + +#: ../homedecor/fences.lua:71 +msgid "Unpainted Picket Fence" +msgstr "Cerca de Piquete Não Pintada" + +#: ../homedecor/fences.lua:87 +msgid "Unpainted Picket Fence Corner" +msgstr "Cerca de Piquete Não Pintada de Canto" + +#: ../homedecor/fences.lua:103 +msgid "White Picket Fence" +msgstr "Cerca de Piquete Branca" + +#: ../homedecor/fences.lua:119 +msgid "White Picket Fence Corner" +msgstr "Cerca de Piquete Branca de Canto" + +#: ../homedecor/fences.lua:135 +msgid "Wooden Privacy Fence" +msgstr "Cerca Privativa de Madeira" + +#: ../homedecor/fences.lua:159 +msgid "Wooden Privacy Fence Corner" +msgstr "Cerca Privativa de Madeira de Canto" + +#: ../homedecor/fences.lua:194 +msgid "Barbed Wire Fence" +msgstr "Cerca de Arame Farpado" + +#: ../homedecor/fences.lua:204 +msgid "Barbed Wire Fence Corner" +msgstr "Cerca de Arame Farpado de Canto" + +#: ../homedecor/fences.lua:214 +msgid "Chainlink Fence" +msgstr "Cerca de Tela de Arame" + +#: ../homedecor/fences.lua:232 +msgid "Chainlink Fence Corner" +msgstr "Cerca de Tela de Arame de Canto" + +#: ../homedecor/fences.lua:249 +msgid "Wrought Iron fence (type 2)" +msgstr "Cerca de Ferro Forjado (tipo 2)" + +#: ../homedecor/fences.lua:276 +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Cerca de Ferro Forjado (tipo 2) de Canto" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "carvalho não pintado" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "verde floresta" + +#: ../homedecor/shutters.lua:11 +msgid "light blue" +msgstr "azul claro" + +#: ../homedecor/shutters.lua:35 +msgid "Wooden Shutter (@1)" +msgstr "Persiana de Madeira (@1)" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "Churrasqueira" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "Banco de Jardim (estilo 1)" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "Banco de Jardim (estilo 2)" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +msgid "Deck Chair" +msgstr "Cadeira de Praia" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "Casa de Cachorro" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "Banco Simples" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "Caminho de pedra de jardim" + +#: ../homedecor/exterior.lua:194 +msgid "white wood" +msgstr "madeira branca" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "madeira, com vegetação" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "madeira branca, com vegetação" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "Gelosia de Jardin (@1)" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "Balancinho de árvore" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "Poço de agua" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "Matagal (@1)" + +#: ../homedecor/bathroom_sanitation.lua:17 +msgid "Toilet" +msgstr "Vaso Sanitário" + +#: ../homedecor/bathroom_sanitation.lua:68 +msgid "Toilet paper" +msgstr "Papel higiênico " + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "Pia de Banheiro" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "Torneira de Banheiro" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "Torneira de Banheiro (latão)" + +#: ../homedecor/bathroom_sanitation.lua:185 +msgid "Shower Tray" +msgstr "Ralo do Chuveiro" + +#: ../homedecor/bathroom_sanitation.lua:225 +msgid "Shower Head" +msgstr "Chuveiro" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "Espelho de Banheiro com bancada" + +#: ../homedecor/climate-control.lua:6 +msgid "Air Conditioner" +msgstr "Ar condicionado" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "Ventilador de Escritório" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "Ventilador de Teto" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "Aquecedor de ambiente" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "Aquecedor de radiador" + +#: ../homedecor/doors_and_gates.lua:124 +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porta de Closet em Mogno (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:129 +msgid "Oak Closet Door (@1 opening)" +msgstr "Porta de Closet em Carvalho (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:134 +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porta de madeira/vidro trabalhada (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:144 +msgid "Glass Office Door (@1 opening)" +msgstr "Porta de Vidro para Escritório (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:149 +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vidro e madeira (carvalho) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:158 +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vidro e madeira (mogno) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:167 +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vidro e madeira (branca) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:176 +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porta de Madeira Sem Acabamento (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "Porta de Quarto Branca (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:186 +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Cerca/corrimão de ferro forjado (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "Porta de Madeira com Vidraça (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "Porta de Madeira com Vidraça, tipo 2 (abre para @1)" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "left" +msgstr "esquerda" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "right" +msgstr "direita" + +#: ../homedecor/doors_and_gates.lua:296 +msgid "Unpainted Picket Fence Gate" +msgstr "Porteira de Madeira Não Pintada" + +#: ../homedecor/doors_and_gates.lua:297 +msgid "White Picket Fence Gate" +msgstr "Porteira Branca de Piquete " + +#: ../homedecor/doors_and_gates.lua:298 +msgid "Barbed Wire Fence Gate" +msgstr "Porteira de Arame Farpado" + +#: ../homedecor/doors_and_gates.lua:299 +msgid "Chainlink Fence Gate" +msgstr "Porteira de Tela de Arame" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "Divisória japonesa (superior)" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "Divisória japonesa" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "Divisória japonesa (inferior)" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "Tatami Japonês" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "Porta estilo japonês" + +#: ../homedecor/init.lua:133 +msgid "Loaded!" +msgstr "Carregado!" + +#: ../homedecor/misc-nodes.lua:7 +msgid "Textured Ceiling Paint" +msgstr "Pintura Texturizada do Teto" + +#: ../homedecor/misc-nodes.lua:19 +msgid "Drop-Ceiling Tile" +msgstr "Placa de Teto" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "pequeno" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "grande" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "persiana" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "Carpete (@1)" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "Vaso de Flores" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "Rosa" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "Tulipa" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "Dente de Leão Amarelo" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "Dente de Leão Branco" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "Gerânio Azul" + +#: ../homedecor/misc-nodes.lua:90 +msgid "Viola" +msgstr "Violeta" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "Cacto" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "Bonsai" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "Vaso de Flor (@1)" + +#: ../homedecor/misc-nodes.lua:127 +msgid "Brass Pole" +msgstr "Poste de bronze" + +#: ../homedecor/misc-nodes.lua:145 +msgid "Wrought Iron Pole" +msgstr "Poste de Ferro Forjado" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "Aquário" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "Aquário (iluminado)" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "Caixa de Papelão (grande)" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "Caixa de Papelão" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "Gabinete de DVD/CD" + +#: ../homedecor/misc-nodes.lua:273 +msgid "Pool Table" +msgstr "Mesa de Sinuca" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "Piano" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "Troféu" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "Supino Reto" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "Skate" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "Gabinete de ferramentas metálicas e mesa de trabalho" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "Quadro de Foto" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "Quadro Decorativo #@1" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "coberto escuro" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "diagonal" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "horizontal" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "Corrimão para Escadas (@1, @2)" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "Espaço induficiente" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "Tampo Quadrado de Vidro" + +#: ../homedecor/tables.lua:8 +msgid "Small round glass table" +msgstr "Tampo Redondo de Vidro" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "Tampo Grande de Vidro" + +#: ../homedecor/tables.lua:12 +msgid "Small square wooden table" +msgstr "Tampo Quadrado de Madeira" + +#: ../homedecor/tables.lua:13 +msgid "Small round wooden table" +msgstr "Tampo Redondo de Madeira" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "Tampo Grande de Madeira" + +#: ../homedecor/tables.lua:134 +msgid "Utility Table" +msgstr "Mesa de Trabalho" + +#: ../homedecor/tables.lua:173 +msgid "Table Legs (@1)" +msgstr "Pernas de Mesa (@1)" + +#: ../homedecor/tables.lua:189 +msgid "Legs for Utility Table" +msgstr "Pernas para Mesa de Trabalho" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "Livro Consumível (@1)" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "@1 escreveu um livro (título: \"@2\"): \"@3\" na localização @4" + +#: ../homedecor/furniture.lua:4 +msgid "Table" +msgstr "Mesa" + +#: ../homedecor/furniture.lua:5 +msgid "Mahogany Table" +msgstr "Mesa em Mogno" + +#: ../homedecor/furniture.lua:6 +msgid "White Table" +msgstr "Mesa Branca" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "Sem Acabamento" + +#: ../homedecor/furniture.lua:77 +msgid "Kitchen chair (@1)" +msgstr "Cadeira de Cozinha (@1)" + +#: ../homedecor/furniture.lua:93 +msgid "Armchair (@1)" +msgstr "Poltrona (@1)" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "Estante de Livros de Parede" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "Estante de Parede" + +#: ../homedecor/handlers/inventory.lua:87 +msgid "@1 moves stuff in @2 at @3" +msgstr "@1 moveu algo de @2 em @3" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "@1 moveu @2 de @3 em @4" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "@1 pegou @2 de @3 em @4" + +#: ../homedecor/handlers/inventory.lua:110 +msgid "@1 (owned by @2)" +msgstr "@1 (pertence a @2)" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "@1 tentou acessar @2 pertencente a @3 em @4" + +#: ../homedecor/handlers/inventory.lua:173 +msgid "@1 (Locked)" +msgstr "@1 (trancado)" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "Forno" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "@1 (vazio)" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "@1 (ativo)" + +#: ../homedecor/handlers/furnaces.lua:234 +msgid "@1 (active: @2%)" +msgstr "@1 (ativo: @2%)" + +#: ../homedecor/handlers/furnaces.lua:254 +msgid "@1 (out of fuel)" +msgstr "@1 (sem combustível)" + +#: ../homedecor/handlers/furnaces.lua:270 +msgid "@1 (output bins are full)" +msgstr "@1 (saída de itens está lotada)" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +msgid "Filing cabinet" +msgstr "Armário sob a Pia" + +#: ../homedecor/bathroom_furniture.lua:5 +msgid "white/grey" +msgstr "branco/cinza" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "branco/cinza escuro" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "branco/preto" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "preto/cinza escuro" + +#: ../homedecor/bathroom_furniture.lua:9 +msgid "white/red" +msgstr "branco/vermelho" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "branco/verde" + +#: ../homedecor/bathroom_furniture.lua:11 +msgid "white/blue" +msgstr "branco/azul" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "branco/amarelo" + +#: ../homedecor/bathroom_furniture.lua:13 +msgid "white/tan" +msgstr "branco/bronzeado" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "Azulejo de Banheiro/Cozinha (@1)" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "Tolo de Toalha com Toalha" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +msgid "Medicine cabinet" +msgstr "Gabinete Medicinal" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s moveu itens no armário de cozinha em %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s moveu itens para o armário de cozinha em %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s retirou itens do armário de cozinha em %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Metade superior, abre para %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(abre para %s)" + +#~ msgid "Not enough vertical space to place a door! " +#~ msgstr "Não existe espaço vertical suficiente para colocar uma porta." + +#~ msgid "Bucket of white paint " +#~ msgstr "Balde de tinta branca" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Pernas para mesa pequena" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Dióxido de titânio" + +#~ msgid "Chainlink Fence Gate (open) " +#~ msgstr "Portão da cerca de tela de arame (aberto)" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Cerca/corrimão de ferro forjado, com placa" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "quer somente colocar o item empunhado normalmente." + +#~ msgid "Sink " +#~ msgstr "Pia" + +#~ msgid "Taps " +#~ msgstr "Torneira" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Mesa de vidro (pequena, redonda)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Mesa de vidro (pequena, quadrada)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Vaso de flor de plástico verde" + +#~ msgid "Large Area Rug " +#~ msgstr "Tapete grande" + +#~ msgid "Small Throw Rug " +#~ msgstr "Tapete pequeno" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Vaso de flor de terracota" + +#~ msgid "Utility table mk2 " +#~ msgstr "Mesa de trabalho mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Persiana de madeira (preta)" + +#~ msgid "Wooden Shutter (Dark Grey) " +#~ msgstr "Persiana de madeira (cinza escura)" + +#~ msgid "Wooden Shutter (Forest Green) " +#~ msgstr "Persiana de madeira (verde)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Persiana de madeira (cinza)" + +#~ msgid "Wooden Shutter (Light Blue) " +#~ msgstr "Persiana de madeira (azul clara)" + +#~ msgid "Wooden Shutter (Purple) " +#~ msgstr "Persiana de madeira (roxa)" + +#~ msgid "Wooden Shutter (Unpainted Mahogany) " +#~ msgstr "Persiana de madeira (mogno)" + +#~ msgid "Wooden Shutter (Unpainted Oak) " +#~ msgstr "Persiana de madeira (carvalho)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Persiana de madeira (branca)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Persiana de madeira (amarela)" + +#~ msgid "Wooden Tabletop (Small, Round) " +#~ msgstr "Tampo da mesa (pequeno, arredondado)" + +#~ msgid "Wooden Tabletop (Small, Square) " +#~ msgstr "Tampo da mesa (pequeno, quadrado)" + +#~ msgid "someone " +#~ msgstr "alguém" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Desculpe, mas esse local pertence a %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Arandela branca (cubo pequeno)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Arandela branca (cubo pequeno, na parede)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Arandela branca (grossa, na parede)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Arandela branca (fina, na parede)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Arandela amarela (cubo pequeno, na parede)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Arandela amarela (grossa)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Arandela amarela (grossa, na parede)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Arandela amarela (fina)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Arandela amarela (fina, na parede)" + +#~ msgid "Locked Cabinet " +#~ msgstr "Armário trancado" + +#~ msgid "Locked Nightstand " +#~ msgstr "Criado-mudo trancado" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Criado-mudo de mogno, com uma gaveta" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Criado-mudo de mogno, com duas gavetas" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s moveu item(ns) para o criado-mudo em %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s tirou item(ns) do criado-mudo em %s" + +#~ msgid "Oven active: %d%% " +#~ msgstr "Forno ativo: %d%%" + +#~ msgid "Oven is empty " +#~ msgstr "O forno está vazio" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s moveu item(ns) na geladeira em %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s moveu item(ns) para a geladeira em %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s tirou item(ns) da geladeira em %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Não existe espaço vertical suficiente para adicionar uma geladeira." + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s escreveu \"%s\" na placa em %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Lendo banco de dados de caracteres no cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Aparentemente as fontes foram alteradas. Reconstruindo o cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Não foi possível encontrar a altura da linha da fonte no cache do BD. " +#~ "Tentando na marra." + +#~ msgid "Registered %s and %s " +#~ msgstr "%s e %s registrados" + +#~ msgid "signs loaded " +#~ msgstr "placas carregadas" diff --git a/homedecor/locale/template.pot b/homedecor/locale/template.pot new file mode 100644 index 00000000..ee7cd93e --- /dev/null +++ b/homedecor/locale/template.pot @@ -0,0 +1,1152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-25 00:03-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../computer/miscitems.lua:13 ../homedecor/crafts.lua:32 +msgid "Plastic sheet" +msgstr "" + +#: ../computer/miscitems.lua:18 +msgid "Unprocessed Plastic base" +msgstr "" + +#: ../homedecor/bedroom.lua:7 ../homedecor/shutters.lua:13 +#: ../homedecor/misc-nodes.lua:69 ../homedecor/furniture.lua:36 +msgid "black" +msgstr "" + +#: ../homedecor/bedroom.lua:8 ../homedecor/books.lua:12 +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua:9 ../homedecor/window_treatments.lua:107 +#: ../homedecor/lighting.lua:400 ../homedecor/lighting.lua:498 +#: ../homedecor/books.lua:9 ../homedecor/furniture.lua:40 +msgid "blue" +msgstr "" + +#: ../homedecor/bedroom.lua:10 +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua:11 ../homedecor/shutters.lua:14 +msgid "dark grey" +msgstr "" + +#: ../homedecor/bedroom.lua:12 ../homedecor/furniture.lua:41 +msgid "dark green" +msgstr "" + +#: ../homedecor/bedroom.lua:13 ../homedecor/window_treatments.lua:106 +#: ../homedecor/lighting.lua:401 ../homedecor/lighting.lua:498 +#: ../homedecor/exterior.lua:361 ../homedecor/misc-nodes.lua:69 +#: ../homedecor/books.lua:8 +msgid "green" +msgstr "" + +#: ../homedecor/bedroom.lua:14 ../homedecor/shutters.lua:15 +#: ../homedecor/books.lua:11 +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua:15 +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua:16 +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua:17 ../homedecor/window_treatments.lua:109 +#: ../homedecor/lighting.lua:402 ../homedecor/furniture.lua:38 +msgid "pink" +msgstr "" + +#: ../homedecor/bedroom.lua:18 ../homedecor/window_treatments.lua:105 +#: ../homedecor/lighting.lua:403 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:8 ../homedecor/exterior.lua:362 +#: ../homedecor/books.lua:7 ../homedecor/furniture.lua:37 +msgid "red" +msgstr "" + +#: ../homedecor/bedroom.lua:19 ../homedecor/window_treatments.lua:110 +#: ../homedecor/lighting.lua:404 ../homedecor/lighting.lua:498 +#: ../homedecor/shutters.lua:12 ../homedecor/books.lua:10 +#: ../homedecor/furniture.lua:39 +msgid "violet" +msgstr "" + +#: ../homedecor/bedroom.lua:20 ../homedecor/window_treatments.lua:108 +#: ../homedecor/lighting.lua:9 ../homedecor/lighting.lua:399 +#: ../homedecor/shutters.lua:16 +msgid "white" +msgstr "" + +#: ../homedecor/bedroom.lua:21 ../homedecor/lighting.lua:9 +#: ../homedecor/shutters.lua:9 ../homedecor/exterior.lua:363 +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua:70 +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:131 +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua:159 ../homedecor/shutters.lua:7 +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua:159 +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua:161 +msgid "Nightstand with One Drawer (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:182 +msgid "One-drawer Nightstand" +msgstr "" + +#: ../homedecor/bedroom.lua:190 +msgid "Nightstand with Two Drawers (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua:208 +msgid "Two-drawer Nightstand" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:10 +#: ../homedecor/kitchen_appliances.lua:240 +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:14 ../homedecor/kitchen_furniture.lua:32 +#: ../homedecor/kitchen_furniture.lua:55 +msgid "Kitchen Cabinet" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:18 +msgid "Kitchen Cabinet (@1 top)" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:42 +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:63 +msgid "Kitchen Cabinet with sink" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:73 +msgid "Under-sink cabinet" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua:150 +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:5 +msgid "Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:27 +msgid "Binding Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:51 +msgid "Chains" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:62 +msgid "Wall Torch" +msgstr "" + +#: ../homedecor/furniture_medieval.lua:94 +msgid "Wall Lamp" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:12 +msgid "Refrigerator (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:18 +#: ../homedecor/kitchen_appliances.lua:31 +#: ../homedecor/kitchen_appliances.lua:37 +msgid "Refrigerator" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:60 +msgid "Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:68 +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:76 +msgid "Microwave Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:117 +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:164 +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:216 +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:240 ../homedecor/roofing.lua:31 +#: ../homedecor/window_treatments.lua:167 ../homedecor/exterior.lua:193 +#: ../homedecor/misc-nodes.lua:440 +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua:244 +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:7 +msgid "Glass Skylight" +msgstr "" + +#: ../homedecor/roofing.lua:19 +msgid "Glass Skylight Frosted" +msgstr "" + +#: ../homedecor/roofing.lua:31 +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua:31 ../homedecor/misc-nodes.lua:69 +msgid "terracotta" +msgstr "" + +#: ../homedecor/roofing.lua:33 +msgid "Shingles (@1)" +msgstr "" + +#: ../homedecor/roofing.lua:87 +msgid "@1 (outer corner)" +msgstr "" + +#: ../homedecor/roofing.lua:109 +msgid "@1 (inner corner)" +msgstr "" + +#: ../homedecor/roofing.lua:265 ../homedecor/roofing.lua:286 +msgid "Wood Shingles" +msgstr "" + +#: ../homedecor/roofing.lua:271 ../homedecor/roofing.lua:293 +msgid "Asphalt Shingles" +msgstr "" + +#: ../homedecor/roofing.lua:277 ../homedecor/roofing.lua:300 +msgid "Terracotta Shingles" +msgstr "" + +#: ../homedecor/roofing.lua:307 +msgid "Glass Shingles" +msgstr "" + +#: ../homedecor/roofing.lua:312 +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua:7 +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua:38 +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua:72 +msgid "Window Blinds (thick)" +msgstr "" + +#: ../homedecor/window_treatments.lua:91 +msgid "Window Blinds (thin)" +msgstr "" + +#: ../homedecor/window_treatments.lua:117 +#: ../homedecor/window_treatments.lua:140 +msgid "Curtains (@1)" +msgstr "" + +#: ../homedecor/window_treatments.lua:165 ../homedecor/fences.lua:22 +#: ../homedecor/misc-nodes.lua:458 ../homedecor/tables.lua:166 +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua:166 ../homedecor/fences.lua:23 +#: ../homedecor/misc-nodes.lua:467 ../homedecor/tables.lua:167 +msgid "wrought iron" +msgstr "" + +#: ../homedecor/window_treatments.lua:175 +msgid "Curtain Rod (@1)" +msgstr "" + +#: ../homedecor/window_treatments.lua:189 +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua:209 +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua:10 +msgid "Uncooked Terracotta Base" +msgstr "" + +#: ../homedecor/crafts.lua:15 +msgid "Terracotta Roof Tile" +msgstr "" + +#: ../homedecor/crafts.lua:20 +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua:25 +msgid "Unprocessed paraffin" +msgstr "" + +#: ../homedecor/crafts.lua:37 +msgid "Plastic strips" +msgstr "" + +#: ../homedecor/crafts.lua:42 +msgid "Small Wooden Drawer" +msgstr "" + +#: ../homedecor/crafts.lua:47 +msgid "Simple Integrated Circuit" +msgstr "" + +#: ../homedecor/crafts.lua:52 +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua:57 +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua:62 +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua:67 +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua:72 +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua:77 +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua:82 +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua:87 +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua:92 +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua:97 +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua:102 +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua:107 +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua:112 +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:117 +msgid "Brass chainlink" +msgstr "" + +#: ../homedecor/crafts.lua:122 +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua:128 +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua:137 +msgid "Silicon lump" +msgstr "" + +#: ../homedecor/crafts.lua:154 +msgid "Brass Ingot" +msgstr "" + +#: ../homedecor/crafts.lua:3330 +msgid "Small Flower Pot" +msgstr "" + +#: ../homedecor/electronics.lua:6 +msgid "Large Stereo Speaker" +msgstr "" + +#: ../homedecor/electronics.lua:20 +msgid "Large Stereo Speaker, open front" +msgstr "" + +#: ../homedecor/electronics.lua:41 +msgid "Small Surround Speaker" +msgstr "" + +#: ../homedecor/electronics.lua:54 +msgid "Stereo Receiver" +msgstr "" + +#: ../homedecor/electronics.lua:66 +msgid "Projection Screen Material" +msgstr "" + +#: ../homedecor/electronics.lua:82 +msgid "Small CRT Television" +msgstr "" + +#: ../homedecor/electronics.lua:103 +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua:138 +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua:73 +msgid "Thick Glowlight (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:91 +msgid "Thin Glowlight (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:111 +msgid "Small Glowlight Cube (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:131 +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:151 +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua:182 +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua:203 +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua:224 +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua:239 +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua:254 +msgid "Wall sconce" +msgstr "" + +#: ../homedecor/lighting.lua:280 +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua:300 +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua:319 +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:337 +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua:368 +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua:376 +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua:426 +msgid "Table Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:452 +msgid "Standing Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:502 +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua:518 +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua:536 +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua:31 +msgid "Fence/railing (@1)" +msgstr "" + +#: ../homedecor/fences.lua:43 +msgid "Fence/railing with sign (@1)" +msgstr "" + +#: ../homedecor/fences.lua:71 +msgid "Unpainted Picket Fence" +msgstr "" + +#: ../homedecor/fences.lua:87 +msgid "Unpainted Picket Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua:103 +msgid "White Picket Fence" +msgstr "" + +#: ../homedecor/fences.lua:119 +msgid "White Picket Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua:135 +msgid "Wooden Privacy Fence" +msgstr "" + +#: ../homedecor/fences.lua:159 +msgid "Wooden Privacy Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua:194 +msgid "Barbed Wire Fence" +msgstr "" + +#: ../homedecor/fences.lua:204 +msgid "Barbed Wire Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua:214 +msgid "Chainlink Fence" +msgstr "" + +#: ../homedecor/fences.lua:232 +msgid "Chainlink Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua:249 +msgid "Wrought Iron fence (type 2)" +msgstr "" + +#: ../homedecor/fences.lua:276 +msgid "Wrought Iron fence (type 2) Corner" +msgstr "" + +#: ../homedecor/shutters.lua:6 +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua:10 +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua:11 +msgid "light blue" +msgstr "" + +#: ../homedecor/shutters.lua:35 +msgid "Wooden Shutter (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:12 +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua:56 +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua:83 +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua:106 ../homedecor/exterior.lua:121 +msgid "Deck Chair" +msgstr "" + +#: ../homedecor/exterior.lua:137 +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua:152 +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua:166 +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua:194 +msgid "white wood" +msgstr "" + +#: ../homedecor/exterior.lua:195 +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:197 +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua:204 +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua:227 +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua:329 +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua:370 ../homedecor/exterior.lua:381 +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:17 +msgid "Toilet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:68 +msgid "Toilet paper" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:89 +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:137 +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:160 +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:185 +msgid "Shower Tray" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:225 +msgid "Shower Head" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua:265 +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua:6 +msgid "Air Conditioner" +msgstr "" + +#: ../homedecor/climate-control.lua:44 +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:83 +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua:107 +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua:139 +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:124 +msgid "Mahogany Closet Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:129 +msgid "Oak Closet Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:134 +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:144 +msgid "Glass Office Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:149 +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:158 +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:167 +msgid "Glass and Wood, White (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:176 +msgid "Plain Wooden Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:181 +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:186 +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:191 +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:201 +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "left" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:212 +msgid "right" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:296 +msgid "Unpainted Picket Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:297 +msgid "White Picket Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:298 +msgid "Barbed Wire Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:299 +msgid "Chainlink Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:526 +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:542 +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:558 +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:582 +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua:595 +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/init.lua:133 +msgid "Loaded!" +msgstr "" + +#: ../homedecor/misc-nodes.lua:7 +msgid "Textured Ceiling Paint" +msgstr "" + +#: ../homedecor/misc-nodes.lua:19 +msgid "Drop-Ceiling Tile" +msgstr "" + +#: ../homedecor/misc-nodes.lua:31 +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua:32 +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua:33 +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua:57 +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:73 +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:85 +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua:86 +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua:87 +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:88 +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua:89 +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua:90 +msgid "Viola" +msgstr "" + +#: ../homedecor/misc-nodes.lua:91 +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua:92 +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua:99 +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:127 +msgid "Brass Pole" +msgstr "" + +#: ../homedecor/misc-nodes.lua:145 +msgid "Wrought Iron Pole" +msgstr "" + +#: ../homedecor/misc-nodes.lua:167 +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua:189 +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:213 +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:220 ../homedecor/misc-nodes.lua:227 +#: ../homedecor/misc-nodes.lua:240 +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua:247 +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua:273 +msgid "Pool Table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:298 +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua:316 +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua:334 +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua:359 +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua:368 +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua:399 +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua:424 +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua:449 +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:479 +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua:503 +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua:576 +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua:7 +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua:8 +msgid "Small round glass table" +msgstr "" + +#: ../homedecor/tables.lua:9 +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua:12 +msgid "Small square wooden table" +msgstr "" + +#: ../homedecor/tables.lua:13 +msgid "Small round wooden table" +msgstr "" + +#: ../homedecor/tables.lua:14 +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua:134 +msgid "Utility Table" +msgstr "" + +#: ../homedecor/tables.lua:173 +msgid "Table Legs (@1)" +msgstr "" + +#: ../homedecor/tables.lua:189 +msgid "Legs for Utility Table" +msgstr "" + +#: ../homedecor/books.lua:45 +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua:173 +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua:4 +msgid "Table" +msgstr "" + +#: ../homedecor/furniture.lua:5 +msgid "Mahogany Table" +msgstr "" + +#: ../homedecor/furniture.lua:6 +msgid "White Table" +msgstr "" + +#: ../homedecor/furniture.lua:35 +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua:77 +msgid "Kitchen chair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua:93 +msgid "Armchair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua:122 +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua:138 +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:87 +msgid "@1 moves stuff in @2 at @3" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:92 +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:97 +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:110 +msgid "@1 (owned by @2)" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:127 +#: ../homedecor/handlers/inventory.lua:145 +#: ../homedecor/handlers/inventory.lua:163 +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua:173 +msgid "@1 (Locked)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:91 +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:109 +#: ../homedecor/handlers/furnaces.lua:128 +#: ../homedecor/handlers/furnaces.lua:262 +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:154 +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:234 +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:254 +msgid "@1 (out of fuel)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua:270 +msgid "@1 (output bins are full)" +msgstr "" + +#: ../homedecor/office.lua:4 ../homedecor/office.lua:13 +msgid "Filing cabinet" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:5 +msgid "white/grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:6 +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:7 +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:8 +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:9 +msgid "white/red" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:10 +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:11 +msgid "white/blue" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:12 +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:13 +msgid "white/tan" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:27 +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:48 +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua:62 +#: ../homedecor/bathroom_furniture.lua:80 +msgid "Medicine cabinet" +msgstr "" diff --git a/homedecor/misc-nodes.lua b/homedecor/misc-nodes.lua index 70322d44..3eb4240f 100644 --- a/homedecor/misc-nodes.lua +++ b/homedecor/misc-nodes.lua @@ -1,4 +1,7 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end homedecor.register("ceiling_paint", { description = S("Textured Ceiling Paint"), @@ -25,14 +28,13 @@ homedecor.register("ceiling_tile", { }) local rug_types = { - { "small", "homedecor_small_rug.obj" }, - { "large", homedecor.box.slab_y(0.0625)}, - { "persian", homedecor.box.slab_y(0.0625)} + { N_("small"), "homedecor_small_rug.obj" }, + { N_("large"), homedecor.box.slab_y(0.0625) }, + { N_("persian"), homedecor.box.slab_y(0.0625) }, } -for i in ipairs(rug_types) do - s = rug_types[i][1] - m = rug_types[i][2] +for _, rt in ipairs(rug_types) do + local s, m = unpack(rt) local mesh = m local nodebox = nil @@ -41,7 +43,7 @@ for i in ipairs(rug_types) do if type(m) == "table" then mesh = nil nodebox = { - type = "fixed", + type = "fixed", fixed = m } tiles = { @@ -52,7 +54,7 @@ for i in ipairs(rug_types) do end homedecor.register("rug_"..s, { - description = S("Rug ("..s..")"), + description = S("Rug (@1)", S(s)), mesh = mesh, tiles = tiles, node_box = nodebox, @@ -64,15 +66,15 @@ for i in ipairs(rug_types) do }) end -local pot_colors = {"black", "green", "terracotta"} +local pot_colors = { N_("black"), N_("green"), N_("terracotta") } for _, p in ipairs(pot_colors) do homedecor.register("flower_pot_"..p, { - description = S("Flower Pot ("..p..")"), + description = S("Flower Pot (@1)", S(p)), mesh = "homedecor_flowerpot.obj", tiles = { "homedecor_flower_pot_"..p..".png", - "default_dirt.png^[colorize:#000000:175" + { name = "default_dirt.png", color = 0xff505050 }, }, groups = { snappy = 3, potting_soil=1 }, sounds = default.node_sound_stone_defaults(), @@ -80,27 +82,25 @@ homedecor.register("flower_pot_"..p, { end local flowers_list = { - { "Rose", "rose", "flowers:rose" }, - { "Tulip", "tulip", "flowers:tulip" }, - { "Yellow Dandelion", "dandelion_yellow", "flowers:dandelion_yellow" }, - { "White Dandelion", "dandelion_white", "flowers:dandelion_white" }, - { "Blue Geranium", "geranium", "flowers:geranium" }, - { "Viola", "viola", "flowers:viola" }, - { "Cactus", "cactus", "default:cactus" }, - { "Bonsai", "bonsai", "default:sapling" } + { S("Rose"), "rose", "flowers:rose" }, + { S("Tulip"), "tulip", "flowers:tulip" }, + { S("Yellow Dandelion"), "dandelion_yellow", "flowers:dandelion_yellow" }, + { S("White Dandelion"), "dandelion_white", "flowers:dandelion_white" }, + { S("Blue Geranium"), "geranium", "flowers:geranium" }, + { S("Viola"), "viola", "flowers:viola" }, + { S("Cactus"), "cactus", "default:cactus" }, + { S("Bonsai"), "bonsai", "default:sapling" } } -for i in ipairs(flowers_list) do - local flowerdesc = flowers_list[i][1] - local flower = flowers_list[i][2] - local craftwith = flowers_list[i][3] - +for _, f in ipairs(flowers_list) do + local flowerdesc, flower, craftwith = unpack(f) + homedecor.register("potted_"..flower, { - description = S("Potted flower ("..flowerdesc..")"), + description = S("Potted flower (@1)", flowerdesc), mesh = "homedecor_potted_plant.obj", tiles = { "homedecor_flower_pot_terracotta.png", - "default_dirt.png^[colorize:#000000:175", + { name = "default_dirt.png", color = 0xff303030 }, "flowers_"..flower..".png" }, walkable = false, @@ -164,10 +164,10 @@ local ft_cbox = { } homedecor.register("fishtank", { - description = "Fishtank", + description = S("Fishtank"), mesh = "homedecor_fishtank.obj", tiles = { - "homedecor_generic_plastic_black.png", + { name = "homedecor_generic_plastic.png", color = homedecor.color_black }, "homedecor_fishtank_filter.png", "homedecor_fishtank_fishes.png", "homedecor_fishtank_gravel.png", @@ -186,10 +186,10 @@ homedecor.register("fishtank", { }) homedecor.register("fishtank_lighted", { - description = "Fishtank (lighted)", + description = S("Fishtank (lighted)"), mesh = "homedecor_fishtank.obj", tiles = { - "homedecor_generic_plastic_black.png", + { name = "homedecor_generic_plastic.png", color = homedecor.color_black }, "homedecor_fishtank_filter.png", "homedecor_fishtank_fishes_lighted.png", "homedecor_fishtank_gravel_lighted.png", @@ -244,7 +244,7 @@ homedecor.register("cardboard_box", { }) homedecor.register("dvd_cd_cabinet", { - description = "DVD/CD cabinet", + description = S("DVD/CD cabinet"), mesh = "homedecor_dvd_cabinet.obj", tiles = { "default_wood.png", @@ -268,9 +268,9 @@ homedecor.register("pool_table", { "homedecor_pool_table_baize.png", "homedecor_pool_table_pockets.png", "homedecor_pool_table_balls.png", - "homedecor_generic_wood_luxury.png^[colorize:#000000:90" + homedecor.lux_wood, }, - description = "Pool Table", + description = S("Pool Table"), inventory_image = "homedecor_pool_table_inv.png", groups = {snappy=3}, selection_box = pooltable_cbox, @@ -290,12 +290,12 @@ local piano_cbox = { homedecor.register("piano", { mesh = "homedecor_piano.obj", tiles = { - "homedecor_generic_wood_luxury.png^[colorize:#000000:175", + { name = "homedecor_generic_wood_luxury.png", color = homedecor.color_black }, "homedecor_piano_keys.png", "homedecor_generic_metal_brass.png", }, inventory_image = "homedecor_piano_inv.png", - description = "Piano", + description = S("Piano"), groups = { snappy = 3 }, selection_box = piano_cbox, collision_box = piano_cbox, @@ -313,7 +313,7 @@ local tr_cbox = { } homedecor.register("trophy", { - description = "Trophy", + description = S("Trophy"), mesh = "homedecor_trophy.obj", tiles = { "default_wood.png", @@ -331,12 +331,12 @@ local sb_cbox = { } homedecor.register("sportbench", { - description = "Sport bench", + description = S("Sport bench"), mesh = "homedecor_sport_bench.obj", tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_generic_metal_bright.png", - "homedecor_generic_metal_black.png", + { name = "homedecor_generic_metal.png", color = homedecor.color_black }, "wool_black.png" }, inventory_image = "homedecor_sport_bench_inv.png", @@ -356,7 +356,7 @@ homedecor.register("skateboard", { mesh = "homedecor_skateboard.obj", tiles = { "homedecor_skateboard.png" }, inventory_image = "homedecor_skateboard_inv.png", - description = "Skateboard", + description = S("Skateboard"), groups = {snappy=3}, selection_box = skate_cbox, walkable = false, @@ -365,13 +365,13 @@ homedecor.register("skateboard", { }) homedecor.register("tool_cabinet", { - description = "Metal tool cabinet and work table", + description = S("Metal tool cabinet and work table"), mesh = "homedecor_tool_cabinet.obj", tiles = { - "homedecor_generic_metal_black.png^[colorize:#ff0000:150", + { name = "homedecor_generic_metal.png", color = 0xffd00000 }, "homedecor_tool_cabinet_drawers.png", - "homedecor_generic_metal_black.png^[colorize:#006000:150", - "homedecor_generic_metal_black.png^[brighten", + { name = "homedecor_generic_metal.png", color = 0xff006000 }, + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, "homedecor_generic_metal_bright.png", "homedecor_tool_cabinet_misc.png", }, @@ -400,7 +400,7 @@ for _, i in ipairs(n) do mesh = "homedecor_picture_frame.obj", tiles = { "homedecor_picture_frame_image"..i..".png", - "homedecor_generic_wood_luxury.png^[colorize:#000000:50", + homedecor.lux_wood, "homedecor_picture_frame_back.png", }, inventory_image = "homedecor_picture_frame"..i.."_inv.png", @@ -421,7 +421,7 @@ local p_cbox = { for i = 1,20 do homedecor.register("painting_"..i, { - description = "Decorative painting #"..i, + description = S("Decorative painting #@1", i), mesh = "homedecor_painting.obj", tiles = { "default_wood.png", @@ -437,7 +437,7 @@ end homedecor.banister_materials = { { "wood", - "wood", + S("wood"), "default_wood.png", "default_wood.png", "group:wood", @@ -446,7 +446,7 @@ homedecor.banister_materials = { "" }, { "white_dark", - "dark topped", + S("dark topped"), homedecor.white_wood, homedecor.dark_wood, "group:wood", @@ -455,7 +455,7 @@ homedecor.banister_materials = { "dye:white" }, { "brass", - "brass", + S("brass"), homedecor.white_wood, "homedecor_generic_metal_brass.png", "technic:brass_ingot", @@ -464,7 +464,7 @@ homedecor.banister_materials = { "dye:white" }, { "wrought_iron", - "wrought iron", + S("wrought iron"), "homedecor_generic_metal_wrought_iron.png", "homedecor_generic_metal_wrought_iron.png", "homedecor:pole_wrought_iron", @@ -476,9 +476,11 @@ homedecor.banister_materials = { for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do - for i in ipairs(homedecor.banister_materials) do + local sidedesc = side:match("^diagonal") and S("diagonal") or S("horizontal") - local name = homedecor.banister_materials[i][1] + for _, mat in ipairs(homedecor.banister_materials) do + + local name, matdesc, tile1, tile2 = unpack(mat) local nodename = "banister_"..name.."_"..side local groups = { snappy = 3, not_in_creative_inventory = 1 } @@ -498,11 +500,11 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do end homedecor.register(nodename, { - description = S("Banister for Stairs ("..homedecor.banister_materials[i][2]..", "..side..")"), + description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc), mesh = "homedecor_banister_"..side..".obj", tiles = { - homedecor.banister_materials[i][3], - homedecor.banister_materials[i][4] + tile1, + tile2, }, inventory_image = "homedecor_banister_"..name.."_inv.png", groups = groups, @@ -571,7 +573,7 @@ homedecor.register("spiral_staircase", { if #minetest.find_nodes_in_area(minp, maxp, "air") < 11 then minetest.set_node(pos, {name = "air"}) - minetest.chat_send_player(placer:get_player_name(), "This object takes up a 2x3x2 block of space (the bottom step goes in the forward-right corner), and some of it is occupied!" ) + minetest.chat_send_player(placer:get_player_name(), S("not enough space")) return true end diff --git a/homedecor/models/forniture_armchair.obj b/homedecor/models/forniture_armchair.obj index 6af52cd0..b563691b 100644 --- a/homedecor/models/forniture_armchair.obj +++ b/homedecor/models/forniture_armchair.obj @@ -1,142 +1,142 @@ -# Blender v2.73 (sub 0) OBJ File: 'forniture-armchair.blend' +# Blender v2.72 (sub 0) OBJ File: 'forniture-armchair.blend' # www.blender.org o chair_Cylinder -v 0.375000 -0.437500 -0.500000 -v 0.375000 0.039062 -0.500000 -v 0.375000 0.101562 -0.437500 -v 0.375000 0.101562 0.035156 -v 0.375000 0.437500 0.035156 -v 0.375000 0.500000 0.097656 -v -0.375000 0.500000 0.375000 -v 0.312500 -0.187500 -0.375000 -v -0.375000 0.500000 0.097656 -v -0.375000 0.437500 0.035156 -v -0.312500 -0.187500 -0.375000 -v -0.375000 0.101562 0.035156 -v -0.375000 0.101562 -0.437500 -v -0.375000 0.039062 -0.500000 -v 0.375000 0.500000 0.375000 -v -0.375000 -0.437500 -0.500000 -v -0.437500 -0.437500 -0.500000 -v -0.500000 -0.437500 -0.375000 -v -0.500000 0.437500 0.097656 -v -0.437500 0.039062 -0.500000 -v 0.437500 0.500000 0.437500 -v -0.437500 0.101562 -0.437500 -v 0.437500 0.500000 0.097656 -v -0.437500 0.101562 0.035156 -v 0.437500 0.437500 0.035156 -v -0.437500 0.437500 0.035156 -v 0.437500 0.101562 0.035156 -v -0.437500 0.500000 0.097656 -v 0.437500 0.101562 -0.437500 -v -0.437500 0.500000 0.437500 -v 0.437500 0.039062 -0.500000 -v 0.500000 0.437500 0.097656 -v 0.437500 -0.437500 -0.500000 -v -0.312500 -0.437500 -0.375000 -v 0.500000 0.437500 0.500000 -v 0.500000 -0.437500 0.500000 -v 0.312500 -0.437500 -0.375000 -v -0.500000 0.437500 0.500000 -v -0.500000 -0.437500 0.500000 -v -0.500000 0.039062 0.097656 -v 0.500000 0.039062 0.097656 -v -0.500000 0.039062 -0.437500 -v 0.500000 0.039062 -0.437500 -v -0.500000 -0.437500 -0.437500 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.375000 0.039062 +v 0.437500 -0.375000 0.101562 +v -0.035156 -0.375000 0.101562 +v -0.035156 -0.375000 0.437500 +v -0.097656 -0.375000 0.500000 +v -0.375000 0.375000 0.500000 +v 0.375000 -0.312500 -0.187500 +v -0.097656 0.375000 0.500000 +v -0.035156 0.375000 0.437500 +v 0.375000 0.312500 -0.187500 +v -0.035156 0.375000 0.101562 +v 0.437500 0.375000 0.101562 +v 0.500000 0.375000 0.039062 +v -0.375000 -0.375000 0.500000 +v 0.500000 0.375000 -0.437500 +v 0.500000 0.437500 -0.437500 +v 0.375000 0.500000 -0.437500 +v -0.097656 0.500000 0.437500 +v 0.500000 0.437500 0.039062 +v -0.437500 -0.437500 0.500000 +v 0.437500 0.437500 0.101562 +v -0.097656 -0.437500 0.500000 +v -0.035156 0.437500 0.101562 +v -0.035156 -0.437500 0.437500 +v -0.035156 0.437500 0.437500 +v -0.035156 -0.437500 0.101562 +v -0.097656 0.437500 0.500000 +v 0.437500 -0.437500 0.101562 +v -0.437500 0.437500 0.500000 +v 0.500000 -0.437500 0.039062 +v -0.097656 -0.500000 0.437500 v 0.500000 -0.437500 -0.437500 -v 0.312500 0.437500 0.097656 -v 0.312500 0.039062 0.097656 -v 0.312500 0.039062 -0.437500 -v 0.312500 -0.437500 -0.437500 -v -0.312500 0.437500 0.097656 -v 0.500000 -0.437500 -0.375000 -v -0.312500 0.039062 0.097656 -v -0.312500 0.039062 -0.437500 -v -0.312500 -0.437500 -0.437500 -v 0.312500 -0.125000 0.312500 -v -0.312500 -0.125000 0.312500 -v 0.312500 0.437500 0.312500 -v -0.312500 0.437500 0.312500 -v 0.312500 -0.109375 -0.187500 -v -0.312500 -0.109375 -0.187500 -v 0.312500 0.156250 0.285156 -v -0.312500 0.156250 0.285156 -v 0.312500 -0.125000 -0.312500 -v -0.312500 -0.109375 0.250000 -v 0.312500 -0.062500 0.296875 -v -0.312500 0.375000 0.296875 -v 0.312500 -0.109375 0.250000 -v -0.312500 -0.125000 -0.312500 -v 0.312500 0.375000 0.296875 -v -0.312500 -0.062500 0.296875 -v 0.312500 -0.101562 0.031250 -v -0.312500 -0.101562 0.031250 -v -0.432138 -0.500000 0.343750 -v -0.432138 -0.437500 0.343750 -v -0.380362 -0.500000 0.343750 -v -0.380362 -0.437500 0.343750 -v -0.343750 -0.500000 0.380362 -v -0.343750 -0.437500 0.380362 -v -0.343750 -0.500000 0.432138 -v -0.343750 -0.437500 0.432138 -v -0.380362 -0.500000 0.468750 -v -0.380362 -0.437500 0.468750 -v -0.432138 -0.500000 0.468750 -v -0.432138 -0.437500 0.468750 -v -0.468750 -0.500000 0.432138 -v -0.468750 -0.437500 0.432138 -v -0.468750 -0.500000 0.380362 -v -0.468750 -0.437500 0.380362 -v 0.343750 -0.437500 0.380362 -v 0.343750 -0.500000 0.380362 -v 0.343750 -0.437500 0.432138 -v 0.343750 -0.500000 0.432138 -v 0.380362 -0.437500 0.468750 -v 0.380362 -0.500000 0.468750 -v 0.432138 -0.437500 0.468750 -v 0.432138 -0.500000 0.468750 -v 0.468750 -0.437500 0.432138 -v 0.468750 -0.500000 0.432138 -v 0.468750 -0.437500 0.380362 -v 0.468750 -0.500000 0.380362 -v 0.432138 -0.437500 0.343750 -v 0.432138 -0.500000 0.343750 -v 0.380362 -0.437500 0.343750 -v 0.380362 -0.500000 0.343750 -v -0.432138 -0.500000 -0.468750 -v -0.432138 -0.437500 -0.468750 -v -0.380362 -0.500000 -0.468750 -v -0.380362 -0.437500 -0.468750 -v -0.343750 -0.500000 -0.432138 -v -0.343750 -0.437500 -0.432138 -v -0.343750 -0.500000 -0.380362 -v -0.343750 -0.437500 -0.380362 -v -0.380362 -0.500000 -0.343750 -v -0.380362 -0.437500 -0.343750 -v -0.432138 -0.500000 -0.343750 -v -0.432138 -0.437500 -0.343750 -v -0.468750 -0.500000 -0.380362 -v -0.468750 -0.437500 -0.380362 -v -0.468750 -0.500000 -0.432138 -v -0.468750 -0.437500 -0.432138 -v 0.343750 -0.437500 -0.432138 -v 0.343750 -0.500000 -0.432138 -v 0.343750 -0.437500 -0.380362 -v 0.343750 -0.500000 -0.380362 -v 0.380362 -0.437500 -0.343750 -v 0.380362 -0.500000 -0.343750 -v 0.432138 -0.437500 -0.343750 -v 0.432138 -0.500000 -0.343750 -v 0.468750 -0.437500 -0.380362 -v 0.468750 -0.500000 -0.380362 -v 0.468750 -0.437500 -0.432138 -v 0.468750 -0.500000 -0.432138 -v 0.432138 -0.437500 -0.468750 -v 0.432138 -0.500000 -0.468750 -v 0.380362 -0.437500 -0.468750 -v 0.380362 -0.500000 -0.468750 +v 0.375000 0.312500 -0.437500 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.500000 -0.437500 +v 0.375000 -0.312500 -0.437500 +v -0.500000 0.500000 0.437500 +v -0.500000 0.500000 -0.437500 +v -0.097656 0.500000 0.039062 +v -0.097656 -0.500000 0.039062 +v 0.437500 0.500000 0.039062 +v 0.437500 -0.500000 0.039062 +v 0.437500 0.500000 -0.437500 +v 0.437500 -0.500000 -0.437500 +v -0.097656 -0.312500 0.437500 +v -0.097656 -0.312500 0.039062 +v 0.437500 -0.312500 0.039062 +v 0.437500 -0.312500 -0.437500 +v -0.097656 0.312500 0.437500 +v 0.375000 -0.500000 -0.437500 +v -0.097656 0.312500 0.039062 +v 0.437500 0.312500 0.039062 +v 0.437500 0.312500 -0.437500 +v -0.312500 -0.312500 -0.125000 +v -0.312500 0.312500 -0.125000 +v -0.312500 -0.312500 0.437500 +v -0.312500 0.312500 0.437500 +v 0.187500 -0.312500 -0.109375 +v 0.187500 0.312500 -0.109375 +v -0.285156 -0.312500 0.156250 +v -0.285156 0.312500 0.156250 +v 0.312500 -0.312500 -0.125000 +v -0.250000 0.312500 -0.109375 +v -0.296875 -0.312500 -0.062500 +v -0.296875 0.312500 0.375000 +v -0.250000 -0.312500 -0.109375 +v 0.312500 0.312500 -0.125000 +v -0.296875 -0.312500 0.375000 +v -0.296875 0.312500 -0.062500 +v -0.031250 -0.312500 -0.101562 +v -0.031250 0.312500 -0.101562 +v -0.343750 0.432138 -0.500000 +v -0.343750 0.432138 -0.437500 +v -0.343750 0.380361 -0.500000 +v -0.343750 0.380361 -0.437500 +v -0.380362 0.343750 -0.500000 +v -0.380362 0.343750 -0.437500 +v -0.432139 0.343750 -0.500000 +v -0.432139 0.343750 -0.437500 +v -0.468750 0.380361 -0.500000 +v -0.468750 0.380361 -0.437500 +v -0.468750 0.432138 -0.500000 +v -0.468750 0.432138 -0.437500 +v -0.432139 0.468750 -0.500000 +v -0.432139 0.468750 -0.437500 +v -0.380362 0.468750 -0.500000 +v -0.380362 0.468750 -0.437500 +v -0.380361 -0.343750 -0.437500 +v -0.380361 -0.343750 -0.500000 +v -0.432138 -0.343750 -0.437500 +v -0.432138 -0.343750 -0.500000 +v -0.468750 -0.380362 -0.437500 +v -0.468750 -0.380362 -0.500000 +v -0.468750 -0.432139 -0.437500 +v -0.468750 -0.432139 -0.500000 +v -0.432138 -0.468750 -0.437500 +v -0.432138 -0.468750 -0.500000 +v -0.380361 -0.468750 -0.437500 +v -0.380361 -0.468750 -0.500000 +v -0.343750 -0.432139 -0.437500 +v -0.343750 -0.432139 -0.500000 +v -0.343750 -0.380362 -0.437500 +v -0.343750 -0.380362 -0.500000 +v 0.468750 0.432139 -0.500000 +v 0.468750 0.432139 -0.437500 +v 0.468750 0.380362 -0.500000 +v 0.468750 0.380362 -0.437500 +v 0.432138 0.343750 -0.500000 +v 0.432138 0.343750 -0.437500 +v 0.380361 0.343750 -0.500000 +v 0.380361 0.343750 -0.437500 +v 0.343750 0.380362 -0.500000 +v 0.343750 0.380362 -0.437500 +v 0.343750 0.432139 -0.500000 +v 0.343750 0.432139 -0.437500 +v 0.380361 0.468750 -0.500000 +v 0.380361 0.468750 -0.437500 +v 0.432138 0.468750 -0.500000 +v 0.432138 0.468750 -0.437500 +v 0.432139 -0.343750 -0.437500 +v 0.432139 -0.343750 -0.500000 +v 0.380362 -0.343750 -0.437500 +v 0.380362 -0.343750 -0.500000 +v 0.343750 -0.380361 -0.437500 +v 0.343750 -0.380361 -0.500000 +v 0.343750 -0.432138 -0.437500 +v 0.343750 -0.432138 -0.500000 +v 0.380362 -0.468750 -0.437500 +v 0.380362 -0.468750 -0.500000 +v 0.432139 -0.468750 -0.437500 +v 0.432139 -0.468750 -0.500000 +v 0.468750 -0.432138 -0.437500 +v 0.468750 -0.432138 -0.500000 +v 0.468750 -0.380361 -0.437500 +v 0.468750 -0.380361 -0.500000 vt 0.062590 0.539162 vt 0.062590 0.601648 vt 0.000103 0.539162 @@ -367,52 +367,52 @@ vt 0.125000 0.312500 vt 0.125000 0.375000 vt 0.187500 0.312500 vt 0.187500 0.375000 -vn 0.341600 0.341600 -0.875600 -vn 0.341600 0.875600 -0.341600 -vn 0.875600 0.341600 -0.341600 -vn -0.341600 0.875600 -0.341600 -vn -0.341600 0.341600 -0.875600 -vn -0.875600 0.341600 -0.341600 -vn -0.300200 0.905400 0.300200 -vn -0.650700 0.391300 0.650700 -vn 0.300200 0.905400 0.300200 -vn 0.650700 0.391300 0.650700 -vn -0.987800 0.110000 -0.110000 -vn -0.717300 -0.630300 -0.297100 -vn -0.577400 -0.577400 0.577400 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.382700 -0.923900 -vn 0.000000 0.990200 0.139900 -vn 0.000000 0.707100 -0.707100 -vn -0.729300 0.101700 -0.676600 -vn 0.729300 0.101700 -0.676600 -vn 0.526700 0.636900 -0.563000 -vn -0.526700 0.636900 -0.563000 -vn -0.110000 0.987800 -0.110000 -vn 0.110000 0.987800 -0.110000 -vn -0.574300 0.578900 -0.578900 -vn -0.297100 -0.630200 -0.717300 -vn 0.297100 -0.630200 -0.717300 -vn 0.717300 -0.630200 -0.297100 -vn 0.000000 0.898300 -0.439400 -vn 0.000000 0.996800 -0.079900 -vn 0.000000 -0.148700 -0.988900 -vn 0.987800 0.110000 -0.110000 -vn 0.574300 0.578900 -0.578900 -vn 0.717300 -0.630300 -0.297100 -vn -0.717300 -0.630200 -0.297100 -vn 0.577400 -0.577400 0.577400 -vn 0.000000 1.000000 0.000000 -vn -1.000000 0.000000 0.000000 +vn 0.875600 -0.341600 0.341600 +vn 0.341600 -0.341600 0.875600 +vn 0.341600 -0.875600 0.341600 +vn 0.341600 0.341600 0.875600 +vn 0.875600 0.341600 0.341600 +vn 0.341600 0.875600 0.341600 +vn -0.300200 0.300200 0.905400 +vn -0.650700 0.650700 0.391300 +vn -0.300200 -0.300200 0.905400 +vn -0.650700 -0.650700 0.391300 +vn 0.110000 0.987800 0.110000 +vn 0.297100 0.717300 -0.630300 +vn -0.577400 0.577400 -0.577400 vn 1.000000 0.000000 0.000000 -vn -0.707100 -0.707100 0.000000 -vn 0.707100 -0.707100 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.707100 0.000000 -0.707100 +vn 0.923900 0.000000 0.382700 +vn -0.139900 -0.000000 0.990200 vn 0.707100 0.000000 0.707100 +vn 0.676600 0.729300 0.101700 +vn 0.676600 -0.729300 0.101700 +vn 0.563000 -0.526700 0.636900 +vn 0.563000 0.526700 0.636900 +vn 0.110000 0.110000 0.987800 +vn 0.110000 -0.110000 0.987800 +vn 0.578900 0.574300 0.578900 +vn 0.717300 0.297100 -0.630200 +vn 0.717300 -0.297100 -0.630200 +vn 0.297100 -0.717300 -0.630200 +vn 0.439400 0.000000 0.898300 +vn 0.079900 0.000000 0.996800 +vn 0.988900 0.000000 -0.148700 +vn 0.110000 -0.987800 0.110000 +vn 0.578900 -0.574300 0.578900 +vn 0.297100 -0.717300 -0.630300 +vn 0.297100 0.717300 -0.630200 +vn -0.577400 -0.577400 -0.577400 vn 0.000000 0.000000 1.000000 -vn -0.707100 0.000000 0.707100 -vn -0.707100 0.000000 -0.707100 +vn -0.000000 1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.707100 -0.707100 +vn 0.000000 -0.707100 -0.707100 +vn 0.000000 0.000000 -1.000000 +vn 0.707100 -0.707100 0.000000 +vn -0.707100 -0.707100 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.707100 0.707100 0.000000 +vn 0.707100 0.707100 0.000000 g chair_Cylinder_colored s 1 f 31/1/1 29/2/2 43/3/3 diff --git a/homedecor/models/homedecor_bed_extended.obj b/homedecor/models/homedecor_bed_extended.obj index 4616b466..b8e49c42 100644 --- a/homedecor/models/homedecor_bed_extended.obj +++ b/homedecor/models/homedecor_bed_extended.obj @@ -1,158 +1,158 @@ -# Blender v2.73 (sub 0) OBJ File: 'bed-extended.blend' +# Blender v2.72 (sub 0) OBJ File: 'bed-extended.blend' # www.blender.org o Cube -v -0.500000 -0.375000 1.437500 -v -0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 1.437500 -v -0.500000 -0.125000 1.437500 -v -0.500000 -0.125000 -0.437500 -v 0.500000 -0.125000 -0.437500 -v 0.500000 -0.125000 1.437500 -v -0.437500 -0.125000 1.437500 -v -0.437500 -0.125000 -0.437500 -v 0.437500 -0.125000 -0.437500 -v 0.437500 -0.125000 1.437500 -v 0.375000 -0.500000 -0.437500 -v 0.375000 -0.500000 -0.500000 +v -1.437500 0.500000 -0.375000 +v 0.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -1.437500 -0.500000 -0.375000 +v -1.437500 0.500000 -0.125000 +v 0.437500 0.500000 -0.125000 +v 0.437500 -0.500000 -0.125000 +v -1.437500 -0.500000 -0.125000 +v -1.437500 0.437500 -0.125000 +v 0.437500 0.437500 -0.125000 +v 0.437500 -0.437500 -0.125000 +v -1.437500 -0.437500 -0.125000 +v 0.437500 -0.375000 -0.500000 +v 0.500000 -0.375000 -0.500000 v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.437500 -v 0.375000 0.500000 -0.437500 -v 0.375000 0.500000 -0.500000 +v 0.437500 -0.500000 -0.500000 +v 0.437500 -0.375000 0.500000 +v 0.500000 -0.375000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.437500 -0.500000 0.500000 +v 0.437500 0.500000 -0.500000 v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 -0.437500 -v -0.500000 -0.500000 -0.437500 -v -0.500000 -0.500000 -0.500000 -v -0.375000 -0.500000 -0.500000 -v -0.375000 -0.500000 -0.437500 -v -0.500000 0.500000 -0.437500 -v -0.500000 0.500000 -0.500000 -v -0.375000 0.500000 -0.500000 -v -0.375000 0.500000 -0.437500 -v -0.375000 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.437500 -v -0.375000 -0.125000 -0.437500 -v -0.375000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.437500 -v -0.375000 0.000000 -0.437500 -v -0.375000 0.000000 -0.500000 -v 0.375000 0.000000 -0.500000 -v 0.375000 0.000000 -0.437500 -v -0.375000 0.125000 -0.437500 -v -0.375000 0.125000 -0.500000 -v 0.375000 0.125000 -0.500000 -v 0.375000 0.125000 -0.437500 -v 0.375000 -0.500000 1.437500 -v 0.375000 -0.500000 1.500000 -v 0.500000 -0.500000 1.500000 -v 0.500000 -0.500000 1.437500 -v 0.375000 0.500000 1.437500 -v 0.375000 0.500000 1.500000 -v 0.500000 0.500000 1.500000 -v 0.500000 0.500000 1.437500 -v -0.500000 -0.500000 1.437500 -v -0.500000 -0.500000 1.500000 -v -0.375000 -0.500000 1.500000 -v -0.375000 -0.500000 1.437500 -v -0.500000 0.500000 1.437500 -v -0.500000 0.500000 1.500000 -v -0.375000 0.500000 1.500000 -v -0.375000 0.500000 1.437500 -v -0.375000 -0.375000 1.437500 -v -0.375000 -0.375000 1.500000 -v 0.375000 -0.375000 1.500000 -v 0.375000 -0.375000 1.437500 -v -0.375000 -0.125000 1.437500 -v -0.375000 -0.125000 1.500000 -v 0.375000 -0.125000 1.500000 -v 0.375000 -0.125000 1.437500 -v -0.375000 -0.062500 1.437500 -v -0.375000 -0.062500 1.500000 -v 0.375000 -0.062500 1.500000 -v 0.375000 -0.062500 1.437500 -v -0.375000 0.187500 1.437500 -v -0.375000 0.187500 1.500000 -v 0.375000 0.187500 1.500000 -v 0.375000 0.187500 1.437500 -v -0.375000 0.250000 1.437500 -v -0.375000 0.250000 1.500000 -v 0.375000 0.250000 1.500000 -v 0.375000 0.250000 1.437500 -v -0.375000 0.437500 1.437500 -v -0.375000 0.437500 1.500000 -v 0.375000 0.437500 1.500000 -v 0.375000 0.437500 1.437500 -v -0.500000 -0.125000 0.500000 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.125000 0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.125000 0.500000 -v 0.437500 -0.125000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.437500 -v -0.437500 -0.078125 1.437500 -v -0.437500 -0.078125 -0.437500 -v 0.437500 -0.078125 -0.437500 -v 0.437500 -0.078125 1.437500 -v -0.406250 -0.046875 1.437500 -v -0.406250 -0.046875 -0.437500 -v 0.406250 -0.046875 -0.437500 -v 0.406250 -0.046875 1.437500 -v -0.312500 -0.046875 1.437500 -v -0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.437500 -v -0.406250 -0.046875 0.500000 -v -0.437500 -0.078125 0.500000 -v 0.406250 -0.046875 0.500000 -v 0.437500 -0.078125 0.500000 -v -0.312500 -0.031250 1.437500 -v -0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.437500 -v -0.250000 0.031250 1.375000 -v -0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.375000 -v 0.437500 -0.375000 1.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.375000 -v 0.437500 -0.375000 1.375000 -v -0.437500 -0.375000 -0.375000 +v 0.500000 0.375000 -0.500000 +v 0.437500 0.375000 -0.500000 +v 0.437500 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.375000 0.500000 +v 0.437500 0.375000 0.500000 +v 0.437500 0.375000 -0.375000 +v 0.500000 0.375000 -0.375000 +v 0.500000 -0.375000 -0.375000 v 0.437500 -0.375000 -0.375000 -v -0.437500 -0.312500 1.375000 -v 0.437500 -0.312500 1.375000 -v -0.437500 -0.312500 -0.375000 -v 0.437500 -0.312500 -0.375000 -v -0.437500 -0.125000 1.000000 -v 0.437500 -0.125000 1.000000 -v -0.437500 -0.078125 1.000000 -v 0.406250 -0.046875 1.000000 -v -0.406250 -0.046875 1.000000 -v 0.437500 -0.078125 1.000000 -v -0.437500 -0.312500 0.500000 -v 0.437500 -0.312500 0.500000 -v -0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.375000 -v 0.437500 -0.375000 -0.375000 -v -0.375000 0.250000 -0.437500 -v -0.375000 0.250000 -0.500000 -v 0.375000 0.250000 -0.500000 -v 0.375000 0.250000 -0.437500 -v -0.375000 0.375000 -0.437500 -v -0.375000 0.375000 -0.500000 -v 0.375000 0.375000 -0.500000 -v 0.375000 0.375000 -0.437500 +v 0.437500 0.375000 -0.125000 +v 0.500000 0.375000 -0.125000 +v 0.500000 -0.375000 -0.125000 +v 0.437500 -0.375000 -0.125000 +v 0.437500 0.375000 0.000000 +v 0.500000 0.375000 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.437500 -0.375000 0.000000 +v 0.437500 0.375000 0.125000 +v 0.500000 0.375000 0.125000 +v 0.500000 -0.375000 0.125000 +v 0.437500 -0.375000 0.125000 +v -1.437500 -0.375000 -0.500000 +v -1.500000 -0.375000 -0.500000 +v -1.500000 -0.500000 -0.500000 +v -1.437500 -0.500000 -0.500000 +v -1.437500 -0.375000 0.500000 +v -1.500000 -0.375000 0.500000 +v -1.500000 -0.500000 0.500000 +v -1.437500 -0.500000 0.500000 +v -1.437500 0.500000 -0.500000 +v -1.500000 0.500000 -0.500000 +v -1.500000 0.375000 -0.500000 +v -1.437500 0.375000 -0.500000 +v -1.437500 0.500000 0.500000 +v -1.500000 0.500000 0.500000 +v -1.500000 0.375000 0.500000 +v -1.437500 0.375000 0.500000 +v -1.437500 0.375000 -0.375000 +v -1.500000 0.375000 -0.375000 +v -1.500000 -0.375000 -0.375000 +v -1.437500 -0.375000 -0.375000 +v -1.437500 0.375000 -0.125000 +v -1.500000 0.375000 -0.125000 +v -1.500000 -0.375000 -0.125000 +v -1.437500 -0.375000 -0.125000 +v -1.437500 0.375000 -0.062500 +v -1.500000 0.375000 -0.062500 +v -1.500000 -0.375000 -0.062500 +v -1.437500 -0.375000 -0.062500 +v -1.437500 0.375000 0.187500 +v -1.500000 0.375000 0.187500 +v -1.500000 -0.375000 0.187500 +v -1.437500 -0.375000 0.187500 +v -1.437500 0.375000 0.250000 +v -1.500000 0.375000 0.250000 +v -1.500000 -0.375000 0.250000 +v -1.437500 -0.375000 0.250000 +v -1.437500 0.375000 0.437500 +v -1.500000 0.375000 0.437500 +v -1.500000 -0.375000 0.437500 +v -1.437500 -0.375000 0.437500 +v -0.500000 0.500000 -0.125000 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.125000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.437500 -0.125000 +v -0.500000 -0.437500 -0.125000 +v -0.500000 0.437500 -0.375000 +v -1.437500 0.437500 -0.375000 +v -1.437500 0.437500 -0.078125 +v 0.437500 0.437500 -0.078125 +v 0.437500 -0.437500 -0.078125 +v -1.437500 -0.437500 -0.078125 +v -1.437500 0.406250 -0.046875 +v 0.437500 0.406250 -0.046875 +v 0.437500 -0.406250 -0.046875 +v -1.437500 -0.406250 -0.046875 +v -1.437500 0.312500 -0.046875 +v -1.062500 0.312500 -0.046875 +v -1.062500 -0.312500 -0.046875 +v -1.437500 -0.312500 -0.046875 +v -0.500000 0.406250 -0.046875 +v -0.500000 0.437500 -0.078125 +v -0.500000 -0.406250 -0.046875 +v -0.500000 -0.437500 -0.078125 +v -1.437500 0.312500 -0.031250 +v -1.062500 0.312500 -0.031250 +v -1.062500 -0.312500 -0.031250 +v -1.437500 -0.312500 -0.031250 +v -1.375000 0.250000 0.031250 +v -1.125000 0.250000 0.031250 +v -1.125000 -0.250000 0.031250 +v -1.375000 -0.250000 0.031250 +v -1.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.375000 +v -1.375000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.312500 +v -1.375000 -0.437500 -0.312500 +v 0.375000 0.437500 -0.312500 +v 0.375000 -0.437500 -0.312500 +v -1.000000 0.437500 -0.125000 +v -1.000000 -0.437500 -0.125000 +v -1.000000 0.437500 -0.078125 +v -1.000000 -0.406250 -0.046875 +v -1.000000 0.406250 -0.046875 +v -1.000000 -0.437500 -0.078125 +v -0.500000 0.437500 -0.312500 +v -0.500000 -0.437500 -0.312500 +v 0.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.437500 -0.375000 +v 0.437500 0.437500 -0.375000 +v 0.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 +v 0.437500 0.375000 0.250000 +v 0.500000 0.375000 0.250000 +v 0.500000 -0.375000 0.250000 +v 0.437500 -0.375000 0.250000 +v 0.437500 0.375000 0.375000 +v 0.500000 0.375000 0.375000 +v 0.500000 -0.375000 0.375000 +v 0.437500 -0.375000 0.375000 vt 1.000000 0.250000 vt 0.062500 0.250000 vt 0.062500 -0.000000 @@ -233,16 +233,16 @@ vt 0.750000 0.125000 vt 0.812500 0.062500 vt 0.812500 0.500000 vt 0.187500 0.500000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 +vn -0.000000 1.000000 0.000000 vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 vn 0.000000 0.000000 1.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -0.707100 0.707100 +vn -0.000000 0.707100 0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 g Cube_Cube_frame-metal s off f 85/1/1 6/2/1 2/3/1 86/4/1 diff --git a/homedecor/models/homedecor_bed_kingsize.obj b/homedecor/models/homedecor_bed_kingsize.obj index 9b5dad10..89a939d3 100644 --- a/homedecor/models/homedecor_bed_kingsize.obj +++ b/homedecor/models/homedecor_bed_kingsize.obj @@ -1,260 +1,260 @@ -# Blender v2.73 (sub 0) OBJ File: 'bed-kingsize.blend' +# Blender v2.72 (sub 0) OBJ File: 'bed-kingsize.blend' # www.blender.org o Cube -v -0.500000 -0.375000 1.437500 -v 0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 1.437500 -v 0.500000 -0.125000 -0.437500 -v 0.500000 -0.125000 1.437500 -v 0.437500 -0.125000 -0.437500 -v 0.437500 -0.125000 1.437500 -v 0.375000 -0.500000 -0.437500 -v 0.375000 -0.500000 -0.500000 +v -1.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -1.437500 -0.500000 -0.375000 +v 0.437500 -0.500000 -0.125000 +v -1.437500 -0.500000 -0.125000 +v 0.437500 -0.437500 -0.125000 +v -1.437500 -0.437500 -0.125000 +v 0.437500 -0.375000 -0.500000 +v 0.500000 -0.375000 -0.500000 v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.437500 -v 0.375000 0.187500 -0.437500 -v 0.375000 0.187500 -0.500000 -v 0.500000 0.187500 -0.500000 -v 0.500000 0.187500 -0.437500 -v -0.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.437500 -v -0.500000 -0.125000 -0.437500 -v -0.500000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.437500 -v -0.500000 0.000000 -0.437500 -v -0.500000 0.000000 -0.500000 -v 0.375000 0.000000 -0.500000 -v 0.375000 0.000000 -0.437500 -v -0.500000 0.125000 -0.437500 -v -0.500000 0.125000 -0.500000 -v 0.375000 0.125000 -0.500000 -v 0.375000 0.125000 -0.437500 -v 0.375000 -0.500000 1.437500 -v 0.375000 -0.500000 1.500000 -v 0.500000 -0.500000 1.500000 -v 0.500000 -0.500000 1.437500 -v 0.375000 0.500000 1.437500 -v 0.375000 0.500000 1.500000 -v 0.500000 0.500000 1.500000 -v 0.500000 0.500000 1.437500 -v -0.500000 -0.375000 1.437500 -v -0.500000 -0.375000 1.500000 -v 0.375000 -0.375000 1.500000 -v 0.375000 -0.375000 1.437500 -v -0.500000 -0.125000 1.437500 -v -0.500000 -0.125000 1.500000 -v 0.375000 -0.125000 1.500000 -v 0.375000 -0.125000 1.437500 -v -0.500000 -0.062500 1.437500 -v -0.500000 -0.062500 1.500000 -v 0.375000 -0.062500 1.500000 -v 0.375000 -0.062500 1.437500 -v -0.500000 0.187500 1.437500 -v -0.500000 0.187500 1.500000 -v 0.375000 0.187500 1.500000 -v 0.375000 0.187500 1.437500 -v -0.500000 0.250000 1.437500 -v -0.500000 0.250000 1.500000 -v 0.375000 0.250000 1.500000 -v 0.375000 0.250000 1.437500 -v -0.500000 0.437500 1.437500 -v -0.500000 0.437500 1.500000 -v 0.375000 0.437500 1.500000 -v 0.375000 0.437500 1.437500 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.125000 0.500000 -v 0.500000 -0.375000 0.500000 -v 0.437500 -0.125000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.437500 -v 0.437500 -0.078125 -0.437500 -v 0.437500 -0.078125 1.437500 -v -0.500000 -0.046875 1.437500 -v -0.500000 -0.046875 -0.437500 -v 0.406250 -0.046875 -0.437500 -v 0.406250 -0.046875 1.437500 -v -0.312500 -0.046875 1.437500 -v -0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.437500 -v -0.500000 -0.046875 0.500000 -v 0.406250 -0.046875 0.500000 -v 0.437500 -0.078125 0.500000 -v -0.312500 -0.031250 1.437500 -v -0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.437500 -v -0.250000 0.031250 1.375000 -v -0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.375000 -v 0.437500 -0.375000 1.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.375000 -v 0.437500 -0.375000 1.375000 -v -0.437500 -0.375000 -0.375000 +v 0.437500 -0.500000 -0.500000 +v 0.437500 -0.375000 0.187500 +v 0.500000 -0.375000 0.187500 +v 0.500000 -0.500000 0.187500 +v 0.437500 -0.500000 0.187500 +v 0.437500 0.500000 -0.375000 +v 0.500000 0.500000 -0.375000 +v 0.500000 -0.375000 -0.375000 v 0.437500 -0.375000 -0.375000 -v -0.437500 -0.312500 1.375000 -v 0.437500 -0.312500 1.375000 -v -0.437500 -0.312500 -0.375000 -v 0.437500 -0.312500 -0.375000 -v 0.437500 -0.125000 1.000000 -v 0.406250 -0.046875 1.000000 -v -0.500000 -0.046875 1.000000 -v 0.437500 -0.078125 1.000000 -v -0.437500 -0.312500 0.500000 -v 0.437500 -0.312500 0.500000 -v -0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.375000 -v 0.437500 -0.375000 -0.375000 -v -1.500000 -0.375000 1.437500 -v -1.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 1.437500 -v -1.500000 -0.125000 1.437500 -v -1.500000 -0.125000 -0.437500 -v -1.437500 -0.125000 1.437500 -v -1.437500 -0.125000 -0.437500 -v -1.500000 -0.500000 -0.437500 +v 0.437500 0.500000 -0.125000 +v 0.500000 0.500000 -0.125000 +v 0.500000 -0.375000 -0.125000 +v 0.437500 -0.375000 -0.125000 +v 0.437500 0.500000 0.000000 +v 0.500000 0.500000 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.437500 -0.375000 0.000000 +v 0.437500 0.500000 0.125000 +v 0.500000 0.500000 0.125000 +v 0.500000 -0.375000 0.125000 +v 0.437500 -0.375000 0.125000 +v -1.437500 -0.375000 -0.500000 +v -1.500000 -0.375000 -0.500000 v -1.500000 -0.500000 -0.500000 -v -1.375000 -0.500000 -0.500000 -v -1.375000 -0.500000 -0.437500 -v -1.500000 0.187500 -0.437500 -v -1.500000 0.187500 -0.500000 -v -1.375000 0.187500 -0.500000 -v -1.375000 0.187500 -0.437500 -v -1.375000 -0.375000 -0.437500 -v -1.375000 -0.375000 -0.500000 -v -0.500000 -0.375000 -0.500000 -v -0.500000 -0.375000 -0.437500 -v -1.375000 -0.125000 -0.437500 -v -1.375000 -0.125000 -0.500000 -v -0.500000 -0.125000 -0.500000 -v -0.500000 -0.125000 -0.437500 -v -1.375000 0.000000 -0.437500 -v -1.375000 0.000000 -0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 0.000000 -0.437500 -v -1.375000 0.125000 -0.437500 -v -1.375000 0.125000 -0.500000 -v -0.500000 0.125000 -0.500000 -v -0.500000 0.125000 -0.437500 -v -1.500000 -0.500000 1.437500 -v -1.500000 -0.500000 1.500000 -v -1.375000 -0.500000 1.500000 -v -1.375000 -0.500000 1.437500 -v -1.500000 0.500000 1.437500 -v -1.500000 0.500000 1.500000 -v -1.375000 0.500000 1.500000 -v -1.375000 0.500000 1.437500 -v -1.375000 -0.375000 1.437500 -v -1.375000 -0.375000 1.500000 -v -0.500000 -0.375000 1.500000 -v -0.500000 -0.375000 1.437500 -v -1.375000 -0.125000 1.437500 -v -1.375000 -0.125000 1.500000 -v -0.500000 -0.125000 1.500000 -v -0.500000 -0.125000 1.437500 -v -1.375000 -0.062500 1.437500 -v -1.375000 -0.062500 1.500000 -v -0.500000 -0.062500 1.500000 -v -0.500000 -0.062500 1.437500 -v -1.375000 0.187500 1.437500 -v -1.375000 0.187500 1.500000 -v -0.500000 0.187500 1.500000 -v -0.500000 0.187500 1.437500 -v -1.375000 0.250000 1.437500 -v -1.375000 0.250000 1.500000 -v -0.500000 0.250000 1.500000 -v -0.500000 0.250000 1.437500 -v -1.375000 0.437500 1.437500 -v -1.375000 0.437500 1.500000 -v -0.500000 0.437500 1.500000 -v -0.500000 0.437500 1.437500 -v -1.500000 -0.125000 0.500000 -v -1.500000 -0.375000 0.500000 -v -0.500000 -0.375000 0.500000 -v -1.437500 -0.125000 0.500000 +v -1.437500 -0.500000 -0.500000 v -1.437500 -0.375000 0.500000 -v -1.437500 -0.375000 1.437500 -v -1.437500 -0.078125 1.437500 -v -1.437500 -0.078125 -0.437500 -v -1.406250 -0.046875 1.437500 -v -1.406250 -0.046875 -0.437500 -v -0.500000 -0.046875 -0.437500 -v -0.500000 -0.046875 1.437500 -v -1.312500 -0.046875 1.437500 -v -1.312500 -0.046875 1.062500 -v -0.687500 -0.046875 1.062500 -v -0.687500 -0.046875 1.437500 -v -1.406250 -0.046875 0.500000 -v -1.437500 -0.078125 0.500000 -v -0.500000 -0.046875 0.500000 -v -1.312500 -0.031250 1.437500 -v -1.312500 -0.031250 1.062500 -v -0.687500 -0.031250 1.062500 -v -0.687500 -0.031250 1.437500 -v -1.250000 0.031250 1.375000 -v -1.250000 0.031250 1.125000 -v -0.750000 0.031250 1.125000 -v -0.750000 0.031250 1.375000 -v -0.562500 -0.375000 1.437500 -v -0.562500 -0.375000 0.500000 -v -1.437500 -0.375000 1.375000 -v -0.562500 -0.375000 1.375000 -v -1.437500 -0.375000 -0.375000 -v -0.562500 -0.375000 -0.375000 -v -1.437500 -0.312500 1.375000 -v -0.562500 -0.312500 1.375000 -v -1.437500 -0.312500 -0.375000 -v -0.562500 -0.312500 -0.375000 -v -1.437500 -0.125000 1.000000 -v -1.437500 -0.078125 1.000000 -v -0.500000 -0.046875 1.000000 -v -1.406250 -0.046875 1.000000 -v -1.437500 -0.312500 0.500000 -v -0.562500 -0.312500 0.500000 -v -1.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 -0.437500 v -1.500000 -0.375000 0.500000 -v -0.500000 -0.375000 0.500000 -v -1.437500 -0.375000 0.500000 -v -1.437500 -0.375000 -0.437500 -v -0.562500 -0.375000 -0.437500 -v -0.562500 -0.375000 0.500000 +v -1.500000 -0.500000 0.500000 +v -1.437500 -0.500000 0.500000 +v -1.437500 0.500000 -0.375000 +v -1.500000 0.500000 -0.375000 +v -1.500000 -0.375000 -0.375000 v -1.437500 -0.375000 -0.375000 -v -0.562500 -0.375000 -0.375000 -v -0.500000 -0.125000 -0.437500 -v -0.500000 -0.046875 1.437500 -v -0.500000 -0.125000 1.437500 -v -0.500000 -0.078125 1.437500 -v -0.500000 -0.046875 -0.437500 -v -0.500000 -0.078125 -0.437500 -v -0.562500 -0.500000 -0.375000 -v -0.562500 -0.500000 -0.437500 -v -0.437500 -0.500000 -0.437500 -v -0.437500 -0.500000 -0.375000 -v -0.562500 -0.375000 -0.375000 -v -0.562500 -0.375000 -0.437500 -v -0.437500 -0.375000 -0.437500 -v -0.437500 -0.375000 -0.375000 -v -0.562500 -0.500000 1.437500 -v -0.562500 -0.500000 1.375000 -v -0.437500 -0.500000 1.375000 -v -0.437500 -0.500000 1.437500 -v -0.562500 -0.375000 1.437500 -v -0.562500 -0.375000 1.375000 -v -0.437500 -0.375000 1.375000 -v -0.437500 -0.375000 1.437500 +v -1.437500 0.500000 -0.125000 +v -1.500000 0.500000 -0.125000 +v -1.500000 -0.375000 -0.125000 +v -1.437500 -0.375000 -0.125000 +v -1.437500 0.500000 -0.062500 +v -1.500000 0.500000 -0.062500 +v -1.500000 -0.375000 -0.062500 +v -1.437500 -0.375000 -0.062500 +v -1.437500 0.500000 0.187500 +v -1.500000 0.500000 0.187500 +v -1.500000 -0.375000 0.187500 +v -1.437500 -0.375000 0.187500 +v -1.437500 0.500000 0.250000 +v -1.500000 0.500000 0.250000 +v -1.500000 -0.375000 0.250000 +v -1.437500 -0.375000 0.250000 +v -1.437500 0.500000 0.437500 +v -1.500000 0.500000 0.437500 +v -1.500000 -0.375000 0.437500 +v -1.437500 -0.375000 0.437500 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.125000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 -0.437500 -0.125000 +v -0.500000 0.437500 -0.375000 +v -1.437500 0.437500 -0.375000 +v 0.437500 -0.437500 -0.078125 +v -1.437500 -0.437500 -0.078125 +v -1.437500 0.500000 -0.046875 +v 0.437500 0.500000 -0.046875 +v 0.437500 -0.406250 -0.046875 +v -1.437500 -0.406250 -0.046875 +v -1.437500 0.312500 -0.046875 +v -1.062500 0.312500 -0.046875 +v -1.062500 -0.312500 -0.046875 +v -1.437500 -0.312500 -0.046875 +v -0.500000 0.500000 -0.046875 +v -0.500000 -0.406250 -0.046875 +v -0.500000 -0.437500 -0.078125 +v -1.437500 0.312500 -0.031250 +v -1.062500 0.312500 -0.031250 +v -1.062500 -0.312500 -0.031250 +v -1.437500 -0.312500 -0.031250 +v -1.375000 0.250000 0.031250 +v -1.125000 0.250000 0.031250 +v -1.125000 -0.250000 0.031250 +v -1.375000 -0.250000 0.031250 +v -1.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.375000 +v -1.375000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.312500 +v -1.375000 -0.437500 -0.312500 +v 0.375000 0.437500 -0.312500 +v 0.375000 -0.437500 -0.312500 +v -1.000000 -0.437500 -0.125000 +v -1.000000 -0.406250 -0.046875 +v -1.000000 0.500000 -0.046875 +v -1.000000 -0.437500 -0.078125 +v -0.500000 0.437500 -0.312500 +v -0.500000 -0.437500 -0.312500 +v 0.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.437500 -0.375000 +v 0.437500 0.437500 -0.375000 +v 0.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 +v -1.437500 1.500000 -0.375000 +v 0.437500 1.500000 -0.375000 +v -1.437500 0.500000 -0.375000 +v -1.437500 1.500000 -0.125000 +v 0.437500 1.500000 -0.125000 +v -1.437500 1.437500 -0.125000 +v 0.437500 1.437500 -0.125000 +v 0.437500 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.375000 -0.500000 +v 0.437500 1.375000 -0.500000 +v 0.437500 1.500000 0.187500 +v 0.500000 1.500000 0.187500 +v 0.500000 1.375000 0.187500 +v 0.437500 1.375000 0.187500 +v 0.437500 1.375000 -0.375000 +v 0.500000 1.375000 -0.375000 +v 0.500000 0.500000 -0.375000 +v 0.437500 0.500000 -0.375000 +v 0.437500 1.375000 -0.125000 +v 0.500000 1.375000 -0.125000 +v 0.500000 0.500000 -0.125000 +v 0.437500 0.500000 -0.125000 +v 0.437500 1.375000 0.000000 +v 0.500000 1.375000 0.000000 +v 0.500000 0.500000 0.000000 +v 0.437500 0.500000 0.000000 +v 0.437500 1.375000 0.125000 +v 0.500000 1.375000 0.125000 +v 0.500000 0.500000 0.125000 +v 0.437500 0.500000 0.125000 +v -1.437500 1.500000 -0.500000 +v -1.500000 1.500000 -0.500000 +v -1.500000 1.375000 -0.500000 +v -1.437500 1.375000 -0.500000 +v -1.437500 1.500000 0.500000 +v -1.500000 1.500000 0.500000 +v -1.500000 1.375000 0.500000 +v -1.437500 1.375000 0.500000 +v -1.437500 1.375000 -0.375000 +v -1.500000 1.375000 -0.375000 +v -1.500000 0.500000 -0.375000 +v -1.437500 0.500000 -0.375000 +v -1.437500 1.375000 -0.125000 +v -1.500000 1.375000 -0.125000 +v -1.500000 0.500000 -0.125000 +v -1.437500 0.500000 -0.125000 +v -1.437500 1.375000 -0.062500 +v -1.500000 1.375000 -0.062500 +v -1.500000 0.500000 -0.062500 +v -1.437500 0.500000 -0.062500 +v -1.437500 1.375000 0.187500 +v -1.500000 1.375000 0.187500 +v -1.500000 0.500000 0.187500 +v -1.437500 0.500000 0.187500 +v -1.437500 1.375000 0.250000 +v -1.500000 1.375000 0.250000 +v -1.500000 0.500000 0.250000 +v -1.437500 0.500000 0.250000 +v -1.437500 1.375000 0.437500 +v -1.500000 1.375000 0.437500 +v -1.500000 0.500000 0.437500 +v -1.437500 0.500000 0.437500 +v -0.500000 1.500000 -0.125000 +v -0.500000 1.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -0.500000 1.437500 -0.125000 +v -0.500000 1.437500 -0.375000 +v -1.437500 1.437500 -0.375000 +v -1.437500 1.437500 -0.078125 +v 0.437500 1.437500 -0.078125 +v -1.437500 1.406250 -0.046875 +v 0.437500 1.406250 -0.046875 +v 0.437500 0.500000 -0.046875 +v -1.437500 0.500000 -0.046875 +v -1.437500 1.312500 -0.046875 +v -1.062500 1.312500 -0.046875 +v -1.062500 0.687500 -0.046875 +v -1.437500 0.687500 -0.046875 +v -0.500000 1.406250 -0.046875 +v -0.500000 1.437500 -0.078125 +v -0.500000 0.500000 -0.046875 +v -1.437500 1.312500 -0.031250 +v -1.062500 1.312500 -0.031250 +v -1.062500 0.687500 -0.031250 +v -1.437500 0.687500 -0.031250 +v -1.375000 1.250000 0.031250 +v -1.125000 1.250000 0.031250 +v -1.125000 0.750000 0.031250 +v -1.375000 0.750000 0.031250 +v -1.437500 0.562500 -0.375000 +v -0.500000 0.562500 -0.375000 +v -1.375000 1.437500 -0.375000 +v -1.375000 0.562500 -0.375000 +v 0.375000 1.437500 -0.375000 +v 0.375000 0.562500 -0.375000 +v -1.375000 1.437500 -0.312500 +v -1.375000 0.562500 -0.312500 +v 0.375000 1.437500 -0.312500 +v 0.375000 0.562500 -0.312500 +v -1.000000 1.437500 -0.125000 +v -1.000000 1.437500 -0.078125 +v -1.000000 0.500000 -0.046875 +v -1.000000 1.406250 -0.046875 +v -0.500000 1.437500 -0.312500 +v -0.500000 0.562500 -0.312500 +v 0.437500 1.500000 -0.375000 +v 0.437500 0.500000 -0.375000 +v -0.500000 1.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -0.500000 1.437500 -0.375000 +v 0.437500 1.437500 -0.375000 +v 0.437500 0.562500 -0.375000 +v -0.500000 0.562500 -0.375000 +v 0.375000 1.437500 -0.375000 +v 0.375000 0.562500 -0.375000 +v 0.437500 0.500000 -0.125000 +v -1.437500 0.500000 -0.046875 +v -1.437500 0.500000 -0.125000 +v -1.437500 0.500000 -0.078125 +v 0.437500 0.500000 -0.046875 +v 0.437500 0.500000 -0.078125 +v 0.375000 0.562500 -0.500000 +v 0.437500 0.562500 -0.500000 +v 0.437500 0.437500 -0.500000 +v 0.375000 0.437500 -0.500000 +v 0.375000 0.562500 -0.375000 +v 0.437500 0.562500 -0.375000 +v 0.437500 0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v -1.437500 0.562500 -0.500000 +v -1.375000 0.562500 -0.500000 +v -1.375000 0.437500 -0.500000 +v -1.437500 0.437500 -0.500000 +v -1.437500 0.562500 -0.375000 +v -1.375000 0.562500 -0.375000 +v -1.375000 0.437500 -0.375000 +v -1.437500 0.437500 -0.375000 vt 1.000000 0.250000 vt 0.062500 0.250000 vt 0.062500 -0.000000 @@ -361,16 +361,16 @@ vt 0.750000 0.125000 vt 0.812500 0.062500 vt 0.812500 0.500000 vt 0.187500 0.500000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 vn -1.000000 0.000000 0.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 +vn -0.000000 1.000000 0.000000 +vn 0.000000 -0.707100 0.707100 vn 0.000000 0.707100 0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 g Cube_Cube_frame-metal s off f 65/1/1 5/2/1 3/3/1 66/4/1 diff --git a/homedecor/models/homedecor_bed_regular.obj b/homedecor/models/homedecor_bed_regular.obj index 3694fc99..cecbd963 100644 --- a/homedecor/models/homedecor_bed_regular.obj +++ b/homedecor/models/homedecor_bed_regular.obj @@ -1,150 +1,150 @@ -# Blender v2.73 (sub 0) OBJ File: 'bed.blend' +# Blender v2.72 (sub 0) OBJ File: 'bed.blend' # www.blender.org o Cube -v -0.500000 -0.375000 1.437500 -v -0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 1.437500 -v -0.500000 -0.125000 1.437500 -v -0.500000 -0.125000 -0.437500 -v 0.500000 -0.125000 -0.437500 -v 0.500000 -0.125000 1.437500 -v -0.437500 -0.125000 1.437500 -v -0.437500 -0.125000 -0.437500 -v 0.437500 -0.125000 -0.437500 -v 0.437500 -0.125000 1.437500 -v 0.375000 -0.500000 -0.437500 -v 0.375000 -0.500000 -0.500000 +v -1.437500 0.500000 -0.375000 +v 0.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -1.437500 -0.500000 -0.375000 +v -1.437500 0.500000 -0.125000 +v 0.437500 0.500000 -0.125000 +v 0.437500 -0.500000 -0.125000 +v -1.437500 -0.500000 -0.125000 +v -1.437500 0.437500 -0.125000 +v 0.437500 0.437500 -0.125000 +v 0.437500 -0.437500 -0.125000 +v -1.437500 -0.437500 -0.125000 +v 0.437500 -0.375000 -0.500000 +v 0.500000 -0.375000 -0.500000 v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.437500 -v 0.375000 0.187500 -0.437500 -v 0.375000 0.187500 -0.500000 -v 0.500000 0.187500 -0.500000 -v 0.500000 0.187500 -0.437500 -v -0.500000 -0.500000 -0.437500 -v -0.500000 -0.500000 -0.500000 -v -0.375000 -0.500000 -0.500000 -v -0.375000 -0.500000 -0.437500 -v -0.500000 0.187500 -0.437500 -v -0.500000 0.187500 -0.500000 -v -0.375000 0.187500 -0.500000 -v -0.375000 0.187500 -0.437500 -v -0.375000 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.500000 -v 0.375000 -0.375000 -0.437500 -v -0.375000 -0.125000 -0.437500 -v -0.375000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.500000 -v 0.375000 -0.125000 -0.437500 -v -0.375000 0.000000 -0.437500 -v -0.375000 0.000000 -0.500000 -v 0.375000 0.000000 -0.500000 -v 0.375000 0.000000 -0.437500 -v -0.375000 0.125000 -0.437500 -v -0.375000 0.125000 -0.500000 -v 0.375000 0.125000 -0.500000 -v 0.375000 0.125000 -0.437500 -v 0.375000 -0.500000 1.437500 -v 0.375000 -0.500000 1.500000 -v 0.500000 -0.500000 1.500000 -v 0.500000 -0.500000 1.437500 -v 0.375000 0.500000 1.437500 -v 0.375000 0.500000 1.500000 -v 0.500000 0.500000 1.500000 -v 0.500000 0.500000 1.437500 -v -0.500000 -0.500000 1.437500 -v -0.500000 -0.500000 1.500000 -v -0.375000 -0.500000 1.500000 -v -0.375000 -0.500000 1.437500 -v -0.500000 0.500000 1.437500 -v -0.500000 0.500000 1.500000 -v -0.375000 0.500000 1.500000 -v -0.375000 0.500000 1.437500 -v -0.375000 -0.375000 1.437500 -v -0.375000 -0.375000 1.500000 -v 0.375000 -0.375000 1.500000 -v 0.375000 -0.375000 1.437500 -v -0.375000 -0.125000 1.437500 -v -0.375000 -0.125000 1.500000 -v 0.375000 -0.125000 1.500000 -v 0.375000 -0.125000 1.437500 -v -0.375000 -0.062500 1.437500 -v -0.375000 -0.062500 1.500000 -v 0.375000 -0.062500 1.500000 -v 0.375000 -0.062500 1.437500 -v -0.375000 0.187500 1.437500 -v -0.375000 0.187500 1.500000 -v 0.375000 0.187500 1.500000 -v 0.375000 0.187500 1.437500 -v -0.375000 0.250000 1.437500 -v -0.375000 0.250000 1.500000 -v 0.375000 0.250000 1.500000 -v 0.375000 0.250000 1.437500 -v -0.375000 0.437500 1.437500 -v -0.375000 0.437500 1.500000 -v 0.375000 0.437500 1.500000 -v 0.375000 0.437500 1.437500 -v -0.500000 -0.125000 0.500000 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.125000 0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.125000 0.500000 -v 0.437500 -0.125000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.437500 -v -0.437500 -0.078125 1.437500 -v -0.437500 -0.078125 -0.437500 -v 0.437500 -0.078125 -0.437500 -v 0.437500 -0.078125 1.437500 -v -0.406250 -0.046875 1.437500 -v -0.406250 -0.046875 -0.437500 -v 0.406250 -0.046875 -0.437500 -v 0.406250 -0.046875 1.437500 -v -0.312500 -0.046875 1.437500 -v -0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.062500 -v 0.312500 -0.046875 1.437500 -v -0.406250 -0.046875 0.500000 -v -0.437500 -0.078125 0.500000 -v 0.406250 -0.046875 0.500000 -v 0.437500 -0.078125 0.500000 -v -0.312500 -0.031250 1.437500 -v -0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.062500 -v 0.312500 -0.031250 1.437500 -v -0.250000 0.031250 1.375000 -v -0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.125000 -v 0.250000 0.031250 1.375000 -v 0.437500 -0.375000 1.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 1.375000 -v 0.437500 -0.375000 1.375000 -v -0.437500 -0.375000 -0.375000 -v 0.437500 -0.375000 -0.375000 -v -0.437500 -0.312500 1.375000 -v 0.437500 -0.312500 1.375000 -v -0.437500 -0.312500 -0.375000 -v 0.437500 -0.312500 -0.375000 -v -0.437500 -0.125000 1.000000 -v 0.437500 -0.125000 1.000000 -v -0.437500 -0.078125 1.000000 -v 0.406250 -0.046875 1.000000 -v -0.406250 -0.046875 1.000000 -v 0.437500 -0.078125 1.000000 -v -0.437500 -0.312500 0.500000 -v 0.437500 -0.312500 0.500000 -v -0.500000 -0.375000 -0.437500 -v 0.500000 -0.375000 -0.437500 -v -0.500000 -0.375000 0.500000 -v 0.500000 -0.375000 0.500000 -v -0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 0.500000 -v -0.437500 -0.375000 -0.375000 +v 0.437500 -0.500000 -0.500000 +v 0.437500 -0.375000 0.187500 +v 0.500000 -0.375000 0.187500 +v 0.500000 -0.500000 0.187500 +v 0.437500 -0.500000 0.187500 +v 0.437500 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.375000 -0.500000 +v 0.437500 0.375000 -0.500000 +v 0.437500 0.500000 0.187500 +v 0.500000 0.500000 0.187500 +v 0.500000 0.375000 0.187500 +v 0.437500 0.375000 0.187500 +v 0.437500 0.375000 -0.375000 +v 0.500000 0.375000 -0.375000 +v 0.500000 -0.375000 -0.375000 v 0.437500 -0.375000 -0.375000 +v 0.437500 0.375000 -0.125000 +v 0.500000 0.375000 -0.125000 +v 0.500000 -0.375000 -0.125000 +v 0.437500 -0.375000 -0.125000 +v 0.437500 0.375000 0.000000 +v 0.500000 0.375000 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.437500 -0.375000 0.000000 +v 0.437500 0.375000 0.125000 +v 0.500000 0.375000 0.125000 +v 0.500000 -0.375000 0.125000 +v 0.437500 -0.375000 0.125000 +v -1.437500 -0.375000 -0.500000 +v -1.500000 -0.375000 -0.500000 +v -1.500000 -0.500000 -0.500000 +v -1.437500 -0.500000 -0.500000 +v -1.437500 -0.375000 0.500000 +v -1.500000 -0.375000 0.500000 +v -1.500000 -0.500000 0.500000 +v -1.437500 -0.500000 0.500000 +v -1.437500 0.500000 -0.500000 +v -1.500000 0.500000 -0.500000 +v -1.500000 0.375000 -0.500000 +v -1.437500 0.375000 -0.500000 +v -1.437500 0.500000 0.500000 +v -1.500000 0.500000 0.500000 +v -1.500000 0.375000 0.500000 +v -1.437500 0.375000 0.500000 +v -1.437500 0.375000 -0.375000 +v -1.500000 0.375000 -0.375000 +v -1.500000 -0.375000 -0.375000 +v -1.437500 -0.375000 -0.375000 +v -1.437500 0.375000 -0.125000 +v -1.500000 0.375000 -0.125000 +v -1.500000 -0.375000 -0.125000 +v -1.437500 -0.375000 -0.125000 +v -1.437500 0.375000 -0.062500 +v -1.500000 0.375000 -0.062500 +v -1.500000 -0.375000 -0.062500 +v -1.437500 -0.375000 -0.062500 +v -1.437500 0.375000 0.187500 +v -1.500000 0.375000 0.187500 +v -1.500000 -0.375000 0.187500 +v -1.437500 -0.375000 0.187500 +v -1.437500 0.375000 0.250000 +v -1.500000 0.375000 0.250000 +v -1.500000 -0.375000 0.250000 +v -1.437500 -0.375000 0.250000 +v -1.437500 0.375000 0.437500 +v -1.500000 0.375000 0.437500 +v -1.500000 -0.375000 0.437500 +v -1.437500 -0.375000 0.437500 +v -0.500000 0.500000 -0.125000 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.125000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.437500 -0.125000 +v -0.500000 -0.437500 -0.125000 +v -0.500000 0.437500 -0.375000 +v -1.437500 0.437500 -0.375000 +v -1.437500 0.437500 -0.078125 +v 0.437500 0.437500 -0.078125 +v 0.437500 -0.437500 -0.078125 +v -1.437500 -0.437500 -0.078125 +v -1.437500 0.406250 -0.046875 +v 0.437500 0.406250 -0.046875 +v 0.437500 -0.406250 -0.046875 +v -1.437500 -0.406250 -0.046875 +v -1.437500 0.312500 -0.046875 +v -1.062500 0.312500 -0.046875 +v -1.062500 -0.312500 -0.046875 +v -1.437500 -0.312500 -0.046875 +v -0.500000 0.406250 -0.046875 +v -0.500000 0.437500 -0.078125 +v -0.500000 -0.406250 -0.046875 +v -0.500000 -0.437500 -0.078125 +v -1.437500 0.312500 -0.031250 +v -1.062500 0.312500 -0.031250 +v -1.062500 -0.312500 -0.031250 +v -1.437500 -0.312500 -0.031250 +v -1.375000 0.250000 0.031250 +v -1.125000 0.250000 0.031250 +v -1.125000 -0.250000 0.031250 +v -1.375000 -0.250000 0.031250 +v -1.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.375000 +v -1.375000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 +v -1.375000 0.437500 -0.312500 +v -1.375000 -0.437500 -0.312500 +v 0.375000 0.437500 -0.312500 +v 0.375000 -0.437500 -0.312500 +v -1.000000 0.437500 -0.125000 +v -1.000000 -0.437500 -0.125000 +v -1.000000 0.437500 -0.078125 +v -1.000000 -0.406250 -0.046875 +v -1.000000 0.406250 -0.046875 +v -1.000000 -0.437500 -0.078125 +v -0.500000 0.437500 -0.312500 +v -0.500000 -0.437500 -0.312500 +v 0.437500 0.500000 -0.375000 +v 0.437500 -0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.437500 -0.375000 +v 0.437500 0.437500 -0.375000 +v 0.437500 -0.437500 -0.375000 +v -0.500000 -0.437500 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 vt 1.000000 0.250000 vt 0.062500 0.250000 vt 0.062500 -0.000000 @@ -227,16 +227,16 @@ vt 0.750000 0.125000 vt 0.812500 0.062500 vt 0.812500 0.500000 vt 0.187500 0.500000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 +vn -0.000000 1.000000 0.000000 vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 vn 0.000000 0.000000 1.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -0.707100 0.707100 +vn -0.000000 0.707100 0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 g Cube_Cube_frame-metal s off f 85/1/1 6/2/1 2/3/1 86/4/1 diff --git a/homedecor/models/homedecor_desk_lamp.obj b/homedecor/models/homedecor_desk_lamp.obj index c1213ea9..3cda1b44 100644 --- a/homedecor/models/homedecor_desk_lamp.obj +++ b/homedecor/models/homedecor_desk_lamp.obj @@ -1,1223 +1,2153 @@ -# Blender v2.72 (sub 0) OBJ File: '' +# Blender v2.72 (sub 0) OBJ File: 'desk_lamp.blend' # www.blender.org -mtllib homedecor_desk_lamp.mtl -o bulb -v -0.157569 -0.085144 0.010337 -v -0.206730 -0.062515 0.010337 -v -0.191531 -0.048448 -0.039662 -v -0.146821 -0.075197 -0.025018 -v -0.225492 -0.011753 0.010337 -v -0.214743 -0.001806 -0.025018 -v -0.154835 -0.014486 -0.060373 -v -0.120873 -0.051182 -0.039662 -v -0.188796 0.022209 -0.039662 -v -0.120873 -0.051182 0.060337 -v -0.154835 -0.014486 0.081047 -v -0.191531 -0.048448 0.060337 -v -0.146821 -0.075197 0.045692 -v -0.188796 0.022209 0.060337 -v -0.214743 -0.001806 0.045692 -v -0.106806 -0.066382 0.010337 -v -0.202863 0.037408 0.010337 -vt 0.375348 0.375348 -vt 0.624652 0.375348 -vt 0.624652 0.624652 -vt 0.375348 0.624652 -g bulb_bulb_Material.001 -usemtl Material.001 +o Sphere.001 +v 0.000090 0.219622 -0.077676 +v 0.000090 0.237842 -0.033688 +v 0.044077 0.219622 -0.033688 +v 0.031194 0.206738 -0.077676 +v 0.000090 0.219622 0.010299 +v 0.031194 0.206738 0.010299 +v 0.062298 0.175634 -0.033688 +v 0.044077 0.175634 -0.077676 +v 0.044077 0.175634 0.010299 +v 0.044077 0.131647 -0.033688 +v 0.031194 0.144530 -0.077676 +v 0.031194 0.144530 0.010299 +v 0.000090 0.113426 -0.033688 +v 0.000090 0.131647 -0.077676 +v 0.000090 0.131647 0.010299 +v -0.043898 0.131647 -0.033689 +v -0.031014 0.144530 -0.077676 +v -0.031014 0.144530 0.010299 +v -0.062118 0.175634 -0.033689 +v -0.043898 0.175634 -0.077676 +v -0.043898 0.175634 0.010299 +v -0.043898 0.219622 -0.033689 +v -0.031014 0.206738 -0.077676 +v -0.031014 0.206738 0.010299 +v 0.000090 0.175634 -0.095896 +v 0.000090 0.175634 0.028519 +v 0.000088 -0.053313 -0.428234 +v 0.000087 -0.054882 -0.409010 +v 0.013760 -0.060531 -0.409425 +v 0.013762 -0.058960 -0.428663 +v 0.019424 -0.074168 -0.410428 +v 0.019426 -0.072594 -0.429702 +v 0.013761 -0.087804 -0.411433 +v 0.013762 -0.086228 -0.430742 +v 0.000087 -0.093453 -0.411851 +v 0.000088 -0.091876 -0.431173 +v -0.013587 -0.087804 -0.411436 +v -0.013585 -0.086229 -0.430743 +v -0.019251 -0.074168 -0.410432 +v -0.019249 -0.072594 -0.429705 +v -0.013587 -0.060531 -0.409427 +v -0.013586 -0.058960 -0.428665 +v 0.000089 -0.051743 -0.447457 +v 0.013763 -0.057389 -0.447903 +v 0.019427 -0.071021 -0.448977 +v 0.013764 -0.084652 -0.450051 +v 0.000090 -0.090299 -0.450494 +v -0.013584 -0.084653 -0.450051 +v -0.019248 -0.071021 -0.448977 +v -0.013584 -0.057390 -0.447903 +v 0.000084 -0.056107 -0.389955 +v 0.000081 -0.057294 -0.370919 +v 0.013755 -0.062952 -0.371186 +v 0.013758 -0.061760 -0.390299 +v 0.019419 -0.076610 -0.371834 +v 0.019422 -0.075408 -0.391132 +v 0.013755 -0.090268 -0.372483 +v 0.013758 -0.089056 -0.391967 +v 0.000082 -0.095926 -0.372753 +v 0.000084 -0.094710 -0.392314 +v -0.013592 -0.090269 -0.372487 +v -0.013589 -0.089056 -0.391971 +v -0.019256 -0.076610 -0.371839 +v -0.019253 -0.075408 -0.391136 +v -0.013592 -0.062952 -0.371190 +v -0.013590 -0.061760 -0.390301 +v 0.000087 -0.054882 -0.409010 +v 0.013760 -0.060531 -0.409425 +v 0.019424 -0.074168 -0.410428 +v 0.013761 -0.087804 -0.411433 +v 0.000087 -0.093453 -0.411851 +v -0.013587 -0.087804 -0.411436 +v -0.019251 -0.074168 -0.410432 +v -0.013587 -0.060531 -0.409427 +v 0.000078 -0.058004 -0.351961 +v 0.000075 -0.058403 -0.333057 +v 0.013749 -0.064067 -0.333093 +v 0.013752 -0.063665 -0.352123 +v 0.019413 -0.077740 -0.333189 +v 0.019416 -0.077333 -0.352517 +v 0.013749 -0.091414 -0.333286 +v 0.013752 -0.091001 -0.352913 +v 0.000075 -0.097077 -0.333328 +v 0.000079 -0.096663 -0.353078 +v -0.013598 -0.091414 -0.333291 +v -0.013595 -0.091002 -0.352917 +v -0.019262 -0.077740 -0.333194 +v -0.019259 -0.077333 -0.352522 +v -0.013598 -0.064067 -0.333099 +v -0.013595 -0.063666 -0.352127 +v 0.000081 -0.057294 -0.370919 +v 0.013755 -0.062952 -0.371186 +v 0.019419 -0.076610 -0.371834 +v 0.013755 -0.090268 -0.372483 +v 0.000082 -0.095926 -0.372753 +v -0.013592 -0.090269 -0.372487 +v -0.019256 -0.076610 -0.371839 +v -0.013592 -0.062952 -0.371190 +v 0.000072 -0.058466 -0.314198 +v 0.000069 -0.057764 -0.295446 +v 0.013743 -0.063422 -0.295182 +v 0.013746 -0.064129 -0.314099 +v 0.019406 -0.077081 -0.294549 +v 0.019410 -0.077800 -0.313864 +v 0.013743 -0.090740 -0.293921 +v 0.013746 -0.091472 -0.313633 +v 0.000069 -0.096398 -0.293661 +v 0.000072 -0.097135 -0.313539 +v -0.013605 -0.090740 -0.293925 +v -0.013602 -0.091472 -0.313637 +v -0.019269 -0.077081 -0.294556 +v -0.019265 -0.077800 -0.313872 +v -0.013605 -0.063422 -0.295187 +v -0.013601 -0.064129 -0.314104 +v 0.000075 -0.058403 -0.333057 +v 0.013749 -0.064067 -0.333093 +v 0.019413 -0.077740 -0.333189 +v 0.013749 -0.091414 -0.333286 +v 0.000075 -0.097077 -0.333328 +v -0.013598 -0.091414 -0.333291 +v -0.019262 -0.077740 -0.333194 +v -0.013598 -0.064067 -0.333099 +v 0.000066 -0.057059 -0.276696 +v 0.000063 -0.054957 -0.258207 +v 0.013737 -0.060585 -0.257571 +v 0.013740 -0.062707 -0.276267 +v 0.019400 -0.074173 -0.256038 +v 0.019403 -0.076341 -0.275237 +v 0.013736 -0.087761 -0.254506 +v 0.013739 -0.089976 -0.274209 +v 0.000063 -0.093389 -0.253875 +v 0.000066 -0.095624 -0.273785 +v -0.013611 -0.087761 -0.254510 +v -0.013608 -0.089976 -0.274213 +v -0.019275 -0.074173 -0.256043 +v -0.019272 -0.076341 -0.275244 +v -0.013611 -0.060585 -0.257574 +v -0.013608 -0.062707 -0.276271 +v 0.000069 -0.057764 -0.295446 +v 0.013743 -0.063422 -0.295182 +v 0.019406 -0.077081 -0.294549 +v 0.013743 -0.090740 -0.293921 +v 0.000069 -0.096398 -0.293661 +v -0.013605 -0.090740 -0.293925 +v -0.019269 -0.077081 -0.294556 +v -0.013605 -0.063422 -0.295187 +v 0.000060 -0.052882 -0.239714 +v 0.000058 -0.049564 -0.221554 +v 0.013732 -0.055124 -0.220469 +v 0.013734 -0.058483 -0.238870 +v 0.019395 -0.068545 -0.217853 +v 0.019397 -0.072004 -0.236838 +v 0.013731 -0.081966 -0.215239 +v 0.013733 -0.085526 -0.234806 +v 0.000057 -0.087526 -0.214157 +v 0.000060 -0.091127 -0.233967 +v -0.013617 -0.081966 -0.215242 +v -0.013614 -0.085526 -0.234810 +v -0.019280 -0.068545 -0.217858 +v -0.019278 -0.072004 -0.236843 +v -0.013616 -0.055124 -0.220473 +v -0.013613 -0.058483 -0.238874 +v 0.000063 -0.054957 -0.258207 +v 0.013737 -0.060585 -0.257571 +v 0.019400 -0.074173 -0.256038 +v 0.013736 -0.087761 -0.254506 +v 0.000063 -0.093389 -0.253875 +v -0.013611 -0.087761 -0.254510 +v -0.019275 -0.074173 -0.256043 +v -0.013611 -0.060585 -0.257574 +v 0.000056 -0.045791 -0.203518 +v 0.000054 -0.041164 -0.185804 +v 0.013728 -0.046594 -0.184194 +v 0.013729 -0.051295 -0.202180 +v 0.019391 -0.059704 -0.180307 +v 0.019393 -0.064583 -0.198953 +v 0.013727 -0.072814 -0.176422 +v 0.013729 -0.077870 -0.195727 +v 0.000053 -0.078244 -0.174813 +v 0.000055 -0.083374 -0.194392 +v -0.013621 -0.072814 -0.176424 +v -0.013619 -0.077870 -0.195730 +v -0.019284 -0.059704 -0.180311 +v -0.019282 -0.064582 -0.198957 +v -0.013620 -0.046594 -0.184196 +v -0.013618 -0.051295 -0.202183 +v 0.000058 -0.049564 -0.221554 +v 0.013732 -0.055124 -0.220469 +v 0.019395 -0.068545 -0.217853 +v 0.013731 -0.081966 -0.215239 +v 0.000057 -0.087526 -0.214157 +v -0.013617 -0.081966 -0.215242 +v -0.019280 -0.068545 -0.217858 +v -0.013616 -0.055124 -0.220473 +v 0.000053 -0.035381 -0.168523 +v 0.000052 -0.029340 -0.151380 +v 0.013725 -0.034556 -0.149171 +v 0.013726 -0.040714 -0.166613 +v 0.019389 -0.047148 -0.143840 +v 0.019390 -0.053588 -0.162005 +v 0.013724 -0.059740 -0.138508 +v 0.013725 -0.066462 -0.157398 +v 0.000050 -0.064955 -0.136301 +v 0.000051 -0.071794 -0.155490 +v -0.013623 -0.059739 -0.138510 +v -0.013622 -0.066461 -0.157399 +v -0.019286 -0.047147 -0.143841 +v -0.019285 -0.053587 -0.162008 +v -0.013622 -0.034556 -0.149172 +v -0.013621 -0.040713 -0.166615 +v 0.000054 -0.041164 -0.185804 +v 0.013728 -0.046594 -0.184194 +v 0.019391 -0.059704 -0.180307 +v 0.013727 -0.072814 -0.176422 +v 0.000053 -0.078244 -0.174813 +v -0.013621 -0.072814 -0.176424 +v -0.019284 -0.059704 -0.180311 +v -0.013620 -0.046594 -0.184196 +v 0.000052 -0.021284 -0.135257 +v 0.000052 -0.013301 -0.119098 +v 0.013726 -0.018187 -0.116232 +v 0.013726 -0.026346 -0.132714 +v 0.019389 -0.029982 -0.109315 +v 0.019389 -0.038565 -0.126577 +v 0.013724 -0.041776 -0.102395 +v 0.013724 -0.050784 -0.120439 +v 0.000051 -0.046661 -0.099531 +v 0.000050 -0.055844 -0.117898 +v -0.013623 -0.041775 -0.102395 +v -0.013623 -0.050782 -0.120439 +v -0.019286 -0.029980 -0.109314 +v -0.019286 -0.038563 -0.126577 +v -0.013622 -0.018186 -0.116232 +v -0.013622 -0.026345 -0.132715 +v 0.000052 -0.029340 -0.151380 +v 0.013725 -0.034556 -0.149171 +v 0.019389 -0.047148 -0.143840 +v 0.013724 -0.059740 -0.138508 +v 0.000050 -0.064955 -0.136301 +v -0.013623 -0.059739 -0.138510 +v -0.019286 -0.047147 -0.143841 +v -0.013622 -0.034556 -0.149172 +v 0.000054 -0.003263 -0.104318 +v 0.000055 0.007108 -0.089760 +v 0.013729 0.002677 -0.086231 +v 0.013727 -0.007935 -0.101117 +v 0.019392 -0.008016 -0.077709 +v 0.019390 -0.019212 -0.093383 +v 0.013728 -0.018709 -0.069187 +v 0.013726 -0.030488 -0.085648 +v 0.000054 -0.023137 -0.065656 +v 0.000052 -0.035158 -0.082444 +v -0.013620 -0.018706 -0.069186 +v -0.013621 -0.030486 -0.085648 +v -0.019283 -0.008013 -0.077707 +v -0.019285 -0.019209 -0.093380 +v -0.013619 0.002680 -0.086230 +v -0.013620 -0.007933 -0.101114 +v 0.000052 -0.013301 -0.119098 +v 0.013726 -0.018187 -0.116232 +v 0.019389 -0.029982 -0.109315 +v 0.013724 -0.041776 -0.102395 +v 0.000051 -0.046661 -0.099531 +v -0.013623 -0.041775 -0.102395 +v -0.019286 -0.029980 -0.109314 +v -0.013622 -0.018186 -0.116232 +v 0.000058 0.018728 -0.076297 +v 0.000061 0.031389 -0.063737 +v 0.013735 0.027519 -0.059602 +v 0.013731 0.014565 -0.072457 +v 0.019398 0.018180 -0.049614 +v 0.019395 0.004518 -0.063180 +v 0.013734 0.008842 -0.039625 +v 0.013731 -0.005528 -0.053904 +v 0.000061 0.004976 -0.035486 +v 0.000057 -0.009687 -0.050060 +v -0.013613 0.008846 -0.039622 +v -0.013617 -0.005524 -0.053901 +v -0.019277 0.018185 -0.049609 +v -0.019280 0.004523 -0.063176 +v -0.013613 0.027523 -0.059598 +v -0.013616 0.014568 -0.072453 +v 0.000055 0.007108 -0.089760 +v 0.013729 0.002677 -0.086231 +v 0.019392 -0.008016 -0.077709 +v 0.013728 -0.018709 -0.069187 +v 0.000054 -0.023137 -0.065656 +v -0.013620 -0.018706 -0.069186 +v -0.019283 -0.008013 -0.077707 +v -0.013619 0.002680 -0.086230 +v 0.000065 0.044496 -0.051682 +v 0.000069 0.059103 -0.041303 +v 0.013743 0.055860 -0.036660 +v 0.013738 0.040935 -0.047277 +v 0.019407 0.048034 -0.025448 +v 0.019402 0.032345 -0.036639 +v 0.013744 0.040211 -0.014233 +v 0.013738 0.023757 -0.025999 +v 0.000070 0.036973 -0.009585 +v 0.000065 0.020202 -0.021590 +v -0.013603 0.040217 -0.014228 +v -0.013609 0.023762 -0.025994 +v -0.019268 0.048042 -0.025441 +v -0.019273 0.032352 -0.036633 +v -0.013604 0.055865 -0.036656 +v -0.013609 0.040940 -0.047273 +v 0.000061 0.031389 -0.063737 +v 0.013735 0.027519 -0.059602 +v 0.019398 0.018180 -0.049614 +v 0.013734 0.008842 -0.039625 +v 0.000061 0.004976 -0.035486 +v -0.013613 0.008846 -0.039622 +v -0.019277 0.018185 -0.049609 +v -0.013613 0.027523 -0.059598 +v 0.000074 0.073657 -0.030846 +v 0.000080 0.089672 -0.022433 +v 0.013754 0.087076 -0.017399 +v 0.013748 0.070745 -0.025989 +v 0.019419 0.080817 -0.005243 +v 0.019413 0.063723 -0.014256 +v 0.013756 0.074562 0.006916 +v 0.013749 0.056703 -0.002522 +v 0.000083 0.071973 0.011955 +v 0.000076 0.053798 0.002341 +v -0.013591 0.074569 0.006922 +v -0.013598 0.056710 -0.002516 +v -0.019256 0.080828 -0.005235 +v -0.019262 0.063732 -0.014249 +v -0.013593 0.087084 -0.017394 +v -0.013599 0.070752 -0.025983 +v 0.000069 0.059103 -0.041303 +v 0.013743 0.055860 -0.036660 +v 0.019407 0.048034 -0.025448 +v 0.013744 0.040211 -0.014233 +v 0.000070 0.036973 -0.009585 +v -0.013603 0.040217 -0.014228 +v -0.019268 0.048042 -0.025441 +v -0.013604 0.055865 -0.036656 +v 0.136105 -0.070721 -0.500000 +v 0.136105 -0.070721 -0.446543 +v 0.133492 -0.097256 -0.446543 +v 0.133492 -0.097256 -0.500000 +v 0.125752 -0.122772 -0.446543 +v 0.125752 -0.122772 -0.500000 +v 0.113183 -0.146287 -0.446543 +v 0.113183 -0.146287 -0.500000 +v 0.096267 -0.166898 -0.446543 +v 0.096267 -0.166898 -0.500000 +v 0.075656 -0.183814 -0.446543 +v 0.075656 -0.183814 -0.500000 +v 0.052141 -0.196383 -0.446543 +v 0.052141 -0.196383 -0.500000 +v 0.026625 -0.204123 -0.446543 +v 0.026625 -0.204123 -0.500000 +v 0.000090 -0.206737 -0.446543 +v 0.000090 -0.206737 -0.500000 +v -0.026445 -0.204123 -0.446543 +v -0.026445 -0.204123 -0.500000 +v -0.051961 -0.196383 -0.446543 +v -0.051961 -0.196383 -0.500000 +v -0.075476 -0.183814 -0.446543 +v -0.075476 -0.183814 -0.500000 +v -0.096088 -0.166898 -0.446543 +v -0.096088 -0.166898 -0.500000 +v -0.113003 -0.146287 -0.446543 +v -0.113003 -0.146287 -0.500000 +v -0.125572 -0.122772 -0.446543 +v -0.125572 -0.122772 -0.500000 +v -0.133312 -0.097256 -0.446543 +v -0.133312 -0.097256 -0.500000 +v -0.135926 -0.070721 -0.446543 +v -0.135926 -0.070721 -0.500000 +v -0.133312 -0.044185 -0.446543 +v -0.133312 -0.044185 -0.500000 +v -0.125572 -0.018670 -0.446543 +v -0.125572 -0.018670 -0.500000 +v -0.113003 0.004845 -0.446543 +v -0.113003 0.004845 -0.500000 +v -0.096088 0.025457 -0.446543 +v -0.096088 0.025457 -0.500000 +v -0.075476 0.042372 -0.446543 +v -0.075476 0.042372 -0.500000 +v -0.051961 0.054941 -0.446543 +v -0.051961 0.054941 -0.500000 +v -0.026445 0.062681 -0.446543 +v -0.026445 0.062681 -0.500000 +v 0.000090 0.065295 -0.446543 +v 0.000090 0.065295 -0.500000 +v 0.026625 0.062681 -0.446543 +v 0.026625 0.062681 -0.500000 +v 0.052141 0.054941 -0.446543 +v 0.052141 0.054941 -0.500000 +v 0.075656 0.042372 -0.446543 +v 0.075656 0.042372 -0.500000 +v 0.096268 0.025457 -0.446543 +v 0.096268 0.025457 -0.500000 +v 0.113183 0.004845 -0.446543 +v 0.113183 0.004845 -0.500000 +v 0.125752 -0.018670 -0.446543 +v 0.125752 -0.018670 -0.500000 +v 0.133492 -0.044186 -0.446543 +v 0.133492 -0.044186 -0.500000 +v -0.001042 0.319468 -0.005959 +v -0.001015 0.286512 0.024001 +v 0.043535 0.280568 0.017516 +v 0.043629 0.313508 -0.012461 +v -0.000976 0.247764 0.047680 +v 0.040183 0.242273 0.041689 +v -0.000918 0.202905 0.054728 +v 0.030584 0.198702 0.050143 +v 0.081327 0.263519 -0.001007 +v 0.081523 0.296412 -0.031034 +v 0.075098 0.226521 0.024576 +v 0.057307 0.186646 0.037045 +v 0.106609 0.237959 -0.028748 +v 0.106873 0.270783 -0.058851 +v 0.098455 0.202907 -0.001054 +v 0.075184 0.168573 0.017429 +v 0.115530 0.207779 -0.061485 +v 0.115819 0.240522 -0.091676 +v 0.106698 0.175025 -0.031299 +v 0.081492 0.147233 -0.005719 +v 0.106734 0.177576 -0.094232 +v 0.106999 0.210236 -0.124512 +v 0.098571 0.147121 -0.061553 +v 0.075272 0.125876 -0.028875 +v 0.081559 0.151945 -0.122005 +v 0.081756 0.184537 -0.152360 +v 0.075312 0.123441 -0.087213 +v 0.057471 0.107752 -0.048514 +v 0.043837 0.134791 -0.140576 +v 0.043932 0.167335 -0.170982 +v 0.040462 0.107592 -0.104369 +v 0.030798 0.095622 -0.061645 +v -0.000687 0.128723 -0.147117 +v -0.000713 0.161251 -0.177540 +v -0.000673 0.101987 -0.110413 +v -0.000686 0.091332 -0.066271 +v -0.045237 0.134667 -0.140632 +v -0.045384 0.167211 -0.171038 +v -0.041832 0.107478 -0.104421 +v -0.032188 0.095534 -0.061685 +v -0.083029 0.151716 -0.122110 +v -0.083278 0.184307 -0.152465 +v -0.076747 0.123230 -0.087308 +v -0.058911 0.107590 -0.048588 +v -0.108311 0.177276 -0.094369 +v -0.108628 0.209936 -0.124649 +v -0.100104 0.146844 -0.061678 +v -0.076787 0.125664 -0.028972 +v -0.117232 0.207456 -0.061632 +v -0.117574 0.240197 -0.091824 +v -0.108347 0.174726 -0.031434 +v -0.083096 0.147004 -0.005824 +v -0.108436 0.237660 -0.028885 +v -0.108754 0.270483 -0.058987 +v -0.100220 0.202631 -0.001180 +v -0.076876 0.168361 0.017332 +v -0.083261 0.263290 -0.001111 +v -0.083510 0.296183 -0.031138 +v -0.076961 0.226310 0.024480 +v -0.059074 0.186484 0.036972 +v -0.045539 0.280444 0.017460 +v -0.045687 0.313384 -0.012517 +v -0.042111 0.242159 0.041637 +v -0.032401 0.198615 0.050103 +v -0.000664 0.042757 0.006103 +v 0.023062 0.045990 0.009588 +v 0.023068 0.038616 0.016388 +v -0.000658 0.035383 0.012902 +v -0.044542 0.055009 0.019429 +v -0.024404 0.045924 0.009558 +v -0.024398 0.038550 0.016358 +v -0.044537 0.047635 0.026228 +v -0.062769 0.084711 0.051656 +v -0.058014 0.068629 0.034212 +v -0.058008 0.061256 0.041010 +v -0.062763 0.077338 0.058456 +v 0.022901 0.123672 0.093832 +v -0.000839 0.126839 0.097287 +v -0.000833 0.119465 0.104087 +v 0.022907 0.116298 0.100631 +v -0.044666 0.114464 0.083907 +v -0.058081 0.100806 0.069106 +v -0.058075 0.093433 0.075906 +v -0.044660 0.107090 0.090705 +v 0.056512 0.100966 0.069178 +v 0.043040 0.114586 0.083962 +v 0.043046 0.107212 0.090760 +v 0.056518 0.093592 0.075978 +v -0.024565 0.123605 0.093801 +v -0.024559 0.116232 0.100602 +v 0.056578 0.068789 0.034284 +v 0.061266 0.084884 0.051734 +v 0.061272 0.077510 0.058534 +v 0.056584 0.061415 0.041083 +v 0.043163 0.055131 0.019484 +v 0.043169 0.047757 0.026283 +v -0.000881 0.179199 0.049006 +v 0.022859 0.176032 0.045550 +v 0.042997 0.166947 0.035680 +v 0.056469 0.153326 0.020897 +v 0.061223 0.137244 0.003452 +v 0.056536 0.121149 -0.013998 +v 0.043121 0.107491 -0.028798 +v 0.023020 0.098350 -0.038694 +v -0.000707 0.095117 -0.042179 +v -0.024446 0.098284 -0.038724 +v -0.044585 0.107369 -0.028854 +v -0.058057 0.120990 -0.014070 +v -0.062811 0.137072 0.003373 +v -0.058124 0.153167 0.020825 +v -0.044708 0.166825 0.035625 +v -0.024607 0.175966 0.045520 +v -0.000801 0.099029 0.099154 +v 0.016247 0.096754 0.096672 +v 0.030710 0.090230 0.089584 +v 0.040385 0.080448 0.078968 +v 0.043799 0.068899 0.066440 +v 0.040432 0.057341 0.053908 +v 0.030798 0.047533 0.043280 +v 0.016363 0.040968 0.036173 +v -0.000676 0.038646 0.033670 +v -0.017724 0.040920 0.036152 +v -0.032187 0.047445 0.043240 +v -0.041861 0.057226 0.053857 +v -0.045276 0.068775 0.066384 +v -0.041909 0.080334 0.078915 +v -0.032275 0.090142 0.089544 +v -0.017840 0.096707 0.096651 +v -0.000733 0.062325 0.072417 +v -0.000683 0.065729 -0.015081 +v 0.023044 0.068963 -0.011595 +v -0.044561 0.077982 -0.001755 +v -0.024422 0.068897 -0.011625 +v -0.062787 0.107684 0.030473 +v -0.058033 0.091602 0.013028 +v 0.022882 0.146644 0.072649 +v -0.000857 0.149812 0.076104 +v -0.044684 0.137437 0.062723 +v -0.058100 0.123779 0.047922 +v 0.056493 0.123939 0.047995 +v 0.043021 0.137559 0.062778 +v -0.024584 0.146578 0.072618 +v 0.056560 0.091762 0.013100 +v 0.061247 0.107857 0.030551 +v 0.043144 0.078104 -0.001699 +v 0.023026 0.090787 -0.031720 +v -0.000700 0.087554 -0.035205 +v -0.024440 0.090721 -0.031750 +v -0.044579 0.099806 -0.021879 +v -0.058051 0.113427 -0.007096 +v -0.062805 0.129509 0.010348 +v -0.000875 0.171636 0.055980 +v 0.022865 0.168469 0.052524 +v -0.058117 0.145604 0.027799 +v -0.044702 0.159261 0.042599 +v 0.043003 0.159383 0.042654 +v 0.056475 0.145763 0.027871 +v -0.024601 0.168403 0.052494 +v 0.061229 0.129681 0.010427 +v 0.056542 0.113586 -0.007024 +v 0.043127 0.099928 -0.021824 +vt 0.612863 0.559534 +vt 0.582763 0.590842 +vt 0.552360 0.560328 +vt 0.580814 0.528806 +vt 0.548902 0.620229 +vt 0.523169 0.589398 +vt 0.509109 0.644073 +vt 0.490506 0.617622 +vt 0.521393 0.533158 +vt 0.546394 0.500402 +vt 0.496104 0.564074 +vt 0.468980 0.595499 +vt 0.488288 0.510065 +vt 0.510043 0.475004 +vt 0.467122 0.542917 +vt 0.444858 0.576793 +vt 0.453219 0.491001 +vt 0.470846 0.453640 +vt 0.436285 0.525752 +vt 0.418702 0.561633 +vt 0.416363 0.476424 +vt 0.429276 0.437164 +vt 0.403912 0.512717 +vt 0.391038 0.550314 +vt 0.378286 0.466779 +vt 0.385951 0.426019 +vt 0.370532 0.503906 +vt 0.362549 0.542564 +vt 0.339815 0.461468 +vt 0.342111 0.421759 +vt 0.336694 0.499282 +vt 0.333482 0.538362 +vt 0.301364 0.461372 +vt 0.299287 0.421759 +vt 0.302934 0.498962 +vt 0.304293 0.537501 +vt 0.263566 0.465562 +vt 0.256887 0.426636 +vt 0.269580 0.501718 +vt 0.275548 0.540208 +vt 0.227115 0.474406 +vt 0.215455 0.436531 +vt 0.237218 0.509313 +vt 0.247664 0.545908 +vt 0.192101 0.487038 +vt 0.176473 0.452232 +vt 0.206329 0.520522 +vt 0.221071 0.555110 +vt 0.159285 0.504099 +vt 0.139953 0.471069 +vt 0.177325 0.535394 +vt 0.196207 0.567448 +vt 0.128647 0.524776 +vt 0.105627 0.493875 +vt 0.150441 0.553858 +vt 0.173337 0.583058 +vt 0.100328 0.549010 +vt 0.073767 0.520401 +vt 0.125780 0.575462 +vt 0.153035 0.601655 +vt 0.074254 0.577085 +vt 0.044382 0.550401 +vt 0.103933 0.601185 +vt 0.135234 0.623161 +vt 0.306410 0.632344 +vt 0.327663 0.629845 +vt 0.328392 0.637842 +vt 0.307720 0.641722 +vt 0.266491 0.628953 +vt 0.283941 0.628893 +vt 0.283181 0.636451 +vt 0.267001 0.635495 +vt 0.236564 0.637425 +vt 0.250809 0.631741 +vt 0.252431 0.637811 +vt 0.239440 0.642899 +vt 0.415839 0.677781 +vt 0.425631 0.698112 +vt 0.416491 0.702289 +vt 0.408258 0.681751 +vt 0.213178 0.657744 +vt 0.223936 0.646199 +vt 0.228199 0.651043 +vt 0.218462 0.661677 +vt 0.392533 0.649146 +vt 0.404901 0.661662 +vt 0.399098 0.666326 +vt 0.388129 0.654469 +vt 0.195253 0.689747 +vt 0.203789 0.672052 +vt 0.210291 0.675413 +vt 0.203173 0.693301 +vt 0.363318 0.633539 +vt 0.378638 0.639799 +vt 0.375531 0.645731 +vt 0.361404 0.639913 +vt 0.346505 0.629927 +vt 0.345923 0.637302 +vt 0.304115 0.632038 +vt 0.302247 0.641072 +vt 0.049510 0.609368 +vt 0.017048 0.583126 +vt 0.084631 0.631717 +vt 0.121700 0.647674 +vt 0.486359 0.654710 +vt 0.470910 0.633627 +vt 0.451672 0.613999 +vt 0.430452 0.597250 +vt 0.407380 0.584343 +vt 0.383417 0.573947 +vt 0.358094 0.566749 +vt 0.332012 0.562950 +vt 0.305613 0.561956 +vt 0.279569 0.563969 +vt 0.254303 0.568377 +vt 0.230539 0.576406 +vt 0.208157 0.586888 +vt 0.187945 0.600783 +vt 0.169137 0.616835 +vt 0.154275 0.636116 +vt 0.141817 0.655214 +vt 0.393757 0.704616 +vt 0.391855 0.687714 +vt 0.386409 0.674703 +vt 0.378567 0.664767 +vt 0.368921 0.657616 +vt 0.357863 0.653266 +vt 0.345399 0.652055 +vt 0.331959 0.654107 +vt 0.317177 0.661141 +vt 0.292638 0.658468 +vt 0.279336 0.651507 +vt 0.266951 0.649077 +vt 0.255680 0.650138 +vt 0.245480 0.654077 +vt 0.236619 0.660469 +vt 0.229469 0.669261 +vt 0.224522 0.680578 +vt 0.350360 0.690827 +vt 0.261504 0.684259 +vt 0.222762 0.695365 +vt 0.305896 0.602687 +vt 0.328488 0.602844 +vt 0.262806 0.605213 +vt 0.283578 0.602765 +vt 0.226004 0.618397 +vt 0.243599 0.610355 +vt 0.439100 0.660963 +vt 0.453555 0.680776 +vt 0.195633 0.642303 +vt 0.209825 0.628876 +vt 0.407650 0.629623 +vt 0.424034 0.643816 +vt 0.171694 0.675486 +vt 0.183128 0.658008 +vt 0.370743 0.610280 +vt 0.389864 0.618470 +vt 0.350224 0.605348 +vt 0.330939 0.573767 +vt 0.305697 0.572724 +vt 0.280834 0.574241 +vt 0.256836 0.578628 +vt 0.234193 0.585613 +vt 0.213232 0.595778 +vt 0.477960 0.661186 +vt 0.462463 0.640869 +vt 0.193943 0.608557 +vt 0.176606 0.623986 +vt 0.444294 0.622338 +vt 0.424147 0.606501 +vt 0.162096 0.641841 +vt 0.149624 0.660357 +vt 0.402520 0.593825 +vt 0.379745 0.584074 +vt 0.355783 0.577243 +vt 0.489911 0.359855 +vt 0.490256 0.259811 +vt 0.525061 0.259473 +vt 0.525729 0.360679 +vt 0.559886 0.259073 +vt 0.561881 0.360926 +vt 0.594443 0.258610 +vt 0.598541 0.360264 +vt 0.628250 0.258130 +vt 0.635968 0.357863 +vt 0.660348 0.257870 +vt 0.674534 0.351744 +vt 0.687995 0.258869 +vt 0.714161 0.335097 +vt 0.715235 0.256622 +vt 0.765281 0.313370 +vt 0.730820 0.257406 +vt 0.828047 0.257406 +vt 0.716320 0.258734 +vt 0.765690 0.201575 +vt 0.691974 0.258701 +vt 0.718676 0.176906 +vt 0.661866 0.258551 +vt 0.676202 0.165069 +vt 0.628878 0.258392 +vt 0.636400 0.159691 +vt 0.594521 0.258263 +vt 0.598248 0.157631 +vt 0.559599 0.258167 +vt 0.561159 0.157298 +vt 0.524558 0.258100 +vt 0.524780 0.157904 +vt 0.489663 0.258055 +vt 0.488887 0.159099 +vt 0.455118 0.258030 +vt 0.453320 0.160808 +vt 0.421132 0.258032 +vt 0.417933 0.163173 +vt 0.388005 0.258083 +vt 0.382558 0.166578 +vt 0.356226 0.258226 +vt 0.346945 0.171757 +vt 0.326618 0.258538 +vt 0.310686 0.180015 +vt 0.300611 0.259151 +vt 0.273076 0.193623 +vt 0.280610 0.259870 +vt 0.232698 0.217183 +vt 0.271082 0.260389 +vt 0.187274 0.258972 +vt 0.280227 0.260693 +vt 0.232252 0.301049 +vt 0.300167 0.260819 +vt 0.272697 0.325469 +vt 0.326371 0.260813 +vt 0.310640 0.339742 +vt 0.356237 0.260715 +vt 0.347238 0.348187 +vt 0.388264 0.260554 +vt 0.383150 0.353285 +vt 0.421586 0.260346 +vt 0.418760 0.356457 +vt 0.454295 0.358505 +vt 0.455690 0.260099 +vt 0.505694 0.922140 +vt 0.506211 0.922878 +vt 0.505675 0.923367 +vt 0.504958 0.922621 +vt 0.505373 0.924315 +vt 0.503814 0.923356 +vt 0.506357 0.926373 +vt 0.500767 0.925862 +vt 0.509094 0.926462 +vt 0.437217 0.972045 +vt 0.550560 0.903735 +vt 0.509618 0.923709 +vt 0.510748 0.918454 +vt 0.508057 0.922603 +vt 0.507553 0.920632 +vt 0.506409 0.921556 +vt 0.506942 0.922608 +vt 0.505137 0.921442 +vt 0.504641 0.921723 +vt 0.503681 0.921491 +vt 0.501262 0.920395 +vt 0.471663 0.871880 +vt 0.505299 0.917025 +vt 0.505744 0.919814 +vt 0.505500 0.920903 +vt 0.568497 0.789014 +vt 0.568751 0.789267 +vt 0.568557 0.789471 +vt 0.568278 0.789228 +vt 0.568455 0.789820 +vt 0.567945 0.789516 +vt 0.568847 0.790654 +vt 0.567052 0.790205 +vt 0.582368 0.802799 +vt 0.546429 0.802799 +vt 0.580157 0.767866 +vt 0.570365 0.789196 +vt 0.569681 0.787461 +vt 0.569362 0.788968 +vt 0.569007 0.788406 +vt 0.568711 0.788776 +vt 0.568986 0.789090 +vt 0.568261 0.788797 +vt 0.568075 0.788942 +vt 0.567758 0.788985 +vt 0.567195 0.788585 +vt 0.567276 0.787775 +vt 0.568104 0.787707 +vt 0.568403 0.788215 +vt 0.568374 0.788569 +vt 0.527267 0.784580 +vt 0.527609 0.784946 +vt 0.527381 0.785240 +vt 0.526933 0.784925 +vt 0.527318 0.785739 +vt 0.526483 0.785448 +vt 0.527949 0.786612 +vt 0.525412 0.786840 +vt 0.529214 0.786481 +vt 0.506722 0.817372 +vt 0.558510 0.766920 +vt 0.529316 0.785187 +vt 0.529682 0.782712 +vt 0.528521 0.784720 +vt 0.528217 0.783775 +vt 0.527640 0.784242 +vt 0.527966 0.784767 +vt 0.526872 0.784187 +vt 0.526555 0.784490 +vt 0.526012 0.784649 +vt 0.524717 0.784046 +vt 0.506722 0.764090 +vt 0.526969 0.781676 +vt 0.527332 0.783232 +vt 0.527145 0.783819 +vt 0.379140 0.792781 +vt 0.387106 0.786844 +vt 0.390599 0.785799 +vt 0.380895 0.794697 +vt 0.400082 0.781856 +vt 0.383786 0.799101 +vt 0.418118 0.771919 +vt 0.390365 0.811311 +vt 0.452298 0.759409 +vt 0.408333 0.843074 +vt 0.346090 0.758468 +vt 0.413137 0.771945 +vt 0.366479 0.776733 +vt 0.395552 0.780028 +vt 0.374170 0.786971 +vt 0.377386 0.790753 +vt 0.388712 0.784273 +vt 0.371134 0.798937 +vt 0.369386 0.799713 +vt 0.361351 0.803018 +vt 0.342433 0.815398 +vt 0.298296 0.844492 +vt 0.342839 0.817292 +vt 0.360511 0.804744 +vt 0.368383 0.799947 +vt 0.245655 0.800323 +vt 0.246501 0.799657 +vt 0.247312 0.800061 +vt 0.246377 0.801270 +vt 0.248466 0.800724 +vt 0.247387 0.802815 +vt 0.251347 0.800141 +vt 0.249974 0.806549 +vt 0.315762 0.756715 +vt 0.282443 0.850342 +vt 0.208088 0.757850 +vt 0.248264 0.794433 +vt 0.241127 0.793787 +vt 0.246387 0.797645 +vt 0.243880 0.797800 +vt 0.244922 0.799374 +vt 0.246219 0.798941 +vt 0.244811 0.800995 +vt 0.245096 0.801698 +vt 0.244944 0.802961 +vt 0.243178 0.806041 +vt 0.177796 0.851690 +vt 0.239523 0.800358 +vt 0.242784 0.800046 +vt 0.244009 0.800606 +vt 0.576909 0.952768 +vt 0.604690 0.950762 +vt 0.611228 0.948061 +vt 0.590665 0.955721 +vt 0.630339 0.941957 +vt 0.609809 0.957496 +vt 0.665117 0.938827 +vt 0.628788 0.964544 +vt 0.729555 0.935943 +vt 0.643433 0.989354 +vt 0.634873 0.900912 +vt 0.666069 0.946870 +vt 0.625066 0.928749 +vt 0.631880 0.948642 +vt 0.608003 0.940119 +vt 0.589890 0.946469 +vt 0.612449 0.949974 +vt 0.506346 0.960110 +vt 0.560178 0.965595 +vt 0.588158 0.964361 +vt 0.599784 0.957715 +vt 0.594610 0.948661 +vt 0.596754 0.940984 +vt 0.584627 0.940197 +vt 0.557704 0.943019 +vt 0.565840 0.868092 +vt 0.568715 0.866326 +vt 0.570600 0.867709 +vt 0.567715 0.869860 +vt 0.574434 0.868674 +vt 0.570702 0.872677 +vt 0.583804 0.865405 +vt 0.580031 0.881999 +vt 0.606209 0.843431 +vt 0.596729 0.917917 +vt 0.527625 0.818614 +vt 0.571460 0.854664 +vt 0.556572 0.855779 +vt 0.568348 0.860617 +vt 0.562024 0.862752 +vt 0.564255 0.865969 +vt 0.568016 0.864198 +vt 0.562119 0.870655 +vt 0.564085 0.871480 +vt 0.564110 0.873256 +vt 0.556083 0.876627 +vt 0.553147 0.875931 +vt 0.554934 0.868555 +vt 0.559281 0.867740 +vt 0.561407 0.868846 +vt 0.762954 0.828016 +vt 0.766131 0.826158 +vt 0.768100 0.828611 +vt 0.764608 0.831006 +vt 0.771649 0.830808 +vt 0.766740 0.835530 +vt 0.781773 0.830966 +vt 0.771270 0.846610 +vt 0.808007 0.802451 +vt 0.797615 0.913425 +vt 0.719210 0.756766 +vt 0.771713 0.813346 +vt 0.753882 0.811134 +vt 0.765494 0.820178 +vt 0.758953 0.820977 +vt 0.761230 0.825149 +vt 0.764665 0.823631 +vt 0.759980 0.829696 +vt 0.760890 0.832274 +vt 0.760197 0.836088 +vt 0.752755 0.841885 +vt 0.725802 0.846202 +vt 0.746421 0.826131 +vt 0.754432 0.825826 +vt 0.758000 0.827632 +vt 0.362981 0.912360 +vt 0.364638 0.914720 +vt 0.362745 0.916064 +vt 0.360791 0.913834 +vt 0.362208 0.918839 +vt 0.357774 0.916117 +vt 0.364421 0.925861 +vt 0.350379 0.922013 +vt 0.402209 0.964265 +vt 0.295821 0.964135 +vt 0.428032 0.862364 +vt 0.374069 0.917025 +vt 0.374608 0.903830 +vt 0.369388 0.913253 +vt 0.367879 0.908813 +vt 0.365077 0.910913 +vt 0.366580 0.913445 +vt 0.361429 0.910015 +vt 0.359270 0.910981 +vt 0.356178 0.911193 +vt 0.349385 0.907762 +vt 0.327421 0.862364 +vt 0.361978 0.899872 +vt 0.363824 0.906231 +vt 0.363254 0.908792 +vt 0.701060 0.846785 +vt 0.702219 0.846177 +vt 0.702977 0.846972 +vt 0.701727 0.847950 +vt 0.704339 0.847586 +vt 0.702694 0.849625 +vt 0.706710 0.847112 +vt 0.705224 0.853713 +vt 0.707602 0.843857 +vt 0.764368 0.924557 +vt 0.679504 0.757548 +vt 0.704655 0.842339 +vt 0.698392 0.839256 +vt 0.702260 0.843835 +vt 0.699809 0.843794 +vt 0.700491 0.845580 +vt 0.701913 0.845184 +vt 0.699721 0.847479 +vt 0.700331 0.848561 +vt 0.699962 0.850049 +vt 0.697055 0.853326 +vt 0.627841 0.881366 +vt 0.693918 0.845903 +vt 0.697783 0.845420 +vt 0.699122 0.846344 +vt 0.488323 0.821046 +vt 0.487797 0.821276 +vt 0.487584 0.820912 +vt 0.488103 0.820535 +vt 0.487172 0.820542 +vt 0.487801 0.819796 +vt 0.485951 0.820530 +vt 0.487151 0.818012 +vt 0.448821 0.839089 +vt 0.482174 0.790731 +vt 0.510569 0.846429 +vt 0.487112 0.823400 +vt 0.490036 0.824066 +vt 0.487882 0.822244 +vt 0.488902 0.822270 +vt 0.488538 0.821553 +vt 0.487921 0.821679 +vt 0.488801 0.820842 +vt 0.488739 0.820391 +vt 0.488884 0.819798 +vt 0.489637 0.819150 +vt 0.490955 0.819700 +vt 0.490686 0.821076 +vt 0.489559 0.821452 +vt 0.489037 0.821204 +vt 0.231857 0.926010 +vt 0.230277 0.927879 +vt 0.228565 0.927146 +vt 0.229720 0.924300 +vt 0.225567 0.927107 +vt 0.226507 0.921716 +vt 0.219161 0.929680 +vt 0.219251 0.915193 +vt 0.182338 0.974249 +vt 0.182338 0.879485 +vt 0.280113 0.975066 +vt 0.229382 0.937815 +vt 0.242990 0.937741 +vt 0.231141 0.931834 +vt 0.236336 0.930803 +vt 0.233751 0.927891 +vt 0.231336 0.929156 +vt 0.233658 0.924069 +vt 0.232313 0.922513 +vt 0.231281 0.920025 +vt 0.233212 0.914670 +vt 0.296246 0.862364 +vt 0.243543 0.924307 +vt 0.237739 0.925981 +vt 0.235264 0.925290 +vt 0.775451 0.950190 +vt 0.757930 0.958223 +vt 0.753460 0.962425 +vt 0.765662 0.953757 +vt 0.741312 0.969785 +vt 0.752408 0.959726 +vt 0.719693 0.980521 +vt 0.739356 0.965386 +vt 0.677540 0.990354 +vt 0.730056 0.968272 +vt 0.714215 0.967622 +vt 0.738313 0.964026 +vt 0.736699 0.957774 +vt 0.751708 0.958677 +vt 0.765993 0.954387 +vt 0.751880 0.956718 +vt 0.801538 0.936607 +vt 0.784447 0.940303 +vt 0.764785 0.949063 +vt 0.753071 0.955490 +vt 0.748306 0.960103 +vt 0.753507 0.961832 +vt 0.767262 0.957319 +vt 0.789319 0.951983 +vt 0.971782 0.524261 +vt 0.971782 0.652282 +vt 0.888879 0.586277 +vt 0.900963 0.543099 +vt 0.825267 0.693781 +vt 0.854139 0.602488 +vt 0.862161 0.568155 +vt 0.870119 0.542888 +vt 0.847306 0.582232 +vt 0.845252 0.560470 +vt 0.850411 0.540671 +vt 0.838161 0.573817 +vt 0.830826 0.557082 +vt 0.834105 0.538099 +vt 0.828470 0.570802 +vt 0.815678 0.556727 +vt 0.817385 0.535007 +vt 0.818103 0.572139 +vt 0.796115 0.560591 +vt 0.795967 0.530286 +vt 0.806847 0.579715 +vt 0.762341 0.575924 +vt 0.759323 0.519209 +vt 0.796813 0.601969 +vt 0.850323 0.429812 +vt 0.827177 0.589224 +vt 0.657516 0.465846 +vt 0.651869 0.660346 +vn -0.001400 0.672700 0.739900 +vn -0.001300 0.600700 0.799500 +vn 0.379500 0.549900 0.744000 +vn 0.381400 0.621600 0.684200 +vn -0.001100 0.353400 0.935500 +vn 0.353900 0.306000 0.883800 +vn -0.000600 -0.023700 0.999700 +vn 0.274500 -0.060500 0.959700 +vn 0.702600 0.404100 0.585700 +vn 0.706100 0.475100 0.525100 +vn 0.655000 0.170200 0.736200 +vn 0.508000 -0.165700 0.845200 +vn 0.918700 0.185600 0.348500 +vn 0.923300 0.255500 0.286700 +vn 0.856400 -0.033400 0.515200 +vn 0.664100 -0.323600 0.673900 +vn 0.995000 -0.072400 0.068600 +vn 1.000000 -0.003800 0.005400 +vn 0.927500 -0.273900 0.254300 +vn 0.719300 -0.510000 0.471700 +vn 0.919800 -0.330600 -0.211300 +vn 0.924400 -0.263300 -0.275900 +vn 0.857400 -0.514600 -0.006500 +vn 0.664900 -0.696600 0.269400 +vn 0.704600 -0.549700 -0.448700 +vn 0.708100 -0.483600 -0.514600 +vn 0.656800 -0.718800 -0.227800 +vn 0.509400 -0.854900 0.097900 +vn 0.382100 -0.696400 -0.607500 +vn 0.384000 -0.631000 -0.674100 +vn 0.356300 -0.855500 -0.375800 +vn 0.276400 -0.960900 -0.016800 +vn 0.001400 -0.748300 -0.663400 +vn 0.001400 -0.683100 -0.730300 +vn 0.001500 -0.903800 -0.427900 +vn 0.001400 -0.998400 -0.057200 +vn -0.379400 -0.697400 -0.608000 +vn -0.381400 -0.632000 -0.674600 +vn -0.353400 -0.856400 -0.376200 +vn -0.273700 -0.961600 -0.017200 +vn -0.702500 -0.551700 -0.449600 +vn -0.706100 -0.485500 -0.515500 +vn -0.654500 -0.720600 -0.228600 +vn -0.507200 -0.856300 0.097200 +vn -0.918600 -0.333200 -0.212400 +vn -0.923300 -0.265900 -0.277100 +vn -0.856000 -0.517000 -0.007600 +vn -0.663300 -0.698400 0.268600 +vn -0.994900 -0.075200 0.067400 +vn -1.000000 -0.006600 0.004200 +vn -0.927000 -0.276500 0.253200 +vn -0.718400 -0.512000 0.470800 +vn -0.919700 0.183000 0.347400 +vn -0.924400 0.252900 0.285500 +vn -0.857000 -0.035800 0.514100 +vn -0.664100 -0.325500 0.673100 +vn -0.704500 0.402100 0.584800 +vn -0.708100 0.473100 0.524200 +vn -0.656400 0.168300 0.735400 +vn -0.508600 -0.167200 0.844600 +vn -0.382000 0.548800 0.743600 +vn -0.384000 0.620500 0.683700 +vn -0.355800 0.305000 0.883400 +vn -0.275600 -0.061200 0.959300 +vn 0.001400 -0.677900 -0.735100 +vn 0.384000 -0.625800 -0.678900 +vn 0.343400 -0.889000 -0.302700 +vn 0.001500 -0.935600 -0.352900 +vn -0.706100 -0.480300 -0.520300 +vn -0.381400 -0.626800 -0.679400 +vn -0.340600 -0.890000 -0.303100 +vn -0.630800 -0.759100 -0.160900 +vn -1.000000 -0.001400 -0.000600 +vn -0.923300 -0.260700 -0.281900 +vn -0.824900 -0.562800 0.052100 +vn -0.893500 -0.331000 0.303500 +vn 0.381400 0.626800 0.679400 +vn -0.001400 0.677900 0.735100 +vn -0.001000 0.276000 0.961100 +vn 0.341100 0.230400 0.911300 +vn -0.708100 0.478300 0.519400 +vn -0.924400 0.258100 0.280700 +vn -0.825900 -0.099100 0.555000 +vn -0.632600 0.097700 0.768300 +vn 0.923300 0.260700 0.281900 +vn 0.706100 0.480300 0.520300 +vn 0.631300 0.099500 0.769100 +vn 0.825500 -0.096800 0.556000 +vn -0.384000 0.625800 0.678900 +vn -0.342900 0.229500 0.910900 +vn 0.924400 -0.258100 -0.280700 +vn 1.000000 0.001400 0.000600 +vn 0.894000 -0.328500 0.304600 +vn 0.826400 -0.560500 0.053200 +vn 0.708100 -0.478300 -0.519400 +vn 0.633100 -0.757300 -0.160100 +vn -0.000900 0.222200 0.975000 +vn 0.331100 0.177900 0.926600 +vn 0.612800 0.050800 0.788600 +vn 0.801200 -0.139600 0.581800 +vn 0.867700 -0.364600 0.337800 +vn 0.802100 -0.589700 0.093800 +vn 0.614500 -0.780700 -0.113200 +vn 0.333400 -0.908600 -0.251700 +vn 0.001500 -0.953800 -0.300400 +vn -0.330500 -0.909500 -0.252100 +vn -0.612200 -0.782400 -0.114000 +vn -0.800600 -0.591900 0.092700 +vn -0.867100 -0.367000 0.336700 +vn -0.801500 -0.141900 0.580800 +vn -0.613900 0.049100 0.787800 +vn -0.332800 0.177000 0.926200 +vn -0.000000 -0.399500 0.916700 +vn 0.154200 -0.420100 0.894300 +vn 0.285200 -0.479100 0.830100 +vn 0.372700 -0.567700 0.734000 +vn 0.403600 -0.672200 0.620600 +vn 0.373100 -0.776800 0.507200 +vn 0.286000 -0.865600 0.411000 +vn 0.155300 -0.925000 0.346700 +vn 0.001100 -0.946000 0.324000 +vn -0.153200 -0.925400 0.346500 +vn -0.284100 -0.866400 0.410700 +vn -0.371600 -0.777900 0.506700 +vn -0.402500 -0.673300 0.620100 +vn -0.372100 -0.568700 0.733500 +vn -0.284900 -0.480000 0.829700 +vn -0.154200 -0.420500 0.894000 +vn 0.000600 -0.735100 0.677900 +vn 0.706100 0.480300 0.520200 +vn 0.727900 0.000000 -0.685700 +vn 0.727900 0.000000 0.685700 +vn 0.713900 -0.142000 0.685700 +vn 0.713900 -0.142000 -0.685700 +vn 0.672500 -0.278500 0.685700 +vn 0.672500 -0.278500 -0.685700 +vn 0.605200 -0.404400 0.685700 +vn 0.605200 -0.404400 -0.685700 +vn 0.514700 -0.514700 0.685700 +vn 0.514700 -0.514700 -0.685700 +vn 0.404400 -0.605200 0.685700 +vn 0.404400 -0.605200 -0.685700 +vn 0.278500 -0.672500 0.685700 +vn 0.278500 -0.672500 -0.685700 +vn 0.142000 -0.713900 0.685700 +vn 0.142000 -0.713900 -0.685700 +vn 0.000000 -0.727900 0.685700 +vn 0.000000 -0.727900 -0.685700 +vn -0.142000 -0.713900 0.685700 +vn -0.142000 -0.713900 -0.685700 +vn -0.278500 -0.672500 0.685700 +vn -0.278500 -0.672500 -0.685700 +vn -0.404400 -0.605200 0.685700 +vn -0.404400 -0.605200 -0.685700 +vn -0.514700 -0.514700 0.685700 +vn -0.514700 -0.514700 -0.685700 +vn -0.605200 -0.404400 0.685700 +vn -0.605200 -0.404400 -0.685700 +vn -0.672500 -0.278500 0.685700 +vn -0.672500 -0.278500 -0.685700 +vn -0.713900 -0.142000 0.685700 +vn -0.713900 -0.142000 -0.685700 +vn -0.727900 0.000000 0.685700 +vn -0.727900 0.000000 -0.685700 +vn -0.713900 0.142000 0.685700 +vn -0.713900 0.142000 -0.685700 +vn -0.672500 0.278500 0.685700 +vn -0.672500 0.278500 -0.685700 +vn -0.605200 0.404400 0.685700 +vn -0.605200 0.404400 -0.685700 +vn -0.514700 0.514700 0.685700 +vn -0.514700 0.514700 -0.685700 +vn -0.404400 0.605200 0.685700 +vn -0.404400 0.605200 -0.685700 +vn -0.278500 0.672500 0.685700 +vn -0.278500 0.672500 -0.685700 +vn -0.142000 0.713900 0.685700 +vn -0.142000 0.713900 -0.685700 +vn 0.000000 0.727900 0.685700 +vn 0.000000 0.727900 -0.685700 +vn 0.142000 0.713900 0.685700 +vn 0.142000 0.713900 -0.685700 +vn 0.278500 0.672500 0.685700 +vn 0.278500 0.672500 -0.685700 +vn 0.404400 0.605200 0.685700 +vn 0.404400 0.605200 -0.685700 +vn 0.514700 0.514700 0.685700 +vn 0.514700 0.514700 -0.685700 +vn 0.605200 0.404400 0.685700 +vn 0.605200 0.404400 -0.685700 +vn 0.672500 0.278500 0.685700 +vn 0.672500 0.278500 -0.685700 +vn 0.713900 0.142000 -0.685700 +vn 0.713900 0.142000 0.685700 +vn 0.000000 0.996700 0.081400 +vn -0.000000 0.725300 0.688400 +vn 0.548400 0.499100 0.670900 +vn 0.707100 0.704800 0.057600 +vn 0.776300 -0.047800 0.628500 +vn 1.000000 0.000000 0.000100 +vn 0.549400 -0.595600 0.586000 +vn 0.707100 -0.704700 -0.057500 +vn -0.000000 -0.822700 0.568400 +vn 0.000000 -0.996700 -0.081300 +vn -0.549500 -0.595600 0.585900 +vn -0.707100 -0.704800 -0.057600 +vn -0.776400 -0.047800 0.628300 +vn -1.000000 0.000000 -0.000100 +vn -0.707100 0.704700 0.057500 +vn -0.548600 0.499100 0.670800 +vn 0.000000 0.824200 -0.566200 +vn 0.549200 0.597400 -0.584400 +vn 0.776400 0.050000 -0.628200 +vn 0.548800 -0.497000 -0.672100 +vn 0.000000 -0.723500 -0.690200 +vn -0.548800 -0.497000 -0.672100 +vn -0.776400 0.050000 -0.628300 +vn -0.549100 0.597400 -0.584400 +vn 0.000000 0.998000 0.063200 +vn -0.000100 0.740800 0.671700 +vn 0.548000 0.514600 0.659400 +vn 0.707200 0.705600 0.044700 +vn 0.776300 -0.032700 0.629500 +vn 1.000000 -0.000200 0.000100 +vn 0.549700 -0.581700 0.599500 +vn 0.707000 -0.705800 -0.044500 +vn -0.000100 -0.809600 0.587000 +vn 0.000000 -0.998000 -0.063100 +vn -0.549900 -0.581700 0.599300 +vn -0.707000 -0.705800 -0.044700 +vn -0.776500 -0.032700 0.629300 +vn -1.000000 -0.000200 -0.000100 +vn -0.707200 0.705600 0.044600 +vn -0.548200 0.514600 0.659300 +vn 0.000100 0.818000 -0.575200 +vn 0.548500 0.591600 -0.590800 +vn 0.776500 0.044500 -0.628600 +vn 0.549600 -0.503600 -0.666500 +vn 0.000100 -0.731000 -0.682300 +vn -0.549400 -0.503600 -0.666600 +vn -0.776300 0.044500 -0.628700 +vn -0.548400 0.591600 -0.590900 +vn -0.000000 0.999500 0.029200 +vn -0.000100 0.767600 0.640900 +vn 0.548100 0.541000 0.637900 +vn 0.708100 0.705800 0.020800 +vn 0.776300 -0.007000 0.630300 +vn 1.000000 -0.002000 0.000100 +vn 0.549700 -0.556800 0.622700 +vn 0.706100 -0.707800 -0.020600 +vn -0.000100 -0.785000 0.619500 +vn 0.000000 -0.999600 -0.029200 +vn -0.549900 -0.556800 0.622500 +vn -0.706100 -0.707800 -0.020800 +vn -0.776500 -0.007000 0.630100 +vn -1.000000 -0.002000 -0.000200 +vn -0.708100 0.705800 0.020500 +vn -0.548300 0.541000 0.637700 +vn 0.000100 0.802500 -0.596600 +vn 0.548500 0.575900 -0.606200 +vn 0.776500 0.028000 -0.629500 +vn 0.549600 -0.521000 -0.652900 +vn 0.000100 -0.748800 -0.662700 +vn -0.549500 -0.521100 -0.653100 +vn -0.776300 0.028000 -0.629700 +vn -0.548300 0.575900 -0.606300 +vn 0.000000 0.999800 -0.017000 +vn -0.000100 0.802100 0.597200 +vn 0.548400 0.575400 0.606800 +vn 0.709600 0.704500 -0.011900 +vn 0.776200 0.027400 0.629800 +vn 1.000000 -0.004900 0.000200 +vn 0.549400 -0.521700 0.652700 +vn 0.704700 -0.709400 0.012200 +vn -0.000100 -0.749400 0.662100 +vn 0.000000 -0.999800 0.017100 +vn -0.549600 -0.521700 0.652500 +vn -0.704700 -0.709400 0.012000 +vn -0.776500 0.027400 0.629500 +vn -1.000000 -0.004900 -0.000100 +vn -0.709600 0.704500 -0.012100 +vn -0.548500 0.575400 0.606600 +vn 0.000100 0.779700 -0.626200 +vn 0.548800 0.552500 -0.627300 +vn 0.776500 0.003700 -0.630100 +vn 0.549300 -0.545600 -0.632900 +vn 0.000100 -0.773200 -0.634200 +vn -0.549100 -0.545500 -0.633100 +vn -0.776300 0.003700 -0.630300 +vn -0.548600 0.552500 -0.627500 +vn 0.000000 0.997100 -0.075300 +vn -0.000100 0.842300 0.539000 +vn 0.548900 0.616400 0.564600 +vn 0.711800 0.700400 -0.052800 +vn 0.776300 0.070600 0.626400 +vn 0.999900 -0.009000 0.000800 +vn 0.548800 -0.475100 0.687800 +vn 0.702700 -0.709400 0.053700 +vn -0.000100 -0.701000 0.713100 +vn 0.000000 -0.997200 0.075300 +vn -0.549000 -0.475100 0.687600 +vn -0.702700 -0.709400 0.053400 +vn -0.776500 0.070600 0.626100 +vn -0.999900 -0.009000 0.000500 +vn -0.711800 0.700400 -0.053000 +vn -0.549000 0.616400 0.564500 +vn 0.000100 0.749200 -0.662300 +vn 0.549500 0.521500 -0.652700 +vn 0.776500 -0.027600 -0.629500 +vn 0.548600 -0.575800 -0.606200 +vn 0.000100 -0.802500 -0.596600 +vn -0.548400 -0.575800 -0.606400 +vn -0.776300 -0.027600 -0.629700 +vn -0.549300 0.521500 -0.652900 +vn 0.000000 0.989300 -0.145700 +vn -0.000000 0.879900 0.475100 +vn 0.548200 0.657100 0.517300 +vn 0.711400 0.695300 -0.102300 +vn 0.776300 0.118300 0.619100 +vn 0.999900 -0.008100 0.001300 +vn 0.549600 -0.422000 0.721000 +vn 0.703100 -0.703500 0.103900 +vn -0.000100 -0.646100 0.763200 +vn 0.000000 -0.989300 0.145900 +vn -0.549800 -0.422000 0.720900 +vn -0.703100 -0.703500 0.103600 +vn -0.776500 0.118300 0.618900 +vn -0.999900 -0.008100 0.001000 +vn -0.711300 0.695300 -0.102500 +vn -0.548300 0.657200 0.517200 +vn 0.000100 0.701000 -0.713100 +vn 0.549000 0.475100 -0.687600 +vn 0.776500 -0.070600 -0.626100 +vn 0.549000 -0.616300 -0.564500 +vn 0.000100 -0.842300 -0.539000 +vn -0.548800 -0.616400 -0.564700 +vn -0.776300 -0.070600 -0.626400 +vn -0.548800 0.475100 -0.687800 +vn 0.000000 0.973400 -0.228800 +vn -0.000000 0.917300 0.398200 +vn 0.547100 0.700100 0.458800 +vn 0.710100 0.685400 -0.161100 +vn 0.776400 0.173200 0.606000 +vn 1.000000 -0.005800 0.001500 +vn 0.550800 -0.357200 0.754300 +vn 0.704100 -0.691100 0.163000 +vn -0.000100 -0.577900 0.816100 +vn 0.000000 -0.973300 0.229600 +vn -0.550900 -0.357200 0.754200 +vn -0.704100 -0.691100 0.162800 +vn -0.776500 0.173200 0.605800 +vn -1.000000 -0.005800 0.001300 +vn -0.710100 0.685400 -0.161300 +vn -0.547100 0.700100 0.458700 +vn 0.000100 0.636300 -0.771400 +vn 0.548200 0.414200 -0.726500 +vn 0.776500 -0.123200 -0.618000 +vn 0.549800 -0.662200 -0.509100 +vn 0.000100 -0.885900 -0.463900 +vn -0.549700 -0.662200 -0.509200 +vn -0.776300 -0.123100 -0.618200 +vn -0.548000 0.414200 -0.726600 +vn 0.000000 0.945700 -0.324900 +vn 0.000000 0.951900 0.306300 +vn 0.545500 0.743300 0.387100 +vn 0.708000 0.667900 -0.229500 +vn 0.776500 0.235200 0.584600 +vn 1.000000 -0.002100 0.000900 +vn 0.552400 -0.279100 0.785500 +vn 0.705700 -0.669800 0.231000 +vn -0.000100 -0.493800 0.869600 +vn -0.000000 -0.945300 0.326100 +vn -0.552500 -0.279000 0.785400 +vn -0.705800 -0.669700 0.230900 +vn -0.776500 0.235200 0.584500 +vn -1.000000 -0.002000 0.000700 +vn -0.707900 0.667900 -0.229600 +vn -0.545500 0.743300 0.387000 +vn 0.000100 0.551300 -0.834300 +vn 0.547000 0.336400 -0.766500 +vn 0.776500 -0.185300 -0.602300 +vn 0.551000 -0.710900 -0.437100 +vn 0.000000 -0.929700 -0.368400 +vn -0.550900 -0.710900 -0.437100 +vn -0.776400 -0.185300 -0.602400 +vn -0.546900 0.336400 -0.766600 +vn 0.000000 0.895500 -0.445000 +vn 0.000000 0.982700 0.185000 +vn 0.545000 0.786300 0.290800 +vn 0.706700 0.633600 -0.314900 +vn 0.776600 0.307400 0.549900 +vn 1.000000 0.000000 0.000000 +vn 0.553000 -0.178000 0.814000 +vn 0.706600 -0.633500 0.315100 +vn 0.000000 -0.380800 0.924600 +vn -0.000100 -0.895300 0.445400 +vn -0.553000 -0.177900 0.813900 +vn -0.706700 -0.633400 0.315100 +vn -0.776500 0.307400 0.549900 +vn -1.000000 0.000100 0.000000 +vn -0.706600 0.633700 -0.314900 +vn -0.545000 0.786400 0.290800 +vn 0.000000 0.442100 -0.897000 +vn 0.545500 0.239000 -0.803300 +vn 0.776500 -0.256200 -0.575600 +vn 0.552500 -0.758400 -0.345800 +vn -0.000000 -0.968200 -0.250200 +vn -0.552500 -0.758300 -0.345900 +vn -0.776500 -0.256200 -0.575600 +vn -0.545400 0.239100 -0.803300 +vn 0.000000 0.820900 -0.571000 +vn 0.000100 0.999400 0.035100 +vn 0.546000 0.820300 0.170000 +vn 0.708300 0.579500 -0.403100 +vn 0.776500 0.384800 0.498900 +vn 1.000000 -0.002700 0.001700 +vn 0.552100 -0.055100 0.831900 +vn 0.705200 -0.582400 0.404400 +vn 0.000000 -0.238500 0.971100 +vn -0.000000 -0.821300 0.570400 +vn -0.552000 -0.055000 0.832000 +vn -0.705200 -0.582300 0.404500 +vn -0.776400 0.384900 0.498900 +vn -1.000000 -0.002500 0.001800 +vn -0.708300 0.579600 -0.403000 +vn -0.545900 0.820400 0.170000 +vn 0.000000 0.320600 -0.947200 +vn 0.545300 0.131700 -0.827800 +vn 0.776500 -0.329200 -0.537200 +vn 0.552600 -0.797000 -0.243600 +vn -0.000000 -0.992600 -0.121200 +vn -0.552700 -0.796900 -0.243600 +vn -0.776600 -0.329100 -0.537200 +vn -0.545300 0.131800 -0.827800 +vn 0.000000 0.731200 -0.682100 +vn 0.000100 0.992500 -0.122400 +vn 0.547300 0.835900 0.040000 +vn 0.711800 0.513500 -0.479100 +vn 0.776500 0.456300 0.434400 +vn 0.999900 -0.007000 0.006300 +vn 0.550800 0.074300 0.831300 +vn 0.702400 -0.520800 0.485100 +vn 0.000100 -0.084500 0.996400 +vn 0.000000 -0.731700 0.681700 +vn -0.550600 0.074400 0.831400 +vn -0.702500 -0.520600 0.485200 +vn -0.776300 0.456500 0.434600 +vn -0.999900 -0.006700 0.006500 +vn -0.711800 0.513700 -0.479000 +vn -0.547100 0.836100 0.040200 +vn -0.000000 0.195700 -0.980700 +vn 0.546600 0.022400 -0.837100 +vn 0.776400 -0.398500 -0.488200 +vn 0.551100 -0.823100 -0.136700 +vn -0.000100 -0.999900 0.009600 +vn -0.551300 -0.823000 -0.136600 +vn -0.776500 -0.398400 -0.488100 +vn -0.546800 0.022600 -0.837000 +vn 0.000000 0.629300 -0.777100 +vn 0.000200 0.962300 -0.272000 +vn 0.548400 0.831700 -0.086600 +vn 0.715000 0.439800 -0.543400 +vn 0.776600 0.515500 0.362000 +vn 0.999900 -0.009500 0.011400 +vn 0.549700 0.198400 0.811500 +vn 0.700100 -0.449400 0.554900 +vn 0.000200 0.066900 0.997700 +vn 0.000000 -0.629200 0.777200 +vn -0.549300 0.198600 0.811700 +vn -0.700100 -0.449100 0.555100 +vn -0.776300 0.515800 0.362300 +vn -0.999900 -0.009200 0.011700 +vn -0.715000 0.440100 -0.543200 +vn -0.548100 0.831900 -0.086400 +vn -0.000100 0.065800 -0.997800 +vn 0.548200 -0.088600 -0.831600 +vn 0.776300 -0.461700 -0.429000 +vn 0.549300 -0.835200 -0.025200 +vn -0.000100 -0.989800 0.142300 +vn -0.549600 -0.835000 -0.025100 +vn -0.776600 -0.461500 -0.428800 +vn -0.548400 -0.088400 -0.831500 +vn -0.000000 0.525600 -0.850700 +vn 0.000200 0.917300 -0.398100 +vn 0.548500 0.812600 -0.196900 +vn 0.715800 0.366600 -0.594300 +vn 0.776600 0.559300 0.289900 +vn 0.999800 -0.008900 0.013700 +vn 0.549700 0.305200 0.777600 +vn 0.699500 -0.374800 0.608400 +vn 0.000300 0.199800 0.979800 +vn 0.000000 -0.524000 0.851700 +vn -0.549200 0.305500 0.777800 +vn -0.699400 -0.374500 0.608700 +vn -0.776200 0.559700 0.290200 +vn -0.999800 -0.008400 0.014100 +vn -0.715900 0.367000 -0.594000 +vn -0.548100 0.812900 -0.196700 +vn -0.000200 -0.066200 -0.997800 +vn 0.549200 -0.198000 -0.811900 +vn 0.776300 -0.515800 -0.362300 +vn 0.548100 -0.831900 0.086800 +vn -0.000100 -0.962200 0.272500 +vn -0.548400 -0.831700 0.086900 +vn -0.776700 -0.515500 -0.362000 +vn -0.549600 -0.197800 -0.811700 +vn 0.000000 0.748600 -0.663000 +vn 0.000000 1.000000 0.000000 +vn 0.707100 0.707100 0.000000 +vn 0.529300 0.529300 -0.663000 +vn 0.000000 0.748600 0.663000 +vn 0.529300 0.529300 0.663000 +vn 0.748600 0.000000 -0.663000 +vn 0.748600 0.000000 0.663000 +vn 0.707100 -0.707100 0.000000 +vn 0.529300 -0.529300 -0.663000 +vn 0.529300 -0.529300 0.663000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.748600 -0.663000 +vn 0.000000 -0.748600 0.663000 +vn -0.707100 -0.707100 0.000000 +vn -0.529300 -0.529300 -0.663000 +vn -0.529300 -0.529300 0.663000 +vn -1.000000 0.000000 0.000000 +vn -0.748600 0.000000 -0.663000 +vn -0.748600 0.000000 0.663000 +vn -0.707100 0.707100 0.000000 +vn -0.529300 0.529300 -0.663000 +vn -0.529300 0.529300 0.663000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +g Sphere.001_Sphere.001_lampshade s 1 -f 1/1 2/2 3/3 4/4 -f 2/1 5/2 6/3 3/4 -f 4/1 3/2 7/3 8/4 -f 3/1 6/2 9/3 7/4 -f 10/1 11/2 12/3 13/4 -f 11/1 14/2 15/3 12/4 -f 16/1 1/2 4/3 -f 5/1 17/2 6/3 -f 16/1 4/2 8/3 -f 6/1 17/2 9/3 -f 16/1 10/2 13/3 -f 14/1 17/2 15/3 -f 13/1 1/2 16/3 -f 2/1 1/2 13/3 12/4 -f 12/1 15/2 5/3 2/4 -f 15/1 17/2 5/3 -o metal_bulb -v -0.319468 -0.008127 0.010226 -v -0.286512 0.021833 0.010199 -v -0.280568 0.015348 -0.034351 -v -0.313508 -0.014629 -0.034445 -v -0.247764 0.045512 0.010160 -v -0.242273 0.039521 -0.030999 -v -0.202905 0.052560 0.010102 -v -0.198702 0.047975 -0.021400 -v -0.263519 -0.003175 -0.072143 -v -0.296412 -0.033202 -0.072339 -v -0.226521 0.022408 -0.065914 -v -0.186646 0.034877 -0.048123 -v -0.237959 -0.030916 -0.097425 -v -0.270783 -0.061019 -0.097689 -v -0.202907 -0.003222 -0.089271 -v -0.168573 0.015261 -0.066000 -v -0.207779 -0.063653 -0.106346 -v -0.240522 -0.093844 -0.106635 -v -0.175025 -0.033467 -0.097514 -v -0.147233 -0.007887 -0.072308 -v -0.177576 -0.096400 -0.097550 -v -0.210236 -0.126680 -0.097815 -v -0.147121 -0.063721 -0.089387 -v -0.125876 -0.031043 -0.066088 -v -0.151945 -0.124173 -0.072375 -v -0.184537 -0.154528 -0.072572 -v -0.123441 -0.089380 -0.066128 -v -0.107752 -0.050682 -0.048287 -v -0.134791 -0.142744 -0.034653 -v -0.167335 -0.173150 -0.034748 -v -0.107592 -0.106537 -0.031278 -v -0.095622 -0.063813 -0.021614 -v -0.128723 -0.149285 0.009871 -v -0.161251 -0.179708 0.009897 -v -0.101987 -0.112580 0.009857 -v -0.091332 -0.068438 0.009870 -v -0.134667 -0.142800 0.054421 -v -0.167211 -0.173206 0.054568 -v -0.107478 -0.106589 0.051016 -v -0.095534 -0.063853 0.041372 -v -0.151716 -0.124277 0.092213 -v -0.184307 -0.154633 0.092462 -v -0.123230 -0.089476 0.085931 -v -0.107590 -0.050755 0.068095 -v -0.177276 -0.096536 0.117495 -v -0.209936 -0.126816 0.117812 -v -0.146844 -0.063846 0.109288 -v -0.125664 -0.031139 0.085971 -v -0.207456 -0.063799 0.126416 -v -0.240197 -0.093991 0.126758 -v -0.174726 -0.033602 0.117531 -v -0.147004 -0.007991 0.092280 -v -0.237660 -0.031052 0.117620 -v -0.270483 -0.061155 0.117938 -v -0.202631 -0.003347 0.109404 -v -0.168361 0.015165 0.086060 -v -0.263290 -0.003278 0.092445 -v -0.296183 -0.033306 0.092694 -v -0.226310 0.022312 0.086145 -v -0.186484 0.034804 0.068258 -v -0.280444 0.015292 0.054723 -v -0.313384 -0.014685 0.054871 -v -0.242159 0.039469 0.051295 -v -0.198615 0.047935 0.041585 -v -0.042757 0.003935 0.009848 -v -0.045990 0.007420 -0.013878 -v -0.038616 0.014220 -0.013884 -v -0.035383 0.010734 0.009842 -v -0.055009 0.017261 0.053726 -v -0.045924 0.007390 0.033588 -v -0.038550 0.014190 0.033582 -v -0.047635 0.024060 0.053721 -v -0.084711 0.049488 0.071953 -v -0.068629 0.032044 0.067198 -v -0.061256 0.038843 0.067192 -v -0.077338 0.056288 0.071947 -v -0.123672 0.091664 -0.013717 -v -0.126839 0.095120 0.010023 -v -0.119465 0.101919 0.010017 -v -0.116298 0.098464 -0.013723 -v -0.114464 0.081739 0.053850 -v -0.100806 0.066939 0.067265 -v -0.093433 0.073738 0.067259 -v -0.107090 0.088538 0.053844 -v -0.100966 0.067011 -0.047328 -v -0.114586 0.081794 -0.033856 -v -0.107212 0.088593 -0.033862 -v -0.093592 0.073810 -0.047334 -v -0.123605 0.091634 0.033749 -v -0.116232 0.098434 0.033743 -v -0.068789 0.032116 -0.047394 -v -0.084884 0.049566 -0.052082 -v -0.077510 0.056366 -0.052088 -v -0.061415 0.038915 -0.047400 -v -0.055131 0.017316 -0.033979 -v -0.047757 0.024115 -0.033985 -v -0.179199 0.046838 0.010065 -v -0.176032 0.043382 -0.013675 -v -0.166947 0.033512 -0.033813 -v -0.153326 0.018729 -0.047285 -v -0.137244 0.001284 -0.052039 -v -0.121149 -0.016166 -0.047352 -v -0.107491 -0.030966 -0.033937 -v -0.098350 -0.040862 -0.013836 -v -0.095117 -0.044347 0.009891 -v -0.098284 -0.040892 0.033630 -v -0.107369 -0.031021 0.053769 -v -0.120990 -0.016238 0.067241 -v -0.137072 0.001206 0.071995 -v -0.153167 0.018657 0.067308 -v -0.166825 0.033457 0.053892 -v -0.175966 0.043352 0.033791 -v -0.099029 0.096986 0.009985 -v -0.096754 0.094505 -0.007063 -v -0.090230 0.087416 -0.021526 -v -0.080448 0.076800 -0.031201 -v -0.068899 0.064272 -0.034615 -v -0.057341 0.051740 -0.031248 -v -0.047533 0.041112 -0.021614 -v -0.040968 0.034005 -0.007179 -v -0.038646 0.031502 0.009860 -v -0.040920 0.033984 0.026908 -v -0.047445 0.041072 0.041371 -v -0.057226 0.051689 0.051045 -v -0.068775 0.064216 0.054460 -v -0.080334 0.076748 0.051093 -v -0.090142 0.087377 0.041459 -v -0.096707 0.094483 0.027024 -v -0.062325 0.070250 0.009917 -v -0.065729 -0.017249 0.009867 -v -0.068963 -0.013763 -0.013860 -v -0.077982 -0.003923 0.053745 -v -0.068897 -0.013793 0.033606 -v -0.107684 0.028305 0.071971 -v -0.091602 0.010860 0.067217 -v -0.146644 0.070481 -0.013698 -v -0.149812 0.073936 0.010041 -v -0.137437 0.060555 0.053868 -v -0.123779 0.045755 0.067284 -v -0.123939 0.045827 -0.047309 -v -0.137559 0.060610 -0.033837 -v -0.146578 0.070451 0.033768 -v -0.091762 0.010932 -0.047376 -v -0.107857 0.028383 -0.052063 -v -0.078104 -0.003867 -0.033960 -v -0.090787 -0.033888 -0.013842 -v -0.087554 -0.037373 0.009884 -v -0.090721 -0.033918 0.033624 -v -0.099806 -0.024047 0.053763 -v -0.113427 -0.009264 0.067235 -v -0.129509 0.008180 0.071989 -v -0.171636 0.053812 0.010059 -v -0.168469 0.050356 -0.013681 -v -0.145604 0.025631 0.067301 -v -0.159261 0.040431 0.053886 -v -0.159383 0.040486 -0.033819 -v -0.145763 0.025703 -0.047291 -v -0.168403 0.050326 0.033785 -v -0.129681 0.008259 -0.052045 -v -0.113586 -0.009192 -0.047358 -v -0.099928 -0.023992 -0.033943 -vt 0.007655 0.335684 -vt 0.088864 0.317550 -vt 0.116908 0.383352 -vt 0.045014 0.430784 -vt 0.149431 0.304465 -vt 0.169310 0.347402 -vt 0.195420 0.295389 -vt 0.207538 0.322304 -vt 0.168378 0.433745 -vt 0.118294 0.506560 -vt 0.202495 0.381547 -vt 0.228525 0.342495 -vt 0.234941 0.461062 -vt 0.215801 0.548975 -vt 0.247081 0.400958 -vt 0.255417 0.354292 -vt 0.307861 0.462461 -vt 0.323740 0.551944 -vt 0.295348 0.399423 -vt 0.285361 0.354455 -vt 0.375220 0.433589 -vt 0.426410 0.512010 -vt 0.340191 0.381959 -vt 0.313449 0.343049 -vt 0.427084 0.381076 -vt 0.508428 0.433617 -vt 0.373097 0.346286 -vt 0.334086 0.321151 -vt 0.455163 0.312779 -vt 0.542091 0.327329 -vt 0.392121 0.301698 -vt 0.345605 0.293668 -vt 0.451516 0.240164 -vt 0.542091 0.220170 -vt 0.392388 0.252805 -vt 0.345695 0.263443 -vt 0.425053 0.173305 -vt 0.495831 0.125079 -vt 0.372476 0.208436 -vt 0.334045 0.235260 -vt 0.372835 0.122674 -vt 0.424368 0.047947 -vt 0.337530 0.175120 -vt 0.311810 0.214099 -vt 0.304541 0.095984 -vt 0.322573 0.000101 -vt 0.292062 0.157691 -vt 0.283613 0.203892 -vt 0.230734 0.095653 -vt 0.209292 0.006915 -vt 0.244170 0.159255 -vt 0.253704 0.203883 -vt 0.163666 0.125603 -vt 0.113594 0.054409 -vt 0.199570 0.176878 -vt 0.226219 0.216305 -vt 0.114775 0.178767 -vt 0.035273 0.128658 -vt 0.166640 0.212635 -vt 0.205969 0.237982 -vt 0.087319 0.245782 -vt 0.000101 0.232502 -vt 0.150125 0.257229 -vt 0.194552 0.265466 -vt 0.286212 0.275766 -vt 0.286505 0.282321 -vt 0.283810 0.281816 -vt 0.283734 0.276327 -vt 0.279017 0.265280 -vt 0.283711 0.269791 -vt 0.281639 0.271211 -vt 0.277640 0.267418 -vt 0.266579 0.262961 -vt 0.273007 0.263022 -vt 0.272521 0.265505 -vt 0.267050 0.265496 -vt 0.256409 0.288660 -vt 0.253654 0.282755 -vt 0.256198 0.282176 -vt 0.258425 0.287240 -vt 0.256075 0.270212 -vt 0.260535 0.265413 -vt 0.262006 0.267589 -vt 0.258309 0.271652 -vt 0.266913 0.295729 -vt 0.260993 0.293116 -vt 0.262408 0.291037 -vt 0.267434 0.293170 -vt 0.253614 0.276227 -vt 0.256148 0.276688 -vt 0.279426 0.292926 -vt 0.273471 0.295552 -vt 0.272935 0.293026 -vt 0.277972 0.290788 -vt 0.283888 0.288305 -vt 0.281791 0.286878 -vt 0.216742 0.290668 -vt 0.225269 0.310030 -vt 0.240281 0.324688 -vt 0.259793 0.332794 -vt 0.281151 0.332900 -vt 0.300875 0.324522 -vt 0.315970 0.309294 -vt 0.323874 0.289466 -vt 0.324031 0.267839 -vt 0.315162 0.248142 -vt 0.300110 0.232690 -vt 0.279881 0.225136 -vt 0.258551 0.225929 -vt 0.239013 0.234383 -vt 0.223802 0.249425 -vt 0.216565 0.269459 -vt 0.260738 0.281262 -vt 0.262231 0.284613 -vt 0.264844 0.287195 -vt 0.268285 0.288610 -vt 0.272008 0.288514 -vt 0.275373 0.287005 -vt 0.277984 0.284376 -vt 0.279329 0.280905 -vt 0.279256 0.277201 -vt 0.277785 0.273845 -vt 0.275174 0.271261 -vt 0.271728 0.269965 -vt 0.268057 0.269971 -vt 0.264639 0.271401 -vt 0.262102 0.274115 -vt 0.260665 0.277542 -vt 0.270015 0.279236 -vt 0.297586 0.273355 -vt 0.297766 0.284407 -vt 0.285219 0.255745 -vt 0.293167 0.263274 -vt 0.264144 0.251590 -vt 0.275169 0.251317 -vt 0.247079 0.295039 -vt 0.242657 0.285120 -vt 0.246399 0.263951 -vt 0.254045 0.256020 -vt 0.264854 0.306854 -vt 0.254558 0.302882 -vt 0.242390 0.274150 -vt 0.286071 0.302647 -vt 0.275795 0.306598 -vt 0.293684 0.294701 -vt 0.315512 0.287747 -vt 0.315779 0.269492 -vt 0.308369 0.252844 -vt 0.295369 0.240070 -vt 0.278365 0.233438 -vt 0.260295 0.233775 -vt 0.225281 0.288844 -vt 0.231767 0.305545 -vt 0.243906 0.241337 -vt 0.231089 0.254123 -vt 0.244739 0.317727 -vt 0.261505 0.324167 -vt 0.224503 0.270863 -vt 0.279556 0.324657 -vt 0.296137 0.317398 -vt 0.309039 0.304700 -g metal_bulb_metal_bulb_Material.003 -usemtl Material.003 -s 1 -f 18/5 19/6 20/7 21/8 -f 19/6 22/9 23/10 20/7 -f 22/9 24/11 25/12 23/10 -f 21/8 20/7 26/13 27/14 -f 20/7 23/10 28/15 26/13 -f 23/10 25/12 29/16 28/15 -f 27/14 26/13 30/17 31/18 -f 26/13 28/15 32/19 30/17 -f 28/15 29/16 33/20 32/19 -f 31/18 30/17 34/21 35/22 -f 30/17 32/19 36/23 34/21 -f 32/19 33/20 37/24 36/23 -f 35/22 34/21 38/25 39/26 -f 34/21 36/23 40/27 38/25 -f 36/23 37/24 41/28 40/27 -f 39/26 38/25 42/29 43/30 -f 38/25 40/27 44/31 42/29 -f 40/27 41/28 45/32 44/31 -f 43/30 42/29 46/33 47/34 -f 42/29 44/31 48/35 46/33 -f 44/31 45/32 49/36 48/35 -f 47/34 46/33 50/37 51/38 -f 46/33 48/35 52/39 50/37 -f 48/35 49/36 53/40 52/39 -f 51/38 50/37 54/41 55/42 -f 50/37 52/39 56/43 54/41 -f 52/39 53/40 57/44 56/43 -f 55/42 54/41 58/45 59/46 -f 54/41 56/43 60/47 58/45 -f 56/43 57/44 61/48 60/47 -f 59/46 58/45 62/49 63/50 -f 58/45 60/47 64/51 62/49 -f 60/47 61/48 65/52 64/51 -f 63/50 62/49 66/53 67/54 -f 62/49 64/51 68/55 66/53 -f 64/51 65/52 69/56 68/55 -f 67/54 66/53 70/57 71/58 -f 66/53 68/55 72/59 70/57 -f 68/55 69/56 73/60 72/59 -f 71/58 70/57 74/61 75/62 -f 70/57 72/59 76/63 74/61 -f 72/59 73/60 77/64 76/63 -f 75/62 74/61 78/65 79/66 -f 74/61 76/63 80/67 78/65 -f 76/63 77/64 81/68 80/67 -f 82/69 83/70 84/71 85/72 -f 86/73 87/74 88/75 89/76 -f 90/77 91/78 92/79 93/80 -f 94/81 95/82 96/83 97/84 -f 98/85 99/86 100/87 101/88 -f 102/89 103/90 104/91 105/92 -f 95/82 106/93 107/94 96/83 -f 108/95 109/96 110/97 111/98 -f 83/70 112/99 113/100 84/71 -f 87/74 82/69 85/72 88/75 -f 91/78 86/73 89/76 92/79 -f 99/86 90/77 93/80 100/87 -f 103/90 94/81 97/84 104/91 -f 106/93 98/85 101/88 107/94 -f 19/6 18/5 79/66 78/65 -f 78/65 80/67 22/9 19/6 -f 80/67 81/68 24/11 22/9 -f 109/96 102/89 105/92 110/97 -f 112/99 108/95 111/98 113/100 -f 24/11 114/101 115/102 25/12 -f 25/12 115/102 116/103 29/16 -f 29/16 116/103 117/104 33/20 -f 33/20 117/104 118/105 37/24 -f 37/24 118/105 119/106 41/28 -f 41/28 119/106 120/107 45/32 -f 45/32 120/107 121/108 49/36 -f 49/36 121/108 122/109 53/40 -f 53/40 122/109 123/110 57/44 -f 57/44 123/110 124/111 61/48 -f 61/48 124/111 125/112 65/52 -f 65/52 125/112 126/113 69/56 -f 69/56 126/113 127/114 73/60 -f 73/60 127/114 128/115 77/64 -f 77/64 128/115 129/116 81/68 -f 81/68 129/116 114/101 24/11 -f 96/83 130/117 131/118 97/84 -f 97/84 131/118 132/119 104/91 -f 104/91 132/119 133/120 105/92 -f 105/92 133/120 134/121 110/97 -f 110/97 134/121 135/122 111/98 -f 111/98 135/122 136/123 113/100 -f 113/100 136/123 137/124 84/71 -f 84/71 137/124 138/125 85/72 -f 85/72 138/125 139/126 88/75 -f 88/75 139/126 140/127 89/76 -f 89/76 140/127 141/128 92/79 -f 92/79 141/128 142/129 93/80 -f 93/80 142/129 143/130 100/87 -f 100/87 143/130 144/131 101/88 -f 101/88 144/131 145/132 107/94 -f 130/117 146/133 131/118 -f 131/118 146/133 132/119 -f 132/119 146/133 133/120 -f 133/120 146/133 134/121 -f 134/121 146/133 135/122 -f 135/122 146/133 136/123 -f 136/123 146/133 137/124 -f 137/124 146/133 138/125 -f 138/125 146/133 139/126 -f 139/126 146/133 140/127 -f 140/127 146/133 141/128 -f 141/128 146/133 142/129 -f 142/129 146/133 143/130 -f 143/130 146/133 144/131 -f 144/131 146/133 145/132 -f 107/94 145/132 130/117 96/83 -f 145/132 146/133 130/117 -f 147/134 148/135 83/70 82/69 -f 149/136 150/137 87/74 86/73 -f 151/138 152/139 91/78 90/77 -f 153/140 154/141 95/82 94/81 -f 155/142 156/143 99/86 98/85 -f 157/144 158/145 103/90 102/89 -f 154/141 159/146 106/93 95/82 -f 160/147 161/148 109/96 108/95 -f 148/135 162/149 112/99 83/70 -f 150/137 147/134 82/69 87/74 -f 152/139 149/136 86/73 91/78 -f 156/143 151/138 90/77 99/86 -f 158/145 153/140 94/81 103/90 -f 159/146 155/142 98/85 106/93 -f 161/148 157/144 102/89 109/96 -f 162/149 160/147 108/95 112/99 -f 122/109 121/108 163/150 164/151 -f 124/111 123/110 165/152 166/153 -f 126/113 125/112 167/154 168/155 -f 115/102 114/101 169/156 170/157 -f 128/115 127/114 171/158 172/159 -f 117/104 116/103 173/160 174/161 -f 114/101 129/116 175/162 169/156 -f 119/106 118/105 176/163 177/164 -f 121/108 120/107 178/165 163/150 -f 123/110 122/109 164/151 165/152 -f 125/112 124/111 166/153 167/154 -f 127/114 126/113 168/155 171/158 -f 116/103 115/102 170/157 173/160 -f 129/116 128/115 172/159 175/162 -f 118/105 117/104 174/161 176/163 -f 120/107 119/106 177/164 178/165 -f 164/151 163/150 148/135 147/134 -f 166/153 165/152 150/137 149/136 -f 168/155 167/154 152/139 151/138 -f 170/157 169/156 154/141 153/140 -f 172/159 171/158 156/143 155/142 -f 174/161 173/160 158/145 157/144 -f 169/156 175/162 159/146 154/141 -f 177/164 176/163 161/148 160/147 -f 163/150 178/165 162/149 148/135 -f 165/152 164/151 147/134 150/137 -f 167/154 166/153 149/136 152/139 -f 171/158 168/155 151/138 156/143 -f 173/160 170/157 153/140 158/145 -f 175/162 172/159 155/142 159/146 -f 176/163 174/161 157/144 161/148 -f 178/165 177/164 160/147 162/149 -o tube -v 0.053313 -0.430401 0.009096 -v 0.054882 -0.411177 0.009097 -v 0.060531 -0.411592 -0.004576 -v 0.058960 -0.430831 -0.004578 -v 0.074168 -0.412595 -0.010240 -v 0.072594 -0.431869 -0.010242 -v 0.087804 -0.413600 -0.004577 -v 0.086228 -0.432909 -0.004578 -v 0.093453 -0.414018 0.009097 -v 0.091876 -0.433340 0.009096 -v 0.087804 -0.413603 0.022771 -v 0.086229 -0.432910 0.022769 -v 0.074168 -0.412599 0.028435 -v 0.072594 -0.431872 0.028433 -v 0.058960 -0.430832 0.022770 -v 0.060531 -0.411595 0.022771 -v 0.051743 -0.449086 0.009095 -v 0.057389 -0.449531 -0.004579 -v 0.071021 -0.450605 -0.010243 -v 0.084652 -0.451679 -0.004580 -v 0.090299 -0.452123 0.009094 -v 0.084653 -0.451679 0.022768 -v 0.071021 -0.450605 0.028432 -v 0.057390 -0.449531 0.022768 -v 0.056107 -0.392122 0.009100 -v 0.057294 -0.373087 0.009103 -v 0.062952 -0.373353 -0.004571 -v 0.061760 -0.392466 -0.004574 -v 0.076610 -0.374001 -0.010235 -v 0.075408 -0.393299 -0.010238 -v 0.090268 -0.374650 -0.004571 -v 0.089056 -0.394134 -0.004574 -v 0.095926 -0.374920 0.009102 -v 0.094710 -0.394481 0.009100 -v 0.090269 -0.374654 0.022776 -v 0.089056 -0.394138 0.022773 -v 0.076610 -0.374006 0.028440 -v 0.075408 -0.393304 0.028437 -v 0.061760 -0.392469 0.022774 -v 0.062952 -0.373357 0.022776 -v 0.054882 -0.411177 0.009097 -v 0.060531 -0.411592 -0.004576 -v 0.074168 -0.412595 -0.010240 -v 0.087804 -0.413600 -0.004577 -v 0.093453 -0.413479 0.009097 -v 0.087804 -0.413064 0.022771 -v 0.074168 -0.412599 0.028435 -v 0.060531 -0.411595 0.022771 -v 0.058004 -0.354129 0.009106 -v 0.058403 -0.335224 0.009109 -v 0.064067 -0.335261 -0.004565 -v 0.063665 -0.354291 -0.004568 -v 0.077740 -0.335356 -0.010229 -v 0.077333 -0.354684 -0.010232 -v 0.091414 -0.335453 -0.004565 -v 0.091001 -0.355080 -0.004568 -v 0.097077 -0.335495 0.009109 -v 0.096663 -0.355245 0.009105 -v 0.091414 -0.335458 0.022782 -v 0.091002 -0.355084 0.022779 -v 0.077740 -0.335362 0.028446 -v 0.077333 -0.354690 0.028443 -v 0.063666 -0.354295 0.022779 -v 0.064067 -0.335266 0.022782 -v 0.057294 -0.373087 0.009103 -v 0.062952 -0.373353 -0.004571 -v 0.076610 -0.374001 -0.010235 -v 0.090268 -0.374650 -0.004571 -v 0.095926 -0.374920 0.009102 -v 0.090269 -0.374654 0.022776 -v 0.076610 -0.374006 0.028440 -v 0.062952 -0.373357 0.022776 -v 0.058466 -0.316365 0.009112 -v 0.057764 -0.297613 0.009115 -v 0.063422 -0.297349 -0.004559 -v 0.064129 -0.316266 -0.004562 -v 0.077081 -0.296717 -0.010222 -v 0.077800 -0.316032 -0.010226 -v 0.090740 -0.296088 -0.004559 -v 0.091472 -0.315800 -0.004562 -v 0.096398 -0.295828 0.009115 -v 0.097135 -0.315706 0.009112 -v 0.090740 -0.296092 0.022789 -v 0.091472 -0.315804 0.022786 -v 0.077081 -0.296724 0.028453 -v 0.077800 -0.316039 0.028449 -v 0.064129 -0.316271 0.022785 -v 0.063422 -0.297354 0.022789 -v 0.058403 -0.335224 0.009109 -v 0.064067 -0.335261 -0.004565 -v 0.077740 -0.335356 -0.010229 -v 0.091414 -0.335453 -0.004565 -v 0.097077 -0.335495 0.009109 -v 0.091414 -0.335458 0.022782 -v 0.077740 -0.335362 0.028446 -v 0.064067 -0.335266 0.022782 -v 0.057059 -0.278863 0.009118 -v 0.054957 -0.260374 0.009121 -v 0.060585 -0.259738 -0.004553 -v 0.062707 -0.278435 -0.004556 -v 0.074173 -0.258205 -0.010216 -v 0.076341 -0.277404 -0.010219 -v 0.087761 -0.256674 -0.004552 -v 0.089976 -0.276376 -0.004555 -v 0.093389 -0.256042 0.009121 -v 0.095624 -0.275952 0.009118 -v 0.087761 -0.256678 0.022795 -v 0.089976 -0.276380 0.022792 -v 0.074173 -0.258211 0.028459 -v 0.076341 -0.277411 0.028456 -v 0.062707 -0.278439 0.022792 -v 0.060585 -0.259742 0.022795 -v 0.057764 -0.297613 0.009115 -v 0.063422 -0.297349 -0.004559 -v 0.077081 -0.296717 -0.010222 -v 0.090740 -0.296088 -0.004559 -v 0.096398 -0.295828 0.009115 -v 0.090740 -0.296092 0.022789 -v 0.077081 -0.296724 0.028453 -v 0.063422 -0.297354 0.022789 -v 0.052882 -0.241882 0.009124 -v 0.049564 -0.223722 0.009126 -v 0.055124 -0.222637 -0.004548 -v 0.058483 -0.241038 -0.004550 -v 0.068545 -0.220021 -0.010211 -v 0.072004 -0.239006 -0.010213 -v 0.081966 -0.217407 -0.004547 -v 0.085526 -0.236974 -0.004549 -v 0.087526 -0.216325 0.009127 -v 0.091127 -0.236135 0.009124 -v 0.081966 -0.217410 0.022801 -v 0.085526 -0.236978 0.022798 -v 0.068545 -0.220026 0.028464 -v 0.072004 -0.239011 0.028462 -v 0.058483 -0.241042 0.022797 -v 0.055124 -0.222641 0.022800 -v 0.054957 -0.260374 0.009121 -v 0.060585 -0.259738 -0.004553 -v 0.074173 -0.258205 -0.010216 -v 0.087761 -0.256674 -0.004552 -v 0.093389 -0.256042 0.009121 -v 0.087761 -0.256678 0.022795 -v 0.074173 -0.258211 0.028459 -v 0.060585 -0.259742 0.022795 -v 0.045791 -0.205686 0.009128 -v 0.041164 -0.187972 0.009130 -v 0.046594 -0.186362 -0.004544 -v 0.051295 -0.204348 -0.004545 -v 0.059704 -0.182475 -0.010207 -v 0.064583 -0.201121 -0.010209 -v 0.072814 -0.178590 -0.004543 -v 0.077870 -0.197895 -0.004545 -v 0.078244 -0.176981 0.009131 -v 0.083374 -0.196560 0.009129 -v 0.072814 -0.178592 0.022805 -v 0.077870 -0.197898 0.022803 -v 0.059704 -0.182479 0.028468 -v 0.064582 -0.201125 0.028466 -v 0.051295 -0.204351 0.022802 -v 0.046594 -0.186364 0.022804 -v 0.049564 -0.223722 0.009126 -v 0.055124 -0.222637 -0.004548 -v 0.068545 -0.220021 -0.010211 -v 0.081966 -0.217407 -0.004547 -v 0.087526 -0.216325 0.009127 -v 0.081966 -0.217410 0.022801 -v 0.068545 -0.220026 0.028464 -v 0.055124 -0.222641 0.022800 -v 0.035381 -0.170691 0.009131 -v 0.029340 -0.153548 0.009132 -v 0.034556 -0.151339 -0.004541 -v 0.040714 -0.168781 -0.004542 -v 0.047148 -0.146008 -0.010205 -v 0.053588 -0.164173 -0.010206 -v 0.059740 -0.140676 -0.004540 -v 0.066462 -0.159566 -0.004541 -v 0.064955 -0.138469 0.009134 -v 0.071794 -0.157658 0.009133 -v 0.059739 -0.140678 0.022807 -v 0.066461 -0.159567 0.022806 -v 0.047147 -0.146009 0.028470 -v 0.053587 -0.164176 0.028469 -v 0.040713 -0.168783 0.022805 -v 0.034556 -0.151340 0.022806 -v 0.041164 -0.187972 0.009130 -v 0.046594 -0.186362 -0.004544 -v 0.059704 -0.182475 -0.010207 -v 0.072814 -0.178590 -0.004543 -v 0.078244 -0.176981 0.009131 -v 0.072814 -0.178592 0.022805 -v 0.059704 -0.182479 0.028468 -v 0.046594 -0.186364 0.022804 -v 0.021284 -0.137425 0.009132 -v 0.013301 -0.121266 0.009132 -v 0.018187 -0.118400 -0.004542 -v 0.026346 -0.134882 -0.004542 -v 0.029982 -0.111482 -0.010205 -v 0.038565 -0.128745 -0.010205 -v 0.041776 -0.104563 -0.004540 -v 0.050784 -0.122607 -0.004540 -v 0.046661 -0.101698 0.009133 -v 0.055844 -0.120065 0.009134 -v 0.041775 -0.104563 0.022807 -v 0.050782 -0.122607 0.022807 -v 0.029980 -0.111481 0.028470 -v 0.038563 -0.128745 0.028470 -v 0.026345 -0.134883 0.022806 -v 0.018186 -0.118400 0.022806 -v 0.029340 -0.153548 0.009132 -v 0.034556 -0.151339 -0.004541 -v 0.047148 -0.146008 -0.010205 -v 0.059740 -0.140676 -0.004540 -v 0.064955 -0.138469 0.009134 -v 0.059739 -0.140678 0.022807 -v 0.047147 -0.146009 0.028470 -v 0.034556 -0.151340 0.022806 -v 0.003263 -0.106486 0.009130 -v -0.007108 -0.091928 0.009129 -v -0.002677 -0.088399 -0.004545 -v 0.007935 -0.103284 -0.004543 -v 0.008016 -0.079877 -0.010208 -v 0.019212 -0.095550 -0.010206 -v 0.018709 -0.071355 -0.004544 -v 0.030488 -0.087816 -0.004542 -v 0.023137 -0.067824 0.009130 -v 0.035158 -0.084612 0.009132 -v 0.018706 -0.071353 0.022804 -v 0.030486 -0.087815 0.022805 -v 0.008013 -0.079874 0.028467 -v 0.019209 -0.095548 0.028469 -v 0.007933 -0.103282 0.022804 -v -0.002680 -0.088397 0.022803 -v 0.013301 -0.121266 0.009132 -v 0.018187 -0.118400 -0.004542 -v 0.029982 -0.111482 -0.010205 -v 0.041776 -0.104563 -0.004540 -v 0.046661 -0.101698 0.009133 -v 0.041775 -0.104563 0.022807 -v 0.029980 -0.111481 0.028470 -v 0.018186 -0.118400 0.022806 -v -0.018728 -0.078465 0.009126 -v -0.031389 -0.065905 0.009123 -v -0.027519 -0.061770 -0.004551 -v -0.014565 -0.074624 -0.004547 -v -0.018180 -0.051782 -0.010214 -v -0.004518 -0.065348 -0.010211 -v -0.008842 -0.041793 -0.004550 -v 0.005528 -0.056072 -0.004547 -v -0.004976 -0.037654 0.009123 -v 0.009687 -0.052228 0.009127 -v -0.008846 -0.041790 0.022797 -v 0.005524 -0.056069 0.022801 -v -0.018185 -0.051777 0.028461 -v -0.004523 -0.065344 0.028464 -v -0.014568 -0.074621 0.022800 -v -0.027523 -0.061766 0.022797 -v -0.007108 -0.091928 0.009129 -v -0.002677 -0.088399 -0.004545 -v 0.008016 -0.079877 -0.010208 -v 0.018709 -0.071355 -0.004544 -v 0.023137 -0.067824 0.009130 -v 0.018706 -0.071353 0.022804 -v 0.008013 -0.079874 0.028467 -v -0.002680 -0.088397 0.022803 -v -0.044496 -0.053850 0.009119 -v -0.059103 -0.043471 0.009115 -v -0.055860 -0.038828 -0.004559 -v -0.040935 -0.049445 -0.004554 -v -0.048034 -0.027616 -0.010223 -v -0.032345 -0.038807 -0.010218 -v -0.040211 -0.016401 -0.004560 -v -0.023757 -0.028167 -0.004554 -v -0.036973 -0.011753 0.009114 -v -0.020202 -0.023758 0.009119 -v -0.040217 -0.016396 0.022787 -v -0.023762 -0.028162 0.022793 -v -0.048042 -0.027609 0.028452 -v -0.032352 -0.038801 0.028457 -v -0.040940 -0.049441 0.022793 -v -0.055865 -0.038824 0.022788 -v -0.031389 -0.065905 0.009123 -v -0.027519 -0.061770 -0.004551 -v -0.018180 -0.051782 -0.010214 -v -0.008842 -0.041793 -0.004550 -v -0.004976 -0.037654 0.009123 -v -0.008846 -0.041790 0.022797 -v -0.018185 -0.051777 0.028461 -v -0.027523 -0.061766 0.022797 -v -0.073657 -0.033014 0.009110 -v -0.089672 -0.024601 0.009104 -v -0.087076 -0.019567 -0.004570 -v -0.070745 -0.028157 -0.004564 -v -0.080817 -0.007411 -0.010235 -v -0.063723 -0.016424 -0.010229 -v -0.074562 0.004748 -0.004572 -v -0.056703 -0.004690 -0.004565 -v -0.071973 0.009787 0.009101 -v -0.053798 0.000173 0.009108 -v -0.074569 0.004754 0.022775 -v -0.056710 -0.004684 0.022782 -v -0.080828 -0.007403 0.028440 -v -0.063732 -0.016417 0.028446 -v -0.070752 -0.028151 0.022783 -v -0.087084 -0.019562 0.022777 -v -0.059103 -0.043471 0.009115 -v -0.055860 -0.038828 -0.004559 -v -0.048034 -0.027616 -0.010223 -v -0.040211 -0.016401 -0.004560 -v -0.036973 -0.011753 0.009114 -v -0.040217 -0.016396 0.022787 -v -0.048042 -0.027609 0.028452 -v -0.055865 -0.038824 0.022788 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -g tube_tube_Material.001 -usemtl Material.001 -s 1 -f 179/166 180/167 181/168 182/169 -f 182/166 181/167 183/168 184/169 -f 184/166 183/167 185/168 186/169 -f 186/166 185/167 187/168 188/169 -f 188/166 187/167 189/168 190/169 -f 190/166 189/167 191/168 192/169 -f 180/168 179/169 193/166 194/167 -f 192/166 191/167 194/168 193/169 -f 195/166 179/167 182/168 196/169 -f 196/166 182/167 184/168 197/169 -f 197/166 184/167 186/168 198/169 -f 198/166 186/167 188/168 199/169 -f 199/166 188/167 190/168 200/169 -f 200/166 190/167 192/168 201/169 -f 179/168 195/169 202/166 193/167 -f 201/166 192/167 193/168 202/169 -f 203/166 204/167 205/168 206/169 -f 206/166 205/167 207/168 208/169 -f 208/166 207/167 209/168 210/169 -f 210/166 209/167 211/168 212/169 -f 212/166 211/167 213/168 214/169 -f 214/166 213/167 215/168 216/169 -f 217/166 218/167 204/168 203/169 -f 216/166 215/167 218/168 217/169 -f 219/166 203/167 206/168 220/169 -f 220/166 206/167 208/168 221/169 -f 221/166 208/167 210/168 222/169 -f 222/166 210/167 212/168 223/169 -f 223/166 212/167 214/168 224/169 -f 224/166 214/167 216/168 225/169 -f 226/166 217/167 203/168 219/169 -f 225/166 216/167 217/168 226/169 -f 227/166 228/167 229/168 230/169 -f 230/166 229/167 231/168 232/169 -f 232/166 231/167 233/168 234/169 -f 234/166 233/167 235/168 236/169 -f 236/166 235/167 237/168 238/169 -f 238/166 237/167 239/168 240/169 -f 241/166 242/167 228/168 227/169 -f 240/166 239/167 242/168 241/169 -f 243/166 227/167 230/168 244/169 -f 244/166 230/167 232/168 245/169 -f 245/166 232/167 234/168 246/169 -f 246/166 234/167 236/168 247/169 -f 247/166 236/167 238/168 248/169 -f 248/166 238/167 240/168 249/169 -f 250/166 241/167 227/168 243/169 -f 249/166 240/167 241/168 250/169 -f 251/166 252/167 253/168 254/169 -f 254/166 253/167 255/168 256/169 -f 256/166 255/167 257/168 258/169 -f 258/166 257/167 259/168 260/169 -f 260/166 259/167 261/168 262/169 -f 262/166 261/167 263/168 264/169 -f 265/166 266/167 252/168 251/169 -f 264/166 263/167 266/168 265/169 -f 267/166 251/167 254/168 268/169 -f 268/166 254/167 256/168 269/169 -f 269/166 256/167 258/168 270/169 -f 270/166 258/167 260/168 271/169 -f 271/166 260/167 262/168 272/169 -f 272/166 262/167 264/168 273/169 -f 274/166 265/167 251/168 267/169 -f 273/166 264/167 265/168 274/169 -f 275/166 276/167 277/168 278/169 -f 278/166 277/167 279/168 280/169 -f 280/166 279/167 281/168 282/169 -f 282/166 281/167 283/168 284/169 -f 284/166 283/167 285/168 286/169 -f 286/166 285/167 287/168 288/169 -f 289/166 290/167 276/168 275/169 -f 288/166 287/167 290/168 289/169 -f 291/166 275/167 278/168 292/169 -f 292/166 278/167 280/168 293/169 -f 293/166 280/167 282/168 294/169 -f 294/166 282/167 284/168 295/169 -f 295/166 284/167 286/168 296/169 -f 296/166 286/167 288/168 297/169 -f 298/166 289/167 275/168 291/169 -f 297/166 288/167 289/168 298/169 -f 299/166 300/167 301/168 302/169 -f 302/166 301/167 303/168 304/169 -f 304/166 303/167 305/168 306/169 -f 306/166 305/167 307/168 308/169 -f 308/166 307/167 309/168 310/169 -f 310/166 309/167 311/168 312/169 -f 313/166 314/167 300/168 299/169 -f 312/166 311/167 314/168 313/169 -f 315/166 299/167 302/168 316/169 -f 316/166 302/167 304/168 317/169 -f 317/166 304/167 306/168 318/169 -f 318/166 306/167 308/168 319/169 -f 319/166 308/167 310/168 320/169 -f 320/166 310/167 312/168 321/169 -f 322/166 313/167 299/168 315/169 -f 321/166 312/167 313/168 322/169 -f 323/166 324/167 325/168 326/169 -f 326/166 325/167 327/168 328/169 -f 328/166 327/167 329/168 330/169 -f 330/166 329/167 331/168 332/169 -f 332/166 331/167 333/168 334/169 -f 334/166 333/167 335/168 336/169 -f 337/166 338/167 324/168 323/169 -f 336/166 335/167 338/168 337/169 -f 339/166 323/167 326/168 340/169 -f 340/166 326/167 328/168 341/169 -f 341/166 328/167 330/168 342/169 -f 342/166 330/167 332/168 343/169 -f 343/166 332/167 334/168 344/169 -f 344/166 334/167 336/168 345/169 -f 346/166 337/167 323/168 339/169 -f 345/166 336/167 337/168 346/169 -f 347/166 348/167 349/168 350/169 -f 350/166 349/167 351/168 352/169 -f 352/166 351/167 353/168 354/169 -f 354/166 353/167 355/168 356/169 -f 356/166 355/167 357/168 358/169 -f 358/166 357/167 359/168 360/169 -f 361/166 362/167 348/168 347/169 -f 360/166 359/167 362/168 361/169 -f 363/166 347/167 350/168 364/169 -f 364/166 350/167 352/168 365/169 -f 365/166 352/167 354/168 366/169 -f 366/166 354/167 356/168 367/169 -f 367/166 356/167 358/168 368/169 -f 368/166 358/167 360/168 369/169 -f 370/166 361/167 347/168 363/169 -f 369/166 360/167 361/168 370/169 -f 371/166 372/167 373/168 374/169 -f 374/166 373/167 375/168 376/169 -f 376/166 375/167 377/168 378/169 -f 378/166 377/167 379/168 380/169 -f 380/166 379/167 381/168 382/169 -f 382/166 381/167 383/168 384/169 -f 385/166 386/167 372/168 371/169 -f 384/166 383/167 386/168 385/169 -f 387/166 371/167 374/168 388/169 -f 388/166 374/167 376/168 389/169 -f 389/166 376/167 378/168 390/169 -f 390/166 378/167 380/168 391/169 -f 391/166 380/167 382/168 392/169 -f 392/166 382/167 384/168 393/169 -f 394/166 385/167 371/168 387/169 -f 393/166 384/167 385/168 394/169 -f 395/166 396/167 397/168 398/169 -f 398/166 397/167 399/168 400/169 -f 400/166 399/167 401/168 402/169 -f 402/166 401/167 403/168 404/169 -f 404/166 403/167 405/168 406/169 -f 406/166 405/167 407/168 408/169 -f 409/166 410/167 396/168 395/169 -f 408/166 407/167 410/168 409/169 -f 411/166 395/167 398/168 412/169 -f 412/166 398/167 400/168 413/169 -f 413/166 400/167 402/168 414/169 -f 414/166 402/167 404/168 415/169 -f 415/166 404/167 406/168 416/169 -f 416/166 406/167 408/168 417/169 -f 418/166 409/167 395/168 411/169 -f 417/166 408/167 409/168 418/169 -f 419/166 420/167 421/168 422/169 -f 422/166 421/167 423/168 424/169 -f 424/166 423/167 425/168 426/169 -f 426/166 425/167 427/168 428/169 -f 428/166 427/167 429/168 430/169 -f 430/166 429/167 431/168 432/169 -f 433/166 434/167 420/168 419/169 -f 432/166 431/167 434/168 433/169 -f 435/166 419/167 422/168 436/169 -f 436/166 422/167 424/168 437/169 -f 437/166 424/167 426/168 438/169 -f 438/166 426/167 428/168 439/169 -f 439/166 428/167 430/168 440/169 -f 440/166 430/167 432/168 441/169 -f 442/166 433/167 419/168 435/169 -f 441/166 432/167 433/168 442/169 -f 443/166 444/167 445/168 446/169 -f 446/166 445/167 447/168 448/169 -f 448/166 447/167 449/168 450/169 -f 450/166 449/167 451/168 452/169 -f 452/166 451/167 453/168 454/169 -f 454/166 453/167 455/168 456/169 -f 457/166 458/167 444/168 443/169 -f 456/166 455/167 458/168 457/169 -f 459/166 443/167 446/168 460/169 -f 460/166 446/167 448/168 461/169 -f 461/166 448/167 450/168 462/169 -f 462/166 450/167 452/168 463/169 -f 463/166 452/167 454/168 464/169 -f 464/166 454/167 456/168 465/169 -f 466/166 457/167 443/168 459/169 -f 465/166 456/167 457/168 466/169 -f 467/166 468/167 469/168 470/169 -f 470/166 469/167 471/168 472/169 -f 472/166 471/167 473/168 474/169 -f 474/166 473/167 475/168 476/169 -f 476/166 475/167 477/168 478/169 -f 478/166 477/167 479/168 480/169 -f 481/166 482/167 468/168 467/169 -f 480/166 479/167 482/168 481/169 -f 483/166 467/167 470/168 484/169 -f 484/166 470/167 472/168 485/169 -f 485/166 472/167 474/168 486/169 -f 486/166 474/167 476/168 487/169 -f 487/166 476/167 478/168 488/169 -f 488/166 478/167 480/168 489/169 -f 490/166 481/167 467/168 483/169 -f 489/166 480/167 481/168 490/169 -o metal_base -v 0.070721 -0.502168 -0.126921 -v 0.070721 -0.448710 -0.126921 -v 0.097256 -0.448710 -0.124308 -v 0.097256 -0.502168 -0.124308 -v 0.122772 -0.448710 -0.116568 -v 0.122772 -0.502168 -0.116568 -v 0.146287 -0.448710 -0.103999 -v 0.146287 -0.502168 -0.103999 -v 0.166898 -0.448710 -0.087083 -v 0.166898 -0.502168 -0.087083 -v 0.183814 -0.448710 -0.066472 -v 0.183814 -0.502168 -0.066472 -v 0.196383 -0.448710 -0.042957 -v 0.196383 -0.502168 -0.042957 -v 0.204123 -0.448710 -0.017441 -v 0.204123 -0.502168 -0.017441 -v 0.206737 -0.448710 0.009094 -v 0.206737 -0.502168 0.009094 -v 0.204123 -0.448710 0.035629 -v 0.204123 -0.502168 0.035629 -v 0.196383 -0.448710 0.061145 -v 0.196383 -0.502168 0.061145 -v 0.183814 -0.448710 0.084660 -v 0.183814 -0.502168 0.084660 -v 0.166898 -0.448710 0.105272 -v 0.166898 -0.502168 0.105272 -v 0.146287 -0.448710 0.122187 -v 0.146287 -0.502168 0.122187 -v 0.122772 -0.448710 0.134756 -v 0.122772 -0.502168 0.134756 -v 0.097256 -0.448710 0.142496 -v 0.097256 -0.502168 0.142496 -v 0.070721 -0.448710 0.145110 -v 0.070721 -0.502168 0.145110 -v 0.044185 -0.448710 0.142496 -v 0.044185 -0.502168 0.142496 -v 0.018670 -0.448710 0.134756 -v 0.018670 -0.502168 0.134756 -v -0.004845 -0.448710 0.122187 -v -0.004845 -0.502168 0.122187 -v -0.025457 -0.448710 0.105272 -v -0.025457 -0.502168 0.105272 -v -0.042372 -0.448710 0.084660 -v -0.042372 -0.502168 0.084660 -v -0.054941 -0.448710 0.061145 -v -0.054941 -0.502168 0.061145 -v -0.062681 -0.448710 0.035629 -v -0.062681 -0.502168 0.035629 -v -0.065295 -0.448710 0.009094 -v -0.065295 -0.502168 0.009094 -v -0.062681 -0.448710 -0.017441 -v -0.062681 -0.502168 -0.017441 -v -0.054941 -0.448710 -0.042957 -v -0.054941 -0.502168 -0.042957 -v -0.042372 -0.448710 -0.066472 -v -0.042372 -0.502168 -0.066472 -v -0.025457 -0.448710 -0.087084 -v -0.025457 -0.502168 -0.087084 -v -0.004845 -0.448710 -0.103999 -v -0.004845 -0.502168 -0.103999 -v 0.018670 -0.448710 -0.116568 -v 0.018670 -0.502168 -0.116568 -v 0.044186 -0.502168 -0.124308 -v 0.044186 -0.448710 -0.124308 -vt 0.836800 0.450973 -vt 0.814919 0.378979 -vt 0.842632 0.366791 -vt 0.878227 0.433213 -vt 0.867543 0.349321 -vt 0.915371 0.407714 -vt 0.888734 0.327215 -vt 0.946865 0.375587 -vt 0.905470 0.301250 -vt 0.971685 0.338207 -vt 0.918014 0.273246 -vt 0.989234 0.297104 -vt 0.924683 0.243712 -vt 0.998847 0.253475 -vt 0.925318 0.213657 -vt 0.999899 0.208758 -vt 0.919929 0.184174 -vt 0.992156 0.164619 -vt 0.908721 0.156378 -vt 0.975800 0.122784 -vt 0.892159 0.131230 -vt 0.951406 0.084913 -vt 0.870890 0.109822 -vt 0.919916 0.052555 -vt 0.845738 0.093005 -vt 0.882557 0.027023 -vt 0.817688 0.081457 -vt 0.840809 0.009353 -vt 0.787837 0.075645 -vt 0.796320 0.000256 -vt 0.757352 0.075811 -vt 0.750845 0.000101 -vt 0.727426 0.081961 -vt 0.706173 0.008896 -vt 0.699225 0.093864 -vt 0.664054 0.026300 -vt 0.673852 0.111061 -vt 0.626136 0.051628 -vt 0.652289 0.132889 -vt 0.593893 0.083888 -vt 0.635370 0.158503 -vt 0.568575 0.121818 -vt 0.623745 0.186910 -vt 0.551156 0.163931 -vt 0.617853 0.217010 -vt 0.542292 0.208574 -vt 0.617907 0.247645 -vt 0.542292 0.254004 -vt 0.623887 0.277639 -vt 0.551102 0.298452 -vt 0.635551 0.305853 -vt 0.568304 0.340212 -vt 0.652086 0.331142 -vt 0.593133 0.377730 -vt 0.673224 0.352491 -vt 0.624739 0.409655 -vt 0.698142 0.369114 -vt 0.662002 0.434725 -vt 0.725878 0.380380 -vt 0.703516 0.451923 -vt 0.755381 0.385902 -vt 0.747668 0.460540 -vt 0.792697 0.460218 -vt 0.785455 0.385431 -g metal_base_metal_base_Material.002 -usemtl Material.002 -s 1 -f 491/170 492/171 493/172 494/173 -f 494/173 493/172 495/174 496/175 -f 496/175 495/174 497/176 498/177 -f 498/177 497/176 499/178 500/179 -f 500/179 499/178 501/180 502/181 -f 502/181 501/180 503/182 504/183 -f 504/183 503/182 505/184 506/185 -f 506/185 505/184 507/186 508/187 -f 508/187 507/186 509/188 510/189 -f 510/189 509/188 511/190 512/191 -f 512/191 511/190 513/192 514/193 -f 514/193 513/192 515/194 516/195 -f 516/195 515/194 517/196 518/197 -f 518/197 517/196 519/198 520/199 -f 520/199 519/198 521/200 522/201 -f 522/201 521/200 523/202 524/203 -f 524/203 523/202 525/204 526/205 -f 526/205 525/204 527/206 528/207 -f 528/207 527/206 529/208 530/209 -f 530/209 529/208 531/210 532/211 -f 532/211 531/210 533/212 534/213 -f 534/213 533/212 535/214 536/215 -f 536/215 535/214 537/216 538/217 -f 538/217 537/216 539/218 540/219 -f 540/219 539/218 541/220 542/221 -f 542/221 541/220 543/222 544/223 -f 544/223 543/222 545/224 546/225 -f 546/225 545/224 547/226 548/227 -f 548/227 547/226 549/228 550/229 -f 550/229 549/228 551/230 552/231 -f 492/171 491/170 553/232 554/233 -f 552/231 551/230 554/233 553/232 -f 541/220 539/218 537/216 535/214 533/212 531/210 529/208 527/206 525/204 523/202 521/200 519/198 517/196 515/194 513/192 511/190 509/188 507/186 505/184 503/182 501/180 499/178 497/176 495/174 493/172 492/171 554/233 551/230 549/228 547/226 545/224 543/222 +f 403/1/1 404/2/2 405/3/3 406/4/4 +f 404/2/2 407/5/5 408/6/6 405/3/3 +f 407/5/5 409/7/7 410/8/8 408/6/6 +f 406/4/4 405/3/3 411/9/9 412/10/10 +f 405/3/3 408/6/6 413/11/11 411/9/9 +f 408/6/6 410/8/8 414/12/12 413/11/11 +f 412/10/10 411/9/9 415/13/13 416/14/14 +f 411/9/9 413/11/11 417/15/15 415/13/13 +f 413/11/11 414/12/12 418/16/16 417/15/15 +f 416/14/14 415/13/13 419/17/17 420/18/18 +f 415/13/13 417/15/15 421/19/19 419/17/17 +f 417/15/15 418/16/16 422/20/20 421/19/19 +f 420/18/18 419/17/17 423/21/21 424/22/22 +f 419/17/17 421/19/19 425/23/23 423/21/21 +f 421/19/19 422/20/20 426/24/24 425/23/23 +f 424/22/22 423/21/21 427/25/25 428/26/26 +f 423/21/21 425/23/23 429/27/27 427/25/25 +f 425/23/23 426/24/24 430/28/28 429/27/27 +f 428/26/26 427/25/25 431/29/29 432/30/30 +f 427/25/25 429/27/27 433/31/31 431/29/29 +f 429/27/27 430/28/28 434/32/32 433/31/31 +f 432/30/30 431/29/29 435/33/33 436/34/34 +f 431/29/29 433/31/31 437/35/35 435/33/33 +f 433/31/31 434/32/32 438/36/36 437/35/35 +f 436/34/34 435/33/33 439/37/37 440/38/38 +f 435/33/33 437/35/35 441/39/39 439/37/37 +f 437/35/35 438/36/36 442/40/40 441/39/39 +f 440/38/38 439/37/37 443/41/41 444/42/42 +f 439/37/37 441/39/39 445/43/43 443/41/41 +f 441/39/39 442/40/40 446/44/44 445/43/43 +f 444/42/42 443/41/41 447/45/45 448/46/46 +f 443/41/41 445/43/43 449/47/47 447/45/45 +f 445/43/43 446/44/44 450/48/48 449/47/47 +f 448/46/46 447/45/45 451/49/49 452/50/50 +f 447/45/45 449/47/47 453/51/51 451/49/49 +f 449/47/47 450/48/48 454/52/52 453/51/51 +f 452/50/50 451/49/49 455/53/53 456/54/54 +f 451/49/49 453/51/51 457/55/55 455/53/53 +f 453/51/51 454/52/52 458/56/56 457/55/55 +f 456/54/54 455/53/53 459/57/57 460/58/58 +f 455/53/53 457/55/55 461/59/59 459/57/57 +f 457/55/55 458/56/56 462/60/60 461/59/59 +f 460/58/58 459/57/57 463/61/61 464/62/62 +f 459/57/57 461/59/59 465/63/63 463/61/61 +f 461/59/59 462/60/60 466/64/64 465/63/63 +f 467/65/65 468/66/66 469/67/67 470/68/68 +f 471/69/69 472/70/70 473/71/71 474/72/72 +f 475/73/73 476/74/74 477/75/75 478/76/76 +f 479/77/77 480/78/78 481/79/79 482/80/80 +f 483/81/81 484/82/82 485/83/83 486/84/84 +f 487/85/85 488/86/86 489/87/87 490/88/88 +f 480/89/78 491/90/89 492/91/90 481/92/79 +f 493/93/91 494/94/92 495/95/93 496/96/94 +f 468/66/66 497/97/95 498/98/96 469/67/67 +f 472/70/70 467/99/65 470/100/68 473/71/71 +f 476/74/74 471/69/69 474/72/72 477/75/75 +f 484/82/82 475/73/73 478/76/76 485/83/83 +f 488/86/86 479/77/77 482/80/80 489/87/87 +f 491/90/89 483/81/81 486/84/84 492/91/90 +f 464/62/62 463/61/61 404/101/2 403/102/1 +f 463/61/61 465/63/63 407/103/5 404/101/2 +f 465/63/63 466/64/64 409/104/7 407/103/5 +f 494/94/92 487/85/85 490/88/88 495/95/93 +f 497/97/95 493/93/91 496/96/94 498/98/96 +f 409/7/7 499/105/97 500/106/98 410/8/8 +f 410/8/8 500/106/98 501/107/99 414/12/12 +f 414/12/12 501/107/99 502/108/100 418/16/16 +f 418/16/16 502/108/100 503/109/101 422/20/20 +f 422/20/20 503/109/101 504/110/102 426/24/24 +f 426/24/24 504/110/102 505/111/103 430/28/28 +f 430/28/28 505/111/103 506/112/104 434/32/32 +f 434/32/32 506/112/104 507/113/105 438/36/36 +f 438/36/36 507/113/105 508/114/106 442/40/40 +f 442/40/40 508/114/106 509/115/107 446/44/44 +f 446/44/44 509/115/107 510/116/108 450/48/48 +f 450/48/48 510/116/108 511/117/109 454/52/52 +f 454/52/52 511/117/109 512/118/110 458/56/56 +f 458/56/56 512/118/110 513/119/111 462/60/60 +f 462/60/60 513/119/111 514/120/112 466/64/64 +f 466/64/64 514/120/112 499/121/97 409/104/7 +f 481/79/79 515/122/113 516/123/114 482/80/80 +f 482/80/80 516/123/114 517/124/115 489/87/87 +f 489/87/87 517/124/115 518/125/116 490/88/88 +f 490/88/88 518/125/116 519/126/117 495/95/93 +f 495/95/93 519/126/117 520/127/118 496/96/94 +f 496/96/94 520/127/118 521/128/119 498/98/96 +f 498/98/96 521/128/119 522/129/120 469/67/67 +f 469/67/67 522/129/120 523/130/121 470/68/68 +f 470/100/68 523/131/121 524/132/122 473/71/71 +f 473/71/71 524/132/122 525/133/123 474/72/72 +f 474/72/72 525/133/123 526/134/124 477/75/75 +f 477/75/75 526/134/124 527/135/125 478/76/76 +f 478/76/76 527/135/125 528/136/126 485/83/83 +f 485/83/83 528/136/126 529/137/127 486/84/84 +f 486/84/84 529/137/127 530/138/128 492/91/90 +f 515/122/113 531/139/129 516/123/114 +f 516/123/114 531/139/129 517/124/115 +f 517/124/115 531/139/129 518/125/116 +f 518/125/116 531/139/129 519/126/117 +f 519/126/117 531/139/129 520/127/118 +f 520/127/118 531/139/129 521/128/119 +f 521/128/119 531/139/129 522/129/120 +f 522/129/120 531/139/129 523/130/121 +f 523/131/121 531/140/129 524/132/122 +f 524/132/122 531/140/129 525/133/123 +f 525/133/123 531/140/129 526/134/124 +f 526/134/124 531/140/129 527/135/125 +f 527/135/125 531/140/129 528/136/126 +f 528/136/126 531/140/129 529/137/127 +f 529/137/127 531/140/129 530/138/128 +f 492/91/90 530/138/128 515/141/113 481/92/79 +f 530/138/128 531/140/129 515/141/113 +f 532/142/65 533/143/66 468/66/66 467/65/65 +f 534/144/69 535/145/70 472/70/70 471/69/69 +f 536/146/73 537/147/74 476/74/74 475/73/73 +f 538/148/77 539/149/78 480/78/78 479/77/77 +f 540/150/81 541/151/82 484/82/82 483/81/81 +f 542/152/85 543/153/130 488/86/86 487/85/85 +f 539/154/78 544/155/89 491/90/89 480/89/78 +f 545/156/91 546/157/92 494/94/92 493/93/91 +f 533/143/66 547/158/95 497/97/95 468/66/66 +f 535/145/70 532/142/65 467/99/65 472/70/70 +f 537/147/74 534/144/69 471/69/69 476/74/74 +f 541/151/82 536/146/73 475/73/73 484/82/82 +f 543/153/130 538/148/77 479/77/77 488/86/86 +f 544/155/89 540/150/81 483/81/81 491/90/89 +f 546/157/92 542/152/85 487/85/85 494/94/92 +f 547/158/95 545/156/91 493/93/91 497/97/95 +f 507/113/105 506/112/104 548/159/66 549/160/65 +f 509/115/107 508/114/106 550/161/70 551/162/69 +f 511/117/109 510/116/108 552/163/74 553/164/73 +f 500/106/98 499/105/97 554/165/78 555/166/77 +f 513/119/111 512/118/110 556/167/82 557/168/81 +f 502/108/100 501/107/99 558/169/86 559/170/85 +f 499/121/97 514/120/112 560/171/89 554/172/78 +f 504/110/102 503/109/101 561/173/92 562/174/91 +f 506/112/104 505/111/103 563/175/95 548/159/66 +f 508/114/106 507/113/105 549/160/65 550/161/70 +f 510/116/108 509/115/107 551/162/69 552/163/74 +f 512/118/110 511/117/109 553/164/73 556/167/82 +f 501/107/99 500/106/98 555/166/77 558/169/86 +f 514/120/112 513/119/111 557/168/81 560/171/89 +f 503/109/101 502/108/100 559/170/85 561/173/92 +f 505/111/103 504/110/102 562/174/91 563/175/95 +f 549/160/65 548/159/66 533/143/66 532/142/65 +f 551/162/69 550/161/70 535/145/70 534/144/69 +f 553/164/73 552/163/74 537/147/74 536/146/73 +f 555/166/77 554/165/78 539/149/78 538/148/77 +f 557/168/81 556/167/82 541/151/82 540/150/81 +f 559/170/85 558/169/86 543/153/130 542/152/85 +f 554/172/78 560/171/89 544/155/89 539/154/78 +f 562/174/91 561/173/92 546/157/92 545/156/91 +f 548/159/66 563/175/95 547/158/95 533/143/66 +f 550/161/70 549/160/65 532/142/65 535/145/70 +f 552/163/74 551/162/69 534/144/69 537/147/74 +f 556/167/82 553/164/73 536/146/73 541/151/82 +f 558/169/86 555/166/77 538/148/77 543/153/130 +f 560/171/89 557/168/81 540/150/81 544/155/89 +f 561/173/92 559/170/85 542/152/85 546/157/92 +f 563/175/95 562/174/91 545/156/91 547/158/95 +g Sphere.001_Sphere.001_base +f 339/176/131 340/177/132 341/178/133 342/179/134 +f 342/179/134 341/178/133 343/180/135 344/181/136 +f 344/181/136 343/180/135 345/182/137 346/183/138 +f 346/183/138 345/182/137 347/184/139 348/185/140 +f 348/185/140 347/184/139 349/186/141 350/187/142 +f 350/187/142 349/186/141 351/188/143 352/189/144 +f 352/189/144 351/188/143 353/190/145 354/191/146 +f 354/191/146 353/190/145 355/192/147 356/193/148 +f 356/193/148 355/192/147 357/194/149 358/195/150 +f 358/195/150 357/194/149 359/196/151 360/197/152 +f 360/197/152 359/196/151 361/198/153 362/199/154 +f 362/199/154 361/198/153 363/200/155 364/201/156 +f 364/201/156 363/200/155 365/202/157 366/203/158 +f 366/203/158 365/202/157 367/204/159 368/205/160 +f 368/205/160 367/204/159 369/206/161 370/207/162 +f 370/207/162 369/206/161 371/208/163 372/209/164 +f 372/209/164 371/208/163 373/210/165 374/211/166 +f 374/211/166 373/210/165 375/212/167 376/213/168 +f 376/213/168 375/212/167 377/214/169 378/215/170 +f 378/215/170 377/214/169 379/216/171 380/217/172 +f 380/217/172 379/216/171 381/218/173 382/219/174 +f 382/219/174 381/218/173 383/220/175 384/221/176 +f 384/221/176 383/220/175 385/222/177 386/223/178 +f 386/223/178 385/222/177 387/224/179 388/225/180 +f 388/225/180 387/224/179 389/226/181 390/227/182 +f 390/227/182 389/226/181 391/228/183 392/229/184 +f 392/229/184 391/228/183 393/230/185 394/231/186 +f 394/231/186 393/230/185 395/232/187 396/233/188 +f 396/233/188 395/232/187 397/234/189 398/235/190 +f 398/235/190 397/234/189 399/236/191 400/237/192 +f 402/238/193 401/239/194 340/177/132 339/176/131 +f 400/237/192 399/236/191 401/239/194 402/238/193 +f 368/205/160 370/207/162 372/209/164 374/211/166 376/213/168 378/215/170 380/217/172 382/219/174 384/221/176 386/223/178 388/225/180 390/227/182 392/229/184 394/231/186 396/233/188 398/235/190 400/237/192 402/238/193 339/176/131 342/179/134 344/181/136 346/183/138 348/185/140 350/187/142 352/189/144 354/191/146 356/193/148 358/195/150 360/197/152 362/199/154 364/201/156 366/203/158 +f 347/184/139 345/182/137 343/180/135 341/178/133 340/177/132 401/239/194 399/236/191 397/234/189 395/232/187 393/230/185 391/228/183 389/226/181 387/224/179 385/222/177 383/220/175 381/218/173 379/216/171 377/214/169 375/212/167 373/210/165 371/208/163 369/206/161 367/204/159 365/202/157 363/200/155 361/198/153 359/196/151 357/194/149 355/192/147 353/190/145 351/188/143 349/186/141 +g Sphere.001_Sphere.001_neck +f 27/240/195 28/241/196 29/242/197 30/243/198 +f 30/243/198 29/242/197 31/244/199 32/245/200 +f 32/245/200 31/244/199 33/246/201 34/247/202 +f 34/247/202 33/246/201 35/248/203 36/249/204 +f 36/250/204 35/248/203 37/251/205 38/252/206 +f 38/252/206 37/251/205 39/253/207 40/254/208 +f 42/255/209 41/256/210 28/241/196 27/240/195 +f 40/254/208 39/253/207 41/256/210 42/255/209 +f 43/257/211 27/240/195 30/243/198 44/258/212 +f 44/258/212 30/243/198 32/245/200 45/259/213 +f 45/259/213 32/245/200 34/247/202 46/260/214 +f 46/260/214 34/247/202 36/249/204 47/261/215 +f 47/261/215 36/250/204 38/252/206 48/262/216 +f 48/262/216 38/252/206 40/254/208 49/263/217 +f 50/264/218 42/255/209 27/240/195 43/257/211 +f 49/263/217 40/254/208 42/255/209 50/264/218 +f 51/265/219 52/266/220 53/267/221 54/268/222 +f 54/268/222 53/267/221 55/269/223 56/270/224 +f 56/270/224 55/269/223 57/271/225 58/272/226 +f 58/272/226 57/271/225 59/273/227 60/274/228 +f 60/275/228 59/273/227 61/276/229 62/277/230 +f 62/277/230 61/276/229 63/278/231 64/279/232 +f 66/280/233 65/281/234 52/266/220 51/265/219 +f 64/279/232 63/278/231 65/281/234 66/280/233 +f 67/282/235 51/265/219 54/268/222 68/283/236 +f 68/283/236 54/268/222 56/270/224 69/284/237 +f 69/284/237 56/270/224 58/272/226 70/285/238 +f 70/285/238 58/272/226 60/274/228 71/286/239 +f 71/286/239 60/275/228 62/277/230 72/287/240 +f 72/287/240 62/277/230 64/279/232 73/288/241 +f 74/289/242 66/280/233 51/265/219 67/282/235 +f 73/288/241 64/279/232 66/280/233 74/289/242 +f 75/290/243 76/291/244 77/292/245 78/293/246 +f 78/293/246 77/292/245 79/294/247 80/295/248 +f 80/295/248 79/294/247 81/296/249 82/297/250 +f 82/297/250 81/296/249 83/298/251 84/299/252 +f 84/300/252 83/298/251 85/301/253 86/302/254 +f 86/302/254 85/301/253 87/303/255 88/304/256 +f 90/305/257 89/306/258 76/291/244 75/290/243 +f 88/304/256 87/303/255 89/306/258 90/305/257 +f 91/307/259 75/290/243 78/293/246 92/308/260 +f 92/308/260 78/293/246 80/295/248 93/309/261 +f 93/309/261 80/295/248 82/297/250 94/310/262 +f 94/310/262 82/297/250 84/299/252 95/311/263 +f 95/311/263 84/300/252 86/302/254 96/312/264 +f 96/312/264 86/302/254 88/304/256 97/313/265 +f 98/314/266 90/305/257 75/290/243 91/307/259 +f 97/313/265 88/304/256 90/305/257 98/314/266 +f 99/315/267 100/316/268 101/317/269 102/318/270 +f 102/318/270 101/317/269 103/319/271 104/320/272 +f 104/320/272 103/319/271 105/321/273 106/322/274 +f 106/322/274 105/321/273 107/323/275 108/324/276 +f 108/325/276 107/323/275 109/326/277 110/327/278 +f 110/327/278 109/326/277 111/328/279 112/329/280 +f 114/330/281 113/331/282 100/316/268 99/315/267 +f 112/329/280 111/328/279 113/331/282 114/330/281 +f 115/332/283 99/315/267 102/318/270 116/333/284 +f 116/333/284 102/318/270 104/320/272 117/334/285 +f 117/334/285 104/320/272 106/322/274 118/335/286 +f 118/335/286 106/322/274 108/324/276 119/336/287 +f 119/336/287 108/325/276 110/327/278 120/337/288 +f 120/337/288 110/327/278 112/329/280 121/338/289 +f 122/339/290 114/330/281 99/315/267 115/332/283 +f 121/338/289 112/329/280 114/330/281 122/339/290 +f 123/340/291 124/341/292 125/342/293 126/343/294 +f 126/343/294 125/342/293 127/344/295 128/345/296 +f 128/345/296 127/344/295 129/346/297 130/347/298 +f 130/347/298 129/346/297 131/348/299 132/349/300 +f 132/350/300 131/348/299 133/351/301 134/352/302 +f 134/352/302 133/351/301 135/353/303 136/354/304 +f 138/355/305 137/356/306 124/341/292 123/340/291 +f 136/354/304 135/353/303 137/356/306 138/355/305 +f 139/357/307 123/340/291 126/343/294 140/358/308 +f 140/358/308 126/343/294 128/345/296 141/359/309 +f 141/359/309 128/345/296 130/347/298 142/360/310 +f 142/360/310 130/347/298 132/349/300 143/361/311 +f 143/361/311 132/350/300 134/352/302 144/362/312 +f 144/362/312 134/352/302 136/354/304 145/363/313 +f 146/364/314 138/355/305 123/340/291 139/357/307 +f 145/363/313 136/354/304 138/355/305 146/364/314 +f 147/365/315 148/366/316 149/367/317 150/368/318 +f 150/368/318 149/367/317 151/369/319 152/370/320 +f 152/370/320 151/369/319 153/371/321 154/372/322 +f 154/372/322 153/371/321 155/373/323 156/374/324 +f 156/375/324 155/373/323 157/376/325 158/377/326 +f 158/377/326 157/376/325 159/378/327 160/379/328 +f 162/380/329 161/381/330 148/366/316 147/365/315 +f 160/379/328 159/378/327 161/381/330 162/380/329 +f 163/382/331 147/365/315 150/368/318 164/383/332 +f 164/383/332 150/368/318 152/370/320 165/384/333 +f 165/384/333 152/370/320 154/372/322 166/385/334 +f 166/385/334 154/372/322 156/374/324 167/386/335 +f 167/386/335 156/375/324 158/377/326 168/387/336 +f 168/387/336 158/377/326 160/379/328 169/388/337 +f 170/389/338 162/380/329 147/365/315 163/382/331 +f 169/388/337 160/379/328 162/380/329 170/389/338 +f 171/390/339 172/391/340 173/392/341 174/393/342 +f 174/393/342 173/392/341 175/394/343 176/395/344 +f 176/395/344 175/394/343 177/396/345 178/397/346 +f 178/397/346 177/396/345 179/398/347 180/399/348 +f 180/400/348 179/398/347 181/401/349 182/402/350 +f 182/402/350 181/401/349 183/403/351 184/404/352 +f 186/405/353 185/406/354 172/391/340 171/390/339 +f 184/404/352 183/403/351 185/406/354 186/405/353 +f 187/407/355 171/390/339 174/393/342 188/408/356 +f 188/408/356 174/393/342 176/395/344 189/409/357 +f 189/409/357 176/395/344 178/397/346 190/410/358 +f 190/410/358 178/397/346 180/399/348 191/411/359 +f 191/411/359 180/400/348 182/402/350 192/412/360 +f 192/412/360 182/402/350 184/404/352 193/413/361 +f 194/414/362 186/405/353 171/390/339 187/407/355 +f 193/413/361 184/404/352 186/405/353 194/414/362 +f 195/415/363 196/416/364 197/417/365 198/418/366 +f 198/418/366 197/417/365 199/419/367 200/420/368 +f 200/420/368 199/419/367 201/421/369 202/422/370 +f 202/422/370 201/421/369 203/423/371 204/424/372 +f 204/425/372 203/423/371 205/426/373 206/427/374 +f 206/427/374 205/426/373 207/428/375 208/429/376 +f 210/430/377 209/431/378 196/416/364 195/415/363 +f 208/429/376 207/428/375 209/431/378 210/430/377 +f 211/432/379 195/415/363 198/418/366 212/433/380 +f 212/433/380 198/418/366 200/420/368 213/434/381 +f 213/434/381 200/420/368 202/422/370 214/435/382 +f 214/435/382 202/422/370 204/424/372 215/436/383 +f 215/436/383 204/425/372 206/427/374 216/437/384 +f 216/437/384 206/427/374 208/429/376 217/438/385 +f 218/439/386 210/430/377 195/415/363 211/432/379 +f 217/438/385 208/429/376 210/430/377 218/439/386 +f 219/440/387 220/441/388 221/442/389 222/443/390 +f 222/443/390 221/442/389 223/444/391 224/445/392 +f 224/445/392 223/444/391 225/446/393 226/447/394 +f 226/447/394 225/446/393 227/448/395 228/449/396 +f 228/450/396 227/448/395 229/451/397 230/452/398 +f 230/452/398 229/451/397 231/453/399 232/454/400 +f 234/455/401 233/456/402 220/441/388 219/440/387 +f 232/454/400 231/453/399 233/456/402 234/455/401 +f 235/457/403 219/440/387 222/443/390 236/458/404 +f 236/458/404 222/443/390 224/445/392 237/459/405 +f 237/459/405 224/445/392 226/447/394 238/460/406 +f 238/460/406 226/447/394 228/449/396 239/461/407 +f 239/461/407 228/450/396 230/452/398 240/462/408 +f 240/462/408 230/452/398 232/454/400 241/463/409 +f 242/464/410 234/455/401 219/440/387 235/457/403 +f 241/463/409 232/454/400 234/455/401 242/464/410 +f 243/465/411 244/466/412 245/467/413 246/468/414 +f 246/468/414 245/467/413 247/469/415 248/470/416 +f 248/470/416 247/469/415 249/471/417 250/472/418 +f 250/472/418 249/471/417 251/473/419 252/474/420 +f 252/475/420 251/473/419 253/476/421 254/477/422 +f 254/477/422 253/476/421 255/478/423 256/479/424 +f 258/480/425 257/481/426 244/466/412 243/465/411 +f 256/479/424 255/478/423 257/481/426 258/480/425 +f 259/482/427 243/465/411 246/468/414 260/483/428 +f 260/483/428 246/468/414 248/470/416 261/484/429 +f 261/484/429 248/470/416 250/472/418 262/485/430 +f 262/485/430 250/472/418 252/474/420 263/486/431 +f 263/486/431 252/475/420 254/477/422 264/487/432 +f 264/487/432 254/477/422 256/479/424 265/488/433 +f 266/489/434 258/480/425 243/465/411 259/482/427 +f 265/488/433 256/479/424 258/480/425 266/489/434 +f 267/490/435 268/491/436 269/492/437 270/493/438 +f 270/493/438 269/492/437 271/494/439 272/495/440 +f 272/495/440 271/494/439 273/496/441 274/497/442 +f 274/497/442 273/496/441 275/498/443 276/499/444 +f 276/500/444 275/498/443 277/501/445 278/502/446 +f 278/502/446 277/501/445 279/503/447 280/504/448 +f 282/505/449 281/506/450 268/491/436 267/490/435 +f 280/504/448 279/503/447 281/506/450 282/505/449 +f 283/507/451 267/490/435 270/493/438 284/508/452 +f 284/508/452 270/493/438 272/495/440 285/509/453 +f 285/509/453 272/495/440 274/497/442 286/510/454 +f 286/510/454 274/497/442 276/499/444 287/511/455 +f 287/511/455 276/500/444 278/502/446 288/512/456 +f 288/512/456 278/502/446 280/504/448 289/513/457 +f 290/514/458 282/505/449 267/490/435 283/507/451 +f 289/513/457 280/504/448 282/505/449 290/514/458 +f 291/515/459 292/516/460 293/517/461 294/518/462 +f 294/518/462 293/517/461 295/519/463 296/520/464 +f 296/520/464 295/519/463 297/521/465 298/522/466 +f 298/522/466 297/521/465 299/523/467 300/524/468 +f 300/525/468 299/523/467 301/526/469 302/527/470 +f 302/527/470 301/526/469 303/528/471 304/529/472 +f 306/530/473 305/531/474 292/516/460 291/515/459 +f 304/529/472 303/528/471 305/531/474 306/530/473 +f 307/532/475 291/515/459 294/518/462 308/533/476 +f 308/533/476 294/518/462 296/520/464 309/534/477 +f 309/534/477 296/520/464 298/522/466 310/535/478 +f 310/535/478 298/522/466 300/524/468 311/536/479 +f 311/536/479 300/525/468 302/527/470 312/537/480 +f 312/537/480 302/527/470 304/529/472 313/538/481 +f 314/539/482 306/530/473 291/515/459 307/532/475 +f 313/538/481 304/529/472 306/530/473 314/539/482 +f 315/540/483 316/541/484 317/542/485 318/543/486 +f 318/543/486 317/542/485 319/544/487 320/545/488 +f 320/545/488 319/544/487 321/546/489 322/547/490 +f 322/547/490 321/546/489 323/548/491 324/549/492 +f 324/549/492 323/548/491 325/550/493 326/551/494 +f 326/551/494 325/550/493 327/552/495 328/553/496 +f 330/554/497 329/555/498 316/541/484 315/540/483 +f 328/553/496 327/552/495 329/555/498 330/554/497 +f 331/556/499 315/540/483 318/543/486 332/557/500 +f 332/557/500 318/543/486 320/545/488 333/558/501 +f 333/558/501 320/545/488 322/547/490 334/559/502 +f 334/559/502 322/547/490 324/549/492 335/560/503 +f 335/560/503 324/549/492 326/551/494 336/561/504 +f 336/561/504 326/551/494 328/553/496 337/562/505 +f 338/563/506 330/554/497 315/540/483 331/556/499 +f 337/562/505 328/553/496 330/554/497 338/563/506 +f 196/416/364 209/431/378 207/428/375 205/426/373 203/423/371 201/421/369 199/419/367 197/417/365 +f 157/376/325 155/373/323 153/371/321 151/369/319 149/367/317 148/366/316 161/381/330 159/378/327 +f 43/257/211 44/258/212 45/259/213 46/260/214 47/261/215 48/262/216 49/263/217 50/264/218 +f 325/550/493 323/548/491 321/546/489 319/544/487 317/542/485 316/541/484 329/555/498 327/552/495 +f 77/292/245 76/291/244 89/306/258 87/303/255 85/301/253 83/298/251 81/296/249 79/294/247 +f 314/539/482 307/532/475 308/533/476 309/534/477 310/535/478 311/536/479 312/537/480 313/538/481 +f 238/460/406 239/461/407 240/462/408 241/463/409 242/464/410 235/457/403 236/458/404 237/459/405 +f 244/466/412 257/481/426 255/478/423 253/476/421 251/473/419 249/471/417 247/469/415 245/467/413 +f 338/563/506 331/556/499 332/557/500 333/558/501 334/559/502 335/560/503 336/561/504 337/562/505 +f 67/282/235 68/283/236 69/284/237 70/285/238 71/286/239 72/287/240 73/288/241 74/289/242 +f 229/451/397 227/448/395 225/446/393 223/444/391 221/442/389 220/441/388 233/456/402 231/453/399 +f 293/517/461 292/516/460 305/531/474 303/528/471 301/526/469 299/523/467 297/521/465 295/519/463 +f 289/513/457 290/514/458 283/507/451 284/508/452 285/509/453 286/510/454 287/511/455 288/512/456 +f 119/336/287 120/337/288 121/338/289 122/339/290 115/332/283 116/333/284 117/334/285 118/335/286 +f 107/323/275 105/321/273 103/319/271 101/317/269 100/316/268 113/331/282 111/328/279 109/326/277 +f 275/498/443 273/496/441 271/494/439 269/492/437 268/491/436 281/506/450 279/503/447 277/501/445 +f 124/341/292 137/356/306 135/353/303 133/351/301 131/348/299 129/346/297 127/344/295 125/342/293 +f 193/413/361 194/414/362 187/407/355 188/408/356 189/409/357 190/410/358 191/411/359 192/412/360 +f 52/266/220 65/281/234 63/278/231 61/276/229 59/273/227 57/271/225 55/269/223 53/267/221 +f 211/432/379 212/433/380 213/434/381 214/435/382 215/436/383 216/437/384 217/438/385 218/439/386 +f 166/385/334 167/386/335 168/387/336 169/388/337 170/389/338 163/382/331 164/383/332 165/384/333 +f 179/398/347 177/396/345 175/394/343 173/392/341 172/391/340 185/406/354 183/403/351 181/401/349 +f 91/307/259 92/308/260 93/309/261 94/310/262 95/311/263 96/312/264 97/313/265 98/314/266 +f 144/362/312 145/363/313 146/364/314 139/357/307 140/358/308 141/359/309 142/360/310 143/361/311 +f 262/485/430 263/486/431 264/487/432 265/488/433 266/489/434 259/482/427 260/483/428 261/484/429 +f 41/256/210 39/253/207 37/251/205 35/248/203 33/246/201 31/244/199 29/242/197 28/241/196 +g Sphere.001_Sphere.001_bulb +f 1/564/507 2/565/508 3/566/509 4/567/510 +f 2/565/508 5/568/511 6/569/512 3/566/509 +f 4/567/510 3/566/509 7/570/392 8/571/513 +f 3/566/509 6/569/512 9/572/514 7/570/392 +f 8/571/513 7/570/392 10/573/515 11/574/516 +f 7/570/392 9/572/514 12/575/517 10/573/515 +f 11/574/516 10/573/515 13/576/518 14/577/519 +f 10/573/515 12/575/517 15/578/520 13/576/518 +f 14/577/519 13/576/518 16/579/521 17/580/522 +f 13/576/518 15/578/520 18/581/523 16/579/521 +f 17/580/522 16/579/521 19/582/524 20/583/525 +f 16/579/521 18/581/523 21/584/526 19/582/524 +f 20/583/525 19/582/524 22/585/527 23/586/528 +f 19/582/524 21/584/526 24/587/529 22/585/527 +f 25/588/530 1/564/507 4/567/510 +f 5/568/511 26/589/531 6/569/512 +f 25/588/530 4/567/510 8/571/513 +f 6/569/512 26/589/531 9/572/514 +f 25/588/530 8/571/513 11/574/516 +f 9/572/514 26/589/531 12/575/517 +f 25/588/530 11/574/516 14/577/519 +f 12/575/517 26/589/531 15/578/520 +f 25/588/530 14/577/519 17/580/522 +f 15/578/520 26/589/531 18/581/523 +f 25/588/530 17/580/522 20/583/525 +f 18/581/523 26/589/531 21/584/526 +f 25/588/530 20/583/525 23/586/528 +f 21/584/526 26/589/531 24/587/529 +f 23/586/528 1/590/507 25/588/530 +f 2/591/508 1/590/507 23/586/528 22/585/527 +f 22/585/527 24/587/529 5/568/511 2/591/508 +f 24/587/529 26/589/531 5/568/511 diff --git a/homedecor/models/homedecor_kitchen_chair.obj b/homedecor/models/homedecor_kitchen_chair.obj index 09fca5f5..52bd58b9 100644 --- a/homedecor/models/homedecor_kitchen_chair.obj +++ b/homedecor/models/homedecor_kitchen_chair.obj @@ -1,85 +1,85 @@ -# Blender v2.73 (sub 0) OBJ File: 'kitchen-chair.blend' +# Blender v2.72 (sub 0) OBJ File: 'kitchen-chair.blend' # www.blender.org o Cylinder -v 0.312500 -0.125000 0.187500 -v -0.312500 -0.125000 0.187500 -v 0.312500 -0.500000 -0.312500 -v 0.312500 -0.500000 -0.187500 -v 0.187500 -0.500000 -0.187500 -v 0.187500 -0.500000 -0.312500 -v 0.312500 -0.125000 -0.312500 -v 0.312500 -0.125000 -0.187500 -v 0.187500 -0.125000 -0.187500 -v 0.187500 -0.125000 -0.312500 -v -0.187500 -0.500000 -0.312500 -v -0.187500 -0.500000 -0.187500 -v -0.312500 -0.500000 -0.187500 -v -0.187500 -0.125000 -0.312500 -v -0.187500 -0.125000 -0.187500 -v -0.312500 -0.125000 -0.187500 -v -0.312500 -0.125000 -0.312500 -v 0.312500 -0.062500 0.187500 -v 0.312500 -0.062500 -0.312500 -v -0.312500 -0.062500 -0.312500 -v 0.312500 0.000000 0.187500 -v -0.312500 0.000000 0.187500 -v 0.312500 0.000000 -0.312500 -v -0.312500 0.000000 -0.312500 -v 0.312500 0.500000 0.312500 -v 0.312500 0.500000 0.187500 -v 0.187500 0.500000 0.187500 -v 0.187500 0.500000 0.312500 -v -0.187500 0.500000 0.312500 -v -0.187500 0.500000 0.187500 -v -0.312500 0.500000 0.187500 -v -0.312500 0.500000 0.312500 -v -0.312500 -0.062500 0.187500 -v 0.187500 0.437500 0.257812 -v -0.187500 0.437500 0.257813 -v 0.187500 0.062500 0.257812 -v -0.187500 0.062500 0.257813 -v 0.187500 0.437500 0.242187 -v -0.187500 0.437500 0.242187 -v 0.187500 0.062500 0.242188 -v -0.187500 0.062500 0.242188 -v -0.187500 -0.500000 -0.312500 -v -0.187500 -0.500000 -0.187500 -v -0.312500 -0.500000 -0.187500 -v -0.312500 -0.500000 -0.312500 -v -0.187500 -0.125000 -0.312500 -v -0.312500 -0.125000 -0.187500 -v -0.312500 -0.125000 -0.312500 -v 0.312500 -0.500000 0.187500 -v 0.187500 -0.500000 0.312500 -v 0.187500 -0.500000 0.187500 -v 0.312500 0.500000 0.187500 -v 0.187500 0.500000 0.312500 -v 0.187500 0.500000 0.187500 -v -0.187500 0.500000 0.187500 -v -0.312500 -0.500000 0.187500 -v 0.312500 0.500000 0.312500 -v 0.312500 0.500000 0.187500 -v 0.187500 -0.500000 0.187500 -v 0.187500 -0.500000 0.312500 -v 0.312500 -0.500000 0.312500 -v 0.312500 -0.500000 0.187500 -v -0.312500 -0.500000 0.312500 -v -0.187500 -0.500000 0.312500 -v -0.187500 -0.500000 0.187500 -v 0.187500 0.500000 0.312500 -v -0.187500 0.500000 0.312500 -v -0.312500 0.500000 0.312500 -v -0.312500 0.500000 0.187500 -v -0.187500 -0.125000 0.187500 -v -0.187500 0.000000 0.187500 -v 0.187500 -0.125000 0.187500 -v 0.187500 0.000000 0.187500 -v -0.187500 -0.125000 0.312500 -v -0.187500 0.000000 0.312500 -v 0.187500 -0.125000 0.312500 -v 0.187500 -0.062500 0.312500 -v 0.187500 0.000000 0.312500 -v -0.187500 -0.062500 0.312500 +v -0.187500 -0.312500 -0.125000 +v -0.187500 0.312500 -0.125000 +v 0.312500 -0.312500 -0.500000 +v 0.187500 -0.312500 -0.500000 +v 0.187500 -0.187500 -0.500000 +v 0.312500 -0.187500 -0.500000 +v 0.312500 -0.312500 -0.125000 +v 0.187500 -0.312500 -0.125000 +v 0.187500 -0.187500 -0.125000 +v 0.312500 -0.187500 -0.125000 +v 0.312500 0.187500 -0.500000 +v 0.187500 0.187500 -0.500000 +v 0.187500 0.312500 -0.500000 +v 0.312500 0.187500 -0.125000 +v 0.187500 0.187500 -0.125000 +v 0.187500 0.312500 -0.125000 +v 0.312500 0.312500 -0.125000 +v -0.187500 -0.312500 -0.062500 +v 0.312500 -0.312500 -0.062500 +v 0.312500 0.312500 -0.062500 +v -0.187500 -0.312500 0.000000 +v -0.187500 0.312500 0.000000 +v 0.312500 -0.312500 0.000000 +v 0.312500 0.312500 0.000000 +v -0.312500 -0.312500 0.500000 +v -0.187500 -0.312500 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.312500 -0.187500 0.500000 +v -0.312500 0.187500 0.500000 +v -0.187500 0.187500 0.500000 +v -0.187500 0.312500 0.500000 +v -0.312500 0.312500 0.500000 +v -0.187500 0.312500 -0.062500 +v -0.257812 -0.187500 0.437500 +v -0.257813 0.187500 0.437500 +v -0.257812 -0.187500 0.062500 +v -0.257813 0.187500 0.062500 +v -0.242187 -0.187500 0.437500 +v -0.242187 0.187500 0.437500 +v -0.242188 -0.187500 0.062500 +v -0.242188 0.187500 0.062500 +v 0.312500 0.187500 -0.500000 +v 0.187500 0.187500 -0.500000 +v 0.187500 0.312500 -0.500000 +v 0.312500 0.312500 -0.500000 +v 0.312500 0.187500 -0.125000 +v 0.187500 0.312500 -0.125000 +v 0.312500 0.312500 -0.125000 +v -0.187500 -0.312500 -0.500000 +v -0.312500 -0.187500 -0.500000 +v -0.187500 -0.187500 -0.500000 +v -0.187500 -0.312500 0.500000 +v -0.312500 -0.187500 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.187500 0.187500 0.500000 +v -0.187500 0.312500 -0.500000 +v -0.312500 -0.312500 0.500000 +v -0.187500 -0.312500 0.500000 +v -0.187500 -0.187500 -0.500000 +v -0.312500 -0.187500 -0.500000 +v -0.312500 -0.312500 -0.500000 +v -0.187500 -0.312500 -0.500000 +v -0.312500 0.312500 -0.500000 +v -0.312500 0.187500 -0.500000 +v -0.187500 0.187500 -0.500000 +v -0.312500 -0.187500 0.500000 +v -0.312500 0.187500 0.500000 +v -0.312500 0.312500 0.500000 +v -0.187500 0.312500 0.500000 +v -0.187500 0.187500 -0.125000 +v -0.187500 0.187500 0.000000 +v -0.187500 -0.187500 -0.125000 +v -0.187500 -0.187500 0.000000 +v -0.312500 0.187500 -0.125000 +v -0.312500 0.187500 0.000000 +v -0.312500 -0.187500 -0.125000 +v -0.312500 -0.187500 -0.062500 +v -0.312500 -0.187500 0.000000 +v -0.312500 0.187500 -0.062500 vt 0.125000 0.375000 vt 0.625000 0.375000 vt 0.625000 0.437500 @@ -155,12 +155,12 @@ vt 0.750000 0.750000 vt 0.250000 0.750000 vt 0.312500 0.625000 vt 0.687500 0.625000 +vn 0.000000 -1.000000 0.000000 vn 1.000000 0.000000 0.000000 +vn -1.000000 -0.000000 0.000000 +vn -0.000000 1.000000 0.000000 vn 0.000000 0.000000 -1.000000 vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 g Cylinder_Cylinder_wood s off f 1/1/1 7/2/1 19/3/1 18/4/1 diff --git a/homedecor/models/homedecor_toilet_open.obj b/homedecor/models/homedecor_toilet_open.obj index ec99db93..6fad0f90 100644 --- a/homedecor/models/homedecor_toilet_open.obj +++ b/homedecor/models/homedecor_toilet_open.obj @@ -1,4 +1,4 @@ -# Blender v2.73 (sub 0) OBJ File: 'toilet.blend' +# Blender v2.72 (sub 0) OBJ File: 'toilet.blend' # www.blender.org o Cylinder v -0.321018 -0.000000 -0.181555 @@ -297,10 +297,6 @@ v 0.159409 0.024998 0.233177 v 0.058534 0.024998 0.274477 v -0.058533 0.024998 0.274477 v -0.158176 0.024998 0.233177 -v 0.000001 -0.186241 -0.072908 -v 0.000001 -0.500000 -0.079917 -v 0.000001 0.394161 0.240021 -v 0.000001 0.397872 0.215146 v 0.321020 0.024999 -0.023415 v 0.272148 0.024999 0.122688 v 0.127875 0.024999 0.333889 @@ -363,7 +359,6 @@ v 0.390808 0.505413 0.245317 v 0.390808 0.505413 0.229707 v 0.397872 0.490455 0.245317 v 0.397872 0.490455 0.229707 -v 0.333523 0.484458 0.229707 v 0.187309 -0.500000 0.343750 v 0.236274 -0.066406 0.343750 v 0.194173 -0.500000 0.331862 @@ -431,9 +426,6 @@ v 0.226117 -0.032177 0.316182 v 0.078755 0.023276 0.222272 v -0.102187 0.037142 0.226624 v -0.102184 0.023276 0.222272 -vt 0.059782 0.588807 -vt 0.014347 0.454314 -vt 0.312793 0.397118 vt 0.125000 0.875000 vt 0.125000 0.937500 vt 0.062500 0.937500 @@ -466,11 +458,11 @@ vt 0.312500 0.937500 vt 0.312500 0.875000 vt 0.250000 0.937500 vt 0.250000 0.875000 -vt 0.625421 0.459078 -vt 0.577814 0.598166 -vt 0.312711 0.399776 vt 0.187500 0.875000 vt 0.187500 0.937500 +vt 0.143737 0.691744 +vt 0.059782 0.588807 +vt 0.014347 0.454314 vt 0.014347 0.308739 vt 0.059782 0.186747 vt 0.143736 0.103599 @@ -484,7 +476,9 @@ vt 0.565803 0.588807 vt 0.481849 0.691744 vt 0.372157 0.747454 vt 0.253428 0.747454 -vt 0.143737 0.691744 +vt 0.625421 0.308530 +vt 0.625421 0.459078 +vt 0.577814 0.598166 vt 0.489847 0.704620 vt 0.374913 0.762232 vt 0.250509 0.762232 @@ -498,7 +492,6 @@ vt 0.250509 0.058275 vt 0.374913 0.058275 vt 0.489847 0.095956 vt 0.577814 0.181944 -vt 0.625421 0.308530 vt 0.125000 0.625000 vt 0.187500 0.625000 vt 0.187500 0.562500 @@ -734,9 +727,9 @@ vt 0.625000 1.000000 vt 0.312500 1.000000 vt -0.000000 1.000000 vt 0.250000 1.000000 +vt 0.321968 0.043359 vt 0.453342 0.043359 vt 0.574716 0.083960 -vt 0.387654 0.310044 vt 0.667611 0.158980 vt 0.717886 0.256998 vt 0.717886 0.363091 @@ -750,7 +743,6 @@ vt 0.057422 0.363091 vt 0.057422 0.256998 vt 0.107697 0.158980 vt 0.200593 0.083960 -vt 0.321968 0.043359 vt 0.187500 1.000000 vt 0.318503 0.356727 vt 0.463285 0.308296 @@ -783,8 +775,8 @@ vt 0.874875 1.000000 vt 0.125125 1.000000 vt 1.000000 0.999915 vt 0.737842 0.999915 +vt 0.667776 0.685072 vt 0.566203 0.718246 -vt 0.511231 0.500340 vt 0.456260 0.718246 vt 0.354686 0.685072 vt 0.276945 0.623774 @@ -799,7 +791,6 @@ vt 0.745518 0.376907 vt 0.787591 0.456996 vt 0.787591 0.543684 vt 0.745518 0.623774 -vt 0.667776 0.685072 vt 0.937500 0.500000 vt 1.000000 0.500000 vt 0.625000 0.500000 @@ -826,20 +817,19 @@ vt 0.502105 0.751867 vt 0.502105 0.798250 vt -0.000000 0.375000 vt 0.062500 0.375000 -vt 0.187631 0.949175 -vt 0.126452 0.944859 +vt 0.114257 0.890752 vt 0.160779 0.894034 +vt 0.187631 0.949175 vt 0.153304 1.000000 vt 0.092124 0.995684 vt 0.065272 0.940543 -vt 0.114257 0.890752 vt 0.074372 0.802482 -vt 0.111548 0.784925 vt 0.091536 0.777070 +vt 0.111548 0.784925 +vt 0.167419 0.769792 +vt 0.164709 0.875618 vt 0.144697 0.883474 vt 0.127533 0.858062 -vt 0.164709 0.875618 -vt 0.167419 0.769792 vt 0.118434 0.720001 vt 0.375000 0.375000 vt 0.250000 0.375000 @@ -890,866 +880,366 @@ vt 0.564809 0.536357 vt 0.564809 0.582956 vt 0.498947 0.751867 vt 0.498947 0.798250 -vn -0.460200 0.254900 0.850400 -vn -0.523300 0.086100 0.847800 -vn 0.000000 0.008000 0.999900 -vn -0.876000 0.152300 -0.457700 -vn -0.777100 0.442000 -0.448000 -vn -0.331200 0.411000 0.849300 -vn -0.555200 0.706100 -0.439400 -vn -0.123800 0.516200 0.847500 -vn -0.205200 0.877700 -0.432900 -vn 0.123800 0.516200 0.847500 -vn 0.205200 0.877700 -0.432900 -vn 0.331200 0.411000 0.849300 -vn 0.555200 0.706100 -0.439400 -vn 0.460200 0.254900 0.850400 -vn 0.777100 0.442000 -0.448000 -vn 0.523300 0.086100 0.847800 -vn 0.876000 0.152300 -0.457700 -vn 0.538000 -0.099400 0.837000 -vn 0.871500 -0.150000 -0.466800 -vn 0.480800 -0.319800 0.816400 -vn 0.741400 -0.469000 -0.479800 -vn 0.310100 -0.526700 0.791500 -vn 0.459800 -0.728500 -0.507700 -vn 0.095800 -0.614600 0.783000 -vn 0.137500 -0.824900 -0.548200 -vn -0.095800 -0.614600 0.783000 -vn -0.137500 -0.824900 -0.548200 -vn -0.310100 -0.526700 0.791500 -vn -0.459800 -0.728500 -0.507700 -vn -0.480800 -0.319800 0.816400 -vn -0.741400 -0.469000 -0.479800 -vn 0.000000 -0.008000 -0.999900 -vn -0.871500 -0.150000 -0.466800 -vn -0.538000 -0.099400 0.837000 -vn 0.588400 0.153900 -0.793700 -vn 0.881700 0.088900 -0.463300 -vn 0.889000 0.000000 -0.457900 -vn 0.616300 0.000000 -0.787500 -vn -0.621300 -0.130700 -0.772600 -vn -0.630900 0.000000 -0.775900 -vn -0.234800 0.000000 -0.972100 -vn -0.230000 -0.143400 -0.962500 -vn 0.234800 0.000000 -0.972100 -vn 0.230000 -0.143400 -0.962500 -vn 0.630900 0.000000 -0.775900 -vn 0.621300 -0.130700 -0.772600 -vn -0.882800 0.089900 -0.461000 -vn -0.589500 0.155300 -0.792700 -vn -0.617100 0.000000 -0.786900 -vn -0.890500 0.000000 -0.455100 -vn 0.877100 0.000000 -0.480400 -vn 0.868700 -0.112500 -0.482300 -vn -0.868700 -0.112500 -0.482300 -vn -0.877100 0.000000 -0.480400 -vn -0.981700 -0.095500 -0.164600 -vn -0.987000 0.000000 -0.160700 -vn 0.981700 -0.095500 -0.164600 -vn 0.987000 0.000000 -0.160700 -vn 0.984200 -0.082400 0.156900 -vn 0.730400 0.672600 0.118900 -vn 0.890400 -0.088200 0.446500 -vn 0.658800 0.677300 0.327300 -vn 0.763500 -0.282400 0.580800 -vn 0.590900 0.715400 0.372800 -vn 0.400800 -0.408100 0.820200 -vn 0.395200 0.610200 0.686600 -vn -0.400800 -0.408100 0.820200 -vn -0.395200 0.610200 0.686600 -vn 0.201800 -0.507400 -0.837700 -vn -0.201800 -0.507400 -0.837700 -vn 0.788700 -0.433800 -0.435500 -vn 0.908700 -0.389100 -0.151000 -vn 0.696300 -0.708800 -0.112300 -vn 0.575900 -0.756300 -0.310300 -vn -0.890400 -0.088200 0.446500 -vn -0.984200 -0.082400 0.156900 -vn -0.923200 -0.354300 0.148500 -vn -0.829900 -0.349800 0.434600 -vn 0.652300 -0.428900 0.624900 -vn 0.829900 -0.349800 0.434600 -vn -0.552500 -0.478300 -0.682500 -vn -0.788700 -0.433800 -0.435500 -vn -0.763500 -0.282400 0.580800 -vn -0.652300 -0.428900 0.624900 -vn -0.260300 -0.671100 0.694100 -vn 0.552500 -0.478300 -0.682500 -vn -0.908700 -0.389100 -0.151000 -vn 0.923200 -0.354300 0.148500 -vn 0.260300 -0.671100 0.694100 -vn 0.878400 -0.461000 -0.126000 -vn 0.891000 -0.424900 0.159600 -vn 0.930000 0.329900 0.162100 -vn 0.922400 0.361300 -0.136400 -vn 0.385400 -0.797500 -0.464200 -vn 0.136700 -0.822100 -0.552600 -vn -0.696300 -0.708800 -0.112300 -vn -0.738100 -0.664200 0.118100 -vn -0.136700 -0.822100 -0.552600 -vn -0.385400 -0.797500 -0.464200 -vn -0.682600 -0.632100 0.366700 -vn -0.501000 -0.619600 0.604300 -vn -0.575900 -0.756300 -0.310300 -vn -0.186600 -0.618900 0.763000 -vn 0.186600 -0.618900 0.763000 -vn 0.501000 -0.619600 0.604300 -vn 0.682600 -0.632100 0.366700 -vn 0.738100 -0.664200 0.118100 -vn 0.830200 0.311300 0.462400 -vn 0.791700 0.429200 0.434800 -vn 0.872400 0.467300 0.143100 -vn 0.542000 -0.540100 -0.643800 -vn 0.767000 -0.501500 -0.400300 -vn 0.809800 0.403200 -0.426200 -vn 0.574200 0.448700 -0.684700 -vn -0.199300 -0.565900 -0.800000 -vn 0.199300 -0.565900 -0.800000 -vn 0.211300 0.481500 -0.850600 -vn -0.211300 0.481500 -0.850600 -vn -0.800000 -0.397200 0.449700 -vn -0.891000 -0.424900 0.159600 -vn -0.930000 0.329900 0.162100 -vn -0.830200 0.311300 0.462400 -vn -0.767000 -0.501500 -0.400300 -vn -0.542000 -0.540100 -0.643800 -vn -0.574200 0.448700 -0.684700 -vn -0.809800 0.403200 -0.426200 -vn -0.216500 -0.374000 0.901800 -vn -0.579500 -0.380400 0.720800 -vn -0.598400 0.305000 0.740800 -vn -0.222800 0.306000 0.925600 -vn 0.579500 -0.380400 0.720800 -vn 0.216500 -0.374000 0.901800 -vn 0.222800 0.306000 0.925600 -vn 0.598400 0.305000 0.740800 -vn 0.800000 -0.397200 0.449700 -vn -0.878400 -0.461000 -0.126000 -vn -0.922400 0.361300 -0.136400 -vn 0.574800 0.408700 0.708800 -vn 0.625300 0.153100 0.765200 -vn 0.867400 0.164800 0.469500 -vn 0.842700 0.521000 -0.135500 -vn 0.713900 0.583300 -0.387400 -vn 0.487100 0.641800 -0.592300 -vn 0.174600 0.678600 -0.713400 -vn -0.842700 0.521000 -0.135500 -vn -0.872400 0.467300 0.143100 -vn -0.174600 0.678600 -0.713400 -vn -0.487100 0.641800 -0.592300 -vn -0.791700 0.429200 0.434800 -vn -0.574800 0.408700 0.708800 -vn -0.713900 0.583300 -0.387400 -vn -0.214400 0.402100 0.890100 -vn 0.214400 0.402100 0.890100 -vn 0.232700 0.148500 0.961100 -vn 0.176800 -0.657900 0.732000 -vn 0.472100 -0.663300 0.580600 -vn 0.971100 0.185200 0.150600 -vn 0.962600 0.213700 -0.166500 -vn 0.844500 0.247300 -0.474900 -vn 0.598400 0.279100 -0.751000 -vn 0.220200 0.298900 -0.928500 -vn -0.220200 0.298900 -0.928500 -vn -0.971100 0.185200 0.150600 -vn -0.867400 0.164800 0.469500 -vn -0.598400 0.279100 -0.751000 -vn -0.844500 0.247300 -0.474900 -vn -0.625300 0.153100 0.765200 -vn -0.232700 0.148500 0.961100 -vn -0.962600 0.213700 -0.166500 -vn 0.651700 -0.669300 0.356900 -vn 0.730300 -0.672700 0.118900 -vn 0.730300 -0.672700 -0.118900 -vn 0.651700 -0.669300 -0.356900 -vn 0.472100 -0.663300 -0.580600 -vn 0.176800 -0.657900 -0.732000 -vn -0.730300 -0.672700 -0.118900 -vn -0.730300 -0.672700 0.118900 -vn -0.176800 -0.657900 -0.732000 -vn -0.472100 -0.663300 -0.580600 -vn -0.651700 -0.669300 0.356900 -vn -0.472100 -0.663300 0.580600 -vn -0.651700 -0.669300 -0.356900 -vn -0.176800 -0.657900 0.732000 -vn -0.830800 0.000000 -0.556600 -vn -0.498000 0.000000 -0.867200 -vn -0.324600 0.758400 -0.565100 -vn -0.534300 0.765700 -0.358000 -vn -0.148400 0.000000 0.988900 -vn 0.148400 0.000000 0.988900 -vn 0.109400 0.675200 0.729500 -vn -0.109400 0.675200 0.729500 -vn 0.989600 0.000000 0.144200 -vn 0.897700 0.000000 0.440600 -vn 0.597300 0.746500 0.293100 -vn 0.664400 0.741000 0.096800 -vn -0.152500 0.000000 -0.988300 -vn 0.149300 0.000000 -0.988800 -vn 0.100000 0.742300 -0.662500 -vn -0.102100 0.743100 -0.661300 -vn 0.670800 0.000000 0.741600 -vn 0.258500 0.000000 0.966000 -vn 0.164900 0.770200 0.616100 -vn 0.437700 0.757800 0.483900 -vn 0.497900 0.000000 -0.867200 -vn 0.832500 0.000000 -0.554000 -vn 0.536200 0.764900 -0.356800 -vn 0.323600 0.760000 -0.563600 -vn -0.258500 0.000000 0.966000 -vn -0.670800 0.000000 0.741600 -vn -0.437700 0.757800 0.483900 -vn -0.164900 0.770200 0.616100 -vn 0.985100 0.000000 -0.172300 -vn 0.653700 0.748000 -0.114300 -vn -0.897700 0.000000 0.440600 -vn -0.989600 0.000000 0.144200 -vn -0.664400 0.741000 0.096800 -vn -0.597300 0.746500 0.293100 -vn 0.483900 0.000000 0.875100 -vn 0.362000 0.663600 0.654700 -vn -0.985100 0.000000 -0.172300 -vn -0.653700 0.748000 -0.114300 -vn -0.176800 0.657900 -0.732000 -vn -0.472100 0.663300 -0.580600 -vn -0.622500 0.654500 0.429100 -vn -0.362000 0.663600 0.654700 -vn 0.651700 0.669300 -0.356900 -vn 0.472100 0.663300 -0.580600 -vn 0.622500 0.654500 0.429100 -vn 0.731000 0.670100 0.128700 -vn 0.176800 0.657900 -0.732000 -vn -0.731000 0.670100 0.128700 -vn 0.730300 0.672700 -0.118900 -vn -0.651700 0.669300 -0.356900 -vn -0.730300 0.672700 -0.118900 -vn -0.483900 0.000000 0.875100 -vn -0.590900 0.715400 0.372800 -vn -0.658800 0.677300 0.327300 -vn -0.730400 0.672600 0.118900 -vn 0.982500 0.093400 0.161000 -vn 0.873300 0.110700 0.474300 -vn 0.881500 0.000000 0.472100 -vn 0.987600 0.000000 0.157200 -vn 0.629400 0.129600 0.766200 -vn 0.639200 0.000000 0.769100 -vn 0.234500 0.143200 0.961500 -vn 0.239500 0.000000 0.970900 -vn -0.234500 0.143200 0.961500 -vn -0.239500 0.000000 0.970900 -vn -0.629400 0.129600 0.766200 -vn -0.639200 0.000000 0.769100 -vn -0.873300 0.110700 0.474300 -vn -0.881500 0.000000 0.472100 -vn -0.982500 0.093400 0.161000 -vn -0.987600 0.000000 0.157200 -vn -0.984800 0.080600 -0.153500 -vn -0.987600 0.000000 -0.157200 -vn 0.984800 0.080600 -0.153500 -vn 0.987600 0.000000 -0.157200 -vn 0.206000 0.506700 0.837100 -vn -0.206000 0.506700 0.837100 -vn -0.794900 0.428500 0.429600 -vn -0.701300 0.623100 0.346400 -vn -0.814900 0.569200 0.109100 -vn -0.911900 0.382600 0.148400 -vn 0.825000 0.337700 -0.453000 -vn 0.926100 0.347900 -0.145600 -vn -0.825200 0.338800 -0.451900 -vn -0.580300 0.361800 -0.729600 -vn 0.794900 0.428500 0.429600 -vn 0.560600 0.475500 0.677900 -vn 0.189000 0.193500 -0.962700 -vn 0.194800 0.374700 -0.906400 -vn 0.581000 0.359600 -0.730100 -vn -0.560600 0.475500 0.677900 -vn 0.911900 0.382600 0.148400 -vn -0.926100 0.347900 -0.145600 -vn -0.194200 0.375300 -0.906300 -vn -0.187400 0.194100 -0.962900 -vn -0.176300 0.721900 0.669200 -vn -0.486500 0.681300 0.546900 -vn 0.834900 0.530800 -0.145600 -vn 0.814900 0.569200 0.109100 -vn 0.486500 0.681300 0.546900 -vn 0.176300 0.721900 0.669200 -vn 0.536200 0.433500 -0.724300 -vn 0.753700 0.498500 -0.428400 -vn 0.701300 0.623100 0.346400 -vn -0.193400 0.358100 -0.913400 -vn 0.193400 0.358100 -0.913400 -vn -0.753700 0.498500 -0.428400 -vn -0.536200 0.433500 -0.724300 -vn -0.834900 0.530800 -0.145600 -vn 0.823400 0.000000 0.567500 -vn 0.984800 0.000000 0.173400 -vn -0.823400 0.000000 0.567500 -vn -0.984800 0.000000 0.173400 -vn 0.195200 0.000000 -0.980800 -vn -0.193100 0.000000 -0.981200 -vn 0.000000 -1.000000 0.000000 -vn 0.000100 1.000000 0.000000 -vn 0.000200 1.000000 0.000100 -vn -0.000100 1.000000 0.000000 -vn -0.000200 1.000000 0.000100 -vn -0.000000 1.000000 0.000000 -vn 0.707100 0.000000 0.707100 -vn -0.707100 0.000000 0.707100 -vn -0.577300 -0.577300 0.577300 -vn 0.577300 -0.577300 0.577300 -vn -0.707100 0.000000 -0.707100 -vn -0.577300 -0.577300 -0.577300 -vn 0.707100 0.000000 -0.707100 -vn 0.577300 -0.577300 -0.577300 -vn 0.203700 -0.948600 0.242200 -vn 0.203700 -0.948600 -0.242200 -vn 0.620100 -0.485900 -0.615900 -vn 0.620100 -0.485900 0.615900 -vn 0.577300 0.577300 -0.577300 -vn 0.577300 0.577300 0.577300 -vn -0.203700 -0.948600 -0.242200 -vn -0.620100 -0.485900 -0.615900 -vn -0.203700 -0.948600 0.242200 -vn -0.620100 -0.485900 0.615900 -vn -0.577300 0.577300 -0.577300 -vn -0.577300 0.577300 0.577300 -vn -0.610000 0.686200 -0.396200 -vn 0.610000 0.686200 -0.396200 -vn 0.610000 0.000000 -0.792400 -vn -0.610000 0.000000 -0.792400 -vn 0.610000 -0.686200 -0.396200 -vn -0.610000 -0.686200 -0.396200 -vn 0.610000 -0.686200 0.396200 -vn -0.610000 -0.686200 0.396200 -vn 0.610000 -0.000000 0.792400 -vn -0.610000 0.000000 0.792400 -vn 0.453400 0.242500 0.857700 -vn -0.453400 0.242400 0.857700 -vn -0.636200 0.209700 0.742500 -vn 0.636300 0.209900 0.742400 -vn -0.610000 0.686200 0.396200 -vn 0.610000 0.686200 0.396200 -vn -1.000000 -0.000100 -0.000200 -vn -0.707100 -0.000100 -0.707200 -vn 1.000000 0.000100 0.000200 -vn 0.707200 0.000100 -0.707100 -vn -0.706800 0.000000 -0.707400 -vn 0.707300 0.000000 -0.706900 -vn -0.706800 0.000000 -0.707500 -vn 0.828700 -0.559700 0.000000 -vn 0.656600 -0.443500 -0.610000 -vn 0.310900 -0.325100 -0.893100 -vn 0.487300 -0.509600 0.709100 -vn -0.899100 -0.437800 -0.000000 -vn -0.712400 -0.346900 -0.610000 -vn -0.055800 -0.790400 -0.610000 -vn -0.070400 -0.997500 0.000000 -vn 0.771100 0.239700 0.589800 -vn 0.771100 0.239700 -0.589800 -vn 0.245400 0.716700 -0.652800 -vn 0.245400 0.716700 0.652800 -vn 0.458500 -0.654300 0.601300 -vn 0.458500 -0.654300 -0.601300 -vn -0.145600 0.742600 -0.653600 -vn -0.187400 0.955400 0.228100 -vn -0.828700 0.559700 -0.000000 -vn -0.656600 0.443500 -0.610000 -vn 0.000000 0.000000 -1.000000 -vn -0.994000 0.109700 0.000000 -vn -0.738000 -0.674700 0.000000 -vn -0.369000 -0.674700 -0.639100 -vn -0.472300 0.048700 -0.880100 -vn 0.369000 -0.674700 -0.639100 -vn 0.522400 -0.057600 -0.850700 -vn 0.738000 -0.674700 0.000000 -vn 0.994700 -0.102500 0.000000 -vn 0.369000 -0.674700 0.639100 -vn 0.522400 -0.057600 0.850700 -vn -0.369000 -0.674700 0.639100 -vn -0.433600 -0.497900 0.751000 -vn -0.867200 -0.497900 0.000000 -vn -0.472300 0.048700 0.880100 -vn -0.792400 -0.610000 0.000000 -vn -0.396200 -0.610000 -0.686200 -vn 0.396200 -0.610000 -0.686200 -vn 0.792400 -0.610000 0.000000 -vn 0.396200 -0.610000 0.686200 -vn -0.396200 -0.610000 0.686200 -vn -0.433600 0.497900 -0.751000 -vn -0.867200 0.497900 0.000000 -vn -0.738000 0.674700 0.000000 -vn -0.369000 0.674700 -0.639100 -vn -0.433600 -0.497900 -0.751000 -vn 0.433600 -0.497900 -0.751000 -vn 0.867200 -0.497900 0.000000 -vn 0.433600 -0.497900 0.751000 -vn -0.994700 0.102500 0.000000 -vn -0.522400 0.057600 -0.850700 -vn 0.472300 -0.048700 -0.880100 -vn 0.994000 -0.109700 0.000000 -vn 0.472300 -0.048700 0.880100 -vn -0.522400 0.057600 0.850700 -vn 0.433600 0.497900 -0.751000 -vn 0.867200 0.497900 0.000000 -vn 0.433600 0.497900 0.751000 -vn -0.433600 0.497900 0.751000 -vn -1.000000 0.000000 0.000000 -vn -0.500000 0.000000 -0.866000 -vn 0.369000 0.674700 -0.639100 -vn 0.738000 0.674700 0.000000 -vn 0.369000 0.674700 0.639100 -vn -0.369000 0.674700 0.639100 -vn 0.500000 0.000000 -0.866000 -vn 1.000000 0.000000 -0.000000 -vn 0.500000 0.000000 0.866000 -vn -0.500000 0.000000 0.866000 -vn -0.785300 -0.117900 0.607700 -vn -0.785300 -0.117900 -0.607700 -vn -0.448400 -0.606900 -0.656100 -vn -0.448400 -0.606900 0.656100 -vn -0.108200 -0.746800 -0.656100 -vn -0.108200 -0.746800 0.656100 -vn 0.475200 -0.636200 -0.607700 -vn 0.475200 -0.636200 0.607700 -vn 0.785300 0.117900 -0.607700 -vn 0.785300 0.117900 0.607700 -vn 0.448400 0.606900 -0.656100 -vn 0.448400 0.606900 0.656100 -vn 0.108200 0.746800 -0.656100 -vn 0.108200 0.746800 0.656100 -vn -0.475200 0.636200 -0.607700 -vn -0.475200 0.636200 0.607700 g Cylinder_Cylinder_lid s 1 -f 152/1/1 150/2/2 299/3/3 -f 149/4/4 150/5/2 152/6/1 151/7/5 -f 151/7/5 152/6/1 154/8/6 153/9/7 -f 153/10/7 154/11/6 156/12/8 155/13/9 -f 155/13/9 156/12/8 158/14/10 157/15/11 -f 157/15/11 158/14/10 160/16/12 159/17/13 -f 159/17/13 160/16/12 162/18/14 161/19/15 -f 161/19/15 162/18/14 164/20/16 163/21/17 -f 163/21/17 164/20/16 166/22/18 165/23/19 -f 165/23/19 166/22/18 168/24/20 167/25/21 -f 167/25/21 168/24/20 170/26/22 169/27/23 -f 169/27/23 170/26/22 172/28/24 171/29/25 -f 171/29/25 172/28/24 174/30/26 173/31/27 -f 173/31/27 174/30/26 176/32/28 175/33/29 -f 175/33/29 176/32/28 178/34/30 177/35/31 -f 149/36/4 151/37/5 300/38/32 -f 179/39/33 180/40/34 150/5/2 149/4/4 -f 177/35/31 178/34/30 180/40/34 179/39/33 -f 150/2/2 180/41/34 299/3/3 -f 180/41/34 178/42/30 299/3/3 -f 178/42/30 176/43/28 299/3/3 -f 176/43/28 174/44/26 299/3/3 -f 174/44/26 172/45/24 299/3/3 -f 172/45/24 170/46/22 299/3/3 -f 170/46/22 168/47/20 299/3/3 -f 168/47/20 166/48/18 299/3/3 -f 166/48/18 164/49/16 299/3/3 -f 164/49/16 162/50/14 299/3/3 -f 162/50/14 160/51/12 299/3/3 -f 160/51/12 158/52/10 299/3/3 -f 158/52/10 156/53/8 299/3/3 -f 156/53/8 154/54/6 299/3/3 -f 154/54/6 152/1/1 299/3/3 -f 151/37/5 153/55/7 300/38/32 -f 153/55/7 155/56/9 300/38/32 -f 155/56/9 157/57/11 300/38/32 -f 157/57/11 159/58/13 300/38/32 -f 159/58/13 161/59/15 300/38/32 -f 161/59/15 163/60/17 300/38/32 -f 163/60/17 165/61/19 300/38/32 -f 165/61/19 167/62/21 300/38/32 -f 167/62/21 169/63/23 300/38/32 -f 169/63/23 171/64/25 300/38/32 -f 171/64/25 173/65/27 300/38/32 -f 173/65/27 175/66/29 300/38/32 -f 175/66/29 177/67/31 300/38/32 -f 177/67/31 179/68/33 300/38/32 -f 179/68/33 149/36/4 300/38/32 +f 149/1 150/2 152/3 151/4 +f 151/4 152/3 154/5 153/6 +f 153/7 154/8 156/9 155/10 +f 155/10 156/9 158/11 157/12 +f 157/12 158/11 160/13 159/14 +f 159/14 160/13 162/15 161/16 +f 161/16 162/15 164/17 163/18 +f 163/18 164/17 166/19 165/20 +f 165/20 166/19 168/21 167/22 +f 167/22 168/21 170/23 169/24 +f 169/24 170/23 172/25 171/26 +f 171/26 172/25 174/27 173/28 +f 173/28 174/27 176/29 175/30 +f 175/30 176/29 178/31 177/32 +f 179/33 180/34 150/2 149/1 +f 177/32 178/31 180/34 179/33 +f 154/35 152/36 150/37 180/38 178/39 176/40 174/41 172/42 170/43 168/44 166/45 164/46 162/47 160/48 158/49 156/50 +f 179/51 149/52 151/53 153/54 155/55 157/56 159/57 161/58 163/59 165/60 167/61 169/62 171/63 173/64 175/65 177/66 g Cylinder_Cylinder_bowl -f 256/69/35 257/70/36 258/71/37 296/72/38 -f 3/73/39 4/74/40 6/75/41 5/76/42 -f 5/76/42 6/75/41 8/77/43 7/78/44 -f 7/78/44 8/77/43 10/79/45 9/80/46 -f 251/81/47 253/82/48 293/83/49 252/84/50 -f 9/80/46 10/79/45 20/85/51 11/86/52 -f 2/87/53 22/88/54 4/74/40 3/73/39 -f 2/87/53 1/89/55 24/90/56 22/88/54 -f 12/91/57 11/86/52 20/85/51 18/92/58 -f 13/93/59 12/91/57 18/92/58 301/94/60 -f 15/95/61 13/93/59 301/94/60 302/96/62 -f 17/97/63 15/95/61 302/96/62 303/98/64 -f 19/99/65 17/97/63 303/98/64 304/100/66 -f 21/101/67 19/102/65 304/103/66 305/104/68 -f 5/76/42 7/78/44 33/105/69 32/106/70 -f 35/107/71 36/108/72 52/109/73 51/110/74 -f 25/111/75 27/112/76 44/113/77 43/114/78 -f 11/86/52 12/91/57 36/108/72 35/107/71 -f 15/95/61 17/97/63 39/115/79 38/72/80 -f 2/87/53 3/73/39 31/116/81 30/117/82 -f 21/101/67 23/118/83 42/84/84 41/83/85 -f 7/78/44 9/80/46 34/119/86 33/105/69 -f 27/112/76 1/89/55 29/120/87 44/113/77 -f 1/89/55 2/87/53 30/117/82 29/120/87 -f 12/91/57 13/93/59 37/71/88 36/108/72 -f 17/97/63 19/99/65 40/121/89 39/115/79 -f 3/73/39 5/76/42 32/106/70 31/116/81 -f 23/118/83 25/111/75 43/114/78 42/84/84 -f 9/80/46 11/86/52 35/107/71 34/119/86 -f 13/93/59 15/95/61 38/72/80 37/71/88 -f 19/102/65 21/101/67 41/83/85 40/122/89 -f 125/123/90 126/124/91 69/125/92 68/126/93 -f 33/105/69 34/119/86 50/127/94 49/128/95 -f 44/113/77 29/120/87 45/129/96 60/130/97 -f 31/116/81 32/106/70 48/131/98 47/132/99 -f 42/84/84 43/114/78 59/133/100 58/134/101 -f 29/120/87 30/117/82 46/135/102 45/129/96 -f 40/122/89 41/83/85 57/136/103 56/137/104 -f 38/72/80 39/115/79 55/138/105 54/139/106 -f 36/108/72 37/71/88 53/140/107 52/109/73 -f 34/119/86 35/107/71 51/110/74 50/127/94 -f 32/106/70 33/105/69 49/128/95 48/131/98 -f 43/114/78 44/113/77 60/130/97 59/133/100 -f 30/117/82 31/116/81 47/132/99 46/135/102 -f 41/83/85 42/84/84 58/134/101 57/136/103 -f 39/115/79 40/121/89 56/141/104 55/138/105 -f 37/71/88 38/72/80 54/139/106 53/140/107 -f 69/125/92 70/142/108 86/143/109 85/144/110 -f 127/145/111 128/146/112 67/147/113 66/148/114 -f 129/149/115 130/150/116 65/151/117 64/152/118 -f 131/153/119 132/154/120 76/155/121 75/156/122 -f 133/157/123 134/158/124 63/159/125 62/160/126 -f 135/161/127 136/162/128 74/163/129 73/164/130 -f 137/165/131 138/166/132 72/167/133 71/168/134 -f 126/124/91 139/169/135 70/142/108 69/125/92 -f 128/146/112 125/123/90 68/126/93 67/147/113 -f 130/150/116 127/145/111 66/148/114 65/151/117 -f 132/154/120 140/170/136 61/171/137 76/155/121 -f 134/158/124 129/149/115 64/152/118 63/159/125 -f 136/162/128 131/153/119 75/156/122 74/163/129 -f 140/170/136 133/157/123 62/160/126 61/171/137 -f 138/172/132 135/161/127 73/164/130 72/173/133 -f 139/169/135 137/165/131 71/168/134 70/142/108 -f 86/143/109 87/174/138 103/175/139 102/176/140 -f 67/147/113 68/126/93 84/177/141 83/178/142 -f 65/151/117 66/148/114 82/179/143 81/180/144 -f 76/155/121 61/171/137 77/181/145 92/182/146 -f 63/159/125 64/152/118 80/183/147 79/184/148 -f 74/163/129 75/156/122 91/185/149 90/186/150 -f 61/171/137 62/160/126 78/187/151 77/181/145 -f 72/173/133 73/164/130 89/188/152 88/189/153 -f 70/142/108 71/168/134 87/174/138 86/143/109 -f 68/126/93 69/125/92 85/144/110 84/177/141 -f 66/148/114 67/147/113 83/178/142 82/179/143 -f 64/152/118 65/151/117 81/180/144 80/183/147 -f 75/156/122 76/155/121 92/182/146 91/185/149 -f 62/160/126 63/159/125 79/184/148 78/187/151 -f 73/164/130 74/163/129 90/186/150 89/188/152 -f 71/168/134 72/167/133 88/190/153 87/174/138 -f 103/175/139 104/191/154 120/192/155 119/193/156 -f 84/177/141 85/144/110 101/194/157 100/195/158 -f 82/179/143 83/178/142 99/196/159 98/197/160 -f 80/183/147 81/180/144 97/198/161 96/199/162 -f 91/185/149 92/182/146 108/200/163 107/201/164 -f 78/187/151 79/184/148 95/202/165 94/203/166 -f 89/188/152 90/186/150 106/204/167 105/205/168 -f 87/174/138 88/190/153 104/191/154 103/175/139 -f 85/144/110 86/143/109 102/176/140 101/194/157 -f 83/178/142 84/177/141 100/195/158 99/196/159 -f 81/180/144 82/179/143 98/197/160 97/198/161 -f 92/182/146 77/181/145 93/206/169 108/200/163 -f 79/184/148 80/183/147 96/199/162 95/202/165 -f 90/186/150 91/185/149 107/201/164 106/204/167 -f 77/181/145 78/187/151 94/203/166 93/206/169 -f 88/189/153 89/188/152 105/205/168 104/207/154 -f 101/194/157 102/176/140 118/208/170 117/209/171 -f 99/196/159 100/195/158 116/210/172 115/211/173 -f 97/198/161 98/197/160 114/212/174 113/213/175 -f 108/200/163 93/206/169 109/214/176 124/215/177 -f 95/202/165 96/199/162 112/216/178 111/217/179 -f 106/204/167 107/201/164 123/218/180 122/219/181 -f 93/206/169 94/203/166 110/220/182 109/214/176 -f 104/207/154 105/205/168 121/221/183 120/222/155 -f 102/176/140 103/175/139 119/193/156 118/208/170 -f 100/195/158 101/194/157 117/209/171 116/210/172 -f 98/197/160 99/196/159 115/211/173 114/212/174 -f 96/199/162 97/198/161 113/213/175 112/216/178 -f 107/201/164 108/200/163 124/215/177 123/218/180 -f 94/203/166 95/202/165 111/217/179 110/220/182 -f 105/205/168 106/204/167 122/219/181 121/221/183 -f 54/139/106 55/138/105 137/165/131 139/169/135 -f 56/137/104 57/136/103 135/161/127 138/172/132 -f 45/129/96 46/135/102 133/157/123 140/170/136 -f 58/134/101 59/133/100 131/153/119 136/162/128 -f 47/132/99 48/131/98 129/149/115 134/158/124 -f 60/130/97 45/129/96 140/170/136 132/154/120 -f 49/128/95 50/127/94 127/145/111 130/150/116 -f 51/110/74 52/109/73 125/123/90 128/146/112 -f 53/140/107 54/139/106 139/169/135 126/124/91 -f 55/138/105 56/141/104 138/166/132 137/165/131 -f 57/136/103 58/134/101 136/162/128 135/161/127 -f 46/135/102 47/132/99 134/158/124 133/157/123 -f 59/133/100 60/130/97 132/154/120 131/153/119 -f 48/131/98 49/128/95 130/150/116 129/149/115 -f 50/127/94 51/110/74 128/146/112 127/145/111 -f 52/109/73 53/140/107 126/124/91 125/123/90 -f 194/223/184 195/224/185 227/13/186 226/15/187 -f 183/28/188 182/26/189 212/225/190 213/226/191 -f 185/227/192 186/228/193 218/31/194 217/33/195 -f 196/229/196 197/230/197 229/7/198 228/9/199 -f 187/231/200 188/232/201 220/27/202 219/29/203 -f 198/233/204 199/234/205 231/39/206 230/4/207 -f 189/235/208 190/236/209 222/23/210 221/25/211 -f 200/237/212 185/227/192 217/33/195 232/35/213 -f 191/238/214 192/239/215 224/19/216 223/21/217 -f 182/26/189 181/24/218 211/240/219 212/225/190 -f 193/241/220 194/223/184 226/15/187 225/17/221 -f 212/242/190 211/243/219 227/244/186 228/245/199 -f 204/246/222 203/247/223 219/248/203 220/249/202 -f 215/250/224 214/251/225 230/252/207 231/253/206 -f 207/254/226 206/255/227 222/256/210 223/257/217 -f 210/258/228 209/259/229 225/260/221 226/261/187 -f 213/262/191 212/242/190 228/245/199 229/263/198 -f 205/264/230 204/246/222 220/249/202 221/265/211 -f 216/266/231 215/250/224 231/253/206 232/267/213 -f 208/268/232 207/254/226 223/257/217 224/269/216 -f 211/243/219 210/258/228 226/261/187 227/244/186 -f 203/247/223 202/270/233 218/271/194 219/248/203 -f 214/251/225 213/262/191 229/263/198 230/252/207 -f 206/255/227 205/264/230 221/265/211 222/256/210 -f 201/272/234 216/266/231 232/267/213 217/273/195 -f 202/270/233 201/272/234 217/273/195 218/271/194 -f 209/259/229 208/268/232 224/269/216 225/260/221 -f 192/239/215 193/241/220 225/17/221 224/19/216 -f 4/6/40 22/5/54 202/274/233 203/275/223 -f 190/236/209 191/238/214 223/21/217 222/23/210 -f 18/18/58 20/16/51 207/276/226 208/277/232 -f 199/234/205 200/237/212 232/35/213 231/39/206 -f 188/232/201 189/235/208 221/25/211 220/27/202 -f 20/16/51 10/14/45 206/278/227 207/276/226 -f 184/30/235 183/28/188 213/226/191 214/279/225 -f 197/230/197 198/233/204 230/4/207 229/7/198 -f 186/228/193 187/231/200 219/29/203 218/31/194 -f 23/118/83 21/101/67 305/104/68 306/280/236 -f 25/111/75 23/118/83 306/280/236 307/281/237 -f 195/224/185 196/282/196 228/10/199 227/13/186 -f 27/112/76 25/111/75 307/281/237 308/283/238 -f 1/89/55 27/112/76 308/283/238 24/90/56 -f 233/284/239 235/285/240 236/119/241 234/107/242 -f 235/285/240 237/286/243 238/105/244 236/119/241 -f 237/286/243 239/287/245 240/106/246 238/105/244 -f 239/287/245 241/288/247 242/116/248 240/106/246 -f 241/288/247 243/289/249 244/117/250 242/116/248 -f 243/289/249 245/290/251 246/120/252 244/117/250 -f 245/290/251 247/291/253 248/113/254 246/120/252 -f 247/291/253 249/292/255 250/114/256 248/113/254 -f 249/292/255 251/81/47 252/84/50 250/114/256 -f 259/293/257 233/284/239 234/107/242 260/108/258 -f 257/70/36 259/293/257 260/108/258 258/71/37 -f 239/287/245 264/76/259 265/73/260 241/288/247 -f 267/89/261 283/90/262 284/283/263 268/112/264 -f 257/70/36 275/93/265 276/91/266 259/293/257 -f 245/290/251 267/89/261 268/112/264 247/291/253 -f 251/81/47 270/118/267 271/101/268 253/82/48 -f 235/285/240 262/80/269 263/78/270 237/286/243 -f 255/294/271 273/97/272 274/95/273 256/69/35 -f 241/288/247 265/73/260 266/87/274 243/289/249 -f 259/293/257 276/91/266 261/86/275 233/284/239 -f 233/284/239 261/86/275 262/80/269 235/285/240 -f 247/291/253 268/112/264 269/111/276 249/292/255 -f 253/82/48 271/101/268 272/102/277 254/295/278 -f 237/286/243 263/78/270 264/76/259 239/287/245 -f 256/69/35 274/95/273 275/93/265 257/70/36 -f 243/289/249 266/87/274 267/89/261 245/290/251 -f 249/292/255 269/111/276 270/118/267 251/81/47 -f 254/296/278 272/99/277 273/97/272 255/294/271 -f 265/73/260 281/74/279 282/88/280 266/87/274 -f 276/91/266 292/92/281 277/85/282 261/86/275 -f 263/78/270 279/77/283 280/75/284 264/76/259 -f 274/95/273 290/96/285 291/94/286 275/93/265 -f 261/86/275 277/85/282 278/79/287 262/80/269 -f 272/99/277 288/100/288 289/98/289 273/97/272 -f 270/118/267 286/280/290 287/104/291 271/101/268 -f 268/112/264 284/283/263 285/281/292 269/111/276 -f 266/87/274 282/88/280 283/90/262 267/89/261 -f 264/76/259 280/75/284 281/74/279 265/73/260 -f 275/93/265 291/94/286 292/92/281 276/91/266 -f 262/80/269 278/79/287 279/77/283 263/78/270 -f 273/97/272 289/98/289 290/96/285 274/95/273 -f 271/101/268 287/104/291 288/103/288 272/102/277 -f 269/111/276 285/281/292 286/280/290 270/118/267 -f 8/12/43 6/11/41 204/297/222 205/298/230 -f 16/22/293 14/20/294 209/299/229 210/300/228 -f 26/32/295 184/30/235 214/279/225 215/301/224 -f 6/8/41 4/6/40 203/275/223 204/302/222 -f 28/34/296 26/32/295 215/301/224 216/303/231 -f 181/24/218 16/22/293 210/300/228 211/240/219 -f 10/14/45 8/12/43 205/298/230 206/278/227 -f 255/294/271 256/69/35 296/72/38 295/115/297 -f 254/296/278 255/294/271 295/115/297 294/121/298 -f 253/82/48 254/295/278 294/122/298 293/83/49 -f 109/304/176 110/305/182 298/306/299 -f 110/305/182 111/307/179 298/306/299 -f 111/307/179 112/308/178 298/306/299 -f 112/308/178 113/309/175 298/306/299 -f 113/309/175 114/310/174 298/306/299 -f 114/310/174 115/311/173 298/306/299 -f 115/311/173 116/312/172 298/306/299 -f 116/312/172 117/313/171 298/306/299 -f 117/313/171 118/314/170 298/306/299 -f 118/314/170 119/315/156 298/306/299 -f 119/315/156 120/316/155 298/306/299 -f 120/316/155 121/317/183 298/306/299 -f 121/317/183 122/318/181 298/306/299 -f 122/318/181 123/319/180 298/306/299 -f 123/319/180 124/320/177 298/306/299 -f 124/320/177 109/304/176 298/306/299 -f 24/40/56 28/34/296 216/303/231 201/321/234 -f 22/5/54 24/40/56 201/321/234 202/274/233 -f 14/20/294 18/18/58 208/277/232 209/299/229 -f 16/258/300 302/322/62 301/323/60 14/259/301 -f 307/324/237 26/250/302 28/266/303 308/325/238 -f 26/250/302 307/324/237 184/251/304 -f 16/258/300 181/243/304 302/322/62 -f 307/324/237 306/326/236 184/251/304 -f 302/322/62 181/243/304 303/327/64 -f 181/243/304 182/242/304 303/327/64 -f 184/251/304 306/326/236 183/262/304 -f 306/326/236 305/328/68 183/262/304 -f 303/327/64 182/242/304 304/329/66 -f 304/329/66 182/242/304 183/262/304 305/328/68 +f 256/67 257/68 258/69 296/70 +f 3/71 4/72 6/73 5/74 +f 5/74 6/73 8/75 7/76 +f 7/76 8/75 10/77 9/78 +f 251/79 253/80 293/81 252/82 +f 9/78 10/77 20/83 11/84 +f 2/85 22/86 4/72 3/71 +f 2/85 1/87 24/88 22/86 +f 12/89 11/84 20/83 18/90 +f 13/91 12/89 18/90 297/92 +f 15/93 13/91 297/92 298/94 +f 17/95 15/93 298/94 299/96 +f 19/97 17/95 299/96 300/98 +f 21/99 19/100 300/101 301/102 +f 5/74 7/76 33/103 32/104 +f 35/105 36/106 52/107 51/108 +f 25/109 27/110 44/111 43/112 +f 11/84 12/89 36/106 35/105 +f 15/93 17/95 39/113 38/70 +f 2/85 3/71 31/114 30/115 +f 21/99 23/116 42/82 41/81 +f 7/76 9/78 34/117 33/103 +f 27/110 1/87 29/118 44/111 +f 1/87 2/85 30/115 29/118 +f 12/89 13/91 37/69 36/106 +f 17/95 19/97 40/119 39/113 +f 3/71 5/74 32/104 31/114 +f 23/116 25/109 43/112 42/82 +f 9/78 11/84 35/105 34/117 +f 13/91 15/93 38/70 37/69 +f 19/100 21/99 41/81 40/120 +f 125/121 126/122 69/123 68/124 +f 33/103 34/117 50/125 49/126 +f 44/111 29/118 45/127 60/128 +f 31/114 32/104 48/129 47/130 +f 42/82 43/112 59/131 58/132 +f 29/118 30/115 46/133 45/127 +f 40/120 41/81 57/134 56/135 +f 38/70 39/113 55/136 54/137 +f 36/106 37/69 53/138 52/107 +f 34/117 35/105 51/108 50/125 +f 32/104 33/103 49/126 48/129 +f 43/112 44/111 60/128 59/131 +f 30/115 31/114 47/130 46/133 +f 41/81 42/82 58/132 57/134 +f 39/113 40/119 56/139 55/136 +f 37/69 38/70 54/137 53/138 +f 69/123 70/140 86/141 85/142 +f 127/143 128/144 67/145 66/146 +f 129/147 130/148 65/149 64/150 +f 131/151 132/152 76/153 75/154 +f 133/155 134/156 63/157 62/158 +f 135/159 136/160 74/161 73/162 +f 137/163 138/164 72/165 71/166 +f 126/122 139/167 70/140 69/123 +f 128/144 125/121 68/124 67/145 +f 130/148 127/143 66/146 65/149 +f 132/152 140/168 61/169 76/153 +f 134/156 129/147 64/150 63/157 +f 136/160 131/151 75/154 74/161 +f 140/168 133/155 62/158 61/169 +f 138/170 135/159 73/162 72/171 +f 139/167 137/163 71/166 70/140 +f 86/141 87/172 103/173 102/174 +f 67/145 68/124 84/175 83/176 +f 65/149 66/146 82/177 81/178 +f 76/153 61/169 77/179 92/180 +f 63/157 64/150 80/181 79/182 +f 74/161 75/154 91/183 90/184 +f 61/169 62/158 78/185 77/179 +f 72/171 73/162 89/186 88/187 +f 70/140 71/166 87/172 86/141 +f 68/124 69/123 85/142 84/175 +f 66/146 67/145 83/176 82/177 +f 64/150 65/149 81/178 80/181 +f 75/154 76/153 92/180 91/183 +f 62/158 63/157 79/182 78/185 +f 73/162 74/161 90/184 89/186 +f 71/166 72/165 88/188 87/172 +f 103/173 104/189 120/190 119/191 +f 84/175 85/142 101/192 100/193 +f 82/177 83/176 99/194 98/195 +f 80/181 81/178 97/196 96/197 +f 91/183 92/180 108/198 107/199 +f 78/185 79/182 95/200 94/201 +f 89/186 90/184 106/202 105/203 +f 87/172 88/188 104/189 103/173 +f 85/142 86/141 102/174 101/192 +f 83/176 84/175 100/193 99/194 +f 81/178 82/177 98/195 97/196 +f 92/180 77/179 93/204 108/198 +f 79/182 80/181 96/197 95/200 +f 90/184 91/183 107/199 106/202 +f 77/179 78/185 94/201 93/204 +f 88/187 89/186 105/203 104/205 +f 101/192 102/174 118/206 117/207 +f 99/194 100/193 116/208 115/209 +f 97/196 98/195 114/210 113/211 +f 108/198 93/204 109/212 124/213 +f 95/200 96/197 112/214 111/215 +f 106/202 107/199 123/216 122/217 +f 93/204 94/201 110/218 109/212 +f 104/205 105/203 121/219 120/220 +f 102/174 103/173 119/191 118/206 +f 100/193 101/192 117/207 116/208 +f 98/195 99/194 115/209 114/210 +f 96/197 97/196 113/211 112/214 +f 107/199 108/198 124/213 123/216 +f 94/201 95/200 111/215 110/218 +f 105/203 106/202 122/217 121/219 +f 54/137 55/136 137/163 139/167 +f 56/135 57/134 135/159 138/170 +f 45/127 46/133 133/155 140/168 +f 58/132 59/131 131/151 136/160 +f 47/130 48/129 129/147 134/156 +f 60/128 45/127 140/168 132/152 +f 49/126 50/125 127/143 130/148 +f 51/108 52/107 125/121 128/144 +f 53/138 54/137 139/167 126/122 +f 55/136 56/139 138/164 137/163 +f 57/134 58/132 136/160 135/159 +f 46/133 47/130 134/156 133/155 +f 59/131 60/128 132/152 131/151 +f 48/129 49/126 130/148 129/147 +f 50/125 51/108 128/144 127/143 +f 52/107 53/138 126/122 125/121 +f 194/221 195/222 227/10 226/12 +f 183/25 182/23 212/223 213/224 +f 185/225 186/226 218/28 217/30 +f 196/227 197/228 229/4 228/6 +f 187/229 188/230 220/24 219/26 +f 198/231 199/232 231/33 230/1 +f 189/233 190/234 222/20 221/22 +f 200/235 185/225 217/30 232/32 +f 191/236 192/237 224/16 223/18 +f 182/23 181/21 211/238 212/223 +f 193/239 194/221 226/12 225/14 +f 212/240 211/241 227/242 228/243 +f 204/244 203/245 219/246 220/247 +f 215/248 214/249 230/250 231/251 +f 207/252 206/253 222/254 223/255 +f 210/256 209/257 225/258 226/259 +f 213/260 212/240 228/243 229/261 +f 205/262 204/244 220/247 221/263 +f 216/264 215/248 231/251 232/265 +f 208/266 207/252 223/255 224/267 +f 211/241 210/256 226/259 227/242 +f 203/245 202/268 218/269 219/246 +f 214/249 213/260 229/261 230/250 +f 206/253 205/262 221/263 222/254 +f 201/270 216/264 232/265 217/271 +f 202/268 201/270 217/271 218/269 +f 209/257 208/266 224/267 225/258 +f 192/237 193/239 225/14 224/16 +f 4/3 22/2 202/272 203/273 +f 190/234 191/236 223/18 222/20 +f 18/15 20/13 207/274 208/275 +f 199/232 200/235 232/32 231/33 +f 188/230 189/233 221/22 220/24 +f 20/13 10/11 206/276 207/274 +f 184/27 183/25 213/224 214/277 +f 197/228 198/231 230/1 229/4 +f 186/226 187/229 219/26 218/28 +f 23/116 21/99 301/102 302/278 +f 25/109 23/116 302/278 303/279 +f 195/222 196/280 228/7 227/10 +f 27/110 25/109 303/279 304/281 +f 1/87 27/110 304/281 24/88 +f 233/282 235/283 236/117 234/105 +f 235/283 237/284 238/103 236/117 +f 237/284 239/285 240/104 238/103 +f 239/285 241/286 242/114 240/104 +f 241/286 243/287 244/115 242/114 +f 243/287 245/288 246/118 244/115 +f 245/288 247/289 248/111 246/118 +f 247/289 249/290 250/112 248/111 +f 249/290 251/79 252/82 250/112 +f 259/291 233/282 234/105 260/106 +f 257/68 259/291 260/106 258/69 +f 239/285 264/74 265/71 241/286 +f 267/87 283/88 284/281 268/110 +f 257/68 275/91 276/89 259/291 +f 245/288 267/87 268/110 247/289 +f 251/79 270/116 271/99 253/80 +f 235/283 262/78 263/76 237/284 +f 255/292 273/95 274/93 256/67 +f 241/286 265/71 266/85 243/287 +f 259/291 276/89 261/84 233/282 +f 233/282 261/84 262/78 235/283 +f 247/289 268/110 269/109 249/290 +f 253/80 271/99 272/100 254/293 +f 237/284 263/76 264/74 239/285 +f 256/67 274/93 275/91 257/68 +f 243/287 266/85 267/87 245/288 +f 249/290 269/109 270/116 251/79 +f 254/294 272/97 273/95 255/292 +f 265/71 281/72 282/86 266/85 +f 276/89 292/90 277/83 261/84 +f 263/76 279/75 280/73 264/74 +f 274/93 290/94 291/92 275/91 +f 261/84 277/83 278/77 262/78 +f 272/97 288/98 289/96 273/95 +f 270/116 286/278 287/102 271/99 +f 268/110 284/281 285/279 269/109 +f 266/85 282/86 283/88 267/87 +f 264/74 280/73 281/72 265/71 +f 275/91 291/92 292/90 276/89 +f 262/78 278/77 279/75 263/76 +f 273/95 289/96 290/94 274/93 +f 271/99 287/102 288/101 272/100 +f 269/109 285/279 286/278 270/116 +f 8/9 6/8 204/295 205/296 +f 16/19 14/17 209/297 210/298 +f 26/29 184/27 214/277 215/299 +f 6/5 4/3 203/273 204/300 +f 28/31 26/29 215/299 216/301 +f 181/21 16/19 210/298 211/238 +f 10/11 8/9 205/296 206/276 +f 255/292 256/67 296/70 295/113 +f 254/294 255/292 295/113 294/119 +f 253/80 254/293 294/120 293/81 +f 124/302 109/303 110/304 111/305 112/306 113/307 114/308 115/309 116/310 117/311 118/312 119/313 120/314 121/315 122/316 123/317 +f 24/34 28/31 216/301 201/318 +f 22/2 24/34 201/318 202/272 +f 14/17 18/15 208/275 209/297 +f 16/256 298/319 297/320 14/257 +f 303/321 26/248 28/264 304/322 +f 26/248 303/321 184/249 +f 16/256 181/241 298/319 +f 303/321 302/323 184/249 +f 298/319 181/241 299/324 +f 181/241 182/240 299/324 +f 184/249 302/323 183/260 +f 302/323 301/325 183/260 +f 299/324 182/240 300/326 +f 300/326 182/240 183/260 301/325 g Cylinder_Cylinder_tank -f 145/330/305 146/331/306 142/332/307 141/333/308 -f 146/334/306 147/335/309 143/336/310 142/337/307 -f 147/330/309 148/331/311 144/332/312 143/333/310 -f 148/338/311 145/339/305 141/340/308 144/341/312 -f 141/163/308 142/142/307 143/208/310 144/219/312 -f 145/339/313 148/338/314 312/342/315 309/343/316 -f 309/343/316 312/342/315 316/344/317 313/302/318 -f 148/331/314 147/330/319 311/345/320 312/346/315 -f 147/335/319 146/334/321 310/347/322 311/348/320 -f 146/331/321 145/330/313 309/345/316 310/346/322 -f 316/208/317 315/219/323 314/163/324 313/142/318 -f 312/346/315 311/345/320 315/349/323 316/350/317 -f 311/348/320 310/347/322 314/351/324 315/352/323 -f 310/346/322 309/345/316 313/349/318 314/350/324 +f 145/327 146/328 142/329 141/330 +f 146/331 147/332 143/333 142/334 +f 147/327 148/328 144/329 143/330 +f 148/335 145/336 141/337 144/338 +f 141/161 142/140 143/206 144/217 +f 145/336 148/335 308/339 305/340 +f 305/340 308/339 312/341 309/300 +f 148/328 147/327 307/342 308/343 +f 147/332 146/331 306/344 307/345 +f 146/328 145/327 305/342 306/343 +f 312/206 311/217 310/161 309/140 +f 308/343 307/342 311/346 312/347 +f 307/345 306/344 310/348 311/349 +f 306/343 305/342 309/346 310/347 g Cylinder_Cylinder_water -f 277/353/299 297/354/299 292/355/299 -f 292/355/299 297/354/299 291/356/299 -f 291/356/299 297/354/299 290/357/299 -f 290/357/299 297/354/299 289/358/299 -f 289/358/299 297/354/299 288/359/299 -f 288/359/299 297/354/299 287/360/299 -f 287/360/299 297/354/299 286/361/299 -f 286/361/299 297/354/299 285/362/299 -f 285/362/299 297/354/299 284/363/299 -f 284/363/299 297/354/299 283/364/299 -f 283/364/299 297/354/299 282/365/299 -f 282/365/299 297/354/299 281/366/299 -f 281/366/299 297/354/299 280/367/299 -f 280/367/299 297/354/299 279/368/299 -f 279/368/299 297/354/299 278/369/299 -f 278/369/299 297/354/299 277/353/299 +f 278/350 277/351 292/352 291/353 290/354 289/355 288/356 287/357 286/358 285/359 284/360 283/361 282/362 281/363 280/364 279/365 g Cylinder_Cylinder_metal-parts -f 317/370/325 318/221/326 320/222/327 319/371/328 -f 319/372/328 320/220/327 322/214/329 321/373/330 -f 321/373/330 322/214/329 324/215/331 323/374/332 -f 323/374/332 324/215/331 326/218/333 325/375/334 -f 326/94/335 343/70/336 342/284/337 337/85/338 -f 327/376/339 328/219/340 318/221/326 317/370/325 -f 325/375/334 326/218/333 328/219/340 327/376/339 -f 317/377/325 319/378/328 321/379/330 323/380/332 325/381/334 327/382/339 -f 429/380/341 430/383/342 335/384/337 -f 336/385/343 334/386/335 333/387/338 -f 329/107/344 430/110/342 332/109/345 330/108/346 -f 430/383/342 429/380/341 332/388/345 -f 334/71/335 331/140/336 335/110/337 333/107/338 -f 344/389/341 342/390/337 343/391/336 -f 428/392/342 344/389/341 338/393/347 -f 351/229/348 352/230/349 345/7/350 346/9/351 -f 347/99/352 348/97/353 350/98/354 349/100/355 -f 353/394/356 354/395/357 360/138/358 359/141/359 -f 349/100/355 350/98/354 352/230/349 351/229/348 -f 361/166/360 362/165/361 354/395/357 353/394/356 -f 359/141/359 360/138/358 356/115/362 355/121/363 -f 357/296/364 358/294/365 348/97/353 347/99/352 -f 355/121/363 356/115/362 358/294/365 357/296/364 -f 346/9/351 345/7/350 362/275/361 361/302/360 -f 350/396/354 363/397/366 352/398/349 -f 348/399/353 363/397/366 350/396/354 -f 358/400/365 363/397/366 348/399/353 -f 358/400/365 356/401/362 363/397/366 -f 352/398/349 363/397/366 345/402/350 -f 363/397/366 356/401/362 345/402/350 -f 360/403/358 345/402/350 356/401/362 -f 345/402/350 360/403/358 362/404/361 -f 360/403/358 354/405/357 362/404/361 -f 353/406/356 359/407/359 361/408/360 -f 361/408/360 359/407/359 346/409/351 -f 359/407/359 355/410/363 346/409/351 -f 382/179/367 365/177/368 367/195/369 389/197/370 -f 389/197/370 367/195/369 369/210/371 390/212/372 -f 390/411/372 369/412/371 371/123/373 391/145/374 -f 391/145/374 371/123/373 373/126/375 392/148/376 -f 365/177/368 375/413/377 376/414/378 381/144/379 -f 393/415/380 375/413/377 365/177/368 382/179/367 -f 392/148/376 373/126/375 375/413/377 393/415/380 -f 364/416/381 366/417/382 368/418/383 370/419/384 372/420/385 374/421/386 -f 398/176/387 399/143/388 405/174/389 404/175/390 -f 367/195/369 365/177/368 381/144/379 380/194/391 -f 369/210/371 367/195/369 380/194/391 379/209/392 -f 371/123/373 369/412/371 379/422/392 378/124/393 -f 373/126/375 371/123/373 378/124/393 377/125/394 -f 375/413/377 373/126/375 377/125/394 376/414/378 -f 364/187/381 388/183/395 383/199/396 366/203/382 -f 366/203/382 383/199/396 384/216/397 368/220/383 -f 368/423/383 384/424/397 385/149/398 370/157/384 -f 370/157/384 385/149/398 386/152/399 372/160/385 -f 374/425/386 387/426/400 388/183/395 364/187/381 -f 372/160/385 386/152/399 387/426/400 374/425/386 -f 387/426/400 393/415/380 382/179/367 388/183/395 -f 385/149/398 391/145/374 392/148/376 386/152/399 -f 384/424/397 390/411/372 391/145/374 385/149/398 -f 383/199/396 389/197/370 390/212/372 384/216/397 -f 388/183/395 382/179/367 389/197/370 383/199/396 -f 380/194/391 381/144/379 399/143/388 398/176/387 -f 386/152/399 392/148/376 393/415/380 387/426/400 -f 379/209/392 380/194/391 398/176/387 397/208/401 -f 378/124/393 379/422/392 397/427/401 396/169/402 -f 377/125/394 378/124/393 396/169/402 395/142/403 -f 376/414/378 377/125/394 395/142/403 394/428/404 -f 381/144/379 376/414/378 394/428/404 399/143/388 -f 404/175/390 405/174/389 411/190/405 410/191/406 -f 397/208/401 398/176/387 404/175/390 403/193/407 -f 396/169/402 397/427/401 403/395/407 402/165/408 -f 395/142/403 396/169/402 402/165/408 401/168/409 -f 394/428/404 395/142/403 401/168/409 400/429/410 -f 399/143/388 394/428/404 400/429/410 405/174/389 -f 403/193/407 404/175/390 410/191/406 409/192/411 -f 402/165/408 403/395/407 409/394/411 408/166/412 -f 401/168/409 402/165/408 408/166/412 407/167/413 -f 400/429/410 401/168/409 407/167/413 406/430/414 -f 405/174/389 400/429/410 406/430/414 411/190/405 -f 412/224/415 413/282/416 415/10/417 414/13/418 -f 414/13/418 415/10/417 417/297/419 416/298/420 -f 416/431/420 417/432/419 419/137/421 418/136/422 -f 418/136/422 419/137/421 421/371/423 420/370/424 -f 420/370/424 421/371/423 423/122/425 422/83/426 -f 422/83/426 423/122/425 425/102/427 424/101/428 -f 415/433/417 413/434/416 427/435/429 425/436/427 423/437/425 421/438/423 419/439/421 417/440/419 -f 426/104/430 427/103/429 413/282/416 412/224/415 -f 424/101/428 425/102/427 427/103/429 426/104/430 -f 412/441/415 414/442/418 416/443/420 418/444/422 420/445/424 422/446/426 424/447/428 426/448/430 -f 322/449/329 320/450/327 318/451/326 328/452/340 326/453/333 324/454/331 -f 344/389/341 428/392/342 342/390/337 -f 340/85/344 428/284/342 338/293/347 339/92/346 -f 429/380/341 335/384/337 331/381/336 -f 324/454/343 326/453/335 337/455/338 -f 340/456/344 339/457/346 324/454/343 -f 324/454/343 337/455/338 340/456/344 -f 329/458/344 330/459/346 336/385/343 -f 336/385/343 333/387/338 329/458/344 +f 313/366 314/219 316/220 315/367 +f 315/368 316/218 318/212 317/369 +f 317/369 318/212 320/213 319/370 +f 319/370 320/213 322/216 321/371 +f 322/92 339/68 338/282 333/83 +f 323/372 324/217 314/219 313/366 +f 321/371 322/216 324/217 323/372 +f 313/373 315/374 317/375 319/376 321/377 323/378 +f 424/376 425/379 331/380 +f 332/381 330/382 329/383 +f 325/105 425/108 328/107 326/106 +f 425/379 424/376 328/384 +f 330/69 327/138 331/108 329/105 +f 340/385 338/386 339/387 +f 423/388 340/385 334/389 +f 347/227 348/228 341/4 342/6 +f 343/97 344/95 346/96 345/98 +f 349/390 350/391 356/136 355/139 +f 345/98 346/96 348/228 347/227 +f 357/164 358/163 350/391 349/390 +f 355/139 356/136 352/113 351/119 +f 353/294 354/292 344/95 343/97 +f 351/119 352/113 354/292 353/294 +f 342/6 341/4 358/273 357/300 +f 341/392 348/393 346/394 344/395 354/396 352/397 356/398 350/399 358/400 +f 342/401 357/402 349/403 355/404 351/405 +f 377/177 360/175 362/193 384/195 +f 384/195 362/193 364/208 385/210 +f 385/406 364/407 366/121 386/143 +f 386/143 366/121 368/124 387/146 +f 360/175 370/408 371/409 376/142 +f 388/410 370/408 360/175 377/177 +f 387/146 368/124 370/408 388/410 +f 359/411 361/412 363/413 365/414 367/415 369/416 +f 393/174 394/141 400/172 399/173 +f 362/193 360/175 376/142 375/192 +f 364/208 362/193 375/192 374/207 +f 366/121 364/407 374/417 373/122 +f 368/124 366/121 373/122 372/123 +f 370/408 368/124 372/123 371/409 +f 359/185 383/181 378/197 361/201 +f 361/201 378/197 379/214 363/218 +f 363/418 379/419 380/147 365/155 +f 365/155 380/147 381/150 367/158 +f 369/420 382/421 383/181 359/185 +f 367/158 381/150 382/421 369/420 +f 382/421 388/410 377/177 383/181 +f 380/147 386/143 387/146 381/150 +f 379/419 385/406 386/143 380/147 +f 378/197 384/195 385/210 379/214 +f 383/181 377/177 384/195 378/197 +f 375/192 376/142 394/141 393/174 +f 381/150 387/146 388/410 382/421 +f 374/207 375/192 393/174 392/206 +f 373/122 374/417 392/422 391/167 +f 372/123 373/122 391/167 390/140 +f 371/409 372/123 390/140 389/423 +f 376/142 371/409 389/423 394/141 +f 399/173 400/172 406/188 405/189 +f 392/206 393/174 399/173 398/191 +f 391/167 392/422 398/391 397/163 +f 390/140 391/167 397/163 396/166 +f 389/423 390/140 396/166 395/424 +f 394/141 389/423 395/424 400/172 +f 398/191 399/173 405/189 404/190 +f 397/163 398/391 404/390 403/164 +f 396/166 397/163 403/164 402/165 +f 395/424 396/166 402/165 401/425 +f 400/172 395/424 401/425 406/188 +f 407/222 408/280 410/7 409/10 +f 409/10 410/7 412/295 411/296 +f 411/426 412/427 414/135 413/134 +f 413/134 414/135 416/367 415/366 +f 415/366 416/367 418/120 417/81 +f 417/81 418/120 420/100 419/99 +f 410/428 408/429 422/430 420/431 418/432 416/433 414/434 412/435 +f 421/102 422/101 408/280 407/222 +f 419/99 420/100 422/101 421/102 +f 407/436 409/437 411/438 413/439 415/440 417/441 419/442 421/443 +f 318/444 316/445 314/446 324/447 322/448 320/449 +f 340/385 423/388 338/386 +f 336/83 423/282 334/291 335/90 +f 424/376 331/380 327/377 +f 320/449 322/448 333/450 +f 336/451 335/452 320/449 +f 320/449 333/450 336/451 +f 325/453 326/454 332/381 +f 332/381 329/383 325/453 diff --git a/homedecor/models/homedecor_window_shutter.obj b/homedecor/models/homedecor_window_shutter.obj index c2292c8c..4080c6cb 100644 --- a/homedecor/models/homedecor_window_shutter.obj +++ b/homedecor/models/homedecor_window_shutter.obj @@ -1,42 +1,42 @@ -# Blender v2.73 (sub 0) OBJ File: 'shutter.blend' +# Blender v2.72 (sub 0) OBJ File: 'shutter.blend' # www.blender.org o Plane v 0.437500 -0.453125 -0.031250 v -0.437500 -0.453125 -0.031250 v -0.437500 -0.453125 0.031250 v 0.437500 -0.453125 0.031250 -v 0.437500 -0.460698 0.344815 -v -0.437500 -0.460698 0.344815 -v 0.437500 -0.476874 0.405185 -v -0.437500 -0.476874 0.405185 -v 0.437500 -0.460698 -0.405185 -v -0.437500 -0.460698 -0.405185 -v 0.437500 -0.476874 -0.344815 -v -0.437500 -0.476874 -0.344815 -v 0.437500 -0.460698 -0.311435 -v -0.437500 -0.460698 -0.311435 -v 0.437500 -0.476874 -0.251065 -v -0.437500 -0.476874 -0.251065 -v 0.437500 -0.460698 0.251065 -v -0.437500 -0.460698 0.251065 -v 0.437500 -0.476874 0.311435 -v -0.437500 -0.476874 0.311435 -v 0.437500 -0.460698 0.157315 -v -0.437500 -0.460698 0.157315 -v 0.437500 -0.476874 0.217685 -v -0.437500 -0.476874 0.217685 -v 0.437500 -0.460698 -0.217685 -v -0.437500 -0.460698 -0.217685 -v 0.437500 -0.476874 -0.157315 -v -0.437500 -0.476874 -0.157315 -v 0.437500 -0.460698 -0.123935 -v -0.437500 -0.460698 -0.123935 -v 0.437500 -0.476874 -0.063565 -v -0.437500 -0.476874 -0.063565 -v 0.437500 -0.460698 0.063565 -v -0.437500 -0.460698 0.063565 -v 0.437500 -0.476874 0.123935 -v -0.437500 -0.476874 0.123935 +v 0.437500 -0.461698 0.344815 +v -0.437500 -0.461698 0.344815 +v 0.437500 -0.477874 0.405185 +v -0.437500 -0.477874 0.405185 +v 0.437500 -0.461698 -0.405185 +v -0.437500 -0.461698 -0.405185 +v 0.437500 -0.477874 -0.344815 +v -0.437500 -0.477874 -0.344815 +v 0.437500 -0.461698 -0.311435 +v -0.437500 -0.461698 -0.311435 +v 0.437500 -0.477874 -0.251065 +v -0.437500 -0.477874 -0.251065 +v 0.437500 -0.461698 0.251065 +v -0.437500 -0.461698 0.251065 +v 0.437500 -0.477874 0.311435 +v -0.437500 -0.477874 0.311435 +v 0.437500 -0.461698 0.157315 +v -0.437500 -0.461698 0.157315 +v 0.437500 -0.477874 0.217685 +v -0.437500 -0.477874 0.217685 +v 0.437500 -0.461698 -0.217685 +v -0.437500 -0.461698 -0.217685 +v 0.437500 -0.477874 -0.157315 +v -0.437500 -0.477874 -0.157315 +v 0.437500 -0.461698 -0.123935 +v -0.437500 -0.461698 -0.123935 +v 0.437500 -0.477874 -0.063565 +v -0.437500 -0.477874 -0.063565 +v 0.437500 -0.461698 0.063565 +v -0.437500 -0.461698 0.063565 +v 0.437500 -0.477874 0.123935 +v -0.437500 -0.477874 0.123935 v 0.437500 -0.484375 0.031250 v -0.437500 -0.484375 0.031250 v -0.437500 -0.484375 -0.031250 @@ -167,57 +167,41 @@ vt 0.945313 0.062500 vt 0.992188 0.062500 vt 0.992187 0.937500 vt 0.945313 0.937500 -vn -0.000000 -0.965900 -0.258800 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -0.000000 -0.000000 -1.000000 -vn -0.000000 1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.124000 0.992300 -0.000000 -vn 0.000000 0.992300 0.124000 -vn 0.000000 0.992300 -0.124000 -vn -0.124000 0.992300 -0.000000 -vn 1.000000 -0.000000 -0.000000 -vn -0.000000 -0.992300 0.124000 -vn 0.124000 -0.992300 0.000000 -vn -0.124000 -0.992300 0.000000 -vn -0.000000 -0.992300 -0.124000 -vn 0.000000 0.965900 0.258800 g Plane_Plane_Material s off -f 7/1/1 8/2/1 6/3/1 5/4/1 -f 11/5/1 12/6/1 10/7/1 9/8/1 -f 15/9/1 16/10/1 14/11/1 13/12/1 -f 19/13/1 20/14/1 18/15/1 17/16/1 -f 23/17/1 24/18/1 22/19/1 21/20/1 -f 27/21/1 28/22/1 26/23/1 25/24/1 -f 31/25/1 32/26/1 30/27/1 29/28/1 -f 35/29/1 36/30/1 34/31/1 33/32/1 -f 37/33/2 38/34/2 39/35/2 40/36/2 -f 3/37/3 38/38/3 37/39/3 4/40/3 -f 1/41/4 40/42/4 39/43/4 2/44/4 -f 3/34/5 4/33/5 1/45/5 2/46/5 -f 41/47/4 42/48/4 43/49/4 44/50/4 -f 46/51/3 53/52/3 51/53/3 47/54/3 -f 41/55/6 44/50/6 47/54/6 51/56/6 -f 41/50/7 51/54/7 55/57/7 56/58/7 -f 41/50/8 56/58/8 54/59/8 42/49/8 -f 51/54/9 53/51/9 52/60/9 55/57/9 -f 52/60/10 53/51/10 42/49/10 54/59/10 -f 42/61/11 53/62/11 46/51/11 43/49/11 -f 44/50/12 43/49/12 49/59/12 50/58/12 -f 48/57/13 47/54/13 44/50/13 50/58/13 -f 43/49/14 46/51/14 45/60/14 49/59/14 -f 45/60/15 46/51/15 47/54/15 48/57/15 -f 50/63/3 49/64/3 54/65/3 56/66/3 -f 45/67/4 48/68/4 55/69/4 52/70/4 -f 48/71/11 50/72/11 56/73/11 55/74/11 -f 54/75/6 49/76/6 45/77/6 52/78/6 -f 59/1/16 57/4/16 58/3/16 60/2/16 -f 63/5/16 61/8/16 62/7/16 64/6/16 -f 67/9/16 65/12/16 66/11/16 68/10/16 -f 71/13/16 69/16/16 70/15/16 72/14/16 -f 75/17/16 73/20/16 74/19/16 76/18/16 -f 79/21/16 77/24/16 78/23/16 80/22/16 -f 83/25/16 81/28/16 82/27/16 84/26/16 -f 87/29/16 85/32/16 86/31/16 88/30/16 +f 7/1 8/2 6/3 5/4 +f 11/5 12/6 10/7 9/8 +f 15/9 16/10 14/11 13/12 +f 19/13 20/14 18/15 17/16 +f 23/17 24/18 22/19 21/20 +f 27/21 28/22 26/23 25/24 +f 31/25 32/26 30/27 29/28 +f 35/29 36/30 34/31 33/32 +f 37/33 38/34 39/35 40/36 +f 3/37 38/38 37/39 4/40 +f 1/41 40/42 39/43 2/44 +f 3/34 4/33 1/45 2/46 +f 41/47 42/48 43/49 44/50 +f 46/51 53/52 51/53 47/54 +f 41/55 44/50 47/54 51/56 +f 41/50 51/54 55/57 56/58 +f 41/50 56/58 54/59 42/49 +f 51/54 53/51 52/60 55/57 +f 52/60 53/51 42/49 54/59 +f 42/61 53/62 46/51 43/49 +f 44/50 43/49 49/59 50/58 +f 48/57 47/54 44/50 50/58 +f 43/49 46/51 45/60 49/59 +f 45/60 46/51 47/54 48/57 +f 50/63 49/64 54/65 56/66 +f 45/67 48/68 55/69 52/70 +f 48/71 50/72 56/73 55/74 +f 54/75 49/76 45/77 52/78 +f 59/1 57/4 58/3 60/2 +f 63/5 61/8 62/7 64/6 +f 67/9 65/12 66/11 68/10 +f 71/13 69/16 70/15 72/14 +f 75/17 73/20 74/19 76/18 +f 79/21 77/24 78/23 80/22 +f 83/25 81/28 82/27 84/26 +f 87/29 85/32 86/31 88/30 diff --git a/homedecor/office.lua b/homedecor/office.lua index 24fe30e4..b28c3a30 100644 --- a/homedecor/office.lua +++ b/homedecor/office.lua @@ -1,7 +1,8 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext homedecor.register("filing_cabinet", { - description = S("Filing Cabinet"), + description = S("Filing cabinet"), mesh = "homedecor_filing_cabinet.obj", tiles = { homedecor.plain_wood, @@ -27,7 +28,7 @@ homedecor.register("desk", { tiles = { homedecor.plain_wood, "homedecor_desk_drawers.png", - "homedecor_generic_metal_black.png", + { name = "homedecor_generic_metal.png", color = homedecor.color_black } }, inventory_image = "homedecor_desk_inv.png", selection_box = desk_cbox, @@ -52,13 +53,13 @@ homedecor.register("desk_globe", { mesh = "homedecor_desk_globe.obj", tiles = { "homedecor_generic_wood_red.png", - "homedecor_generic_metal_black.png^[brighten", + { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }, "homedecor_earth.png" }, inventory_image = "homedecor_desk_globe_inv.png", selection_box = globe_cbox, collision_box = globe_cbox, - groups = {choppy=2}, + groups = {choppy=2, oddly_breakable_by_hand=2}, walkable = false, sounds = default.node_sound_wood_defaults(), }) diff --git a/homedecor/roofing.lua b/homedecor/roofing.lua index df06bd9b..1299fcb6 100644 --- a/homedecor/roofing.lua +++ b/homedecor/roofing.lua @@ -1,4 +1,7 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end minetest.register_node("homedecor:skylight", { description = S("Glass Skylight"), @@ -25,9 +28,9 @@ minetest.register_node("homedecor:skylight_frosted", { selection_box = homedecor.nodebox.slab_y(0.1), }) -for _, s in pairs({"asphalt", "terracotta", "wood"}) do +for _, s in pairs({ N_("asphalt"), N_("terracotta"), N_("wood") }) do minetest.register_node("homedecor:shingles_"..s, { - description = S("Shingles ("..s..")"), + description = S("Shingles (@1)", S(s)), drawtype = "raillike", tiles = { "homedecor_shingles_"..s..".png" }, wield_image = "homedecor_shingles_"..s..".png", @@ -81,7 +84,7 @@ homedecor.register_outer_corner = function(modname, subname, groups, slope_image end minetest.register_node(modname..":shingle_outer_corner_" .. subname, { - description = S(description.. " (outer corner)"), + description = S("@1 (outer corner)", description), drawtype = "mesh", mesh = "homedecor_slope_outer_corner.obj", tiles = tiles, @@ -103,7 +106,7 @@ homedecor.register_inner_corner = function(modname, subname, groups, slope_image end minetest.register_node(modname..":shingle_inner_corner_" .. subname, { - description = S(description.. " (inner corner)"), + description = S("@1 (inner corner)", description), drawtype = "mesh", mesh = "homedecor_slope_inner_corner.obj", tiles = tiles, @@ -124,7 +127,7 @@ homedecor.register_slope = function(modname, subname, recipeitem, groups, slope_ end minetest.register_node(modname..":shingle_side_" .. subname, { - description = S(description), + description = description, drawtype = "mesh", mesh = "homedecor_slope.obj", tiles = tiles, @@ -259,19 +262,19 @@ end homedecor.register_roof("homedecor", "wood", { snappy = 3 }, { "homedecor_shingles_wood.png" }, - "Wood Shingles" + S("Wood Shingles") ) homedecor.register_roof("homedecor", "asphalt", { snappy = 3 }, { "homedecor_shingles_asphalt.png" }, - "Asphalt Shingles" + S("Asphalt Shingles") ) homedecor.register_roof("homedecor", "terracotta", { snappy = 3 }, { "homedecor_shingles_terracotta.png" }, - "Terracotta Shingles" + S("Terracotta Shingles") ) -- register just the slopes @@ -280,33 +283,33 @@ homedecor.register_slope("homedecor", "wood", "homedecor:shingles_wood", { snappy = 3 }, { "homedecor_shingles_wood.png" }, - "Wood Shingles" + S("Wood Shingles") ) homedecor.register_slope("homedecor", "asphalt", "homedecor:shingles_asphalt", { snappy = 3 }, { "homedecor_shingles_asphalt.png" }, - "Asphalt Shingles" + S("Asphalt Shingles") ) homedecor.register_slope("homedecor", "terracotta", "homedecor:shingles_terracotta", { snappy = 3 }, { "homedecor_shingles_terracotta.png" }, - "Terracotta Shingles" + S("Terracotta Shingles") ) homedecor.register_slope("homedecor", "glass", "homedecor:shingles_glass", { snappy = 3 }, { "homedecor_shingles_glass.png", "homedecor_shingles_wood.png" }, - "Glass Shingles" + S("Glass Shingles") ) homedecor.register("chimney", { - description = "Chimney", + description = S("Chimney"), mesh = "homedecor_chimney.obj", tiles = { "homedecor_chimney_tb.png", diff --git a/homedecor/shutters.lua b/homedecor/shutters.lua index 05a359fc..733632bb 100644 --- a/homedecor/shutters.lua +++ b/homedecor/shutters.lua @@ -1,19 +1,18 @@ -- Various kinds of window shutters -local S = homedecor.gettext +local S = homedecor_i18n.gettext local shutters = { - {"oak", "Unpainted oak", "#bf8a51:200" }, - {"mahogany", "Mahogany", "#822606:200" }, - {"red", "Red", "#d00000:150" }, - {"yellow", "Yellow", "#ffff00:150" }, - {"forest_green", "Forest green", "#006000:150" }, - {"light_blue", "Light blue", "#1963c7:150" }, - {"violet", "Violet", "#6000ff:150" }, - {"black", "Black", "#000000:200" }, - {"dark_grey", "Dark grey", "#202020:200" }, - {"grey", "Grey", "#c0c0c0:150" }, - {"white", "White", "#ffffff:150" }, + "mahogany", + "red", + "yellow", + "forest_green", + "light_blue", + "violet", + "black", + "dark_grey", + "grey", + "white", } local shutter_cbox = { @@ -23,30 +22,85 @@ local shutter_cbox = { wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 } } -for i in ipairs(shutters) do - local name = shutters[i][1] - local desc = shutters[i][2] - local hue = shutters[i][3] +local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150" - local tile = "homedecor_window_shutter.png^[colorize:"..hue - local inv = "homedecor_window_shutter_inv.png^[colorize:"..hue +homedecor.register("shutter", { + mesh = "homedecor_window_shutter.obj", + tiles = { + { name = "homedecor_window_shutter.png", color = 0xffa87034 } + }, + description = S("Wooden Shutter"), + inventory_image = inv, + wield_image = inv, + paramtype2 = "wallmounted", + groups = { snappy = 3 }, + sounds = default.node_sound_wood_defaults(), + selection_box = shutter_cbox, + node_box = shutter_cbox, + after_place_node = homedecor.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:shutter_colored", "wallmounted") + end +}) - homedecor.register("shutter_"..name, { - mesh = "homedecor_window_shutter.obj", - tiles = { tile }, - description = S("Wooden Shutter ("..desc..")"), - inventory_image = inv, - wield_image = inv, - paramtype2 = "wallmounted", - groups = { snappy = 3 }, - sounds = default.node_sound_wood_defaults(), - selection_box = shutter_cbox, - node_box = shutter_cbox, - -- collision_box doesn't accept type="wallmounted", but node_box - -- does. Said nodeboxes create a custom collision box but are - -- invisible themselves because drawtype="mesh". - }) -end +homedecor.register("shutter_colored", { + mesh = "homedecor_window_shutter.obj", + tiles = { "homedecor_window_shutter.png" }, + description = S("Wooden Shutter"), + inventory_image = "homedecor_window_shutter_inv.png", + wield_image = "homedecor_window_shutter_inv.png", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + groups = { snappy = 3 , not_in_creative_inventory = 1}, + sounds = default.node_sound_wood_defaults(), + selection_box = shutter_cbox, + node_box = shutter_cbox, + after_place_node = homedecor.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:shutter_colored", "wallmounted") + end, + drop = "homedecor:shutter" +}) minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet") +minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter") +-- convert to param2 coloring + +homedecor.old_shutter_nodes = {} + +for _, color in ipairs(shutters) do + table.insert(homedecor.old_shutter_nodes, "homedecor:shutter_"..color) +end + +minetest.register_lbm({ + name = "homedecor:convert_shutters", + label = "Convert shutter static nodes to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_shutter_nodes, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_") + 1) + + if color == "mahogany" then + color = "dark_red" + elseif color == "forest_green" then + color = "dark_green" + elseif color == "light_blue" then + color = "medium_cyan" + elseif color == "red" then + color = "medium_red" + end + + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local param2 = paletteidx + node.param2 + + minetest.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) diff --git a/homedecor/tables.lua b/homedecor/tables.lua index 9910cec3..d0aa812e 100644 --- a/homedecor/tables.lua +++ b/homedecor/tables.lua @@ -1,10 +1,19 @@ + +local S = homedecor_i18n.gettext + -- Various kinds of tables -local S = homedecor.gettext - local materials = { - {"glass","Glass"}, - {"wood","Wood"} + { "glass", + S("Small square glass table"), + S("Small round glass table"), + S("Large glass table piece"), + }, + { "wood", + S("Small square wooden table"), + S("Small round wooden table"), + S("Large wooden table piece"), + } } local tables_cbox = { @@ -12,10 +21,9 @@ local tables_cbox = { fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 }, } -for i in ipairs(materials) do - local m = materials[i][1] - local d = materials[i][2] - local s = nil +for i, mat in ipairs(materials) do + local m, small_s, small_r, large = unpack(mat) + local s if m == "glass" then s = default.node_sound_glass_defaults() @@ -26,7 +34,7 @@ for i in ipairs(materials) do -- small square tables homedecor.register(m.."_table_small_square", { - description = S(d.." Table (Small, Square)"), + description = small_s, mesh = "homedecor_table_small_square.obj", tiles = { 'homedecor_'..m..'_table_small_square.png' }, wield_image = 'homedecor_'..m..'_table_small_square_inv.png', @@ -41,7 +49,7 @@ for i in ipairs(materials) do -- small round tables homedecor.register(m..'_table_small_round', { - description = S(d.." Table (Small, Round)"), + description = small_r, mesh = "homedecor_table_small_round.obj", tiles = { "homedecor_"..m.."_table_small_round.png" }, wield_image = 'homedecor_'..m..'_table_small_round_inv.png', @@ -56,7 +64,7 @@ for i in ipairs(materials) do -- Large square table pieces homedecor.register(m..'_table_large', { - description = S(d.." Table Piece (large)"), + description = large, tiles = { 'homedecor_'..m..'_table_large_tb.png', 'homedecor_'..m..'_table_large_tb.png', @@ -154,15 +162,20 @@ homedecor.register("utility_table_top", { -- Various kinds of table legs -local materials = {"brass", "wrought_iron"} +-- local above +materials = { + { "brass", S("brass") }, + { "wrought_iron", S("wrought iron") }, +} for _, t in ipairs(materials) do -homedecor.register("table_legs_"..t, { - description = S("Table Legs ("..t..")"), +local name, desc = unpack(t) +homedecor.register("table_legs_"..name, { + description = S("Table Legs (@1)", desc), drawtype = "plantlike", - tiles = {"homedecor_table_legs_"..t..".png"}, - inventory_image = "homedecor_table_legs_"..t..".png", - wield_image = "homedecor_table_legs_"..t..".png", + tiles = {"homedecor_table_legs_"..name..".png"}, + inventory_image = "homedecor_table_legs_"..name..".png", + wield_image = "homedecor_table_legs_"..name..".png", walkable = false, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), diff --git a/homedecor/textures/homedecor_armchair_inv.png b/homedecor/textures/homedecor_armchair_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..41eb85dda8e8c5b4d7275d1607ad42ec6474b0bd GIT binary patch literal 6376 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 TGawlFg8{NKvos{uLmfB88ayVE9 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 JPDHLkV1g~*iJkxe diff --git a/homedecor/textures/homedecor_bed_kingsize_inv.png b/homedecor/textures/homedecor_bed_kingsize_inv.png index 5f8c93e9df9cdeedd3747f65ae65cf0e9767e09f..c454e77208d247c756d0d08aa0010835ce9be401 100644 GIT binary patch literal 6178 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 Af&c&j literal 5752 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 Brr7`h literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_curtain.png b/homedecor/textures/homedecor_curtain.png index 97ef90d06ad39d48b0bf52f176035da416f61769..4274d2b0fda00cd2069e4fab2c99cdc513a4d950 100644 GIT binary patch delta 279 zcmV+y0qFkG1E&Iz8Gi%-006c6H|hWY0PaadK~yNuEzd!2+b{q`(I<+cC>svCDT?0z zR5?I)OF8s>WS6OYL_&dP*u_31twMVKtwbNqfzz} z(fqc#sU`y^uT%41_a7~?RWtXKgV1nQy2aIag1hb}93D2!*3XjdawkL~NmjvtV8`9y dkAemN0a^NB3lR0`N)iA7002ovPDHLkV1nbMfWiO( delta 450 zcmZ3^bdh<2WIZzj1A~Sxe=v}05AX?boiu6ElqplDPMtb!+O+A@r_Y!%W9H16vu4ej zJ$v??IdkUDojY&dy!rFzFIcc(;lhQB7A;!5c=3`YOO`HOx@_69<;$0^Sg~T|%9X2D zty;Z$^_n$n)~;Q(_7CuwmoIjhi-Y+Pr!5mMvShZr!?V+qUi7x7Y93v18}X zox67J+P!=Co;`c^?%lg@-@ZeK4$XRZ{uj_qx+Ot=!8b_(o{mxXfEv$ux;TbNNU|P` z_H#DmVLkBUNTrjeQ-gre?|AX~H33uY@`~nKq_x%Cy*ghbUoUcceeKToM{2~Kr(9q2 zrrORTUhW9H^t7i^2`MM^R>+;z5dxDw=b$)R<(L}Z7#cUkl(4S z=l_<-HHud6{b_y3?)hrf7b-KZC@Ps2G$@sO_2l=1b_3289mKR)o&X+qep{R51C>6Vz$Avh1lrzW;A*bMYW=~ zM(8E2g<`e_nsJOj5wRgM3i1(rf)t?Da@)g#k;G zOOlm@#w4~lNLPmU(;d{u48>BX%4fqS$L}@)f^wCCy+JbT#Db_Yx+b0`3$==kSD6q4jF|0P#>i7&%wLN=l>r`6gN~{5ZrK& z3-G{S^xv3MiZObP-cCA!nVzcZ>KQki&1|>ZS-0D@R;y*J)yi1wbUNnlF`v(^*=$;) z(NHZ}uh%UI0&{7a+H^YArtkZ<*=%gRUaO!2poZdpzi*4hLVp0m;ZW%~yx;G&i3$pq z%jFII9@GFxO&rInNs`3I7!0ItyWQGkGPx<>FbZJk^?Cy0 z{}ljsvM376vP^36#UbZ%xoDGx^Z9JY>xBvhE diff --git a/homedecor/textures/homedecor_desk_lamp_inv.png b/homedecor/textures/homedecor_desk_lamp_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..18067580dae350f46619ffd459c444b3b532063d GIT binary patch literal 1370 zcmV-g1*Q6lP)m5L6H$3K|3w0vaf3Xb=?SkD%ct8jvEW zKp-BDICu{FIm%Gi?&Yk(b`Oafz&OpJBY`*KP z!Xg>M!9GSYo9#HGN`~NR@QdDY0y7F=sZhb;Iiq*f1T!6QDG?ctGGk;2ismyLlPx09 z2_JG11&b%c;|T=7qWB)XV-qF_H@yjhlA-O{1TvOrkZ@MF%n6s_Og3Y+kOGrAiCq@+}^YbxW(P%IS;DT^GE0V*)hbpn9| zhwbo)P8AGgDmYS797Fu710?X0%rb{ZD6atz@HO8xmWLNSj>@{pYQqFZxWw}^%OaH= zzMI77Ghd>JcDIyq>rmJ*fpK7*rzKm%`tV7X?8<;=YN3mmp|p;>nT^6vvxjLW=gOq3 zGQ($h*F=zZ+j5J=tx0%;1g5yb4lc9%v>OkkXcvVq)RPcnfUMo7IfxyE0_Pd!Dcq|g zQ}aRbU0LA$_>#nV@JSBbnXUxaFM(mEsBwac4`YV&Ijv+ttt>LjJeCZ9Evy1C+`py- zu6F{9oMV=e6IE9yGJ?$qSA^s3*+v}2?p6dtz_hin{pNxDsBsUl>xFvWX{GD&wlkEI zS8_=0`Xa28F*ZQp0z3Gbd%urNnR-_)k9kvAAmHENwenhhJ#e@5wH6#^9>+A3O#bRYQ4LBAUb~isFe$ay6tY?M&R# z%sqwSgVcco@6}755*p?{x{H6<$r33sJH`1X7GBO1AjNfE6&k@|4!b((En9 z1d5>qC^N+<0G^nX!2Y5Xuvij2=ZjIm64I1_k^RLGi1WjhAN{u&6O@oFR18+77zGp( z2>5bV41p@dih?Uhf%CY95@n1HMdg8Jy+MOi%&`IpdZK@bcATu={v-5A}1z)xy17+f2$PQXz`+y5$#z;F71 z44A+v4fzqf1#J-wKjwud$q(R`fG5gNi3252>#Au9U@(}Rkj)8X#4L3cC6hLX8n1AbrlihcIkiPG+QpyZ|LYOw96q*%p{U zI}S`f2ar5xwJz#XqV{dcqkV?s0?giTAypkc-HLW?%6#*;}(dR^vz_QecERi_o`|K!C7-}oO0r;Uhqt0OGFss zf|+G&_HEPI(Xw^}o6XhiV@=*Gt9AchlQg`!;B~@bp7dkAai?M*i literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_generic_plastic.png b/homedecor/textures/homedecor_generic_plastic.png new file mode 100644 index 0000000000000000000000000000000000000000..44cdc6ae4ea8e7f0a8b1a092cd7913e0e6a25283 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAR(iTPhDcmyJs6nfY{+wWWpf6TX`dflcok~vm#{c{*7XI=2Y8bT ZuiIN?6y!KDb-e^R-qY33Wt~$(69Bn)Sb_im literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_generic_wood_luxury.png b/homedecor/textures/homedecor_generic_wood_luxury.png index a03d17c97d6a2f1283b9cc0d7f91874a7665deee..3387c3bb77c0452b23a1468d78a9d51aca1738f5 100644 GIT binary patch delta 576 zcmV-G0>AyD3eE(O8Gir(0034IB`5#@0u@O_K~y-)HIhqiBu5a%7@y2)!I=BsaW*!f zvD8%=FTxAKdu|BQzF-z(f8MT+*LrF#Z=m1nuT|umi36%wEa(l5vxxQm@L)Go(;C9+ z=5_TC0d$dRUkhSXLS5Y#VNAQ>%~)EV;k2)YFy?-Tvf9?Qn163^hy9-E+%#)b9XeE~ zm6?uIW}ofws6FgTOE}LN)e!g&Z+mWUB$4616BtIER*x;nzt;l>HqH*FPB&@hv^HJ2 zd^1(>?VD{(e?3}j8y`WoKfJ4%qq*}o9C=ZLM#>sS3oj(EDidJ z@Ro3F(k9qzyeVBCE%9}2*#r81k_W^gCRug{a&<^ds_X@-Q?XO4c!!a=;Fp4Rg z_PjojJ)Ck`-V7XrG*-JzwIh-Q{F6vAXYdaRyZP7IU-jzA6GUVS2rJ5I3HIyAy_sbST`P6I3QR#AXqsfSUMtEHXm6y zA6YpcSvezFIwM&-BU(5hS~(zEIv`p)B3n2gTRI_IJ0V*;BY#^wBV0KkTsb0KJ0e^> zB3(HjT{$6LIw4&;BV9ZpT|6UQJtJN^AYM8mUOOUQJRn{@B40WoUppaRJR@H{Az(Wo zU^^mUJR)E{AYeWsVLTyWJtJX0Az?owVmu&XJR)K}B4R%xV?7~bJtJd2A!9xxV?QBd zKqF*4B4j-vWPd&&WIiHfKO|&8B4s}zWj`ZjKqF;ABW6D$WCA!$J&X+a}tLL+KGBx*t=YC|MzKp|^DBWpq-YeFMyLnCZL zBy2+@Y(yk&LL+TLC2d0`ZA2q(LL_cOByL3{Z$l$*M1Li3MI&!UC2&S0aYQ3=MI~}Y zByvY2b4Dd|NF{VeBy>n5bx9?4Oec3rC3#CFc}ypHO(lCzCuY!9f&c&mIY~r8R2Ufr z!CP+IMi>UrZ-)PnLsBF~QM43Wj*}n-3MA-Tm(U&bwU6CL*VR=NXpk02>ois*UqV^D z4llzYdw&l51#C*t$v>sYTQe#B-DS3ZU_jDX}m;q(xzQP7j*FXzNG29m) z&nQRstJAmIluBEUmmT%nYmKS)2(VC{kgRAX@}a`K7Mtymnpj3Bz^m((#@K^uXy`ngMW6q4AJVKI+%)2rzVcJA&Rng*w3va z%sx|FSM0n+z{V`UYnoj5ffv452~F#a4chUceWzy;CwsSfJ2mWa$fmY62K0OK2yo1; zZ(D0=>GG*lh{U2xv)+e#wBE@e@>*4?yF(YSp&!~0e||jZ0W&lGCr#{Cl#J_%Pi@tP z+kc2aR(>bW?)sse95isORGp0p-8hswjXW#RvvjVnxTQwI=y5PVbr;T3S^?UQ0Yq|K zEPAznL|&Be1}n7$@sYER``)~O8Q92_R`ublhOn15TdxB-3m_IOh>T^%xmQk8s-ZzK z7ow)dyVxp}s5i?fU~C5TAdGH~=ewq!s(%%|JLthUY2Dp@aDSu`?Bu~`8Yn0XuC{`{ zmmnt|=rT>em+d`r7jb#tfk;_Hm&8#x@urrC#w^-0U8wtog z0Q21WWP(X;(R9x^x97sItW@~>%3MURQ_g#qi$G1?xsn9(q)oYIKiyZ+l=X4E@qbFS z?;Xplp8fZB#kWhCDyZ0R&+6Y(Q=G`PZ#I`ecktrw@T7uRu4TFe(Q36Dt3Ds@$7#%g zWanoH1|K|~JsKr-_eU-qvFKhFg+lo7`5PJ^7})f5<9jsHvG}rA{tvFjTeO+5@e+el z4QuLS_IBeKN*2*~q7c#E41nTr;D6dLl~?h)zOZM`X#o6na?;f2E2IX^DebXcCg#lD zr4NT1M3H03zbfGK%v!|5x5Vpm3S!ykxdl3tf`^WwoR QdH?_b07*qoM6N<$g1i?g-T(jq diff --git a/homedecor/textures/homedecor_generic_wood_plain.png b/homedecor/textures/homedecor_generic_wood_plain.png index 4df1e39c34173edf8032e59a53a96df4e36b9f22..04d3a91316b32d1b8e253aec4c86bd56e6466e0b 100644 GIT binary patch delta 277 zcmV+w0qXwU1f>Fy8Gir(0026epuGS90PIObK~xyi1;H^+!!Q&8P=EWoNu3Zkm5^F4 zz{bK6xGF1LfQ11j2Ce`D6-dykbsQ)C_W!&GCqbzFqp|@lJl4j*ZrNBWA{bw9YfK93GgS*U=YZxSC51Tn{m*J$GadqoJ^?)JYmZ0e zTp5xFB6z==scfFFyDpbVrAEK2{QMEO^jlP$<*b8~o$0&pFEH`5xm>{g;Cc$uG=FRf b*ZLm}1%XR8^bRD@00000NkvXXu0mjf8Mt;6 delta 591 zcmV-V0J5!ZP zPLZSLeEChv<7IjiDT)Mvyl4LT`>z3H5fM?)S&M?M9y-rqw4GZsDhx!Z0_dHgM;@oQ z7vaGGeQ$jTT0m>I?@t+WIz>0ltz^(KL`GFg$#LU;9HI)MqJJ(6%T*M$RTr%Gqi&i$y{f47lZ|P5dgj5~qiXM{qJNh1KJwNn;Qs#aV-9vbpN(^u z@2drkDfl_1mmlSE|8*(rIy+-hiU$ilF83e5J-6O!zUh#c*K=dN-^wBy=XptnSYj z^7X4+KS*yD*`ld?`*^>_=uR)s-T`{=KZ|D*&wu=hF67)kKDH3d`S&;8%TaO&*2VDH dm{6Ce<$vG!da_Pzopr03~!YI{*Lx literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_glowlight_cube_sides_ceiling.png b/homedecor/textures/homedecor_glowlight_cube_sides_ceiling.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2fb3df9f931b45a736b642ade060ce65b32697 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAf;?RuLnJQmJ#$d-uz~=~LAwJ- z9{f2R%u&F!zelw3`^`}6jfG#ujGjyLR@H|Ve`viXU3)iRL5NE)bG5bh1|jY1nP+ae mp0hEy)|ZpP(P{ z^Z)XjKbX0jj`mim%X-e>{rbr2S>et1Y#Jo`d#y}8q5Fh_cNBJ VS<2+FtM`H2;pyt`X~KkEPh literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_glowlight_thin_sides.png b/homedecor/textures/homedecor_glowlight_thin_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1dd69ea1f9e42d4a86e4c86f93cb4afe6db21c GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA0z6$DLnJOA?cd0I*g@d1#=|m? zZ}ZQ6VB45@@-DNzW5gz;S^G{~t&0HFwYDth4gfc^0#*a{}4n>FVdQ&MBb@04mon5&!@I literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_glowlight_top.png b/homedecor/textures/homedecor_glowlight_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3a06edb77ceb349760bf5812317877b1d741aed2 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAay(reLnJQe_B-+&G7w-+m-T+i z`saV)UzZ893mld%Ov;ywjN7fYKfUbsw1%GR6;k#&+nZi$NZgKQoFbjz$9skC(7OC2 z$%WhgWN=(%;<}slhdKGJmEhxu1C1Vfr+JiKs?W5Y!D1Kvg0pn~f3_Q(N*;S|Zm|K` N@9FC2vd$@?2>>-{JI4S3 literal 0 HcmV?d00001 diff --git a/homedecor/textures/homedecor_marble.png b/homedecor/textures/homedecor_marble.png index 9aca475f667bea19892a9698c94304b732324958..b8b6dd3fea7aa2133469f731ce66a74b4558fbf0 100644 GIT binary patch delta 216 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 HEFYGB)*Q&8LN_ikb;UPVf;9w7a5aOf# zfS`{!w3*mmQM}}`{6W#u#oCKTU1Qonk#6B4ks*Z2PY9+sY4M@GaE^V8$3K z&yL?$aoLdjtOfiUA*ApJ^cBt~t|yE?I1c*Q6s4Iw7J{A3=4EWZv%e=eo|JZ7`MUgF zZnC^YN$EST>f@>SQ}I*vH3$5$<+z4JGo!MBG`F9zQ;dch&fU(}P{G;Sg9$gM`_ z8x{4x=9>h_bLl4$cn$*}h!UrZn0LU~BW4(3JTh7e*5#JFQ(5Af%GaK&c_zNRWVUxL z2@@NcNB6B#_gK$~2Uy}5X&(d7I4a`}k-kHt(Y?B0&f}boK=Xr73c&(S1E2|)HV(8Q zXZa&Y5+g0zaF4R?jZO+JQ9mPxMUchLe>c^4p2gR_);{_Ij>SCrjN0ZkO5xr_+u+{| zGem)bk;U!s$O5+?a{G^YAn;cs(xTYmZ$=YgA|)tc!F2gZ@r=TY)Gx@&00t+i7Z04( zc^T)bcO8^KGM1k^J&}?z!&%H4419+^TwMBb+9uNbv3cT0CTTANiV|QK-ou$MnMP71 zD8xL23I!xi92?_VlU5}(-X8v8|(A( zClB5f=RHb4D+_$U$6!5e6rcA_K)#~*z~9b3a>N*dW!NIA<+0}P3hE0k7C)s21D{&) zc;}sMkE!`Qs~n{PpVL@Xy}7KxdsrH1h3CaSa7a+}u`c{DT!@9HngB_*at`s|^u5kB zb4ZF#AW9)&EF(+W*Q3IV3j%>#oqdcUh#=vgnwj7GbmpX3d0?~-D2Xph#c3sVVH}Ym zou2q;)s~$s7#vW33W19;fB=&yVk~#lN5^~Z_YCdPlXdI^IuH~hNf=#*c=iV&6A1eLNc7y_O0d{44^e(T78hIB}xP zqn>?)vDR<9Bat-5xS?)(DI`D%g@zXRTKQG-tf&axoZaVF67&LoK+F=i<=$yK-d1Wv zzhwud0U4vU_x&rUv5uKM@L48=hX9u?#HeE|#Xy7?$ugJUQu>rU$&6@{R1!p!B7^6n zWI&--b^pRU+Bs7d6N_L1Jf@aLrbd4dj#}(A-q_tZ`U-wH*ouCt0&pe|JYA2TJp@i)i-;Ea-018VjBMnle48${1HuL-iY57YIPAq8 zzr$#0UvT#ik?j3j1pdHj7RSupv7{uVz;fDp)vP)w4i+2}i9EPdziApp|%(*_HtF_@ega%j5f z-kkka+|O4~bVit4Wz<32ojw}hn^xfW8%`(~qZN?_Q#fJ!^NebIiT6xUo@%YT*e>d;pO;2>{ zl+laV0@(p?e0o3dQ7i_Y0CHpp>A>A|P>Dx^o=Y;6{n4D0E!fN+e+kX+OPmA=g;bRcIGoxryV@3DJq{GB&9l^rH!p@J%A_+CL4k#1D}m6 zfZvhjtW~UfYB66G^IY>?zsVmdBqla_&l`L}!Dlxl|5q#nE@l~pSNEKwW<#MWFf60l zSiiTaD$JYgfPa1n4ln1hjEgzzu6K{-`|=%Ax+1MosPq?k^AonAe-W0k41n+Q+?{`U z|2hBXxhpP$TK->g12+KhmlK}-!(Gq7cR%I4{{g?}1|>Q=3a|hG002ovPDHLkV1g-4 BP%8ic literal 4871 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. + +-- Get the latest version of this file at: +-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua + +local function format(str, ...) + local args = { ... } + local function repl(escape, open, num, close) + if escape == "" then + local replacement = tostring(args[tonumber(num)]) + if open == "" then + replacement = replacement..close + end + return replacement + else + return "@"..open..num..close + end + end + return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) +end + +local gettext, ngettext +if minetest.get_modpath("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + gettext, ngettext = intllib.make_gettext_pair() + else + -- Old method using text files. + gettext = intllib.Getter() + end +end + +-- Fill in missing functions. + +gettext = gettext or function(msgid, ...) + return format(msgid, ...) +end + +ngettext = ngettext or function(msgid, msgid_plural, n, ...) + return format(n==1 and msgid or msgid_plural, ...) +end + +return gettext, ngettext diff --git a/homedecor_i18n/locale/de.po b/homedecor_i18n/locale/de.po new file mode 100644 index 00000000..ad927d06 --- /dev/null +++ b/homedecor_i18n/locale/de.po @@ -0,0 +1,1773 @@ +# German translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Xanthin \n" +"Language-Team: German\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Grass slab" +msgstr "Messingstange" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +#, fuzzy +msgid "Lava Lamp" +msgstr "Tischlampe" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic sheet" +msgstr "Kunststoffplatte" + +#: ../computer/miscitems.lua +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Unverarbeitetes Plastik" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +#, fuzzy +msgid "Not enough vertical space to place a server!" +msgstr "" +"Es gibt nicht genug Raum ueber dieser Stelle um den Kuehlschrank zu " +"platzieren!" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (wrought iron)" +msgstr "Schmiedeeiserne Stange" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (wrought iron)" +msgstr "Schmiedeeiserne Stange" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame (owned by @1)" +msgstr "%s (gehoert %s)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Pedestal (owned by @1)" +msgstr "%s (gehoert %s)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +#, fuzzy +msgid "Loaded!" +msgstr "Geladen!" + +#: ../lrfurn/armchairs.lua +#, fuzzy +msgid "Armchair" +msgstr "Sessel (%s)" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +#, fuzzy +msgid "End Table" +msgstr "Tisch" + +#: ../lrfurn/coffeetable.lua +#, fuzzy +msgid "Coffee Table" +msgstr "Tisch" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "schwarz" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "blau" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#, fuzzy +msgid "dark grey" +msgstr "dunkelgruen" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +#, fuzzy +msgid "dark green" +msgstr "dunkelgruen" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +#, fuzzy +msgid "green" +msgstr "gruen" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rot" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "violett" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#, fuzzy +msgid "white" +msgstr "weiss" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Eichenachttisch mit einer Schublade" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Nachttisch mit einer Schublade" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Eichenachttisch mit zwei Schubladen" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Nachttisch mit zwei Schubladen" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Kuechenschrank" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Kuechenschrank" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Halbhoher Kuechenschrank (haengend)" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Unterschrank mit Spuele" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Unterschrank" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Bars" +msgstr "Gitterstaebe" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Binding Bars" +msgstr "Eckverbindung fuer Gitterstaebe" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Chains" +msgstr "Ketten" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Torch" +msgstr "Wandfackel" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Lamp" +msgstr "Tischlampe" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Kuehlschrank" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator" +msgstr "Kuehlschrank" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Oven" +msgstr "Herd" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Microwave Oven" +msgstr "Mikrowelle" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight" +msgstr "Glasdachfenster" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Milchglasdachfenster" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +#, fuzzy +msgid "terracotta" +msgstr "Terrakottaschindeln" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Shingles (@1)" +msgstr "Holzschindeln" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Holzschindeln (Aussenecke)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Holzschindeln (Innenecke)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Wood Shingles" +msgstr "Holzschindeln" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Asphaltschindeln" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Terrakottaschindeln" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Shingles" +msgstr "Asphaltschindeln" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Weisse Gluehlampe (dick)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtains" +msgstr "Vorhaenge (%s)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +#, fuzzy +msgid "wrought iron" +msgstr "Schmiedeeiserne Stange" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Vorhaenge (%s)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Ungebrannte Terrakotta" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Terrakottadachziegel" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Unverarbeitetes Plastik" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic strips" +msgstr "Kunststoffplatte" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Kleiner Holzschubkasten" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Einfacher integrierter Schaltkreis" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass chainlink" +msgstr "Messingzaun/Gelaender" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Silicon lump" +msgstr "Silikonklumpen" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass Ingot" +msgstr "Messingbarren" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Flower Pot" +msgstr "Schwarzer Plastikblumentopf" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Grosser Lautsprecher" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Grosser Lautsprecher" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Stereo Receiver" +msgstr "Stereoanlage" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Projection Screen Material" +msgstr "Projektorleinwand" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small CRT Television" +msgstr "Kleiner Roehrenfernseher" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thick Glowlight" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thin Glowlight" +msgstr "Weisse Gluehlampe (duenn)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Small Glowlight Cube" +msgstr "Gelbe Gluehlampe (kleiner Wuerfel)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Wall sconce" +msgstr "Wandfackel" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Table Lamp" +msgstr "Tischlampe" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Messingzaun/Gelaender" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Messingzaun/Gelaender mit Schild" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Unlackierter Lattenenzaun" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Unlackierte Lattenenzaunecke" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence" +msgstr "Weisser Lattenzaun" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Weisse Lattenzaunecke" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Sichtschutzzaun aus Holz" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Sichtschutzzaunecke aus Holz" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Stacheldrahtzaun" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Stacheldrahtzaunecke" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence" +msgstr "Maschendrahtzaun" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Maschendrahtzaunecke" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "light blue" +msgstr "rechts" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Holzjalousie (rot)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "Deck Chair" +msgstr "Stuhl" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "white wood" +msgstr "weiss" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet" +msgstr "Toilette" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet paper" +msgstr "Toilette" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Tray" +msgstr "Duschtasse" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Head" +msgstr "Duschbrause" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua +#, fuzzy +msgid "Air Conditioner" +msgstr "Klimaanlage" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Wandschranktuer aus Mahagoni" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Wandschranktuer aus Eiche" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Schicke Holz/Glastuer" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Glasbuerotuer" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Glas-Holz-Tuer, eichefarben" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Glas-Holz-Tuer, mahagonifarben" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Glas-Holz-Tuer, weiss" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Einfache Holztuer" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Schmiedeeiserner Zaun/Gelaender" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "left" +msgstr "links" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "right" +msgstr "rechts" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Unlackiertes Lattenzauntor" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Weisses Lattenzauntor" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Stacheldrahtzauntor" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Maschendrahtzauntor" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Deckenfarbe (Raufaser)" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Deckenplatte" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Viola" +msgstr "violett" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Brass Pole" +msgstr "Messingstange" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Schmiedeeiserne Stange" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Pool Table" +msgstr "Tisch" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round glass table" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small square wooden table" +msgstr "Kleiner Holzschubkasten" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round wooden table" +msgstr "Kleiner Lautsprecher" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Utility Table" +msgstr "Arbeitsplatte" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Messingtischbeine" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Tischbeine fuer Arbeitsplatte" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Table" +msgstr "Tisch" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Mahogany Table" +msgstr "Wandschranktuer aus Mahagoni" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "White Table" +msgstr "Arbeitsplatte" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Kuechenschrank" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Armchair (@1)" +msgstr "Sessel (%s)" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s bewegt etwas im Nachttisch" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (gehoert %s)" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s versuchte Zugang zu %s von %s zu bekommen bei %s" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (verschlossen)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (active: @2%)" +msgstr "%s ist aktiv: %d%%" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (out of fuel)" +msgstr ": kein Brennmaterial vorhanden" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (output bins are full)" +msgstr ": Produktfelder sind voll" + +#: ../homedecor/office.lua +#, fuzzy +msgid "Filing cabinet" +msgstr "Unterschrank" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/grey" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/red" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/blue" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/tan" +msgstr "weiss" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "Medicine cabinet" +msgstr "Unterschrank" + +#, fuzzy +#~ msgid "dark_grey" +#~ msgstr "dunkelgruen" + +#, fuzzy +#~ msgid "dark_green" +#~ msgstr "dunkelgruen" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s bewegt etwas im Kuechenschrank bei %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s legt etwas in den Kuechenschrank bei %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s nimmt etwas aus dem Kuechenschrank bei %s" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "" +#~ "Es gibt nicht genug Raum ueber dieser Stelle um die Tuer zu platzieren!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Eimer mit weisser Farbe" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Tischbeine fuer kleinen Arbeitsplatte" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Titandioxid" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Schmiedeeiserner Zaun/Gelaender mit Schild" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "Moechte einfach den getragenen Gegenstand wie gewohnt platzieren." + +#~ msgid "Red " +#~ msgstr "rot" + +#~ msgid "Pink " +#~ msgstr "rosa" + +#~ msgid "Blue " +#~ msgstr "blau" + +#~ msgid "Sink " +#~ msgstr "Waschbecken" + +#~ msgid "Taps " +#~ msgstr "Wasserhahn" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Asphaltschindeln (Aussenecke)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Asphaltschindeln (Innenecke)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Schmiedeeiserne Tischbeine" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Glastischplatte (klein, rund)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Glastischplatte (klein, quadratisch)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Glastischplatte (gross)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Gruener Plastikblumentopf" + +#~ msgid "Large Area Rug " +#~ msgstr "Grosser Teppich" + +#~ msgid "Small Throw Rug " +#~ msgstr "Kleiner Teppich" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Terrakottablumentopf" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Terrakottaschindeln (Aussenecke)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Terrakottaschindeln (Innenecke)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Arbeitsplatte Modell 2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Holzjalousie (schwarz)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Holzjalousie (dunkelgrau)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Holzjalousie (waldgruen)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Holzjalousie (grau)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Holzjalousie (hellblau)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Holzjalousie (violett)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Holzjalousie (mahagoni)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Holzjalousie (eiche)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Holzjalousie (weiss)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Holzjalousie (gelb)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Holztischplatte (gross)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Holztischplatte (klein, rund)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Holztischplatte (klein, quadratisch)" + +#~ msgid "someone " +#~ msgstr "jemand" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Tut mir leid, %s gehoert diese Stelle." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Weisse Gluehlampe (kleiner Wuerfel)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Weisse Gluehlampe (kleiner Wuerfel, an der Decke)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Weisse Gluehlampe (dick, an der Wand)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Weisse Gluehlampe (duenn, an der Wand)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Gelbe Gluehlampe (kleiner Wuerfel, an der Decke)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Gelbe Gluehlampe (dick)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Gelbe Gluehlampe (dick, an der Wand)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Gelbe Gluehlampe (duenn)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Gelbe Gluehlampe (duenn, an der Wand)" + +#~ msgid "Locked Fridge " +#~ msgstr "Verschlossener Kuehlschrank" + +#~ msgid "Locked Cabinet " +#~ msgstr "Verschlossener Schrank" + +#~ msgid "Locked Nightstand " +#~ msgstr "Verschlossener Nachttisch" + +#~ msgid "Locked Oven " +#~ msgstr "Verschlossener Herd" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Verschlossener Herd (aktiv)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Verschlossene Mikrowelle" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Verschlossene Mikrowelle (aktiv)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Mahagoninachttisch mit einer Schublade" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Mahagoninachttisch mit zwei Schubladen" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s legt etwas in den Nachttisch" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s nimmt etwas aus dem Nachttisch" + +#~ msgid "%s is empty " +#~ msgstr "%s ist leer" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s bewegt etwas im Kuehlschrank bei %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s legt etwas in den Kuehlschrank bei %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s nimmt etwas aus dem Kuehlschrank bei %s" diff --git a/homedecor_i18n/locale/es.po b/homedecor_i18n/locale/es.po new file mode 100644 index 00000000..5c52b50c --- /dev/null +++ b/homedecor_i18n/locale/es.po @@ -0,0 +1,1420 @@ +# Spanish translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-24 20:24-0300\n" +"Last-Translator: Diego Martínez \n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "Adobe" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "Bloque de techo" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "Vídrio sin rayas" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "Reja" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "Chimenea" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "Vídrio enmarcado en madera" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "Toalla" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "Mezcla de asfalto" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "Azulejos de ajedrez" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "Mezcla de Ladroquines" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "Mezcla de gravilla" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "Madera dura" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "Escaleras de mármol" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "Losa de mármol" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "Escaleras de madera dura" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "Losa de madera dura" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "Escaleras de hierba" + +#: ../building_blocks/init.lua +msgid "Grass slab" +msgstr "Losa de hierba" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "Escaleras de alquitrán" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "Losa de alquitrán" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "Escaleras de rejas" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "Losa de rejas" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "Escaleras de adobe" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "Losa de adobe" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "Escaleras de techo" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "Losa de techo" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "Hierba falsa" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "Manojo de palitos" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "Base de alquitrán" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "Alquitrán" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "Mármol" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "Cuchillo de alquitrán" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "Granito" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "Buzón" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "Buzón de @1" + +#: ../lavalamp/init.lua +msgid "Lava Lamp" +msgstr "Lámpara de lava" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "Lámpara de lava (apagada)" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +msgid "Plastic sheet" +msgstr "Placa de plástico" + +#: ../computer/miscitems.lua +msgid "Unprocessed Plastic base" +msgstr "Base de plástico sin procesar" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "Monitor y teclado" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "Enrutador WIFI" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "Torre de ordenador" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "Impresora y escáner combinados" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "Servidor en rack" + +#: ../computer/computers.lua +msgid "Not enough vertical space to place a server!" +msgstr "¡No hay suficiente espacio para colocar un servidor!" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "Juego Nuevo" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "Arcade Tetris" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "¡No hay lugar para colocar el arcade!" + +#: ../chains/init.lua +msgid "Hanging chain (wrought iron)" +msgstr "Cadena colgante (hierro forjado)" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "Cadena colgante (latón)" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "Cadena colgante (montada en techo, hierro forjado)" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "Cadena colgante (montada en techo, latón)" + +#: ../chains/init.lua +msgid "Chandelier (wrought iron)" +msgstr "Candelabro (hierro forjado)" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "Candelabro (latón)" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "Marco para objetos" + +#: ../itemframes/init.lua +msgid "Item frame (owned by @1)" +msgstr "Marco para objetos (propiedad de @1)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "Pedestal" + +#: ../itemframes/init.lua +msgid "Pedestal (owned by @1)" +msgstr "Pedestal (propiedad de @1)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "Mesa para televisión de pantalla de plasma" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "Televisión de plasma" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "Televisión de plasma (apagada)" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "Sofá largo" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "¡No hay lugar para colocar el sofá!" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +msgid "Loaded!" +msgstr "¡Cargado!" + +#: ../lrfurn/armchairs.lua +msgid "Armchair" +msgstr "Sillón" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "Sofá" + +#: ../lrfurn/endtable.lua +msgid "End Table" +msgstr "Mesa final" + +#: ../lrfurn/coffeetable.lua +msgid "Coffee Table" +msgstr "Mesa de café" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "¡No hay lugar para colocar la mesa de café!" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "Fuego falso" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "Fuego de hielo" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "Fuego fantasía" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "Brasas ardientes" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "Pedernal y acero" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "negra" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "marrón" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "azul" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "cian" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "dark grey" +msgstr "gris oscuro" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +msgid "dark green" +msgstr "verde oscuro" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "gris" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "magenta" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "naranja" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "red" +msgstr "roja" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +msgid "violet" +msgstr "violeta" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +msgid "white" +msgstr "blanca" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "amarilla" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "Cama (@1)" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "Cama (@1, tamaño rey)" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "caoba" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "roble" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with One Drawer (@1)" +msgstr "Mesa de luz con un cajón (@1)" + +#: ../homedecor/bedroom.lua +msgid "One-drawer Nightstand" +msgstr "Mesa de luz con un cajón" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with Two Drawers (@1)" +msgstr "Mesa de luz con dos cajones (@1)" + +#: ../homedecor/bedroom.lua +msgid "Two-drawer Nightstand" +msgstr "Mesa de luz con dos cajones" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "granito" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "mármol" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "acero" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet" +msgstr "Gabinete de cocina" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet (@1 top)" +msgstr "Gabinete de cocina (mesada de @1)" + +#: ../homedecor/kitchen_furniture.lua +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Gabinete de cocina de media altura (en techo)" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet with sink" +msgstr "Gabinete de cocina con lavabo" + +#: ../homedecor/kitchen_furniture.lua +msgid "Under-sink cabinet" +msgstr "Gabinete bajo lavabo" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "Toallas de papel" + +#: ../homedecor/furniture_medieval.lua +msgid "Bars" +msgstr "Barrotes" + +#: ../homedecor/furniture_medieval.lua +msgid "Binding Bars" +msgstr "Barrotes de contención" + +#: ../homedecor/furniture_medieval.lua +msgid "Chains" +msgstr "Cadenas" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Torch" +msgstr "Antorcha de pared" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Lamp" +msgstr "Lámpara de pared" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator (stainless steel)" +msgstr "Refrigerador (acero inoxidable)" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator" +msgstr "Refrigerador" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven" +msgstr "Horno" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "Horno (acero inoxidable)" + +#: ../homedecor/kitchen_appliances.lua +msgid "Microwave Oven" +msgstr "Horno microondas" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "Cafetera" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "Tostador" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "Lavavajillas" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "madera" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "Lavavajillas (@1)" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight" +msgstr "Claraboya de cristal" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight Frosted" +msgstr "Claraboya de cristal esmerilado" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "asfalto" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +msgid "terracotta" +msgstr "terracota" + +#: ../homedecor/roofing.lua +msgid "Shingles (@1)" +msgstr "Tejas (@1)" + +#: ../homedecor/roofing.lua +msgid "@1 (outer corner)" +msgstr "@1 (esquina exterior)" + +#: ../homedecor/roofing.lua +msgid "@1 (inner corner)" +msgstr "@1 (esquina interior)" + +#: ../homedecor/roofing.lua +msgid "Wood Shingles" +msgstr "Tejado de madera" + +#: ../homedecor/roofing.lua +msgid "Asphalt Shingles" +msgstr "Tejado de asfalto" + +#: ../homedecor/roofing.lua +msgid "Terracotta Shingles" +msgstr "Tejado de terracota" + +#: ../homedecor/roofing.lua +msgid "Glass Shingles" +msgstr "Claraboya de cristal" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "Chimenea" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "Ventana (cuarteada)" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "Ventana (lisa)" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thick)" +msgstr "Persianas (gruesas)" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thin)" +msgstr "Persianas (finas)" + +#: ../homedecor/window_treatments.lua +msgid "Curtains" +msgstr "Cortinas (@1)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "latón" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "wrought iron" +msgstr "hierro forjado" + +#: ../homedecor/window_treatments.lua +msgid "Curtain Rod (@1)" +msgstr "Palo de cortinas (@1)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "Caja de flores de ventana" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "Vídrio coloreado" + +#: ../homedecor/crafts.lua +msgid "Uncooked Terracotta Base" +msgstr "Base de terracota sin cocer" + +#: ../homedecor/crafts.lua +msgid "Terracotta Roof Tile" +msgstr "Tejado de terracota" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "Extracto de aceite" + +#: ../homedecor/crafts.lua +msgid "Unprocessed paraffin" +msgstr "Parafina sin procesar" + +#: ../homedecor/crafts.lua +msgid "Plastic strips" +msgstr "Tiras de plástico" + +#: ../homedecor/crafts.lua +msgid "Small Wooden Drawer" +msgstr "Cajón de madera pequeño" + +#: ../homedecor/crafts.lua +msgid "Simple Integrated Circuit" +msgstr "Circuito integrado simple" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "Elemento de calefacción" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "Motor" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "Cristal de poder" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "Lienzo en blanco" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "Grabadora de vídeo" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "Reproductor de DVD" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "Bobina de alambre de cobre" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "Bobina de alambre de acero" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "Conductor de altavoz" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "Aspas de ventilador" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "Tira de cobre" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "Tira de acero" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "Cadenas de acero" + +#: ../homedecor/crafts.lua +msgid "Brass chainlink" +msgstr "Cadenas de latón" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "Lata de refresco" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "Moneda de oro (para la máquina expendedora)" + +#: ../homedecor/crafts.lua +msgid "Silicon lump" +msgstr "Bulto de silicio" + +#: ../homedecor/crafts.lua +msgid "Brass Ingot" +msgstr "Lingote de latón" + +#: ../homedecor/crafts.lua +msgid "Small Flower Pot" +msgstr "Maceta pequeña" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker" +msgstr "Altavoz estéreo grande" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker, open front" +msgstr "Altavoz estéreo grande con frente abierto" + +#: ../homedecor/electronics.lua +msgid "Small Surround Speaker" +msgstr "Altavoz envolvente pequeño" + +#: ../homedecor/electronics.lua +msgid "Stereo Receiver" +msgstr "Receptor estéreo" + +#: ../homedecor/electronics.lua +msgid "Projection Screen Material" +msgstr "Material para pantalla de proyección" + +#: ../homedecor/electronics.lua +msgid "Small CRT Television" +msgstr "Televisión CRT pequeña" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "DVD y reproductor de vídeo" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "Teléfono" + +#: ../homedecor/lighting.lua +msgid "Thick Glowlight" +msgstr "Luz brillante gruesa (@1)" + +#: ../homedecor/lighting.lua +msgid "Thin Glowlight" +msgstr "Luz brillante fina (@1)" + +#: ../homedecor/lighting.lua +msgid "Small Glowlight Cube" +msgstr "Cubo pequeño de luz brillante (@1)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "Lámpara de plasma" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "Bola de plasma" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "Vela gruesa" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "Vela fina" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "Candelero (hierro forjado)" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "Candelero (latón)" + +#: ../homedecor/lighting.lua +msgid "Wall sconce" +msgstr "Candelabro de pared" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "Lámpara de aceite (huracán)" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "Lámpara de aceite de mesa" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "Linterna de piso" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "Linterna colgante" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "Linterna enrejada (grande)" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "Linterna enrejada (pequeña)" + +#: ../homedecor/lighting.lua +msgid "Table Lamp" +msgstr "Lámpara de mesa (@1)" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "Lámpara de pié" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "Lámpara de escritorio (@1)" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "Lámpara de techo" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "Lámpara de techo (apagada)" + +#: ../homedecor/fences.lua +msgid "Fence/railing (@1)" +msgstr "Cerca/barandilla (@1)" + +#: ../homedecor/fences.lua +msgid "Fence/railing with sign (@1)" +msgstr "Cerca/barandilla con letrero (@1)" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence" +msgstr "Cerca de piquete sin pintar" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence Corner" +msgstr "Esquina de cerca de piquete sin pintar" + +#: ../homedecor/fences.lua +msgid "White Picket Fence" +msgstr "Cerca de piquete blanca" + +#: ../homedecor/fences.lua +msgid "White Picket Fence Corner" +msgstr "Esquina de cerca de piquete blanca" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence" +msgstr "Cerca de privacidad de madera" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence Corner" +msgstr "Esquina de cerca de privacidad de madera" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence" +msgstr "Cerca de alambre de espino" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence Corner" +msgstr "Esquina de cerca de alambre de espino" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence" +msgstr "Cerca de eslabón de cadena" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence Corner" +msgstr "Esquina de cerca de eslabón de cadena" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2)" +msgstr "Cerca de hierro forjado (tipo 2)" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Esquina de cerca de hierro forjado (tipo 2)" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "roble sin pintar" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "verde bosque" + +#: ../homedecor/shutters.lua +msgid "light blue" +msgstr "azul claro" + +#: ../homedecor/shutters.lua +msgid "Wooden Shutter (@1)" +msgstr "Postigo de madera (@1)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "Barbacoa" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "Banco de jardín (estilo 1)" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "Banco de jardín (estilo 2)" + +#: ../homedecor/exterior.lua +msgid "Deck Chair" +msgstr "Tumbona" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "Casa de perros" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "Banco simple" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "Camino de piedra de jardín" + +#: ../homedecor/exterior.lua +msgid "white wood" +msgstr "madera blanca" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "madera, con vegetación" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "madera blanca, con vegetación" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "Enrejado de jardín (@1)" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "Columpio" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "Pozo de agua" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "Arbustos (@1)" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet" +msgstr "Inodoro" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet paper" +msgstr "Papel higiénico" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "Lavabo de baño" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "Grifo de baño" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "Grifo de baño (latón)" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Tray" +msgstr "Plato de ducha" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Head" +msgstr "Ducha" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "Artículos de baño" + +#: ../homedecor/climate-control.lua +msgid "Air Conditioner" +msgstr "Acondicionador de aire" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "Ventilador de escritorio" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "Ventilador de techo" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "Calentador de espacios" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "Radiador" + +#: ../homedecor/doors_and_gates.lua +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Puerta de armario de caoba (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Oak Closet Door (@1 opening)" +msgstr "Puerta de armario de roble (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Puerta de madera/cristal de lujo (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass Office Door (@1 opening)" +msgstr "Vídrio de cristal de oficina (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vídrio y madera, color roble (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vídrio y madera, color caoba (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vídrio y madera, blanca (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Plain Wooden Door (@1 opening)" +msgstr "Puerta de madera lisa (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "Puerta de habitación blanca (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Portón de hierro forjado (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "Puerta de madera con inserto de vídrio (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "Puerta de madera con inserto de vídrio, tipo 2 (abre a la @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "left" +msgstr "izquierda" + +#: ../homedecor/doors_and_gates.lua +msgid "right" +msgstr "derecha" + +#: ../homedecor/doors_and_gates.lua +msgid "Unpainted Picket Fence Gate" +msgstr "Cerca de piquete sin pintar" + +#: ../homedecor/doors_and_gates.lua +msgid "White Picket Fence Gate" +msgstr "Cerca de piquete blanca" + +#: ../homedecor/doors_and_gates.lua +msgid "Barbed Wire Fence Gate" +msgstr "Cerca de alambre de espino" + +#: ../homedecor/doors_and_gates.lua +msgid "Chainlink Fence Gate" +msgstr "Cerca de eslabón de cadena" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "Pared japonesa (parte más alta)" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "Pared japonesa" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "Pared japonesa (parte más baja)" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "Tatami" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "Puerta estilo japonés" + +#: ../homedecor/misc-nodes.lua +msgid "Textured Ceiling Paint" +msgstr "Pintura de techo con textura" + +#: ../homedecor/misc-nodes.lua +msgid "Drop-Ceiling Tile" +msgstr "Azulejo de techo" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "pequeño" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "grande" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "persa" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "Tapete (@1)" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "Maceta (@1)" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "Rosa" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "Tulipán" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "Diente de león amarillo" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "Diente de león blanco" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "Geranio azul" + +#: ../homedecor/misc-nodes.lua +msgid "Viola" +msgstr "Viola" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "Cacto" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "Bonsai" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "Flor en maceta (@1)" + +#: ../homedecor/misc-nodes.lua +msgid "Brass Pole" +msgstr "Poste de latón" + +#: ../homedecor/misc-nodes.lua +msgid "Wrought Iron Pole" +msgstr "Poste de hierro forjado" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "Estanque para peces" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "Estanque para peces (iliminado)" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "Caja de cartón (grande)" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "Caja de cartón" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "Gabinete de CDs/DVDs" + +#: ../homedecor/misc-nodes.lua +msgid "Pool Table" +msgstr "Mesa de pool" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "Piano" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "Trofeo" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "Banco deportivo" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "Patineta" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "Mesa de trabajo y gabinete en hierro" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "Marco de fotografía" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "Pintura decorativa nº@1" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "mesada oscura" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "diagonal" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "horizontal" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "Barandilla para escaleras (@1, @2)" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "no hay suficiente espacio" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "Mesa cuadrada pequeña de vídrio" + +#: ../homedecor/tables.lua +msgid "Small round glass table" +msgstr "Mesa redonda pequeña de vídrio" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "Mesa grande de vídrio" + +#: ../homedecor/tables.lua +msgid "Small square wooden table" +msgstr "Mesa cuadrada pequeña de madera" + +#: ../homedecor/tables.lua +msgid "Small round wooden table" +msgstr "Mesa redonda pequeña de madera" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "Mesa grande de madera" + +#: ../homedecor/tables.lua +msgid "Utility Table" +msgstr "Mesa utilitaria" + +#: ../homedecor/tables.lua +msgid "Table Legs (@1)" +msgstr "Patas de mesa (@1)" + +#: ../homedecor/tables.lua +msgid "Legs for Utility Table" +msgstr "Patas para mesa utilitaria" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "Libro (@1)" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "@1 ha escrito en un libro (título: \"@2\"): \"@3\" en la ubicación @4" + +#: ../homedecor/furniture.lua +msgid "Table" +msgstr "Mesa" + +#: ../homedecor/furniture.lua +msgid "Mahogany Table" +msgstr "Mesa de caoba" + +#: ../homedecor/furniture.lua +msgid "White Table" +msgstr "Mesa blanca" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "liso" + +#: ../homedecor/furniture.lua +msgid "Kitchen chair (@1)" +msgstr "Silla de cocina (@1)" + +#: ../homedecor/furniture.lua +msgid "Armchair (@1)" +msgstr "Sillón (@1)" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "Estante para libros (abierto)" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "Estante" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves stuff in @2 at @3" +msgstr "@1 mueve cosas en @2 en @3" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "@1 mueve @2 a @3 en @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "@1 toma @2 desde @3 en @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (owned by @2)" +msgstr "@1 (propiedad de @2)" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "@1 intentó acceder a @2 perteneciente a @3 en @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (Locked)" +msgstr "@1 (Cerrado)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "Horno" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "@1 (vacía)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "@1 (activo)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active: @2%)" +msgstr "@1 (activo: @2%)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (out of fuel)" +msgstr "@1 (sin combustible)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (output bins are full)" +msgstr "@1 (output bins are full)" + +#: ../homedecor/office.lua +msgid "Filing cabinet" +msgstr "Archivador" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/grey" +msgstr "blanco/gris" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "blanco/gris oscuro" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "blanco/negro" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "negro/gris oscuro" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/red" +msgstr "blanco/rojo" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "blanco/verde" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/blue" +msgstr "blanco/azul" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "blanco/amarillo" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/tan" +msgstr "blanco/marrón" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "Azulejo de baño/cocina (@1)" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "Toallero con toalla" + +#: ../homedecor/bathroom_furniture.lua +msgid "Medicine cabinet" +msgstr "Gabinete de medicinas" diff --git a/homedecor_i18n/locale/fr.po b/homedecor_i18n/locale/fr.po new file mode 100644 index 00000000..30a78090 --- /dev/null +++ b/homedecor_i18n/locale/fr.po @@ -0,0 +1,1719 @@ +# French translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Calinou \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Grass slab" +msgstr "Barre en laiton" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +msgid "Lava Lamp" +msgstr "" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic sheet" +msgstr "Bout de plastique" + +#: ../computer/miscitems.lua +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Base de plastique non transformée" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +#, fuzzy +msgid "Not enough vertical space to place a server!" +msgstr "Pas assez d'espace vertical pour placer une porte !" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (wrought iron)" +msgstr "Barre de fer forgé" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (wrought iron)" +msgstr "Barre de fer forgé" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame (owned by @1)" +msgstr "%s (propriété de %s)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Pedestal (owned by @1)" +msgstr "%s (propriété de %s)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +#, fuzzy +msgid "Loaded!" +msgstr "Chargé !" + +#: ../lrfurn/armchairs.lua +msgid "Armchair" +msgstr "" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +#, fuzzy +msgid "End Table" +msgstr "Porte en bois d'acajou" + +#: ../lrfurn/coffeetable.lua +#, fuzzy +msgid "Coffee Table" +msgstr "Table basse" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "bleues" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "dark grey" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +#, fuzzy +msgid "dark green" +msgstr "vertes" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +#, fuzzy +msgid "green" +msgstr "vertes" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "roses" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rouges" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "violettes" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#, fuzzy +msgid "white" +msgstr "blanches" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Table de chevet en chêne avec un tiroir" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Table de chevet avec un tiroir" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Table de chevet en chêne avec deux tiroirs" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Table de chevet avec deux tiroirs" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Meuble de cuisine" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Meuble de cuisine" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Meuble de cuisine réduit en hauteur (sur le plafond)" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Meuble de cuisine avec lavabo" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Meuble sous évier" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Binding Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Chains" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Torch" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Lamp" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Réfrégirateur" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator" +msgstr "Réfrégirateur" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Oven" +msgstr "Four" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Microwave Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight" +msgstr "Verre" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Verre" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +#, fuzzy +msgid "terracotta" +msgstr "Tuile en terre cuite" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Shingles (@1)" +msgstr "Bardeaux de bois" + +#: ../homedecor/roofing.lua +msgid "@1 (outer corner)" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "@1 (inner corner)" +msgstr "" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Wood Shingles" +msgstr "Bardeaux de bois" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Bardeaux d'asphalte" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Tuile en terre cuite" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Shingles" +msgstr "Bardeaux d'asphalte" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Lampe blanche (épaisse)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtains" +msgstr "Volets (%s)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +#, fuzzy +msgid "wrought iron" +msgstr "Barre de fer forgé" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Volets (%s)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Base de terre non cuite" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Tuile de toit en terre cuite" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Base de plastique non transformée" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic strips" +msgstr "Bout de plastique" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Petit tiroir en bois" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Circuit intégré simple" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass chainlink" +msgstr "Barrière en laiton" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Silicon lump" +msgstr "Silicone" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass Ingot" +msgstr "Lingot de laiton" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Flower Pot" +msgstr "Pot de fleur en plastique noir" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Grand haut-parleur stéréo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Grand haut-parleur stéréo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Stereo Receiver" +msgstr "Récepteur stéréo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Projection Screen Material" +msgstr "Matériel pour projecteur" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small CRT Television" +msgstr "Petite télévision à tube cathodique" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thick Glowlight" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thin Glowlight" +msgstr "Lampe blanche (fine)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Small Glowlight Cube" +msgstr "Lampe jaune (petit cube)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Wall sconce" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Table Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Barrière en laiton" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Barrière en laiton avec pancarte" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Barrière en piquets non peinte" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Barrière en piquets non peinte" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence" +msgstr "Barrière en piquets blanche" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Barrière en piquets blanche" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Barrière en bois" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Barrière en bois" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Barrière en fil barbelé" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Barrière en fil barbelé" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence" +msgstr "Grillage" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Grillage" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Barrière en fer forgé" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Barrière en fer forgé" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "light blue" +msgstr "droite" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Volet en bois (rouge)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Deck Chair" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "white wood" +msgstr "blanches" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet paper" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Tray" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Head" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Air Conditioner" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porte en bois d'acajou" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Porte en bois de chêne" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porte artistique en bois et verre" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Porte en verre" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Porte couleur chêne en bois et verre" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Porte couleur acajou en bois et verre" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Porte blanche en bois et verre" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porte en bois simple" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Barrière en fer forgé" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "left" +msgstr "gauche" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "right" +msgstr "droite" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Porte de barrière en piquets non peinte" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Porte de barrière en piquets blanche" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Porte de barrière en fil barbelé" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Porte de grillage" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Papier peint avec motif pour plafond" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Dalle suspendue au plafond" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Viola" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Brass Pole" +msgstr "Barre en laiton" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Barre de fer forgé" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Pool Table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round glass table" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Large glass table piece" +msgstr "Grand bout de verre de table" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small square wooden table" +msgstr "Petit tiroir en bois" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round wooden table" +msgstr "Petit haut-parleur surround" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Large wooden table piece" +msgstr "Bout de dessus de table" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Utility Table" +msgstr "Table basse" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Pieds de table en laiton" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Pieds pour table basse" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Table" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Mahogany Table" +msgstr "Porte en bois d'acajou" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "White Table" +msgstr "Table basse" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Meuble de cuisine" + +#: ../homedecor/furniture.lua +msgid "Armchair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s déplace des objets dans une table de chevet à %s" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (propriété de %s)" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s a essayé d'accéder à %s qui est propriété de %s à %s" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (verrouillé)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (out of fuel)" +msgstr "Four sans carburant" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (output bins are full)" +msgstr "" + +#: ../homedecor/office.lua +#, fuzzy +msgid "Filing cabinet" +msgstr "Meuble sous évier" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/grey" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/red" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/blue" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/tan" +msgstr "blanches" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "Medicine cabinet" +msgstr "Meuble sous évier" + +#, fuzzy +#~ msgid "dark_grey" +#~ msgstr "vertes" + +#, fuzzy +#~ msgid "dark_green" +#~ msgstr "vertes" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s déplace des objets dans un meuble de cuisine à %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s édplace des objets vers un meuble de cuisine à %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s prend des objets d'un meuble de cuisine à %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(partie supérieur, charnière à %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(charnière à %s)" + +#~ msgid "Bucket of white paint " +#~ msgstr "Seau de peinture blanche" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Pieds pour table basse" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Dioxide de titane" + +#~ msgid "Chainlink Fence Gate (open) " +#~ msgstr "Porte de grillage (ouverte)" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Barrière en fer forgé avec pancarte" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "veut simplement placer l'objet comme d'habitude." + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Table en verre (petite, ronde)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Table en verre (petite, carrée)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Pot de fleur en plastique vert" + +#~ msgid "Large Area Rug " +#~ msgstr "Grande couverture" + +#~ msgid "Small Throw Rug " +#~ msgstr "Petite couverture" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Pot de fleur en terre cuite" + +#~ msgid "Utility table mk2 " +#~ msgstr "Table basse MK2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Volet en bois (noir)" + +#~ msgid "Wooden Shutter (Dark Grey) " +#~ msgstr "Volet en bois (gris foncé)" + +#~ msgid "Wooden Shutter (Forest Green) " +#~ msgstr "Volet en bois (vert foncé)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Volet en bois (gris)" + +#~ msgid "Wooden Shutter (Light Blue) " +#~ msgstr "Volet en bois (bleu clair)" + +#~ msgid "Wooden Shutter (Purple) " +#~ msgstr "Volet en bois (violet)" + +#~ msgid "Wooden Shutter (Unpainted Mahogany) " +#~ msgstr "Volet en bois (acajou non peint)" + +#~ msgid "Wooden Shutter (Unpainted Oak) " +#~ msgstr "Volet en bois (chêne non peint)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Volet en bois (blanc)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Volet en bois (jaune)" + +#~ msgid "Wooden Tabletop (Small, Round) " +#~ msgstr "Dessus de table (petit, rond)" + +#~ msgid "Wooden Tabletop (Small, Square) " +#~ msgstr "Dessus de table (petit, carré)" + +#~ msgid "someone " +#~ msgstr "quelqu'un" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Désolé, %s est propriétaire de cette zone." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Lampe blanche (petit cube)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Lampe blanche (petit cube, sur le plafond)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Lampe blanche (épaisse, sur le mur)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Lampe blanche (fine, sur le mur)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Lampe jaune (petit cube, sur le plafond)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Lampe jaune (épaisse)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Lampe jaune (épaisse, sur le mur)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Lampe jaune (fine)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Lampe jaune (fine, sur le mur)" + +#~ msgid "Locked Cabinet " +#~ msgstr "Meuble verrouillé" + +#~ msgid "Locked Nightstand " +#~ msgstr "Table de chevet verrouillée" + +#~ msgid "Locked Fridge " +#~ msgstr "Réfrégirateur verrouillé" + +#~ msgid "Locked Oven " +#~ msgstr "Four verrouillé" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Table de chevet en acajou avec un tiroir" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Table de chevet en acajou avec deux tiroirs" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s déplace des objets vers une table de chevet à %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s prend des objets d'une table de chevet à %s" + +#~ msgid "Oven active: %d%% " +#~ msgstr "Four actif : %d%%" + +#~ msgid "Oven is empty " +#~ msgstr "Four vide" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s déplace des objets dans un réfrégirateur à %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s déplace des objets vers un réfrégirateur à %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s prend des objets d'un réfrégirateur à %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Pas assez d'espace vertical pour placer un réfrégirateur !" + +#~ msgid "E: character map file not found " +#~ msgstr "E: fichier de table de caractère non trouvé" + +#~ msgid "W: unknown symbol in '%s' at %d (probably %s) " +#~ msgstr "A: symbole inconnu dans '%s' dans %d (probablement %s)" diff --git a/homedecor_i18n/locale/it.po b/homedecor_i18n/locale/it.po new file mode 100644 index 00000000..74924649 --- /dev/null +++ b/homedecor_i18n/locale/it.po @@ -0,0 +1,1795 @@ +# Italian translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: Emon \n" +"Language-Team: Italian\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Grass slab" +msgstr "Palo di ottone" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +#, fuzzy +msgid "Lava Lamp" +msgstr "Lampada da tavolo" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic sheet" +msgstr "Foglio di plastica" + +#: ../computer/miscitems.lua +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Base non lavorata di plastica" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +#, fuzzy +msgid "Not enough vertical space to place a server!" +msgstr "Non c'è abbastanza spazio verticale per mettere un frigorifero!" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (wrought iron)" +msgstr "Palo di ferro battuto" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (wrought iron)" +msgstr "Palo di ferro battuto" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame (owned by @1)" +msgstr "%s (di proprietà di %s)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Pedestal (owned by @1)" +msgstr "%s (di proprietà di %s)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +#, fuzzy +msgid "Loaded!" +msgstr "Caricato!" + +#: ../lrfurn/armchairs.lua +#, fuzzy +msgid "Armchair" +msgstr "Poltrona (%s)" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +#, fuzzy +msgid "End Table" +msgstr "Tavolo" + +#: ../lrfurn/coffeetable.lua +#, fuzzy +msgid "Coffee Table" +msgstr "Tavolo" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "nero" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "blu" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#, fuzzy +msgid "dark grey" +msgstr "verde scuro" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +#, fuzzy +msgid "dark green" +msgstr "verde scuro" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +#, fuzzy +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "rosso" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "viola" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#, fuzzy +msgid "white" +msgstr "bianco" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Comodino in quercia con un cassetto" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Comodino a singolo cassetto" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Comodino in quercia con due cassetti" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Comodino a doppio cassetto" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Armadietto della cucina" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Armadietto della cucina" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Armadietto della cucina di altezza dimezzata (sul soffitto)" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Armadietto della cucina con il lavandino" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Armadietto sotto il lavandino" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Bars" +msgstr "Sbarre" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Binding Bars" +msgstr "Ceppi" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Chains" +msgstr "Catene" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Torch" +msgstr "Torcia a muro" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Lamp" +msgstr "Lampada da tavolo" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Frigorifero" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator" +msgstr "Frigorifero" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Oven" +msgstr "Forno" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Microwave Oven" +msgstr "Forno a microonde" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight" +msgstr "Lucernario di vetro" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Lucernario di vetro satinato" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +#, fuzzy +msgid "terracotta" +msgstr "Tegole di terracotta" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Shingles (@1)" +msgstr "Tegole in legno" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Tegole in legno (angolo esterno)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Tegole in legno (angolo interno)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Wood Shingles" +msgstr "Tegole in legno" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Mattonelle di asfalto" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Tegole di terracotta" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Shingles" +msgstr "Mattonelle di asfalto" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Luce fosforescente bianca (spessa)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtains" +msgstr "Tende (%s)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +#, fuzzy +msgid "wrought iron" +msgstr "Palo di ferro battuto" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Tende (%s)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Base cruda di terracotta" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Tegole di terracotta" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Base non lavorata di plastica" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic strips" +msgstr "Foglio di plastica" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Bauletto in legno" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Circuito integrato semplice" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass chainlink" +msgstr "Recinzione di ottone/ringhiera" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Silicon lump" +msgstr "Grumo di silicone" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass Ingot" +msgstr "Lingotto di ottone" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Flower Pot" +msgstr "Vaso per fiori di plastica nera" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Altoparlante stereo grande" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Altoparlante stereo grande" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Stereo Receiver" +msgstr "Ricevitore stereo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Projection Screen Material" +msgstr "Materiale per lo schermo di proiezione" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small CRT Television" +msgstr "Piccola televisione a tubo catodico" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thick Glowlight" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thin Glowlight" +msgstr "Luce fosforescente bianca (sottile)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Small Glowlight Cube" +msgstr "Luce fosforescente gialla (cubo piccolo)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Wall sconce" +msgstr "Torcia a muro" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Table Lamp" +msgstr "Lampada da tavolo" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Recinzione di ottone/ringhiera" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Recinzione di ottone/ringhiera con cartello" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Recinzione non verniciata di paletti" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Angolo della recinzione non verniciata di paletti" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence" +msgstr "Recinzione di paletti bianca" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Angolo della recinzione di paletti bianca" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Recinzione di isolamento in legno" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Angolo della recinzione di isolamento in legno" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Recinzione di filo spinato" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Angolo della recinzione di filo spinato" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence" +msgstr "Rete metallica" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Angolo della rete metallica" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "light blue" +msgstr "destra" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Persiana in legno (rossa)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "Deck Chair" +msgstr "Sedia" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "white wood" +msgstr "bianco" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet" +msgstr "Water" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet paper" +msgstr "Water" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Tray" +msgstr "Piatto della doccia" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Head" +msgstr "Pigna della doccia" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua +#, fuzzy +msgid "Air Conditioner" +msgstr "Condizionatore dell'aria" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porta dell'armadio in mogano" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Porta dell'armadio in quercia" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porta decorativa in vetro e legno" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Porta dell'ufficio in vetro" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vetro e legno, color quercia" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vetro e legno, color mogano" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vetro e legno, bianca" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porta in legno semplice" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Recinzione/ringhiera in ferro battuto" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "left" +msgstr "sinistra" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "right" +msgstr "destra" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Cancello della recinzione non verniciata di paletti" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Cancello della recinzione di paletti bianca" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Cancello della recinzione di filo spinato" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Cancello della rete metallica" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Vernice con trama per il soffitto" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Piastrella del controsoffitto" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Viola" +msgstr "viola" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Brass Pole" +msgstr "Palo di ottone" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Palo di ferro battuto" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Pool Table" +msgstr "Tavolo" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round glass table" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small square wooden table" +msgstr "Bauletto in legno" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round wooden table" +msgstr "Altoparlante audio surround piccolo" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Utility Table" +msgstr "Tavolo di lavoro" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Gambe in ottone del tavolo" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Gambe per il tavolo da lavoro" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Table" +msgstr "Tavolo" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Mahogany Table" +msgstr "Porta dell'armadio in mogano" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "White Table" +msgstr "Tavolo di lavoro" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Armadietto della cucina" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Armchair (@1)" +msgstr "Poltrona (%s)" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s sposta delle cose nel comodino alla posizione %s" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (di proprietà di %s)" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s ha provato ad accedere a %s di proprietà di %s alla posizione %s" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (Con lucchetto)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (out of fuel)" +msgstr "Senza combustibile" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (output bins are full)" +msgstr "i contenitori sono pieni" + +#: ../homedecor/office.lua +#, fuzzy +msgid "Filing cabinet" +msgstr "Armadietto sotto il lavandino" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/grey" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/red" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/blue" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/tan" +msgstr "bianco" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "Medicine cabinet" +msgstr "Armadietto sotto il lavandino" + +#, fuzzy +#~ msgid "dark_grey" +#~ msgstr "verde scuro" + +#, fuzzy +#~ msgid "dark_green" +#~ msgstr "verde scuro" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s sposta delle cose nell'armadietto della cucina a %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s mette delle cose nell'armadietto della cucina a %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s prende delle cose nell'armadietto della cucina a %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Metà superiore, apertura a %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(apertura a %s)" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "Non c'è abbastanza spazio sopra quel punto per mettere una porta!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Secchio di vernice bianca" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Gambe per il tavolo da lavoro piccolo" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Biossido di titanio" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Recinzione/ringhiera in ferro battuto con cartello" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "vuole mettere l'oggetto impugnato come sempre." + +#~ msgid "Red " +#~ msgstr "rosso" + +#~ msgid "Pink " +#~ msgstr "rosa" + +#~ msgid "Blue " +#~ msgstr "blu" + +#~ msgid "Sink " +#~ msgstr "Lavandino" + +#~ msgid "Taps " +#~ msgstr "Rubinetti" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Mattonelle di asfalto (angolo esterno)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Mattonelle di asfalto (angolo interno)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Gambe in ferro battuto del tavolo" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Tavolo di vetro (piccolo, rotondo)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Tavolo di vetro (piccolo, quadrato)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Pezzo di tavolo di vetro (grande)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Vaso per fiori di plastica verde" + +#~ msgid "Large Area Rug " +#~ msgstr "Tappeto per aree grandi" + +#~ msgid "Small Throw Rug " +#~ msgstr "Tappetino" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Vaso per fiori in terracotta" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Tegole di terracotta (angolo esterno)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Tegole di terracotta (angolo interno)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Tavolo di lavoro mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Persiana in legno (nera)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Persiana in legno (grigia scura)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Persiana in legno (verde foresta)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Persiana in legno (grigia)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Persiana in legno (blu chiaro)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Persiana in legno (viola)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Persiana in legno (mogano)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Persiana in legno (quercia non verniciata)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Persiana in legno (bianca)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Persiana in legno (gialla)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Pezzo di tavolo in legno (grande)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Tavolo in legno (piccolo, rotondo)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Tavolo in legno (piccolo, quadrato)" + +#~ msgid "someone " +#~ msgstr "qualcuno" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Spiacente, quel punto è di proprietà di %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Luce fosforescente bianca (cubo piccolo)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Luce fosforescente bianca (cubo piccolo, sul soffitto)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Luce fosforescente bianca (spessa, a muro)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Luce fosforescente bianca (sottile, a muro)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Luce fosforescente gialla (cubo piccolo, sul soffitto)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Luce fosforescente gialla (spessa)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Luce fosforescente gialla (spessa, a muro)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Luce fosforescente gialla (sottile)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Luce fosforescente gialla (sottile, a muro)" + +#~ msgid "Locked Fridge " +#~ msgstr "Frigorifero con lucchetto" + +#~ msgid "Locked Cabinet " +#~ msgstr "Armadietto con lucchetto" + +#~ msgid "Locked Nightstand " +#~ msgstr "Comodino con lucchetto" + +#~ msgid "Locked Oven " +#~ msgstr "Forno con lucchetto" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Forno con lucchetto (attivo)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Forno a microonde con lucchetto" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Forno a microonde con lucchetto (attivo)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Comodino in mogano con un cassetto" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Comodino in mogano con due cassetti" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s mette delle cose nel comodino alla posizione %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s prende delle cose nel comodino alla posizione %s" + +#~ msgid "%s is empty " +#~ msgstr "%s è vuoto" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s sposta delle cose nel frigorifero alla posizione %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s mette delle cose nel comodino alla posizione %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s prende delle cose nel comodino alla posizione %s" + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s ha scritto \"%s\" sul cartello alla posizione %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Lettura della banca dati dei caratteri nella cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Sembra che i caratteri siano cambiati. Ricostruzione della cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Non è stato possibile trovare l'altezza della riga del carattere nella " +#~ "banca dati nella cache." + +#~ msgid "Registered %s and %s " +#~ msgstr "Registrato %s e %s" + +#~ msgid "signs loaded " +#~ msgstr "cartelli caricati" diff --git a/homedecor_i18n/locale/ms.po b/homedecor_i18n/locale/ms.po new file mode 100644 index 00000000..c550a465 --- /dev/null +++ b/homedecor_i18n/locale/ms.po @@ -0,0 +1,1795 @@ +# Malay translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-25 00:03-0300\n" +"Last-Translator: muhdnurhidayat \n" +"Language-Team: Malay\n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Grass slab" +msgstr "Tiang Loyang" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +#, fuzzy +msgid "Lava Lamp" +msgstr "Lampu Meja" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic sheet" +msgstr "Kepingan Plastik" + +#: ../computer/miscitems.lua +#, fuzzy +msgid "Unprocessed Plastic base" +msgstr "Bes Plastik Belum Diproses" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +#, fuzzy +msgid "Not enough vertical space to place a server!" +msgstr "Tidak cukup ruangan menegak untuk meletak peti sejuk!" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (wrought iron)" +msgstr "Tiang Besi Tempaan" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (wrought iron)" +msgstr "Tiang Besi Tempaan" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame (owned by @1)" +msgstr "%s (hak milik %s)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Pedestal (owned by @1)" +msgstr "%s (hak milik %s)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +#, fuzzy +msgid "Loaded!" +msgstr "Telah Dimuatkan!" + +#: ../lrfurn/armchairs.lua +#, fuzzy +msgid "Armchair" +msgstr "Kerusi Tangan (%s)" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +#, fuzzy +msgid "End Table" +msgstr "Meja" + +#: ../lrfurn/coffeetable.lua +#, fuzzy +msgid "Coffee Table" +msgstr "Meja" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +#, fuzzy +msgid "black" +msgstr "Hitam" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "blue" +msgstr "biru" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#, fuzzy +msgid "dark grey" +msgstr "Hijau Gelap" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +#, fuzzy +msgid "dark green" +msgstr "Hijau Gelap" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +#, fuzzy +msgid "green" +msgstr "hijau" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "pink" +msgstr "merah jambu" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +#, fuzzy +msgid "red" +msgstr "merah" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +#, fuzzy +msgid "violet" +msgstr "ungu" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#, fuzzy +msgid "white" +msgstr "putih" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with One Drawer (@1)" +msgstr "Kabinet Katil Oak dengan Satu Laci" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "One-drawer Nightstand" +msgstr "Kabinet Katil Laci Satu" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Nightstand with Two Drawers (@1)" +msgstr "Kabinet Katil Oak dengan Dua Laci" + +#: ../homedecor/bedroom.lua +#, fuzzy +msgid "Two-drawer Nightstand" +msgstr "Kabinet Katil Laci Dua" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet" +msgstr "Kabinet Dapur" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet (@1 top)" +msgstr "Kabinet Dapur" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Kabinet Dapur Separuh (atas siling)" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Kitchen Cabinet with sink" +msgstr "Kabinet Dapur dengan Sinki" + +#: ../homedecor/kitchen_furniture.lua +#, fuzzy +msgid "Under-sink cabinet" +msgstr "Kabinet Bawah Sinki" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Bars" +msgstr "Palang" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Binding Bars" +msgstr "Palang Bersambung" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Chains" +msgstr "Rantai" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Torch" +msgstr "Obor Dinding" + +#: ../homedecor/furniture_medieval.lua +#, fuzzy +msgid "Wall Lamp" +msgstr "Lampu Meja" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator (stainless steel)" +msgstr "Peti Sejuk" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Refrigerator" +msgstr "Peti Sejuk" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Oven" +msgstr "Ketuhar" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +#, fuzzy +msgid "Microwave Oven" +msgstr "Ketuhar Gelombang Mikro" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight" +msgstr "Bumbung Kaca" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Skylight Frosted" +msgstr "Bumbung Kaca Berkabut" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +#, fuzzy +msgid "terracotta" +msgstr "Genting Terracotta" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Shingles (@1)" +msgstr "Genting Kayu" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (outer corner)" +msgstr "Genting Kayu (bucu luar)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "@1 (inner corner)" +msgstr "Genting Kayu (bucu dalam)" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Wood Shingles" +msgstr "Genting Kayu" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Asphalt Shingles" +msgstr "Genting Asfalt" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Terracotta Shingles" +msgstr "Genting Terracotta" + +#: ../homedecor/roofing.lua +#, fuzzy +msgid "Glass Shingles" +msgstr "Genting Asfalt" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thick)" +msgstr "Lampu Bara Putih (tebal)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Window Blinds (thin)" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtains" +msgstr "Langsir (%s)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +#, fuzzy +msgid "wrought iron" +msgstr "Tiang Besi Tempaan" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtain Rod (@1)" +msgstr "Langsir (%s)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Uncooked Terracotta Base" +msgstr "Bes Terracotta Belum Dimasak" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Terracotta Roof Tile" +msgstr "Genting Bumbung Terracotta" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Unprocessed paraffin" +msgstr "Bes Plastik Belum Diproses" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Plastic strips" +msgstr "Kepingan Plastik" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Wooden Drawer" +msgstr "Laci Kayu Kecil" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Simple Integrated Circuit" +msgstr "Litar Bersepadu Ringkas" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass chainlink" +msgstr "Pagar/Kisi-kisi Loyang" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Silicon lump" +msgstr "Ketulan Silikon" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Brass Ingot" +msgstr "Jongkong Loyang" + +#: ../homedecor/crafts.lua +#, fuzzy +msgid "Small Flower Pot" +msgstr "Pasu Bunga Plastik Hitam" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker" +msgstr "Pembesar Suara Stereo Besar" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Large Stereo Speaker, open front" +msgstr "Pembesar Suara Stereo Besar" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small Surround Speaker" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Stereo Receiver" +msgstr "Penerima Stereo" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Projection Screen Material" +msgstr "Bahan Skrin Pemancaran" + +#: ../homedecor/electronics.lua +#, fuzzy +msgid "Small CRT Television" +msgstr "Televisyen CRT Kecil" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thick Glowlight" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thin Glowlight" +msgstr "Lampu Bara (nipis)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Small Glowlight Cube" +msgstr "Lampu Bara Kuning (kiub kecil)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Wall sconce" +msgstr "Obor Dinding" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Table Lamp" +msgstr "Lampu Meja" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing (@1)" +msgstr "Pagar/Kisi-kisi Loyang" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Fence/railing with sign (@1)" +msgstr "Pagar/Kisi-kisi Loyang dengan Papan Tanda" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence" +msgstr "Pagar Pancang Tidak Bercat" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Unpainted Picket Fence Corner" +msgstr "Bucu Pagar Pancang Tidak Bercat" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence" +msgstr "Pagar Pancang Putih" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "White Picket Fence Corner" +msgstr "Bucu Pagar Pancang Putih" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence" +msgstr "Pagar Privasi Kayu" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wooden Privacy Fence Corner" +msgstr "Bucu Pagar Privasi Kayu" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence" +msgstr "Pagar Dawai Berduri" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Barbed Wire Fence Corner" +msgstr "Bucu Pagar Dawai Berduri" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence" +msgstr "Pagar Dawai Berangkai" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Chainlink Fence Corner" +msgstr "Bucu Pagar Dawai Berangkai" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2)" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/fences.lua +#, fuzzy +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "light blue" +msgstr "kanan" + +#: ../homedecor/shutters.lua +#, fuzzy +msgid "Wooden Shutter (@1)" +msgstr "Pengatup Kayu (Merah)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "Deck Chair" +msgstr "Kerusi" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua +#, fuzzy +msgid "white wood" +msgstr "putih" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet" +msgstr "Tandas" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Toilet paper" +msgstr "Tandas" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Tray" +msgstr "Lubang Air Mandi" + +#: ../homedecor/bathroom_sanitation.lua +#, fuzzy +msgid "Shower Head" +msgstr "Kepala Air Mandi" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua +#, fuzzy +msgid "Air Conditioner" +msgstr "Pendingin Hawa" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Pintu Almari Mahogani" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Oak Closet Door (@1 opening)" +msgstr "Pintu Almari Oak" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Pintu Hiasan Kayu/Kaca" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass Office Door (@1 opening)" +msgstr "Pintu Pejabat Kaca" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Kaca dan Kayu, warna Oak" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Kaca dan Kayu, warna Mahogani" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Glass and Wood, White (@1 opening)" +msgstr "Kaca dan Kayu, warna Putih" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Plain Wooden Door (@1 opening)" +msgstr "Pintu Kayu Biasa" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Pagar/Kisi-kisi Besi Tempaan" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "left" +msgstr "kiri" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "right" +msgstr "kanan" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Unpainted Picket Fence Gate" +msgstr "Pintu Pagar Pancang Tidak Bercat" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "White Picket Fence Gate" +msgstr "Pintu Pagar Pancang Putih" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Barbed Wire Fence Gate" +msgstr "Pintu Pagar Dawai Berduri" + +#: ../homedecor/doors_and_gates.lua +#, fuzzy +msgid "Chainlink Fence Gate" +msgstr "Pintu Pagar Dawai Berangkai" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Textured Ceiling Paint" +msgstr "Cat Siling Bertekstur" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Drop-Ceiling Tile" +msgstr "Kepingan Siling" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Viola" +msgstr "Ungu" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Brass Pole" +msgstr "Tiang Loyang" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Wrought Iron Pole" +msgstr "Tiang Besi Tempaan" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua +#, fuzzy +msgid "Pool Table" +msgstr "Meja" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round glass table" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small square wooden table" +msgstr "Laci Kayu Kecil" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Small round wooden table" +msgstr "Pembesar Suara Keliling Kecil" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Utility Table" +msgstr "Meja Utiliti" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Table Legs (@1)" +msgstr "Kaki Meja Loyang" + +#: ../homedecor/tables.lua +#, fuzzy +msgid "Legs for Utility Table" +msgstr "Kaki untuk Meja Utiliti" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Table" +msgstr "Meja" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Mahogany Table" +msgstr "Pintu Almari Mahogani" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "White Table" +msgstr "Meja Utiliti" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Kitchen chair (@1)" +msgstr "Kabinet Dapur" + +#: ../homedecor/furniture.lua +#, fuzzy +msgid "Armchair (@1)" +msgstr "Kerusi Tangan (%s)" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 moves stuff in @2 at @3" +msgstr "%s pindah barang dalam kabinet katil dekat %s" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (owned by @2)" +msgstr "%s (hak milik %s)" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "%s cuba untuk pakai %s milik %s dekat %s" + +#: ../homedecor/handlers/inventory.lua +#, fuzzy +msgid "@1 (Locked)" +msgstr "%s (Berkunci)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (active: @2%)" +msgstr "%s aktif: %d%%" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (out of fuel)" +msgstr ": Kehabisan bahan api" + +#: ../homedecor/handlers/furnaces.lua +#, fuzzy +msgid "@1 (output bins are full)" +msgstr ": dulang keluar penuh" + +#: ../homedecor/office.lua +#, fuzzy +msgid "Filing cabinet" +msgstr "Kabinet Bawah Sinki" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/grey" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/red" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/blue" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "white/tan" +msgstr "putih" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +#, fuzzy +msgid "Medicine cabinet" +msgstr "Kabinet Bawah Sinki" + +#, fuzzy +#~ msgid "dark_grey" +#~ msgstr "Hijau Gelap" + +#, fuzzy +#~ msgid "dark_green" +#~ msgstr "Hijau Gelap" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s pindah barang dalam kabinet dapur dekat %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s pindah barang masuk kabinet dapur dekat %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s ambil barang dari kabinet dapur dekat %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Separuh Atas, bukaan %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(Bukaan %s)" + +#~ msgid "Not enough space above that spot to place a door! " +#~ msgstr "Tidak cukup ruang di atas kawasan untuk letak pintu!" + +#~ msgid "Bucket of white paint " +#~ msgstr "Baldi cat putih" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Kaki untuk Meja Utiliti Kecil" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Titanium Dioksida" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Pagar/Kisi-kisi Besi Tempaan dengan Papan Tanda" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "ingin letakkan barangan yang diacukan seperti biasa." + +#~ msgid "Red " +#~ msgstr "Merah" + +#~ msgid "Pink " +#~ msgstr "Merah Jambu" + +#~ msgid "Blue " +#~ msgstr "Biru" + +#~ msgid "Sink " +#~ msgstr "Sinki" + +#~ msgid "Taps " +#~ msgstr "Pili Air" + +#~ msgid "Asphalt Shingles (outer corner) " +#~ msgstr "Genting Asfalt (bucu luar)" + +#~ msgid "Asphalt Shingles (inner corner) " +#~ msgstr "Genting Asfalt (bucu dalam)" + +#~ msgid "Wrought Iron Table Legs " +#~ msgstr "Kaki Meja Besi Tempaan" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Meja Kaca (Bulat, Kecil)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Meja Kaca (Segi Empat, Kecil)" + +#~ msgid "Glass Table Piece (large) " +#~ msgstr "Kepingan Meja Kaca (besar)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Pasu Bunga Plastik Hijau" + +#~ msgid "Large Area Rug " +#~ msgstr "Ambal Kawasan Besar" + +#~ msgid "Small Throw Rug " +#~ msgstr "Ambal Kecil" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Pasu Bunga Terracotta" + +#~ msgid "Terracotta Shingles (outer corner) " +#~ msgstr "Genting Terracotta (bucu luar)" + +#~ msgid "Terracotta Shingles (inner corner) " +#~ msgstr "Genting Terracotta (bucu dalam)" + +#~ msgid "Utility table mk2 " +#~ msgstr "Meja utiliti mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Pengatup Kayu (Hitam)" + +#~ msgid "Wooden Shutter (Dark grey) " +#~ msgstr "Pengatup Kayu (Kelabu Gelap)" + +#~ msgid "Wooden Shutter (Forest green) " +#~ msgstr "Pengatup Kayu (Hijau Rimba)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Pengatup Kayu (Kelabu)" + +#~ msgid "Wooden Shutter (Light blue) " +#~ msgstr "Pengatup Kayu (Biru Cerah)" + +#~ msgid "Wooden Shutter (Violet) " +#~ msgstr "Pengatup Kayu (Ungu)" + +#~ msgid "Wooden Shutter (Mahogany) " +#~ msgstr "Pengatup Kayu (Mahogani)" + +#~ msgid "Wooden Shutter (Unpainted oak) " +#~ msgstr "Pengatup Kayu (Oak tak bercat)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Pengatup Kayu (Putih)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Pengatup Kayu (Kuning)" + +#~ msgid "Wood Table Piece (large)" +#~ msgstr "Kepingan Meja Kayu (besar)" + +#~ msgid "Wood Table (Small, Round) " +#~ msgstr "Meja Kayu (Bulat, Kecil)" + +#~ msgid "Wood Table (Small, Square) " +#~ msgstr "Meja Kayu (Segi Empat, Kecil)" + +#~ msgid "someone " +#~ msgstr "seseorang" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Maaf, ini kawasan %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Lampu Bara Putih (kiub kecil)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Lampu Bara Putih (kiub kecil, dekat siling)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Lampu Bara Putih (tebal, dekat dinding)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Lampu Bara Putih (nipis, dekat dinding)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Lampu Bara Kuning (kiub kecil, dekat siling)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Lampu Bara Kuning (tebal)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Lampu Bara Kuning (tebal, dekat dinding)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Lampu Bara Kuning (nipis)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Lampu Bara Kuning (nipis, dekat dinding)" + +#~ msgid "Locked Fridge " +#~ msgstr "Peti Sejuk Berkunci" + +#~ msgid "Locked Cabinet " +#~ msgstr "Kabinet Berkunci" + +#~ msgid "Locked Nightstand " +#~ msgstr "Kabinet Katil Berkunci" + +#~ msgid "Locked Oven " +#~ msgstr "Ketuhar Berkunci" + +#~ msgid "Locked Oven (active) " +#~ msgstr "Ketuhar Berkunci (aktif)" + +#~ msgid "Locked Microwave Oven " +#~ msgstr "Ketuhar Gelombang Mikro Berkunci" + +#~ msgid "Locked Microwave Oven (active) " +#~ msgstr "Ketuhar Gelombang Mikro Berkunci (aktif)" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Kabinet Katil Mahogani dengan Satu Laci" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Kabinet Katil Mahogani dengan Dua Laci" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s pindah barang masuk kabinet katil dekat %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s ambil barang dari kabinet katil dekat %s" + +#~ msgid "%s is empty " +#~ msgstr "%s tiada apa-apa" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s pindah barang dalam peti sejuk dekat %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s pindah barang masuk peti sejuk dekat %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s ambil barang dari peti sejuk dekat %s" + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s menulis \"%s\" pada papan tanda dekat %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Sedang membaca pangkalan data watak yang di-cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Nampaknya fon tulisan berubah. Membina semula cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Tak jumpa ketinggian baris fon dalam DB yang di-cache. Sedang cuba " +#~ "paksaan kasar." + +#~ msgid "Registered %s and %s " +#~ msgstr "Dah daftarkan %s dan %s" + +#~ msgid "signs loaded " +#~ msgstr "papan tanda telah dimuatkan" diff --git a/homedecor_i18n/locale/pt.po b/homedecor_i18n/locale/pt.po new file mode 100644 index 00000000..a343f54b --- /dev/null +++ b/homedecor_i18n/locale/pt.po @@ -0,0 +1,1644 @@ +# Portuguese translations for homedecor package. +# Translations distributed under CC-BY-SA license. +# +# Translators and reviewers (updates): +# BrunoMine [2017] +# Aracnus , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: 2017-01-29 00:21-0200\n" +"Last-Translator: Aracnus \n" +"Language-Team: Portuguese\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Streak Free Glass" +msgstr "Vitral" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Wood Framed Glass" +msgstr "Vitral" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Terrycloth towel" +msgstr "Tolo de Toalha com Toalha" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Hardwood" +msgstr "madeira" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Grass slab" +msgstr "Poste de bronze" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Tar" +msgstr "Torradeira" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Marble" +msgstr "mármore" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +#, fuzzy +msgid "Granite" +msgstr "granito" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +#, fuzzy +msgid "Lava Lamp" +msgstr "Lâmpada de Plasma" + +#: ../lavalamp/init.lua +#, fuzzy +msgid "Lava Lamp (off)" +msgstr "Luminária de Teto (desligada)" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +msgid "Plastic sheet" +msgstr "Folha de Plástico" + +#: ../computer/miscitems.lua +msgid "Unprocessed Plastic base" +msgstr "Base de plástico não Processada" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +#, fuzzy +msgid "Not enough vertical space to place a server!" +msgstr "Não existe espaço vertical suficiente para colocar uma porta." + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (wrought iron)" +msgstr "Castiçal (ferro forjado)" + +#: ../chains/init.lua +#, fuzzy +msgid "Hanging chain (brass)" +msgstr "Lanterna de Parede" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (wrought iron)" +msgstr "Castiçal (ferro forjado)" + +#: ../chains/init.lua +#, fuzzy +msgid "Chandelier (brass)" +msgstr "Castiçal (latão)" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame" +msgstr "Quadro de Foto" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Item frame (owned by @1)" +msgstr "@1 (pertence a @2)" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +#, fuzzy +msgid "Pedestal (owned by @1)" +msgstr "@1 (pertence a @2)" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +#, fuzzy +msgid "Plasma TV" +msgstr "Lâmpada de Plasma" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +msgid "Loaded!" +msgstr "Carregado!" + +#: ../lrfurn/armchairs.lua +#, fuzzy +msgid "Armchair" +msgstr "Poltrona (@1)" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +#, fuzzy +msgid "End Table" +msgstr "Mesa" + +#: ../lrfurn/coffeetable.lua +#, fuzzy +msgid "Coffee Table" +msgstr "Cafeteira" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "preto" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "marrom" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "azul" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "ciano\t\t" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "dark grey" +msgstr "cinza escuro" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +msgid "dark green" +msgstr "verde escuro" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +msgid "green" +msgstr "verde" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "cinza" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "magenta" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "laranja" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +msgid "pink" +msgstr "rosa" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "red" +msgstr "vermelho" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +msgid "violet" +msgstr "violeta" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +msgid "white" +msgstr "branco" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "amarelo" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "Cama (@1)" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "Cama (@1, aumentada)" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "mogno" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "carvalho" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with One Drawer (@1)" +msgstr "Mesa de Cabeceira com Gaveta (@1)" + +#: ../homedecor/bedroom.lua +msgid "One-drawer Nightstand" +msgstr "Mesinha de Uma Gaveta" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with Two Drawers (@1)" +msgstr "Mesa de Cabeceira com Duas Gavetas" + +#: ../homedecor/bedroom.lua +msgid "Two-drawer Nightstand" +msgstr "Mesinha de Duas Gavetas" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "granito" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "mármore" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "aço" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet" +msgstr "Armário de Cozinha" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet (@1 top)" +msgstr "Armário de Cozinha (tampo de @1)" + +#: ../homedecor/kitchen_furniture.lua +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "Armário Superior de Cozinha (no teto)" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet with sink" +msgstr "Armário de Cozinha com Pia" + +#: ../homedecor/kitchen_furniture.lua +msgid "Under-sink cabinet" +msgstr "Armário sob a Pia" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "Papel toalha" + +#: ../homedecor/furniture_medieval.lua +msgid "Bars" +msgstr "Barras" + +#: ../homedecor/furniture_medieval.lua +msgid "Binding Bars" +msgstr "Barras do Canto" + +#: ../homedecor/furniture_medieval.lua +msgid "Chains" +msgstr "Correntes" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Torch" +msgstr "Tocha de parede" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Lamp" +msgstr "Lâmpada de Parede" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator (stainless steel)" +msgstr "Refrigerador (aço inoxidável)" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator" +msgstr "Refrigerador" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven" +msgstr "Forno" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "Forno (aço inoxidável)" + +#: ../homedecor/kitchen_appliances.lua +msgid "Microwave Oven" +msgstr "Forno Microondas" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "Cafeteira" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "Torradeira" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "Lava Louças" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "madeira" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "Lava Louças (@1)" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight" +msgstr "Claraboia de Vidro" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight Frosted" +msgstr "Claraboia de Vidro Fosco" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "asfalto" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +msgid "terracotta" +msgstr "terracota" + +#: ../homedecor/roofing.lua +msgid "Shingles (@1)" +msgstr "Telhas (@1)" + +#: ../homedecor/roofing.lua +msgid "@1 (outer corner)" +msgstr "@1 (canto exterior)" + +#: ../homedecor/roofing.lua +msgid "@1 (inner corner)" +msgstr "@1 (canto interno)" + +#: ../homedecor/roofing.lua +msgid "Wood Shingles" +msgstr "Telhas de Madeira" + +#: ../homedecor/roofing.lua +msgid "Asphalt Shingles" +msgstr "Telhas de Asfalto" + +#: ../homedecor/roofing.lua +msgid "Terracotta Shingles" +msgstr "Telhas de Terracota" + +#: ../homedecor/roofing.lua +msgid "Glass Shingles" +msgstr "Telhas de Vidro" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "Chaminé" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "Janela Dividida" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "Janela (Sem Acabamento)" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thick)" +msgstr "Persiana (grossa)" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thin)" +msgstr "Persiana (fina)" + +#: ../homedecor/window_treatments.lua +#, fuzzy +msgid "Curtains" +msgstr "Cortinas (@1)" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "latão" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "wrought iron" +msgstr "ferro forjado" + +#: ../homedecor/window_treatments.lua +msgid "Curtain Rod (@1)" +msgstr "Suporte de Cortina (@1)" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "Janela com Caixa de Flores" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "Vitral" + +#: ../homedecor/crafts.lua +msgid "Uncooked Terracotta Base" +msgstr "Base Bruta de Terracota" + +#: ../homedecor/crafts.lua +msgid "Terracotta Roof Tile" +msgstr "Telha de Terracota" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "Extrato de Óleo" + +#: ../homedecor/crafts.lua +msgid "Unprocessed paraffin" +msgstr "Parafina não processada" + +#: ../homedecor/crafts.lua +msgid "Plastic strips" +msgstr "Faixas de plástico" + +#: ../homedecor/crafts.lua +msgid "Small Wooden Drawer" +msgstr "Gaveta Pequena de Madeira" + +#: ../homedecor/crafts.lua +msgid "Simple Integrated Circuit" +msgstr "Circuito Integrado Simples" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "Elemento de aquecimento" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "Motor" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "Cristal de Força" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "Tela Branca" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "VCR" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "DVD Player" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "Bobina de fio de cobre" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "Bobina de fio de aço" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "Alto-falante" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "Pás de ventilador" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "Tira de Cobre" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "Tira de Aço" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "Cerca/corrimão de aço" + +#: ../homedecor/crafts.lua +msgid "Brass chainlink" +msgstr "Cerca/corrimão de bronze" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "Lata de Refrigerante" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "Moeda de Ouro (para máquina de venda de refrigerante)" + +#: ../homedecor/crafts.lua +msgid "Silicon lump" +msgstr "Massa de silício" + +#: ../homedecor/crafts.lua +msgid "Brass Ingot" +msgstr "Lingote de Latão" + +#: ../homedecor/crafts.lua +msgid "Small Flower Pot" +msgstr "Vaso de Flor Pequeno" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker" +msgstr "Alto-falante Grande" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker, open front" +msgstr "Alto-falante Grande, frente aberta" + +#: ../homedecor/electronics.lua +msgid "Small Surround Speaker" +msgstr "Alto-falante Pequeno" + +#: ../homedecor/electronics.lua +msgid "Stereo Receiver" +msgstr "Aparelho de Som" + +#: ../homedecor/electronics.lua +msgid "Projection Screen Material" +msgstr "Material de Tela de Projeção" + +#: ../homedecor/electronics.lua +msgid "Small CRT Television" +msgstr "TV de tubo pequena" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "DVD e VCR" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "Telefone" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thick Glowlight" +msgstr "Arandela Fina (@1)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Thin Glowlight" +msgstr "Arandela Grossa (@1)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Small Glowlight Cube" +msgstr "Arandela Cúbica Pequena (@1)" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "Lâmpada de Plasma" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "Bola de Plasma" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "Vela Grossa" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "Vela Fina" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "Castiçal (ferro forjado)" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "Castiçal (latão)" + +#: ../homedecor/lighting.lua +msgid "Wall sconce" +msgstr "Candeeiro de Parede" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "Luminária a óleo (lamparina)" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "Luminária a Óleo (sobre mesa)" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "Lanterna de Chão" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "Lanterna de Parede" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "Lanterna com gelosia (grande)" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "Lanterna com gelosia (pequena)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Table Lamp" +msgstr "Luminária de Mesa (@1)" + +#: ../homedecor/lighting.lua +#, fuzzy +msgid "Standing Lamp" +msgstr "Luminária Elevada (@1)" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "Luminária de Escritório (@1)" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "Luminária de Teto" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "Luminária de Teto (desligada)" + +#: ../homedecor/fences.lua +msgid "Fence/railing (@1)" +msgstr "Cerca/corrimão (@1)" + +#: ../homedecor/fences.lua +msgid "Fence/railing with sign (@1)" +msgstr "Cerca/corrimão com placa (@1)" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence" +msgstr "Cerca de Piquete Não Pintada" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence Corner" +msgstr "Cerca de Piquete Não Pintada de Canto" + +#: ../homedecor/fences.lua +msgid "White Picket Fence" +msgstr "Cerca de Piquete Branca" + +#: ../homedecor/fences.lua +msgid "White Picket Fence Corner" +msgstr "Cerca de Piquete Branca de Canto" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence" +msgstr "Cerca Privativa de Madeira" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence Corner" +msgstr "Cerca Privativa de Madeira de Canto" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence" +msgstr "Cerca de Arame Farpado" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence Corner" +msgstr "Cerca de Arame Farpado de Canto" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence" +msgstr "Cerca de Tela de Arame" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence Corner" +msgstr "Cerca de Tela de Arame de Canto" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2)" +msgstr "Cerca de Ferro Forjado (tipo 2)" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2) Corner" +msgstr "Cerca de Ferro Forjado (tipo 2) de Canto" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "carvalho não pintado" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "verde floresta" + +#: ../homedecor/shutters.lua +msgid "light blue" +msgstr "azul claro" + +#: ../homedecor/shutters.lua +msgid "Wooden Shutter (@1)" +msgstr "Persiana de Madeira (@1)" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "Churrasqueira" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "Banco de Jardim (estilo 1)" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "Banco de Jardim (estilo 2)" + +#: ../homedecor/exterior.lua +msgid "Deck Chair" +msgstr "Cadeira de Praia" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "Casa de Cachorro" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "Banco Simples" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "Caminho de pedra de jardim" + +#: ../homedecor/exterior.lua +msgid "white wood" +msgstr "madeira branca" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "madeira, com vegetação" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "madeira branca, com vegetação" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "Gelosia de Jardin (@1)" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "Balancinho de árvore" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "Poço de agua" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "Matagal (@1)" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet" +msgstr "Vaso Sanitário" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet paper" +msgstr "Papel higiênico " + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "Pia de Banheiro" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "Torneira de Banheiro" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "Torneira de Banheiro (latão)" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Tray" +msgstr "Ralo do Chuveiro" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Head" +msgstr "Chuveiro" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "Espelho de Banheiro com bancada" + +#: ../homedecor/climate-control.lua +msgid "Air Conditioner" +msgstr "Ar condicionado" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "Ventilador de Escritório" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "Ventilador de Teto" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "Aquecedor de ambiente" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "Aquecedor de radiador" + +#: ../homedecor/doors_and_gates.lua +msgid "Mahogany Closet Door (@1 opening)" +msgstr "Porta de Closet em Mogno (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Oak Closet Door (@1 opening)" +msgstr "Porta de Closet em Carvalho (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "Porta de madeira/vidro trabalhada (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass Office Door (@1 opening)" +msgstr "Porta de Vidro para Escritório (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "Vidro e madeira (carvalho) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "Vidro e madeira (mogno) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, White (@1 opening)" +msgstr "Vidro e madeira (branca) (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Plain Wooden Door (@1 opening)" +msgstr "Porta de Madeira Sem Acabamento (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "Porta de Quarto Branca (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "Cerca/corrimão de ferro forjado (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "Porta de Madeira com Vidraça (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "Porta de Madeira com Vidraça, tipo 2 (abre para @1)" + +#: ../homedecor/doors_and_gates.lua +msgid "left" +msgstr "esquerda" + +#: ../homedecor/doors_and_gates.lua +msgid "right" +msgstr "direita" + +#: ../homedecor/doors_and_gates.lua +msgid "Unpainted Picket Fence Gate" +msgstr "Porteira de Madeira Não Pintada" + +#: ../homedecor/doors_and_gates.lua +msgid "White Picket Fence Gate" +msgstr "Porteira Branca de Piquete " + +#: ../homedecor/doors_and_gates.lua +msgid "Barbed Wire Fence Gate" +msgstr "Porteira de Arame Farpado" + +#: ../homedecor/doors_and_gates.lua +msgid "Chainlink Fence Gate" +msgstr "Porteira de Tela de Arame" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "Divisória japonesa (superior)" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "Divisória japonesa" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "Divisória japonesa (inferior)" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "Tatami Japonês" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "Porta estilo japonês" + +#: ../homedecor/misc-nodes.lua +msgid "Textured Ceiling Paint" +msgstr "Pintura Texturizada do Teto" + +#: ../homedecor/misc-nodes.lua +msgid "Drop-Ceiling Tile" +msgstr "Placa de Teto" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "pequeno" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "grande" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "persiana" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "Carpete (@1)" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "Vaso de Flores" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "Rosa" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "Tulipa" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "Dente de Leão Amarelo" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "Dente de Leão Branco" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "Gerânio Azul" + +#: ../homedecor/misc-nodes.lua +msgid "Viola" +msgstr "Violeta" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "Cacto" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "Bonsai" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "Vaso de Flor (@1)" + +#: ../homedecor/misc-nodes.lua +msgid "Brass Pole" +msgstr "Poste de bronze" + +#: ../homedecor/misc-nodes.lua +msgid "Wrought Iron Pole" +msgstr "Poste de Ferro Forjado" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "Aquário" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "Aquário (iluminado)" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "Caixa de Papelão (grande)" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "Caixa de Papelão" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "Gabinete de DVD/CD" + +#: ../homedecor/misc-nodes.lua +msgid "Pool Table" +msgstr "Mesa de Sinuca" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "Piano" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "Troféu" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "Supino Reto" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "Skate" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "Gabinete de ferramentas metálicas e mesa de trabalho" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "Quadro de Foto" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "Quadro Decorativo #@1" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "coberto escuro" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "diagonal" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "horizontal" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "Corrimão para Escadas (@1, @2)" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "Espaço induficiente" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "Tampo Quadrado de Vidro" + +#: ../homedecor/tables.lua +msgid "Small round glass table" +msgstr "Tampo Redondo de Vidro" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "Tampo Grande de Vidro" + +#: ../homedecor/tables.lua +msgid "Small square wooden table" +msgstr "Tampo Quadrado de Madeira" + +#: ../homedecor/tables.lua +msgid "Small round wooden table" +msgstr "Tampo Redondo de Madeira" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "Tampo Grande de Madeira" + +#: ../homedecor/tables.lua +msgid "Utility Table" +msgstr "Mesa de Trabalho" + +#: ../homedecor/tables.lua +msgid "Table Legs (@1)" +msgstr "Pernas de Mesa (@1)" + +#: ../homedecor/tables.lua +msgid "Legs for Utility Table" +msgstr "Pernas para Mesa de Trabalho" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "Livro Consumível (@1)" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "@1 escreveu um livro (título: \"@2\"): \"@3\" na localização @4" + +#: ../homedecor/furniture.lua +msgid "Table" +msgstr "Mesa" + +#: ../homedecor/furniture.lua +msgid "Mahogany Table" +msgstr "Mesa em Mogno" + +#: ../homedecor/furniture.lua +msgid "White Table" +msgstr "Mesa Branca" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "Sem Acabamento" + +#: ../homedecor/furniture.lua +msgid "Kitchen chair (@1)" +msgstr "Cadeira de Cozinha (@1)" + +#: ../homedecor/furniture.lua +msgid "Armchair (@1)" +msgstr "Poltrona (@1)" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "Estante de Livros de Parede" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "Estante de Parede" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves stuff in @2 at @3" +msgstr "@1 moveu algo de @2 em @3" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "@1 moveu @2 de @3 em @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "@1 pegou @2 de @3 em @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (owned by @2)" +msgstr "@1 (pertence a @2)" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "@1 tentou acessar @2 pertencente a @3 em @4" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (Locked)" +msgstr "@1 (trancado)" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "Forno" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "@1 (vazio)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "@1 (ativo)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active: @2%)" +msgstr "@1 (ativo: @2%)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (out of fuel)" +msgstr "@1 (sem combustível)" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (output bins are full)" +msgstr "@1 (saída de itens está lotada)" + +#: ../homedecor/office.lua +msgid "Filing cabinet" +msgstr "Armário sob a Pia" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/grey" +msgstr "branco/cinza" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "branco/cinza escuro" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "branco/preto" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "preto/cinza escuro" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/red" +msgstr "branco/vermelho" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "branco/verde" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/blue" +msgstr "branco/azul" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "branco/amarelo" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/tan" +msgstr "branco/bronzeado" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "Azulejo de Banheiro/Cozinha (@1)" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "Tolo de Toalha com Toalha" + +#: ../homedecor/bathroom_furniture.lua +msgid "Medicine cabinet" +msgstr "Gabinete Medicinal" + +#, fuzzy +#~ msgid "dark_grey" +#~ msgstr "cinza escuro" + +#, fuzzy +#~ msgid "dark_green" +#~ msgstr "verde escuro" + +#~ msgid "%s moves stuff in kitchen cabinet at %s " +#~ msgstr "%s moveu itens no armário de cozinha em %s" + +#~ msgid "%s moves stuff to kitchen cabinet at %s " +#~ msgstr "%s moveu itens para o armário de cozinha em %s" + +#~ msgid "%s takes stuff from kitchen cabinet at %s " +#~ msgstr "%s retirou itens do armário de cozinha em %s" + +#~ msgid "(Top Half, %s-opening) " +#~ msgstr "(Metade superior, abre para %s)" + +#~ msgid "(%s-opening) " +#~ msgstr "(abre para %s)" + +#~ msgid "Bucket of white paint " +#~ msgstr "Balde de tinta branca" + +#~ msgid "Legs for Small Utility table " +#~ msgstr "Pernas para mesa pequena" + +#~ msgid "Titanium Dioxide " +#~ msgstr "Dióxido de titânio" + +#~ msgid "Chainlink Fence Gate (open) " +#~ msgstr "Portão da cerca de tela de arame (aberto)" + +#~ msgid "Wrought Iron Fence/railing with sign " +#~ msgstr "Cerca/corrimão de ferro forjado, com placa" + +#~ msgid "want to simply place the wielded item like usual. " +#~ msgstr "quer somente colocar o item empunhado normalmente." + +#~ msgid "Sink " +#~ msgstr "Pia" + +#~ msgid "Taps " +#~ msgstr "Torneira" + +#~ msgid "Glass Table (Small, Round) " +#~ msgstr "Mesa de vidro (pequena, redonda)" + +#~ msgid "Glass Table (Small, Square) " +#~ msgstr "Mesa de vidro (pequena, quadrada)" + +#~ msgid "Green Plastic Flower Pot " +#~ msgstr "Vaso de flor de plástico verde" + +#~ msgid "Large Area Rug " +#~ msgstr "Tapete grande" + +#~ msgid "Small Throw Rug " +#~ msgstr "Tapete pequeno" + +#~ msgid "Terracotta Flower Pot " +#~ msgstr "Vaso de flor de terracota" + +#~ msgid "Utility table mk2 " +#~ msgstr "Mesa de trabalho mk2" + +#~ msgid "Wooden Shutter (Black) " +#~ msgstr "Persiana de madeira (preta)" + +#~ msgid "Wooden Shutter (Dark Grey) " +#~ msgstr "Persiana de madeira (cinza escura)" + +#~ msgid "Wooden Shutter (Forest Green) " +#~ msgstr "Persiana de madeira (verde)" + +#~ msgid "Wooden Shutter (Grey) " +#~ msgstr "Persiana de madeira (cinza)" + +#~ msgid "Wooden Shutter (Light Blue) " +#~ msgstr "Persiana de madeira (azul clara)" + +#~ msgid "Wooden Shutter (Purple) " +#~ msgstr "Persiana de madeira (roxa)" + +#~ msgid "Wooden Shutter (Unpainted Mahogany) " +#~ msgstr "Persiana de madeira (mogno)" + +#~ msgid "Wooden Shutter (Unpainted Oak) " +#~ msgstr "Persiana de madeira (carvalho)" + +#~ msgid "Wooden Shutter (White) " +#~ msgstr "Persiana de madeira (branca)" + +#~ msgid "Wooden Shutter (Yellow) " +#~ msgstr "Persiana de madeira (amarela)" + +#~ msgid "Wooden Tabletop (Small, Round) " +#~ msgstr "Tampo da mesa (pequeno, arredondado)" + +#~ msgid "Wooden Tabletop (Small, Square) " +#~ msgstr "Tampo da mesa (pequeno, quadrado)" + +#~ msgid "someone " +#~ msgstr "alguém" + +#~ msgid "Sorry, %s owns that spot. " +#~ msgstr "Desculpe, mas esse local pertence a %s." + +#~ msgid "White Glowlight (small cube) " +#~ msgstr "Arandela branca (cubo pequeno)" + +#~ msgid "White Glowlight (small cube, on ceiling) " +#~ msgstr "Arandela branca (cubo pequeno, na parede)" + +#~ msgid "White Glowlight (thick, on wall) " +#~ msgstr "Arandela branca (grossa, na parede)" + +#~ msgid "White Glowlight (thin, on wall) " +#~ msgstr "Arandela branca (fina, na parede)" + +#~ msgid "Yellow Glowlight (small cube, on ceiling) " +#~ msgstr "Arandela amarela (cubo pequeno, na parede)" + +#~ msgid "Yellow Glowlight (thick) " +#~ msgstr "Arandela amarela (grossa)" + +#~ msgid "Yellow Glowlight (thick, on wall) " +#~ msgstr "Arandela amarela (grossa, na parede)" + +#~ msgid "Yellow Glowlight (thin) " +#~ msgstr "Arandela amarela (fina)" + +#~ msgid "Yellow Glowlight (thin, on wall) " +#~ msgstr "Arandela amarela (fina, na parede)" + +#~ msgid "Locked Cabinet " +#~ msgstr "Armário trancado" + +#~ msgid "Locked Nightstand " +#~ msgstr "Criado-mudo trancado" + +#~ msgid "Mahogany Nightstand with One Drawer " +#~ msgstr "Criado-mudo de mogno, com uma gaveta" + +#~ msgid "Mahogany Nightstand with Two Drawers " +#~ msgstr "Criado-mudo de mogno, com duas gavetas" + +#~ msgid "%s moves stuff to nightstand at %s " +#~ msgstr "%s moveu item(ns) para o criado-mudo em %s" + +#~ msgid "%s takes stuff from nightstand at %s " +#~ msgstr "%s tirou item(ns) do criado-mudo em %s" + +#~ msgid "Oven active: %d%% " +#~ msgstr "Forno ativo: %d%%" + +#~ msgid "Oven is empty " +#~ msgstr "O forno está vazio" + +#~ msgid "%s moves stuff in refrigerator at %s " +#~ msgstr "%s moveu item(ns) na geladeira em %s" + +#~ msgid "%s moves stuff to refrigerator at %s " +#~ msgstr "%s moveu item(ns) para a geladeira em %s" + +#~ msgid "%s takes stuff from refrigerator at %s " +#~ msgstr "%s tirou item(ns) da geladeira em %s" + +#~ msgid "Not enough vertical space to place a refrigerator! " +#~ msgstr "Não existe espaço vertical suficiente para adicionar uma geladeira." + +#~ msgid "%s wrote \"%s\" to sign at %s " +#~ msgstr "%s escreveu \"%s\" na placa em %s" + +#~ msgid "Reading cached character database. " +#~ msgstr "Lendo banco de dados de caracteres no cache." + +#~ msgid "Font seems to have changed. Rebuilding cache. " +#~ msgstr "Aparentemente as fontes foram alteradas. Reconstruindo o cache." + +#~ msgid "Could not find font line height in cached DB. Trying brute force. " +#~ msgstr "" +#~ "Não foi possível encontrar a altura da linha da fonte no cache do BD. " +#~ "Tentando na marra." + +#~ msgid "Registered %s and %s " +#~ msgstr "%s e %s registrados" + +#~ msgid "signs loaded " +#~ msgstr "placas carregadas" diff --git a/homedecor_i18n/locale/template.pot b/homedecor_i18n/locale/template.pot new file mode 100644 index 00000000..bde49c57 --- /dev/null +++ b/homedecor_i18n/locale/template.pot @@ -0,0 +1,1420 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-30 21:31-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../building_blocks/init.lua +msgid "Adobe" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roof block" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Streak Free Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fireplace" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Wood Framed Glass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Terrycloth towel" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tarmac Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Chess board tiling" +msgstr "" + +#. Translators: "Brobble" is a portmanteau of "Brick" and "Cobble". +#. Translate however you see fit. +#: ../building_blocks/init.lua +msgid "Brobble Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Gravel Spread" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Hardwood slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grass slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Grate Slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Adobe slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing stair" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Roofing slab" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Fake Grass" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Small bundle of sticks" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar base" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Marble" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Tar Knife" +msgstr "" + +#: ../building_blocks/init.lua +msgid "Granite" +msgstr "" + +#: ../inbox/init.lua +msgid "Mailbox" +msgstr "" + +#: ../inbox/init.lua +msgid "@1's Mailbox" +msgstr "" + +#: ../lavalamp/init.lua +msgid "Lava Lamp" +msgstr "" + +#: ../lavalamp/init.lua +msgid "Lava Lamp (off)" +msgstr "" + +#: ../computer/miscitems.lua ../homedecor/crafts.lua +msgid "Plastic sheet" +msgstr "" + +#: ../computer/miscitems.lua +msgid "Unprocessed Plastic base" +msgstr "" + +#: ../computer/computers.lua +msgid "Monitor and keyboard" +msgstr "" + +#: ../computer/computers.lua +msgid "WIFI Router" +msgstr "" + +#: ../computer/computers.lua +msgid "Computer Tower" +msgstr "" + +#: ../computer/computers.lua +msgid "Printer-Scanner Combo" +msgstr "" + +#: ../computer/computers.lua +msgid "Rack Server" +msgstr "" + +#: ../computer/computers.lua +msgid "Not enough vertical space to place a server!" +msgstr "" + +#: ../computer/tetris.lua +msgid "New Game" +msgstr "" + +#: ../computer/tetris.lua +msgid "Tetris Arcade" +msgstr "" + +#: ../computer/tetris.lua +msgid "No room for place the Arcade!" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Hanging chain (ceiling mount, brass)" +msgstr "" + +#: ../chains/init.lua +msgid "Chandelier (wrought iron)" +msgstr "" + +#: ../chains/init.lua +msgid "Chandelier (brass)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame" +msgstr "" + +#: ../itemframes/init.lua +msgid "Item frame (owned by @1)" +msgstr "" + +#: ../itemframes/init.lua +msgid "Pedestal" +msgstr "" + +#: ../itemframes/init.lua +msgid "Pedestal (owned by @1)" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma Screen TV Stand" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV" +msgstr "" + +#: ../plasmascreen/init.lua +msgid "Plasma TV (off)" +msgstr "" + +#: ../lrfurn/longsofas.lua +msgid "Long Sofa" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/sofas.lua +msgid "No room to place the sofa!" +msgstr "" + +#: ../lrfurn/longsofas.lua ../lrfurn/armchairs.lua ../lrfurn/sofas.lua +#: ../lrfurn/endtable.lua ../lrfurn/coffeetable.lua ../homedecor/init.lua +msgid "Loaded!" +msgstr "" + +#: ../lrfurn/armchairs.lua +msgid "Armchair" +msgstr "" + +#: ../lrfurn/sofas.lua +msgid "Sofa" +msgstr "" + +#: ../lrfurn/endtable.lua +msgid "End Table" +msgstr "" + +#: ../lrfurn/coffeetable.lua +msgid "Coffee Table" +msgstr "" + +#: ../lrfurn/coffeetable.lua +msgid "No room to place the coffee table!" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fake fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Ice fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Fancy Fire" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Glowing Embers" +msgstr "" + +#: ../fake_fire/init.lua +msgid "Flint and steel" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +#: ../homedecor/misc-nodes.lua ../homedecor/furniture.lua +msgid "black" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/books.lua +msgid "brown" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "blue" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "cyan" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "dark grey" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/furniture.lua +msgid "dark green" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua ../homedecor/books.lua +msgid "green" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua ../homedecor/books.lua +msgid "grey" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "magenta" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "orange" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/furniture.lua +msgid "pink" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua ../homedecor/books.lua ../homedecor/furniture.lua +msgid "red" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua ../homedecor/books.lua +#: ../homedecor/furniture.lua +msgid "violet" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/window_treatments.lua +#: ../homedecor/lighting.lua ../homedecor/shutters.lua +msgid "white" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/lighting.lua ../homedecor/shutters.lua +#: ../homedecor/exterior.lua +msgid "yellow" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Bed (@1, king sized)" +msgstr "" + +#: ../homedecor/bedroom.lua ../homedecor/shutters.lua +msgid "mahogany" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "oak" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with One Drawer (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "One-drawer Nightstand" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Nightstand with Two Drawers (@1)" +msgstr "" + +#: ../homedecor/bedroom.lua +msgid "Two-drawer Nightstand" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "granite" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "marble" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua ../homedecor/kitchen_appliances.lua +msgid "steel" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet (@1 top)" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Half-height Kitchen Cabinet (on ceiling)" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Kitchen Cabinet with sink" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Under-sink cabinet" +msgstr "" + +#: ../homedecor/kitchen_furniture.lua +msgid "Paper towels" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Binding Bars" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Chains" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Torch" +msgstr "" + +#: ../homedecor/furniture_medieval.lua +msgid "Wall Lamp" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Refrigerator" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Oven (stainless steel)" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Microwave Oven" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Coffee Maker" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Toaster" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua ../homedecor/roofing.lua +#: ../homedecor/window_treatments.lua ../homedecor/exterior.lua +#: ../homedecor/misc-nodes.lua +msgid "wood" +msgstr "" + +#: ../homedecor/kitchen_appliances.lua +msgid "Dishwasher (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Glass Skylight Frosted" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "asphalt" +msgstr "" + +#: ../homedecor/roofing.lua ../homedecor/misc-nodes.lua +msgid "terracotta" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Shingles (@1)" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "@1 (outer corner)" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "@1 (inner corner)" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Wood Shingles" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Asphalt Shingles" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Terracotta Shingles" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Glass Shingles" +msgstr "" + +#: ../homedecor/roofing.lua +msgid "Chimney" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (quartered)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window (plain)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thick)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window Blinds (thin)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Curtains" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "brass" +msgstr "" + +#: ../homedecor/window_treatments.lua ../homedecor/fences.lua +#: ../homedecor/misc-nodes.lua ../homedecor/tables.lua +msgid "wrought iron" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Curtain Rod (@1)" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Window flowerbox" +msgstr "" + +#: ../homedecor/window_treatments.lua +msgid "Stained Glass" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Uncooked Terracotta Base" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Terracotta Roof Tile" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Oil extract" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Unprocessed paraffin" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Plastic strips" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Small Wooden Drawer" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Simple Integrated Circuit" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Heating element" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Motor" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Power Crystal" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Blank Canvas" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "VCR" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "DVD Player" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of copper wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Spool of steel wire" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Speaker driver" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Fan blades" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Copper Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel Strip" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Steel chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Brass chainlink" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Soda Can" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Gold Coin (for soda vending machine)" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Silicon lump" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Brass Ingot" +msgstr "" + +#: ../homedecor/crafts.lua +msgid "Small Flower Pot" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Large Stereo Speaker, open front" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Small Surround Speaker" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Stereo Receiver" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Projection Screen Material" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Small CRT Television" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "DVD and VCR" +msgstr "" + +#: ../homedecor/electronics.lua +msgid "Telephone" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Glowlight" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Glowlight" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Small Glowlight Cube" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Plasma Ball" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thick Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Thin Candle" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (wrought iron)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Candlestick (brass)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Wall sconce" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil lamp (hurricane)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Oil Lamp (tabletop)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ground Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Hanging Lantern" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (large)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Lattice lantern (small)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Table Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Standing Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Desk Lamp (@1)" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp" +msgstr "" + +#: ../homedecor/lighting.lua +msgid "Ceiling Lamp (off)" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Fence/railing (@1)" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Fence/railing with sign (@1)" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Unpainted Picket Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua +msgid "White Picket Fence" +msgstr "" + +#: ../homedecor/fences.lua +msgid "White Picket Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Wooden Privacy Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Barbed Wire Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Chainlink Fence Corner" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2)" +msgstr "" + +#: ../homedecor/fences.lua +msgid "Wrought Iron fence (type 2) Corner" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "unpainted oak" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "forest green" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "light blue" +msgstr "" + +#: ../homedecor/shutters.lua +msgid "Wooden Shutter (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Barbecue" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Bench (style 2)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Deck Chair" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Doghouse" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Simple Bench" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden stone path" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "white wood, with vegetation" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Garden Lattice (@1)" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Tree's swing" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Water well" +msgstr "" + +#: ../homedecor/exterior.lua +msgid "Shrubbery (@1)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Toilet paper" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom Sink" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom taps/faucet (brass)" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Tray" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Shower Head" +msgstr "" + +#: ../homedecor/bathroom_sanitation.lua +msgid "Bathroom sundries set" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Air Conditioner" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Desk Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Ceiling Fan" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Space heater" +msgstr "" + +#: ../homedecor/climate-control.lua +msgid "Radiator heater" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Mahogany Closet Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Oak Closet Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Fancy Wood/Glass Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass Office Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Oak-colored (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, Mahogany-colored (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Glass and Wood, White (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Plain Wooden Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "White Bedroom Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wrought Iron Gate/Door (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Wooden door with glass insert, type 2 (@1 opening)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "left" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "right" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Unpainted Picket Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "White Picket Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Barbed Wire Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Chainlink Fence Gate" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (top)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese wall (bottom)" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese tatami" +msgstr "" + +#: ../homedecor/doors_and_gates.lua +msgid "Japanese-style door" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Textured Ceiling Paint" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Drop-Ceiling Tile" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "small" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "large" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "persian" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rug (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Flower Pot (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Rose" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Tulip" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Yellow Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "White Dandelion" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Blue Geranium" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Viola" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cactus" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Bonsai" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Potted flower (@1)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Brass Pole" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Wrought Iron Pole" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Fishtank (lighted)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box (big)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Cardboard box" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "DVD/CD cabinet" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Pool Table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Piano" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Trophy" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Sport bench" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Skateboard" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Metal tool cabinet and work table" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Picture Frame" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Decorative painting #@1" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "dark topped" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "diagonal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "horizontal" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "Banister for Stairs (@1, @2)" +msgstr "" + +#: ../homedecor/misc-nodes.lua +msgid "not enough space" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square glass table" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small round glass table" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Large glass table piece" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small square wooden table" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Small round wooden table" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Large wooden table piece" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Utility Table" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Table Legs (@1)" +msgstr "" + +#: ../homedecor/tables.lua +msgid "Legs for Utility Table" +msgstr "" + +#: ../homedecor/books.lua +msgid "Writable Book (@1)" +msgstr "" + +#: ../homedecor/books.lua +msgid "@1 has written in a book (title: \"@2\"): \"@3\" at location @4" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Table" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Mahogany Table" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "White Table" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "plain" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Kitchen chair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Armchair (@1)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Bookshelf (open-frame)" +msgstr "" + +#: ../homedecor/furniture.lua +msgid "Wall Shelf" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves stuff in @2 at @3" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 moves @2 to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 takes @2 from @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (owned by @2)" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 tried to access a @2 belonging to @3 at @4" +msgstr "" + +#: ../homedecor/handlers/inventory.lua +msgid "@1 (Locked)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "Furnace" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (empty)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (active: @2%)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (out of fuel)" +msgstr "" + +#: ../homedecor/handlers/furnaces.lua +msgid "@1 (output bins are full)" +msgstr "" + +#: ../homedecor/office.lua +msgid "Filing cabinet" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/black" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "black/dark grey" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/red" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/green" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/blue" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/yellow" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "white/tan" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Bathroom/kitchen tiles (@1)" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Towel rod with towel" +msgstr "" + +#: ../homedecor/bathroom_furniture.lua +msgid "Medicine cabinet" +msgstr "" diff --git a/homedecor_i18n/tools/updatepo.sh b/homedecor_i18n/tools/updatepo.sh new file mode 100755 index 00000000..cf101d34 --- /dev/null +++ b/homedecor_i18n/tools/updatepo.sh @@ -0,0 +1,22 @@ +#! /bin/bash + +# To create a new translation: +# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot + +cd "$(dirname "${BASH_SOURCE[0]}")/.."; + +# Extract translatable strings. +xgettext --from-code=UTF-8 \ + --keyword=S \ + --keyword=NS:1,2 \ + --keyword=N_ \ + --add-comments='Translators:' \ + --add-location=file \ + -o locale/template.pot \ + $(find .. -name '*.lua') + +# Update translations. +find locale -name '*.po' | while read -r file; do + echo $file + msgmerge --update $file locale/template.pot; +done diff --git a/ilights/depends.txt b/ilights/depends.txt index b08c42c4..fe7e3d95 100644 --- a/ilights/depends.txt +++ b/ilights/depends.txt @@ -1,4 +1,3 @@ default -dye +unifieddyes intllib? - diff --git a/ilights/init.lua b/ilights/init.lua index ca2db248..96f2d3ea 100644 --- a/ilights/init.lua +++ b/ilights/init.lua @@ -1,5 +1,6 @@ -- Industrial lights mod by DanDuncombe -- License: CC-By-Sa +-- rewritten by VanessaE to use param2 colorization ilights = {} @@ -19,71 +20,125 @@ end ilights.modpath = minetest.get_modpath("ilights") --- The important stuff! +-- Helper function to work around an engine bug -ilights.types = { - {"white", "White", "#ffffff" }, - {"grey", "Grey", "#a0a0a0" }, - {"black", "Black", "#000000" }, - {"red", "Red", "#ff0000" }, - {"yellow", "Yellow", "#ffff00" }, - {"green", "Green", "#00ff00" }, - {"cyan", "Cyan", "#00ffff" }, - {"blue", "Blue", "#0000ff" }, - {"magenta", "Magenta", "#ff00ff" }, - {"orange", "Orange", "#ff8000" }, - {"violet", "Violet", "#8000ff" }, - {"dark_grey", "Dark Grey", "#404040" }, - {"dark_green", "Dark Green", "#008000" }, - {"pink", "Pink", "#ffb0ff" }, - {"brown", "Brown", "#604000" }, -} +function ilights.fix_rotation(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local yaw = placer:get_look_yaw() + local dir = minetest.yaw_to_dir(yaw-1.5) + local pitch = placer:get_look_vertical() -local lamp_cbox = { - type = "fixed", - fixed = { -11/32, -8/16, -11/32, 11/32, 4/16, 11/32 } -} - -for _, row in ipairs(ilights.types) do - local name = row[1] - local desc = row[2] - local colordef = row[3] - - -- Node Definition - - minetest.register_node("ilights:light_"..name, { - description = desc.." Industrial Light", - drawtype = "mesh", - mesh = "ilights_lamp.obj", - tiles = { - "ilights_lamp_base.png", - "ilights_lamp_cage.png", - "ilights_lamp_bulb.png^[colorize:"..colordef..":200", - "ilights_lamp_bulb_base.png", - "ilights_lamp_lens.png^[colorize:"..colordef.."20:75" - }, - use_texture_alpha = true, - groups = {cracky=3}, - paramtype = "light", - paramtype2 = "facedir", - light_source = 14, - selection_box = lamp_cbox, - collision_box = lamp_cbox, - on_place = minetest.rotate_node - }) - - if name then - - --Choose craft material - minetest.register_craft({ - output = "ilights:light_"..name.." 3", - recipe = { - { "", "default:steel_ingot", "" }, - { "dye:"..name, "default:glass", "dye:"..name }, - { "default:steel_ingot", "default:torch", "default:steel_ingot" } - }, - }) + local fdir = minetest.dir_to_wallmounted(dir) + if pitch < -(math.pi/4) then + fdir = 0 + elseif pitch > math.pi/4 then + fdir = 1 end + minetest.swap_node(pos, { name = node.name, param2 = fdir }) end + +-- The important stuff! + +local lamp_cbox = { + type = "wallmounted", + wall_top = { -11/32, -4/16, -11/32, 11/32, 8/16, 11/32 }, + wall_bottom = { -11/32, -8/16, -11/32, 11/32, 4/16, 11/32 }, + wall_side = { -8/16, -11/32, -11/32, 4/16, 11/32, 11/32 } +} + +minetest.register_node("ilights:light", { + description = "Industrial Light", + drawtype = "mesh", + mesh = "ilights_lamp.obj", + tiles = { + { name = "ilights_lamp_base.png", color = 0xffffffff }, + { name = "ilights_lamp_cage.png", color = 0xffffffff }, + "ilights_lamp_bulb.png", + { name = "ilights_lamp_bulb_base.png", color = 0xffffffff }, + "ilights_lamp_lens.png" + }, + use_texture_alpha = true, + groups = {cracky=3}, + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + light_source = 14, + selection_box = lamp_cbox, + node_box = lamp_cbox, + after_place_node = ilights.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "ilights:light", "wallmounted") + end, +}) + +minetest.register_craft({ + output = "ilights:light 3", + recipe = { + { "", "default:steel_ingot", "" }, + { "", "default:glass", "" }, + { "default:steel_ingot", "default:torch", "default:steel_ingot" } + }, +}) + +-- convert old static nodes to param2 coloring + +ilights.colors = { + "white", + "grey", + "black", + "red", + "yellow", + "green", + "cyan", + "blue", + "magenta", + "orange", + "violet", + "dark_grey", + "dark_green", + "pink", + "brown" +} + +ilights.old_static_nodes = {} + +for _, i in ipairs (ilights.colors) do + table.insert(ilights.old_static_nodes, "ilights:light_"..i) +end + +minetest.register_lbm({ + name = "ilights:convert", + label = "Convert ilights static nodes to use param2 color", + run_at_every_load = true, + nodenames = ilights.old_static_nodes, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_") + 1) + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 / 4) + local param2 + + if old_fdir == 5 then + new_fdir = 0 + elseif old_fdir == 1 then + new_fdir = 5 + elseif old_fdir == 2 then + new_fdir = 4 + elseif old_fdir == 3 then + new_fdir = 3 + elseif old_fdir == 4 then + new_fdir = 2 + elseif old_fdir == 0 then + new_fdir = 1 + end + param2 = paletteidx + new_fdir + + minetest.set_node(pos, { name = "ilights:light", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) diff --git a/ilights/textures/ilights_lamp_bulb.png b/ilights/textures/ilights_lamp_bulb.png index 053b20fc281b49bb05bfb745fcaeba6f23937b5c..16c67cd411921ccf9e57c0da69280e9f3909b796 100644 GIT binary patch delta 467 zcmV;^0WAKU1?&TmBYy$2NklAnBzDQ(HH{&*4o~?h&&z-W(ELNRaFsD)ewTJ;LJ+KPftb0qW{i2gUf%mT=NMz#w(Gi#F*#=d=)LEhODVNh3?Tpj5fRb) zn~0oq%p7B^wW_N3et}6Tp)rPtj^l97t=yb*h1PGq_fpF5@2{%H7|j@?l;XVy0OuSc zs_LBcx-LXaDSt6D5nb0MBE}d*#C_jIc06ZQK za~#JagNS1c=Ui)TNk}PKYtQpcDXA(mJLimu)LNG#B1~EY@B0RTkB^U1%4)msJH~jP zr)jOtIYq=d7eXkds45Z7Ip>_8pP%pd`@U~u%=7uY?;GKN*B?+mK$EqOQ`Z0h002ov JPDHLkV1jl1 z?~HB~qcJgR1R+ShL+aE{DW%xUoQ2PD{wMhU!p+T1sZ=T!i&>UQlH|H>7>2fOQ%V5< zX_{tP76ifX@2_c^d7i_KjSXGb-`?H`A-?aMrdckRMNv%C6n|qZNz(WC_x}FAZQD^4 zS(XJEW1i19_hJ{{CJp7CW7es;Y4u2SLzmHiyF@ zgwVEa0KjB2*?-&HdwO~rjYd$@Gys4s%jI$z03bj}N1~L@=kp{<6h-lUe{*w_QrheFuCK52JU30VFrUwRyI%QQ`d5M#_RjCQ+i z7>2Iv=jZ1b 31000 or playerPosition[i] < -31000 then + return + end + end + for _, object in ipairs(minetest.get_objects_inside_radius(playerPosition, 3)) do if isGood(object) and (object:get_luaentity().dropped_by ~= player:get_player_name() or object:get_luaentity().age > 3) and inv and diff --git a/itemframes/depends.txt b/itemframes/depends.txt index 85a4dc21..29ebd95a 100644 --- a/itemframes/depends.txt +++ b/itemframes/depends.txt @@ -1,2 +1,3 @@ default +homedecor_i18n mesecons_mvps? diff --git a/itemframes/init.lua b/itemframes/init.lua index 8fca5e92..94004a21 100644 --- a/itemframes/init.lua +++ b/itemframes/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + local tmp = {} screwdriver = screwdriver or {} @@ -98,7 +101,7 @@ local drop_item = function(pos, node) end minetest.register_node("itemframes:frame",{ - description = "Item frame", + description = S("Item frame"), drawtype = "nodebox", node_box = { type = "fixed", @@ -121,12 +124,13 @@ minetest.register_node("itemframes:frame",{ after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) - meta:set_string("infotext","Item frame (owned by "..placer:get_player_name()..")") + meta:set_string("infotext", S("Item frame (owned by @1)", placer:get_player_name())) end, on_rightclick = function(pos, node, clicker, itemstack) if not itemstack then return end local meta = minetest.get_meta(pos) - if clicker:get_player_name() == meta:get_string("owner") then + if clicker:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(clicker, "protection_bypass") then drop_item(pos,node) local s = itemstack:take_item() meta:set_string("item",s:to_string()) @@ -136,14 +140,16 @@ minetest.register_node("itemframes:frame",{ end, on_punch = function(pos,node,puncher) local meta = minetest.get_meta(pos) - if puncher:get_player_name() == meta:get_string("owner") then + if puncher:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(puncher, "protection_bypass") then drop_item(pos, node) end end, can_dig = function(pos,player) local name = player and player:get_player_name() local meta = minetest.get_meta(pos) - return name == meta:get_string("owner") + return name == meta:get_string("owner") or + minetest.check_player_privs(player, "protection_bypass") end, on_destruct = function(pos) local meta = minetest.get_meta(pos) @@ -156,7 +162,7 @@ minetest.register_node("itemframes:frame",{ minetest.register_node("itemframes:pedestal",{ - description = "Pedestal", + description = S("Pedestal"), drawtype = "nodebox", node_box = { type = "fixed", fixed = { @@ -178,12 +184,13 @@ minetest.register_node("itemframes:pedestal",{ after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) - meta:set_string("infotext","Pedestal (owned by "..placer:get_player_name()..")") + meta:set_string("infotext", S("Pedestal (owned by @1)", placer:get_player_name())) end, on_rightclick = function(pos, node, clicker, itemstack) if not itemstack then return end local meta = minetest.get_meta(pos) - if clicker:get_player_name() == meta:get_string("owner") then + if clicker:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(clicker, "protection_bypass") then drop_item(pos,node) local s = itemstack:take_item() meta:set_string("item",s:to_string()) @@ -193,14 +200,16 @@ minetest.register_node("itemframes:pedestal",{ end, on_punch = function(pos,node,puncher) local meta = minetest.get_meta(pos) - if puncher:get_player_name() == meta:get_string("owner") then + if puncher:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(puncher, "protection_bypass") then drop_item(pos,node) end end, can_dig = function(pos,player) local name = player and player:get_player_name() local meta = minetest.get_meta(pos) - return name == meta:get_string("owner") + return name == meta:get_string("owner") or + minetest.check_player_privs(player, "protection_bypass") end, on_destruct = function(pos) local meta = minetest.get_meta(pos) diff --git a/lavalamp/depends.txt b/lavalamp/depends.txt index 29a8e95c..99442029 100644 --- a/lavalamp/depends.txt +++ b/lavalamp/depends.txt @@ -1,2 +1,4 @@ wool -bucket \ No newline at end of file +bucket +homedecor_i18n +unifieddyes diff --git a/lavalamp/init.lua b/lavalamp/init.lua index 93571c6d..eec843a0 100644 --- a/lavalamp/init.lua +++ b/lavalamp/init.lua @@ -1,84 +1,134 @@ -local lavalamps_list = { - { "Red Lava Lamp", "red"}, - { "Orange Lava Lamp", "orange"}, - { "Yellow Lava Lamp", "yellow"}, - { "Green Lava Lamp", "green"}, - { "Blue Lava Lamp", "blue"}, - { "Violet Lava Lamp", "violet"}, + +local S = homedecor_i18n.gettext + +lavalamp = {} + +minetest.register_node("lavalamp:lavalamp", { + description = S("Lava Lamp"), + drawtype = "mesh", + mesh = "lavalamp.obj", + tiles = { + { name = "lavalamp_metal.png", color = 0xffffffff}, + { + name="lavalamp_lamp_anim.png", + animation={ + type="vertical_frames", + aspect_w=40, + aspect_h=40, + length=6.0, + }, + }, + }, + inventory_image = "lavalamp_lamp_inv.png", + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + walkable = false, + light_source = 14, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 }, + }, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + sounds = default.node_sound_glass_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "lavalamp:lavalamp", false) + else + node.name = "lavalamp:lavalamp_off" + minetest.swap_node(pos, node) + return itemstack + end + end +}) + +minetest.register_node("lavalamp:lavalamp_off", { + description = S("Lava Lamp (off)"), + drawtype = "mesh", + mesh = "lavalamp.obj", + tiles = { + { name = "lavalamp_metal.png", color = 0xffffffff }, + "lavalamp_lamp_off.png", + }, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 }, + }, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + drop = "lavalamp:lavalamp", + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + node.name = "lavalamp:lavalamp" + minetest.swap_node(pos, node) + return itemstack + end, +}) + +minetest.register_craft({ + output = "lavalamp:lavalamp", + recipe = { + {"", "wool:white", "", }, + {"", "bucket:bucket_water", "", }, + {"", "wool:black", "", } + } +}) + +-- convert to param2 coloring + +local colors = { + "red", + "orange", + "yellow", + "green", + "blue", + "violet" } -for i in ipairs(lavalamps_list) do - local lavalampdesc = lavalamps_list[i][1] - local colour = lavalamps_list[i][2] - - minetest.register_node("lavalamp:"..colour, { - description = lavalampdesc, - drawtype = "mesh", - mesh = "lavalamp.obj", - tiles = { - "lavalamp_metal.png", - { - name="lavalamp_lamp_anim_"..colour..".png", - animation={ - type="vertical_frames", - aspect_w=40, - aspect_h=40, - length=6.0, - }, - }, - }, - inventory_image = "lavalamp_lamp_"..colour.."_inv.png", - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - walkable = false, - light_source = 14, - selection_box = { - type = "fixed", - fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 }, - }, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - node.name = "lavalamp:"..colour.."_off" - minetest.set_node(pos, node) - return itemstack - end, - }) - - minetest.register_node("lavalamp:"..colour.."_off", { - description = lavalampdesc.." off", - drawtype = "mesh", - mesh = "lavalamp.obj", - tiles = { - "lavalamp_metal.png", - "lavalamp_lamp_off.png", - }, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "fixed", - fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 }, - }, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - sounds = default.node_sound_glass_defaults(), - drop = "lavalamp:"..colour, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - node.name = "lavalamp:"..colour - minetest.set_node(pos, node) - return itemstack - end, - }) - - minetest.register_craft({ - output = "lavalamp:"..colour, - recipe = { - {"", "wool:"..colour, "", }, - {"", "bucket:bucket_water", "", }, - {"", "wool:black", "", } - } - }) - +lavalamp.old_static_nodes = {} +for _, color in ipairs(colors) do + table.insert(lavalamp.old_static_nodes, "lavalamp:"..color) + table.insert(lavalamp.old_static_nodes, "lavalamp:"..color.."_off") end + +minetest.register_lbm({ + name = "lavalamp:convert", + label = "Convert lava lamps to use param2 color", + run_at_every_load = true, + nodenames = lavalamp.old_static_nodes, + action = function(pos, node) + local name = node.name + local newname + local color + + if string.find(name, "red") then + color = "red" + elseif string.find(name, "orange") then + color = "orange" + elseif string.find(name, "yellow") then + color = "yellow" + elseif string.find(name, "green") then + color = "green" + elseif string.find(name, "blue") then + color = "blue" + elseif string.find(name, "violet") then + color = "violet" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, false) + + minetest.set_node(pos, { name = "lavalamp:lavalamp", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + + end +}) diff --git a/lavalamp/textures/lavalamp_lamp_anim.png b/lavalamp/textures/lavalamp_lamp_anim.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f7d53e5e0a507d9c5c3ca7888a00994da889a8 GIT binary patch literal 4804 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 literal 0 HcmV?d00001 diff --git a/lavalamp/textures/lavalamp_lamp_inv.png b/lavalamp/textures/lavalamp_lamp_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..04296c6f4cfbdcdf226ee19ce7c0cdc90c0d599c GIT binary patch literal 2884 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 FO#sB%5gq^l diff --git a/lrfurn/armchairs.lua b/lrfurn/armchairs.lua index f3b82258..fc9d0969 100644 --- a/lrfurn/armchairs.lua +++ b/lrfurn/armchairs.lua @@ -1,30 +1,36 @@ +local S = homedecor_i18n.gettext local armchair_cbox = { type = "fixed", - fixed = { + fixed = { {-0.5, -0.5, -0.5, 0.5, 0, 0.5 }, {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 } } } -for i in ipairs(lrfurn.colors) do - local colour = lrfurn.colors[i][1] - local hue = lrfurn.colors[i][2] - - minetest.register_node("lrfurn:armchair_"..colour, { - description = "Armchair ("..colour..")", - drawtype = "mesh", - mesh = "lrfurn_armchair.obj", - tiles = { - "lrfurn_bg_white.png^[colorize:"..hue.."^lrfurn_sofa_overlay.png", - "lrfurn_sofa_bottom.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), - node_box = armchair_cbox, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +minetest.register_node("lrfurn:armchair", { + description = S("Armchair"), + drawtype = "mesh", + mesh = "lrfurn_armchair.obj", + tiles = { + "lrfurn_upholstery.png", + { name = "lrfurn_sofa_bottom.png", color = 0xffffffff } + }, + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + inventory_image = "lrfurn_armchair_inv.png", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + node_box = armchair_cbox, + after_place_node = lrfurn.fix_rotation, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "lrfurn:armchair", "wallmounted") + else if not clicker:is_player() then return itemstack end @@ -33,28 +39,77 @@ for i in ipairs(lrfurn.colors) do clicker:set_hp(20) return itemstack end - }) + end +}) - minetest.register_craft({ - output = "lrfurn:armchair_"..colour, - recipe = { - {"wool:"..colour, "", "", }, - {"stairs:slab_wood", "", "", }, - {"group:stick", "", "", } - } - }) +minetest.register_craft({ + output = "lrfurn:armchair", + recipe = { + {"wool:white", "", "", }, + {"stairs:slab_wood", "", "", }, + {"group:stick", "", "", } + } +}) - minetest.register_craft({ - output = "lrfurn:armchair_"..colour, - recipe = { - {"wool:"..colour, "", "", }, - {"moreblocks:slab_wood", "", "", }, - {"group:stick", "", "", } - } - }) +minetest.register_craft({ + output = "lrfurn:armchair", + recipe = { + {"wool:white", "", "", }, + {"moreblocks:slab_wood", "", "", }, + {"group:stick", "", "", } + } +}) +-- convert old static nodes to param2 color + +lrfurn.old_static_armchairs = {} + +for _, color in ipairs(lrfurn.colors) do + table.insert(lrfurn.old_static_armchairs, "lrfurn:armchair_"..color) + print("lrfurn:armchair_"..color) end +minetest.register_lbm({ + name = "lrfurn:convert_armchairs", + label = "Convert lrfurn armchairs to use param2 color", + run_at_every_load = true, + nodenames = lrfurn.old_static_armchairs, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_")+1) + + if color == "red" then + color = "medium_red" + elseif color == "dark_green" then + color = "medium_green" + elseif color == "magenta" then + color = "medium_magenta" + elseif color == "cyan" then + color = "medium_cyan" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + + minetest.set_node(pos, { name = "lrfurn:armchair", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + end +}) + if minetest.setting_get("log_mods") then - minetest.log("action", "armchairs loaded") + minetest.log("action", "[lrfurn/armchairs] "..S("Loaded!")) end diff --git a/lrfurn/coffeetable.lua b/lrfurn/coffeetable.lua index 7f7afaa1..506a5bf9 100644 --- a/lrfurn/coffeetable.lua +++ b/lrfurn/coffeetable.lua @@ -1,5 +1,8 @@ + +local S = homedecor_i18n.gettext + minetest.register_node("lrfurn:coffeetable_back", { - description = "Coffee Table", + description = S("Coffee Table"), drawtype = "nodebox", tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"}, paramtype = "light", @@ -45,7 +48,8 @@ minetest.register_node("lrfurn:coffeetable_back", { end minetest.set_node(pos, node) else - minetest.chat_send_player(placer:get_player_name(), "No room to place the coffee table!") + minetest.chat_send_player(placer:get_player_name(), + S("No room to place the coffee table!")) minetest.set_node(pos, {name = "air"}) return true end @@ -68,7 +72,7 @@ minetest.register_node("lrfurn:coffeetable_back", { if minetest.is_protected(pos, digger:get_player_name()) then return true end - if (minetest.get_node({x=pos.x, y=pos.y, z=pos.z}).name == "lrfurn:coffeetable_front") + if (minetest.get_node({x=pos.x, y=pos.y, z=pos.z}).name == "lrfurn:coffeetable_front") and (minetest.get_node({x=pos.x, y=pos.y, z=pos.z}).param2 == param2) then minetest.remove_node(pos) end @@ -122,5 +126,5 @@ minetest.register_craft({ }) if minetest.setting_get("log_mods") then - minetest.log("action", "coffeetable loaded") + minetest.log("action", "[lrfurn/coffeetable] "..S("Loaded!")) end diff --git a/lrfurn/depends.txt b/lrfurn/depends.txt index 470ec30b..973de176 100644 --- a/lrfurn/depends.txt +++ b/lrfurn/depends.txt @@ -1,2 +1,4 @@ default wool +homedecor_i18n +unifieddyes diff --git a/lrfurn/endtable.lua b/lrfurn/endtable.lua index fa3940ab..b94da3b0 100644 --- a/lrfurn/endtable.lua +++ b/lrfurn/endtable.lua @@ -1,5 +1,8 @@ + +local S = homedecor_i18n.gettext + minetest.register_node("lrfurn:endtable", { - description = "End Table", + description = S("End Table"), drawtype = "nodebox", tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"}, paramtype = "light", @@ -46,5 +49,5 @@ minetest.register_craft({ }) if minetest.setting_get("log_mods") then - minetest.log("action", "endtable loaded") + minetest.log("action", "[lrfurn/endtable] "..S("Loaded!")) end diff --git a/lrfurn/init.lua b/lrfurn/init.lua index 64e2ab95..64341362 100644 --- a/lrfurn/init.lua +++ b/lrfurn/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + lrfurn = {} screwdriver = screwdriver or {} @@ -8,22 +11,22 @@ lrfurn.fdir_to_fwd = { { -1, 0 }, } -lrfurn.colors = { -- mod changed to use colorize feature of minetest engine (cg72) - { "black", "#000000:230" }, - { "brown", "#251005:225" }, - { "blue", "#0000d0:225" }, - { "cyan", "#009fa7:250" }, - { "dark_grey", "#101010:175" }, - { "dark_green", "#007000:230" }, - { "green", "#00d000:250" }, - { "grey", "#101010:100" }, - { "magenta", "#e0048b:250" }, - { "orange", "#ee9000:240" }, - { "pink", "#ff90b0:250" }, - { "red", "#800000:240" }, - { "violet", "#9000d0:250" }, - { "white", "#000000:000" }, - { "yellow", "#dde000:240" } +lrfurn.colors = { + "black", + "brown", + "blue", + "cyan", + "dark_grey", + "dark_green", + "green", + "grey", + "magenta", + "orange", + "pink", + "red", + "violet", + "white", + "yellow", } function lrfurn.check_forward(pos, fdir, long, placer) @@ -57,6 +60,15 @@ function lrfurn.check_forward(pos, fdir, long, placer) return true end +function lrfurn.fix_rotation(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local yaw = placer:get_look_yaw() + local dir = minetest.yaw_to_dir(yaw) + local fdir = minetest.dir_to_wallmounted(dir) + + minetest.swap_node(pos, { name = node.name, param2 = fdir }) +end + dofile(minetest.get_modpath("lrfurn").."/longsofas.lua") dofile(minetest.get_modpath("lrfurn").."/sofas.lua") dofile(minetest.get_modpath("lrfurn").."/armchairs.lua") diff --git a/lrfurn/longsofas.lua b/lrfurn/longsofas.lua index a1721a9d..b741aa9d 100644 --- a/lrfurn/longsofas.lua +++ b/lrfurn/longsofas.lua @@ -1,86 +1,129 @@ -local longsofa_sbox = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 2.5} -} +local S = homedecor_i18n.gettext local longsofa_cbox = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 2.5 }, - {-0.5, -0.5, 0.5, -0.4, 0.5, 2.5 } - } + type = "wallmounted", + wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 2.5}, } -for i in ipairs(lrfurn.colors) do - local colour = lrfurn.colors[i][1] - local hue = lrfurn.colors[i][2] +minetest.register_node("lrfurn:longsofa", { + description = S("Long Sofa"), + drawtype = "mesh", + mesh = "lrfurn_sofa_long.obj", + tiles = { + "lrfurn_upholstery.png", + { name = "lrfurn_sofa_bottom.png", color = 0xffffffff } + }, + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + inventory_image = "lrfurn_longsofa_inv.png", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + selection_box = longsofa_cbox, + node_box = longsofa_cbox, + on_rotate = screwdriver.disallow, + after_place_node = function(pos, placer, itemstack, pointed_thing) + lrfurn.fix_rotation(pos, placer, itemstack, pointed_thing) + if minetest.is_protected(pos, placer:get_player_name()) then return true end - minetest.register_node("lrfurn:longsofa_"..colour, { - description = "Long Sofa ("..colour..")", - drawtype = "mesh", - mesh = "lrfurn_sofa_long.obj", - tiles = { - "lrfurn_bg_white.png^[colorize:"..hue.."^lrfurn_sofa_overlay.png", - "lrfurn_sofa_bottom.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), - selection_box = longsofa_sbox, - node_box = longsofa_cbox, - on_rotate = screwdriver.disallow, + local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) - after_place_node = function(pos, placer, itemstack, pointed_thing) - if minetest.is_protected(pos, placer:get_player_name()) then return true end - - local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) - - if lrfurn.check_forward(pos, fdir, true, placer) then - minetest.set_node(pos, {name = "lrfurn:longsofa_"..colour, param2 = fdir}) - itemstack:take_item() - else - minetest.chat_send_player(placer:get_player_name(), "No room to place the sofa!") - minetest.set_node(pos, { name = "air" }) - end - return itemstack - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if lrfurn.check_forward(pos, fdir, true, placer) then + itemstack:take_item() + else + minetest.chat_send_player(placer:get_player_name(), S("No room to place the sofa!")) + minetest.set_node(pos, { name = "air" }) + end + return itemstack + end, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "lrfurn:longsofa", "wallmounted") + else if not clicker:is_player() then return itemstack end + pos.y = pos.y-0.5 clicker:setpos(pos) clicker:set_hp(20) return itemstack end - }) + end +}) - minetest.register_alias("lrfurn:longsofa_left_"..colour, "air") - minetest.register_alias("lrfurn:longsofa_middle_"..colour, "air") - minetest.register_alias("lrfurn:longsofa_right_"..colour, "lrfurn:longsofa_"..colour) +minetest.register_craft({ + output = "lrfurn:longsofa", + recipe = { + {"wool:white", "wool:white", "wool:white", }, + {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", }, + {"group:stick", "group:stick", "group:stick", } + } +}) - minetest.register_craft({ - output = "lrfurn:longsofa_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, - {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", }, - {"group:stick", "group:stick", "group:stick", } - } - }) +minetest.register_craft({ + output = "lrfurn:longsofa", + recipe = { + {"wool:white", "wool:white", "wool:white", }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", }, + {"group:stick", "group:stick", "group:stick", } + } +}) - minetest.register_craft({ - output = "lrfurn:longsofa_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, - {"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", }, - {"group:stick", "group:stick", "group:stick", } - } - }) +-- convert old static nodes to param2 colorization +lrfurn.old_static_longsofas = {} + +for _, color in ipairs(lrfurn.colors) do + table.insert(lrfurn.old_static_longsofas, "lrfurn:longsofa_"..color) end +minetest.register_lbm({ + name = "lrfurn:convert_longsofas", + label = "Convert lrfurn long sofas to use param2 color", + run_at_every_load = true, + nodenames = lrfurn.old_static_longsofas, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_")+1) + + if color == "red" then + color = "medium_red" + elseif color == "dark_green" then + color = "medium_green" + elseif color == "magenta" then + color = "medium_magenta" + elseif color == "cyan" then + color = "medium_cyan" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + + minetest.set_node(pos, { name = "lrfurn:longsofa", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + + end +}) + if minetest.setting_get("log_mods") then - minetest.log("action", "long sofas loaded") + minetest.log("action", "[lrfurn/longsofas] "..S("Loaded!")) end diff --git a/lrfurn/models/lrfurn_armchair.obj b/lrfurn/models/lrfurn_armchair.obj index 78a85c27..1ad653e1 100644 --- a/lrfurn/models/lrfurn_armchair.obj +++ b/lrfurn/models/lrfurn_armchair.obj @@ -1,153 +1,153 @@ -# Blender v2.73 (sub 0) OBJ File: 'lrfurn-armchair.blend' +# Blender v2.72 (sub 0) OBJ File: 'lrfurn-armchair.blend' # www.blender.org o Cylinder -v 0.464844 0.234375 0.312500 -v -0.500000 0.460938 0.464844 -v -0.312500 0.187500 -0.437500 -v 0.500000 0.421875 0.316406 -v 0.500000 0.421875 0.496094 -v 0.312500 -0.078125 0.312500 -v 0.312500 -0.078125 -0.500000 -v 0.496094 0.187500 -0.500000 -v 0.500000 0.187500 0.312500 -v 0.312500 0.187500 0.312500 -v 0.316406 0.187500 -0.500000 -v -0.500000 0.460938 0.347656 -v -0.500000 0.476562 0.406250 -v -0.312500 -0.062500 0.250000 -v -0.347656 0.234375 0.312500 -v -0.437500 0.437500 0.500000 -v -0.437500 0.437500 0.312500 -v -0.312500 -0.078125 0.312500 -v 0.464844 0.218750 -0.500000 -v 0.347656 0.234375 0.312500 -v 0.347656 0.218750 -0.500000 -v -0.312500 -0.062500 -0.437500 -v 0.406250 0.234375 -0.500000 -v 0.406250 0.250000 0.312500 -v 0.500000 0.476562 0.406250 -v -0.437500 0.500000 0.406250 -v 0.500000 0.460938 0.464844 -v -0.437500 0.484375 0.347656 -v 0.500000 0.460938 0.347656 -v -0.437500 0.484375 0.464844 -v 0.000000 -0.039062 0.312500 -v -0.000000 -0.039062 -0.500000 -v -0.312500 -0.078125 -0.500000 -v -0.347656 0.218750 -0.500000 -v 0.250000 -0.046875 -0.500000 -v 0.250000 -0.046875 0.312500 -v -0.000000 0.000000 -0.437500 -v 0.312500 -0.062500 -0.437500 -v 0.250000 -0.015625 -0.437500 -v 0.000000 0.000000 0.250000 -v 0.312500 -0.062500 0.250000 -v 0.250000 -0.015625 0.250000 -v -2.426160 -0.153004 0.228538 -v 0.500000 0.187500 -0.437500 -v 0.312500 0.187500 -0.437500 -v -0.500000 0.421875 0.316406 -v -0.312500 0.187500 0.312500 -v 0.464844 0.234375 -0.437500 -v -0.500000 0.421875 0.496094 -v 0.347656 0.234375 -0.437500 -v -0.316406 0.187500 -0.500000 -v 0.406250 0.250000 -0.437500 -v -0.312500 -0.078125 0.312500 -v 0.437500 0.437500 0.312500 -v 0.437500 0.437500 0.500000 -v 0.000000 0.437500 0.312500 -v 0.437500 0.500000 0.406250 -v 0.437500 0.484375 0.347656 -v 0.437500 0.484375 0.464844 -v -0.500000 -0.187500 0.500000 -v -0.000000 -0.187500 -0.500000 -v 0.500000 -0.187500 0.500000 -v -0.312500 -0.078125 -0.500000 -v -0.500000 -0.187500 -0.500000 -v 0.500000 -0.187500 -0.500000 -v -0.464844 0.234375 -0.437500 -v -0.347656 0.234375 -0.437500 -v 0.500000 -0.375000 0.500000 -v 0.500000 -0.375000 -0.500000 -v 0.437500 -0.500000 -0.437500 -v 0.437500 -0.500000 -0.375000 -v 0.375000 -0.500000 -0.375000 -v 0.375000 -0.500000 -0.437500 -v 0.437500 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.375000 +v -0.312500 -0.464844 0.234375 +v -0.464844 0.500000 0.460938 +v 0.437500 0.312500 0.187500 +v -0.316406 -0.500000 0.421875 +v -0.496094 -0.500000 0.421875 +v -0.312500 -0.312500 -0.078125 +v 0.500000 -0.312500 -0.078125 +v 0.500000 -0.496094 0.187500 +v -0.312500 -0.500000 0.187500 +v -0.312500 -0.312500 0.187500 +v 0.500000 -0.316406 0.187500 +v -0.347657 0.500000 0.460938 +v -0.406250 0.500000 0.476562 +v -0.250000 0.312500 -0.062500 +v -0.312500 0.347656 0.234375 +v -0.500000 0.437500 0.437500 +v -0.312500 0.437500 0.437500 +v -0.312500 0.312500 -0.078125 +v 0.500000 -0.464844 0.218750 +v -0.312500 -0.347656 0.234375 +v 0.500000 -0.347656 0.218750 +v 0.437500 0.312500 -0.062500 +v 0.500000 -0.406250 0.234375 +v -0.312500 -0.406250 0.250000 +v -0.406250 -0.500000 0.476562 +v -0.406250 0.437500 0.500000 +v -0.464844 -0.500000 0.460938 +v -0.347656 0.437500 0.484375 +v -0.347656 -0.500000 0.460938 +v -0.464844 0.437500 0.484375 +v -0.312500 -0.000000 -0.039062 +v 0.500000 0.000000 -0.039062 +v 0.500000 0.312500 -0.078125 +v 0.500000 0.347656 0.218750 +v 0.500000 -0.250000 -0.046875 +v -0.312500 -0.250000 -0.046875 +v 0.437500 0.000000 0.000000 +v 0.437500 -0.312500 -0.062500 +v 0.437500 -0.250000 -0.015625 +v -0.250000 -0.000000 0.000000 +v -0.250000 -0.312500 -0.062500 +v -0.250000 -0.250000 -0.015625 +v -0.228538 2.426160 -0.153004 +v 0.437500 -0.500000 0.187500 +v 0.437500 -0.312500 0.187500 +v -0.316407 0.500000 0.421875 +v -0.312500 0.312500 0.187500 +v 0.437500 -0.464844 0.234375 +v -0.496094 0.500000 0.421875 +v 0.437500 -0.347656 0.234375 +v 0.500000 0.316406 0.187500 +v 0.437500 -0.406250 0.250000 +v -0.312500 0.312500 -0.078125 +v -0.312500 -0.437500 0.437500 +v -0.500000 -0.437500 0.437500 +v -0.312500 -0.000000 0.437500 +v -0.406250 -0.437500 0.500000 +v -0.347656 -0.437500 0.484375 +v -0.464844 -0.437500 0.484375 +v -0.500000 0.500000 -0.187500 +v 0.500000 0.000000 -0.187500 +v -0.500000 -0.500000 -0.187500 +v 0.500000 0.312500 -0.078125 +v 0.500000 0.500000 -0.187500 +v 0.500000 -0.500000 -0.187500 +v 0.437500 0.464844 0.234375 +v 0.437500 0.347656 0.234375 +v -0.500000 -0.500000 -0.375000 +v 0.500000 -0.500000 -0.375000 +v 0.437500 -0.437500 -0.500000 +v 0.375000 -0.437500 -0.500000 +v 0.375000 -0.375000 -0.500000 +v 0.437500 -0.375000 -0.500000 +v 0.437500 -0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 v 0.375000 -0.375000 -0.375000 -v 0.375000 -0.375000 -0.437500 -v -0.500000 0.187500 -0.437500 -v -0.500000 0.460938 0.464844 -v -0.500000 0.460938 0.347656 -v -0.500000 0.476562 0.406250 -v -0.406250 0.250000 0.312500 -v -0.406250 0.234375 -0.500000 -v -0.464844 0.234375 0.312500 -v -0.496094 0.187500 -0.500000 -v 0.437500 -0.500000 0.375000 -v 0.437500 -0.500000 0.437500 -v 0.375000 -0.500000 0.437500 -v 0.375000 -0.500000 0.375000 -v 0.437500 -0.375000 0.375000 -v 0.437500 -0.375000 0.437500 -v 0.375000 -0.375000 0.437500 -v 0.375000 -0.375000 0.375000 -v -0.500000 0.187500 0.312500 -v -0.316406 0.187500 -0.500000 -v -0.312500 -0.078125 -0.500000 -v -0.500000 0.421875 0.316406 -v -0.500000 0.421875 0.496094 -v -0.464844 0.218750 -0.500000 -v -0.347656 0.234375 0.312500 -v -0.347656 0.218750 -0.500000 -v -0.500000 -0.375000 0.500000 -v -0.500000 -0.375000 -0.500000 -v -0.500000 -0.187500 0.500000 -v -0.500000 -0.187500 -0.500000 -v -0.500000 -0.375000 -0.500000 -v -0.500000 -0.375000 0.500000 -v -0.375000 -0.500000 -0.437500 -v -0.375000 -0.500000 -0.375000 -v -0.437500 -0.500000 -0.375000 -v -0.437500 -0.500000 -0.437500 -v -0.375000 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.375000 +v 0.437500 -0.375000 -0.375000 +v 0.437500 0.500000 0.187500 +v -0.464844 0.500000 0.460938 +v -0.347657 0.500000 0.460938 +v -0.406250 0.500000 0.476562 +v -0.312500 0.406250 0.250000 +v 0.500000 0.406250 0.234375 +v -0.312500 0.464844 0.234375 +v 0.500000 0.496094 0.187500 +v -0.375000 -0.437500 -0.500000 +v -0.437500 -0.437500 -0.500000 +v -0.437500 -0.375000 -0.500000 +v -0.375000 -0.375000 -0.500000 +v -0.375000 -0.437500 -0.375000 +v -0.437500 -0.437500 -0.375000 v -0.437500 -0.375000 -0.375000 -v -0.437500 -0.375000 -0.437500 -v -0.375000 -0.500000 0.375000 -v -0.375000 -0.500000 0.437500 -v -0.437500 -0.500000 0.437500 -v -0.437500 -0.500000 0.375000 -v -0.375000 -0.375000 0.375000 -v -0.375000 -0.375000 0.437500 -v -0.437500 -0.375000 0.437500 -v -0.437500 -0.375000 0.375000 -v -0.406250 0.250000 -0.437500 -v -0.500000 -0.187500 0.500000 -v -0.500000 -0.187500 -0.500000 -v -0.347656 0.234375 -0.437500 -v -0.437500 0.437500 0.500000 -v -0.437500 0.437500 0.312500 -v -0.437500 0.500000 0.406250 -v -0.437500 0.484375 0.347656 -v -0.437500 0.484375 0.464844 -v 0.000000 -0.039062 0.312500 -v -0.000000 -0.039062 -0.500000 -v -0.250000 -0.046875 -0.500000 -v -0.250000 -0.046875 0.312500 -v -0.000000 0.000000 -0.437500 -v -0.312500 -0.062500 -0.437500 -v -0.250000 -0.015625 -0.437500 -v 0.000000 0.000000 0.250000 -v -0.250000 -0.015625 0.250000 -v -0.312500 -0.062500 0.250000 -v 0.000000 0.437500 0.500000 -v 0.000000 0.500000 0.406250 -v 0.000000 0.484375 0.347656 -v 0.000000 0.484375 0.464844 -v 0.000000 -0.187500 0.500000 +v -0.375000 -0.375000 -0.375000 +v -0.312500 0.500000 0.187500 +v 0.500000 0.316406 0.187500 +v 0.500000 0.312500 -0.078125 +v -0.316407 0.500000 0.421875 +v -0.496094 0.500000 0.421875 +v 0.500000 0.464844 0.218750 +v -0.312500 0.347656 0.234375 +v 0.500000 0.347656 0.218750 +v -0.500000 0.500000 -0.375000 +v 0.500000 0.500000 -0.375000 +v -0.500000 0.500000 -0.187500 +v 0.500000 0.500000 -0.187500 +v 0.500000 0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v 0.437500 0.375000 -0.500000 +v 0.375000 0.375000 -0.500000 +v 0.375000 0.437500 -0.500000 +v 0.437500 0.437500 -0.500000 +v 0.437500 0.375000 -0.375000 +v 0.375000 0.375000 -0.375000 +v 0.375000 0.437500 -0.375000 +v 0.437500 0.437500 -0.375000 +v -0.375000 0.375000 -0.500000 +v -0.437500 0.375000 -0.500000 +v -0.437500 0.437500 -0.500000 +v -0.375000 0.437500 -0.500000 +v -0.375000 0.375000 -0.375000 +v -0.437500 0.375000 -0.375000 +v -0.437500 0.437500 -0.375000 +v -0.375000 0.437500 -0.375000 +v 0.437500 0.406250 0.250000 +v -0.500000 0.500000 -0.187500 +v 0.500000 0.500000 -0.187500 +v 0.437500 0.347656 0.234375 +v -0.500000 0.437500 0.437500 +v -0.312500 0.437500 0.437500 +v -0.406250 0.437500 0.500000 +v -0.347656 0.437500 0.484375 +v -0.464844 0.437500 0.484375 +v -0.312500 -0.000000 -0.039062 +v 0.500000 0.000000 -0.039062 +v 0.500000 0.250000 -0.046875 +v -0.312500 0.250000 -0.046875 +v 0.437500 0.000000 0.000000 +v 0.437500 0.312500 -0.062500 +v 0.437500 0.250000 -0.015625 +v -0.250000 -0.000000 0.000000 +v -0.250000 0.250000 -0.015625 +v -0.250000 0.312500 -0.062500 +v -0.500000 -0.000000 0.437500 +v -0.406250 -0.000000 0.500000 +v -0.347656 -0.000000 0.484375 +v -0.464844 -0.000000 0.484375 +v -0.500000 -0.000000 -0.187500 vt 0.140470 0.234971 vt 0.140470 0.272035 vt 0.078047 0.270084 @@ -339,102 +339,102 @@ vt 0.937500 0.875000 vt 0.937500 0.937500 vt 0.875000 0.062500 vt 0.937500 0.062500 -vn -0.000000 0.000000 -1.000000 -vn -0.310300 0.927700 -0.207300 -vn -0.192600 0.560200 -0.805600 -vn -0.505100 0.808100 -0.303000 -vn -0.557500 0.814600 -0.160300 -vn 0.146800 0.831000 0.536500 -vn 0.075700 0.338900 0.937700 -vn 0.689700 0.205200 0.694400 -vn 0.746300 0.537600 0.392500 -vn -0.943400 0.329600 -0.035700 -vn -1.000000 -0.000000 0.000000 -vn -0.586900 0.195600 -0.785700 -vn 0.535500 0.839600 -0.090600 -vn 0.352300 0.517700 -0.779600 -vn 0.981900 0.156900 -0.105900 -vn 0.943000 0.330000 -0.042000 -vn -0.999800 0.004100 -0.017300 -vn -0.701300 0.265500 -0.661600 -vn -0.943000 0.330000 -0.042000 -vn -0.535500 0.839600 -0.090600 -vn -0.386900 0.578400 -0.718100 -vn 0.000000 0.992800 -0.119800 -vn 0.005700 0.640900 -0.767500 -vn -0.344000 0.509500 -0.788700 -vn -0.000000 0.600000 -0.800000 -vn -0.000000 0.828700 -0.559600 -vn -0.000000 0.316200 -0.948700 -vn 0.098200 0.368400 -0.924400 -vn -0.005700 0.640900 -0.767500 -vn -0.030800 -0.005100 -0.999500 -vn -0.817000 -0.001200 -0.576600 -vn 0.687300 0.202400 -0.697500 -vn 0.077600 0.335500 -0.938800 -vn 0.557500 0.814600 0.160300 -vn 0.310300 0.927700 0.207300 -vn 0.297500 0.865300 0.403400 -vn 0.505100 0.808100 0.303000 -vn 0.053500 0.966600 0.250500 -vn 0.040800 0.870800 0.489900 -vn -0.767600 0.000000 -0.641000 -vn -0.024000 0.512200 -0.858500 -vn -0.706800 0.266200 -0.655400 -vn -0.528800 0.004000 -0.848700 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.828700 0.559600 -vn 0.173500 0.984800 0.000000 -vn -0.282800 0.774700 0.565600 -vn -0.210900 0.597700 0.773500 -vn -0.299000 0.813400 0.498900 -vn -0.282800 0.774700 -0.565600 -vn -0.351100 0.936300 0.000000 -vn -0.299000 0.813400 -0.498900 -vn 0.146800 0.831000 -0.536500 -vn 0.779200 0.626800 0.000000 -vn 0.746300 0.537600 -0.392500 -vn -0.053500 0.966600 -0.250500 -vn -0.352300 0.517700 -0.779600 -vn 0.297500 0.865300 -0.403400 -vn 0.040800 0.870800 -0.489900 -vn 0.053500 0.966600 -0.250500 -vn 0.310300 0.927700 -0.207300 -vn 0.505100 0.808100 -0.303000 -vn 0.557500 0.814600 -0.160300 -vn -0.981900 0.156900 -0.105900 -vn 0.586900 0.195600 -0.785700 -vn 0.000000 0.671300 -0.741200 -vn 0.386900 0.578400 -0.718100 -vn -0.210900 0.597700 -0.773500 -vn 0.701300 0.265500 -0.661600 -vn 0.000000 0.316200 0.948700 -vn -0.707100 0.000800 -0.707100 -vn 0.707100 0.000300 0.707100 -vn 0.833200 0.000900 -0.553000 -vn 0.943400 0.329600 -0.035700 vn 1.000000 0.000000 0.000000 -vn 0.999800 0.004100 -0.017300 -vn 0.781700 0.621700 -0.048700 -vn 0.800000 0.600000 -0.000000 -vn 0.757800 0.644100 -0.104200 -vn 0.933300 0.351600 -0.073100 -vn 0.999500 0.007600 -0.032200 -vn 0.767600 0.000000 -0.641000 -vn 0.114000 0.427600 -0.896800 -vn 0.255800 0.959200 -0.120500 -vn -0.819400 0.003700 0.573200 -vn -0.707100 0.000300 0.707100 -vn -0.027100 0.002700 0.999600 -vn -0.310300 0.927700 0.207300 -vn -0.557500 0.814600 0.160300 -vn -0.053500 0.966600 0.250500 -vn -0.040800 0.870800 0.489900 -vn -0.297500 0.865300 0.403400 -vn -0.505100 0.808100 0.303000 -vn 0.000000 0.600000 0.800000 +vn 0.207300 0.310300 0.927700 +vn 0.805600 0.192600 0.560200 +vn 0.303000 0.505100 0.808100 +vn 0.160300 0.557500 0.814600 +vn -0.536500 -0.146800 0.831000 +vn -0.937700 -0.075700 0.338900 +vn -0.694400 -0.689700 0.205200 +vn -0.392500 -0.746300 0.537600 +vn 0.035700 0.943400 0.329600 +vn -0.000000 1.000000 -0.000000 +vn 0.785700 0.586900 0.195600 +vn 0.090600 -0.535500 0.839600 +vn 0.779600 -0.352300 0.517700 +vn 0.105900 -0.981900 0.156900 +vn 0.042000 -0.943000 0.330000 +vn 0.017300 0.999800 0.004100 +vn 0.661600 0.701300 0.265500 +vn 0.042000 0.943000 0.330000 +vn 0.090600 0.535500 0.839600 +vn 0.718100 0.386900 0.578400 +vn 0.119800 0.000000 0.992800 +vn 0.767500 -0.005700 0.640900 +vn 0.788700 0.344000 0.509500 +vn 0.800000 0.000000 0.600000 +vn 0.559600 0.000000 0.828700 +vn 0.948700 0.000000 0.316200 +vn 0.924400 -0.098200 0.368400 +vn 0.767500 0.005700 0.640900 +vn 0.999500 0.030800 -0.005100 +vn 0.576600 0.817000 -0.001200 +vn 0.697500 -0.687300 0.202400 +vn 0.938800 -0.077600 0.335500 +vn -0.160300 -0.557500 0.814600 +vn -0.207300 -0.310300 0.927700 +vn -0.403400 -0.297500 0.865300 +vn -0.303000 -0.505100 0.808100 +vn -0.250500 -0.053500 0.966600 +vn -0.489900 -0.040800 0.870800 +vn 0.641000 0.767600 0.000000 +vn 0.858500 0.024000 0.512200 +vn 0.655400 0.706800 0.266200 +vn 0.848700 0.528800 0.004000 vn 0.000000 0.000000 1.000000 +vn -0.559600 0.000000 0.828700 +vn 0.000000 -0.173500 0.984800 +vn -0.565600 0.282800 0.774700 +vn -0.773500 0.210900 0.597700 +vn -0.498900 0.299000 0.813400 +vn 0.565600 0.282800 0.774700 +vn -0.000000 0.351100 0.936300 +vn 0.498900 0.299000 0.813400 +vn 0.536500 -0.146800 0.831000 +vn 0.000000 -0.779200 0.626800 +vn 0.392500 -0.746300 0.537600 +vn 0.250500 0.053500 0.966600 +vn 0.779600 0.352300 0.517700 +vn 0.403400 -0.297500 0.865300 +vn 0.489900 -0.040800 0.870800 +vn 0.250500 -0.053500 0.966600 +vn 0.207300 -0.310300 0.927700 +vn 0.303000 -0.505100 0.808100 +vn 0.160300 -0.557500 0.814600 +vn 0.105900 0.981900 0.156900 +vn 0.785700 -0.586900 0.195600 +vn 0.741200 0.000000 0.671300 +vn 0.718100 -0.386900 0.578400 +vn 0.773500 0.210900 0.597700 +vn 0.661600 -0.701300 0.265500 +vn -0.948700 -0.000000 0.316200 +vn 0.707100 0.707100 0.000800 +vn -0.707100 -0.707100 0.000300 +vn 0.553000 -0.833200 0.000900 +vn 0.035700 -0.943400 0.329600 vn 0.000000 -1.000000 0.000000 +vn 0.017300 -0.999800 0.004100 +vn 0.048700 -0.781700 0.621700 +vn 0.000000 -0.800000 0.600000 +vn 0.104200 -0.757800 0.644100 +vn 0.073100 -0.933300 0.351600 +vn 0.032200 -0.999500 0.007600 +vn 0.641000 -0.767600 0.000000 +vn 0.896800 -0.114000 0.427600 +vn 0.120500 -0.255800 0.959200 +vn -0.573200 0.819400 0.003700 +vn -0.707100 0.707100 0.000300 +vn -0.999600 0.027100 0.002700 +vn -0.207300 0.310300 0.927700 +vn -0.160300 0.557500 0.814600 +vn -0.250500 0.053500 0.966600 +vn -0.489900 0.040800 0.870800 +vn -0.403400 0.297500 0.865300 +vn -0.303000 0.505100 0.808100 +vn -0.800000 -0.000000 0.600000 +vn -1.000000 -0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 g Cylinder_Cylinder_upholstery s off f 61/1/1 134/2/1 35/3/1 diff --git a/lrfurn/models/lrfurn_sofa_long.obj b/lrfurn/models/lrfurn_sofa_long.obj index 99d0db62..d8e32db1 100644 --- a/lrfurn/models/lrfurn_sofa_long.obj +++ b/lrfurn/models/lrfurn_sofa_long.obj @@ -1,183 +1,183 @@ -# Blender v2.73 (sub 0) OBJ File: 'lrfurn-sofa-long.blend' +# Blender v2.72 (sub 0) OBJ File: 'lrfurn-sofa-long.blend' # www.blender.org o Cylinder -v 0.312500 0.234375 -0.464844 -v -0.500000 0.218750 2.347656 -v 0.312500 0.234375 2.347656 -v -0.500000 0.218750 2.464844 -v 0.316406 0.421875 -0.500000 -v 0.496094 0.421875 -0.500000 -v 0.496094 0.421875 2.500000 -v 0.316406 0.421875 2.500000 -v 0.312500 -0.078125 -0.312500 -v -0.500000 -0.078125 -0.312500 -v -0.500000 0.187500 -0.496094 -v 0.312500 0.187500 -0.500000 -v 0.312500 0.187500 -0.312500 -v -0.500000 0.187500 -0.316406 -v -0.500000 -0.078125 2.312500 -v 0.312500 -0.078125 2.312500 -v -0.500000 0.187500 2.316406 -v 0.312500 0.187500 2.312500 -v 0.312500 0.187500 2.500000 -v -0.500000 0.187500 2.496094 -v -0.500000 -0.078125 0.500000 -v 0.500000 0.437500 0.500000 -v 0.312500 0.437500 0.500000 -v 0.312500 -0.078125 0.500000 -v 0.500000 0.437500 1.500000 -v 0.312500 -0.078125 1.500000 -v -0.500000 -0.078125 1.500000 -v 0.312500 0.437500 1.500000 -v 0.312500 0.234375 2.464844 -v -0.500000 0.218750 -0.464844 -v 0.312500 0.234375 -0.347656 -v -0.500000 0.218750 -0.347656 -v -0.500000 0.234375 2.406250 -v 0.312500 0.250000 2.406250 -v -0.500000 0.234375 -0.406250 -v 0.312500 0.250000 -0.406250 -v 0.406250 0.476562 -0.500000 -v 0.406250 0.476562 2.500000 -v 0.406250 0.500000 0.500000 -v 0.406250 0.500000 1.500000 -v 0.464844 0.460938 -0.500000 -v 0.347656 0.460938 2.500000 -v 0.347656 0.484375 0.500000 -v 0.347656 0.484375 1.500000 -v 0.347656 0.460938 -0.500000 -v 0.464844 0.460938 2.500000 -v 0.464844 0.484375 0.500000 -v 0.464844 0.484375 1.500000 -v 0.312500 -0.039062 1.906250 -v -0.500000 -0.039062 1.000000 -v 0.312500 -0.039062 0.093750 -v 0.312500 -0.039062 1.000000 -v -0.500000 -0.039062 0.093750 -v -0.500000 -0.039062 1.906250 -v 0.312500 -0.046875 1.562500 -v -0.500000 -0.046875 0.562500 -v -0.500000 -0.046875 2.250000 -v 0.312500 -0.046875 0.437500 -v -0.500000 -0.046875 0.437500 -v 0.312500 -0.046875 1.437500 -v 0.312500 -0.046875 0.562500 -v -0.500000 -0.046875 -0.250000 -v 0.312500 -0.046875 -0.250000 -v -0.500000 -0.046875 1.437500 -v 0.312500 -0.046875 2.250000 -v -0.500000 -0.046875 1.562500 -v -0.437500 0.000000 0.093750 -v -0.437500 0.000000 1.906250 -v -0.437500 -0.062500 -0.312500 -v -0.437500 -0.062500 2.312500 -v -0.437500 -0.062500 1.500000 -v -0.437500 -0.062500 0.500000 -v -0.437500 0.000000 1.000000 -v -0.437500 -0.015625 1.562500 -v -0.437500 -0.015625 -0.250000 -v -0.437500 -0.015625 1.437500 -v -0.437500 -0.015625 2.250000 -v -0.437500 -0.015625 0.437500 -v -0.437500 -0.015625 0.562500 -v 0.250000 0.000000 0.093750 -v 0.250000 0.000000 1.906250 -v 0.250000 -0.062500 -0.312500 -v 0.250000 -0.062500 1.500000 -v 0.250000 -0.015625 1.562500 -v 0.250000 -0.015625 -0.250000 -v 0.250000 -0.015625 2.250000 -v 0.250000 -0.015625 0.437500 -v 0.250000 -0.062500 2.312500 -v 0.250000 -0.062500 0.500000 -v 0.250000 0.000000 1.000000 -v 0.250000 -0.015625 1.437500 -v 0.250000 -0.015625 0.562500 -v 0.228538 -0.153004 2.426160 -v -0.437500 0.187500 -0.500000 -v -0.437500 0.187500 -0.312500 -v -0.437500 0.187500 2.312500 -v -0.437500 0.187500 2.500000 -v -0.437500 0.234375 -0.464844 -v -0.437500 0.234375 2.347656 -v -0.437500 0.234375 -0.347656 -v -0.437500 0.234375 2.464844 -v -0.437500 0.250000 -0.406250 -v -0.437500 0.250000 2.406250 -v 0.312500 0.437500 -0.437500 -v 0.500000 0.437500 2.437500 -v 0.500000 0.437500 -0.437500 -v 0.312500 0.437500 2.437500 -v 0.406250 0.500000 2.437500 -v 0.406250 0.500000 -0.437500 -v 0.347656 0.484375 -0.437500 -v 0.347656 0.484375 2.437500 -v 0.464844 0.484375 2.437500 -v 0.464844 0.484375 -0.437500 -v 0.500000 -0.187500 0.500000 -v 0.500000 -0.187500 1.500000 -v 0.500000 -0.187500 2.500000 -v 0.500000 -0.187500 -0.500000 -v -0.500000 -0.187500 2.500000 -v -0.500000 -0.187500 1.500000 -v -0.500000 -0.187500 0.500000 -v -0.500000 -0.187500 -0.500000 -v -0.500000 -0.375000 2.500000 -v 0.500000 -0.375000 2.500000 -v 0.500000 -0.375000 -0.500000 -v -0.500000 -0.375000 -0.500000 -v -0.437500 -0.500000 -0.437500 -v -0.375000 -0.500000 -0.437500 -v -0.375000 -0.500000 -0.375000 -v -0.437500 -0.500000 -0.375000 -v -0.437500 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.375000 -v -0.437500 -0.375000 -0.375000 -v -0.437500 -0.500000 2.375000 -v -0.375000 -0.500000 2.375000 -v -0.375000 -0.500000 2.437500 -v -0.437500 -0.500000 2.437500 -v -0.437500 -0.375000 2.375000 -v -0.375000 -0.375000 2.375000 -v -0.375000 -0.375000 2.437500 -v -0.437500 -0.375000 2.437500 -v 0.375000 -0.500000 -0.437500 -v 0.437500 -0.500000 -0.437500 -v 0.437500 -0.500000 -0.375000 -v 0.375000 -0.500000 -0.375000 -v 0.375000 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 +v 0.464844 -0.312500 0.234375 +v -2.347656 0.500000 0.218751 +v -2.347656 -0.312500 0.234375 +v -2.464844 0.500000 0.218751 +v 0.500000 -0.316407 0.421875 +v 0.500000 -0.496094 0.421875 +v -2.500000 -0.496094 0.421875 +v -2.500000 -0.316406 0.421875 +v 0.312500 -0.312500 -0.078125 +v 0.312500 0.500000 -0.078125 +v 0.496094 0.500000 0.187500 +v 0.500000 -0.312500 0.187500 +v 0.312500 -0.312500 0.187500 +v 0.316406 0.500000 0.187500 +v -2.312500 0.500000 -0.078124 +v -2.312500 -0.312500 -0.078125 +v -2.316406 0.500000 0.187501 +v -2.312500 -0.312500 0.187500 +v -2.500000 -0.312500 0.187500 +v -2.496094 0.500000 0.187501 +v -0.500000 0.500000 -0.078125 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.312500 0.437500 +v -0.500000 -0.312500 -0.078125 +v -1.500000 -0.500000 0.437500 +v -1.500000 -0.312500 -0.078125 +v -1.500000 0.500000 -0.078124 +v -1.500000 -0.312500 0.437500 +v -2.464844 -0.312500 0.234375 +v 0.464844 0.500000 0.218750 +v 0.347656 -0.312500 0.234375 +v 0.347656 0.500000 0.218750 +v -2.406250 0.500000 0.234376 +v -2.406250 -0.312500 0.250000 +v 0.406250 0.500000 0.234375 +v 0.406250 -0.312500 0.250000 +v 0.500000 -0.406250 0.476562 +v -2.500000 -0.406250 0.476563 +v -0.500000 -0.406250 0.500000 +v -1.500000 -0.406250 0.500000 +v 0.500000 -0.464844 0.460937 +v -2.500000 -0.347656 0.460938 +v -0.500000 -0.347656 0.484375 +v -1.500000 -0.347656 0.484375 +v 0.500000 -0.347657 0.460937 +v -2.500000 -0.464844 0.460938 +v -0.500000 -0.464844 0.484375 +v -1.500000 -0.464844 0.484375 +v -1.906250 -0.312500 -0.039062 +v -1.000000 0.500000 -0.039062 +v -0.093750 -0.312500 -0.039063 +v -1.000000 -0.312500 -0.039063 +v -0.093750 0.500000 -0.039062 +v -1.906250 0.500000 -0.039062 +v -1.562500 -0.312500 -0.046875 +v -0.562500 0.500000 -0.046875 +v -2.250000 0.500000 -0.046874 +v -0.437500 -0.312500 -0.046875 +v -0.437500 0.500000 -0.046875 +v -1.437500 -0.312500 -0.046875 +v -0.562500 -0.312500 -0.046875 +v 0.250000 0.500000 -0.046875 +v 0.250000 -0.312500 -0.046875 +v -1.437500 0.500000 -0.046874 +v -2.250000 -0.312500 -0.046875 +v -1.562500 0.500000 -0.046874 +v -0.093750 0.437500 0.000000 +v -1.906250 0.437500 0.000001 +v 0.312500 0.437500 -0.062500 +v -2.312500 0.437500 -0.062499 +v -1.500000 0.437500 -0.062499 +v -0.500000 0.437500 -0.062500 +v -1.000000 0.437500 0.000000 +v -1.562500 0.437500 -0.015624 +v 0.250000 0.437500 -0.015625 +v -1.437500 0.437500 -0.015625 +v -2.250000 0.437500 -0.015624 +v -0.437500 0.437500 -0.015625 +v -0.562500 0.437500 -0.015625 +v -0.093750 -0.250000 -0.000000 +v -1.906250 -0.250000 0.000000 +v 0.312500 -0.250000 -0.062500 +v -1.500000 -0.250000 -0.062500 +v -1.562500 -0.250000 -0.015625 +v 0.250000 -0.250000 -0.015625 +v -2.250000 -0.250000 -0.015625 +v -0.437500 -0.250000 -0.015625 +v -2.312500 -0.250000 -0.062500 +v -0.500000 -0.250000 -0.062500 +v -1.000000 -0.250000 -0.000000 +v -1.437500 -0.250000 -0.015625 +v -0.562500 -0.250000 -0.015625 +v -2.426160 -0.228537 -0.153004 +v 0.500000 0.437500 0.187500 +v 0.312500 0.437500 0.187500 +v -2.312500 0.437500 0.187501 +v -2.500000 0.437500 0.187501 +v 0.464844 0.437500 0.234375 +v -2.347656 0.437500 0.234376 +v 0.347656 0.437500 0.234375 +v -2.464844 0.437500 0.234376 +v 0.406250 0.437500 0.250000 +v -2.406250 0.437500 0.250001 +v 0.437500 -0.312500 0.437500 +v -2.437500 -0.500000 0.437500 +v 0.437500 -0.500000 0.437500 +v -2.437500 -0.312500 0.437500 +v -2.437500 -0.406250 0.500000 +v 0.437500 -0.406250 0.500000 +v 0.437500 -0.347657 0.484375 +v -2.437500 -0.347656 0.484375 +v -2.437500 -0.464844 0.484375 +v 0.437500 -0.464844 0.484375 +v -0.500000 -0.500000 -0.187500 +v -1.500000 -0.500000 -0.187500 +v -2.500000 -0.499999 -0.187500 +v 0.500000 -0.500000 -0.187500 +v -2.500000 0.500000 -0.187499 +v -1.500000 0.500000 -0.187499 +v -0.500000 0.500000 -0.187500 +v 0.500000 0.500000 -0.187500 +v -2.500000 0.500001 -0.374999 +v -2.500000 -0.499999 -0.375000 +v 0.500000 -0.500000 -0.375000 +v 0.500000 0.500000 -0.375000 +v 0.437500 0.437500 -0.500000 +v 0.437500 0.375000 -0.500000 +v 0.375000 0.375000 -0.500000 +v 0.375000 0.437500 -0.500000 +v 0.437500 0.437500 -0.375000 +v 0.437500 0.375000 -0.375000 +v 0.375000 0.375000 -0.375000 +v 0.375000 0.437500 -0.375000 +v -2.375000 0.437501 -0.499999 +v -2.375000 0.375001 -0.499999 +v -2.437500 0.375001 -0.499999 +v -2.437500 0.437501 -0.499999 +v -2.375000 0.437501 -0.374999 +v -2.375000 0.375001 -0.374999 +v -2.437500 0.375001 -0.374999 +v -2.437500 0.437501 -0.374999 +v 0.437500 -0.375000 -0.500000 +v 0.437500 -0.437500 -0.500000 +v 0.375000 -0.437500 -0.500000 +v 0.375000 -0.375000 -0.500000 v 0.437500 -0.375000 -0.375000 +v 0.437500 -0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 v 0.375000 -0.375000 -0.375000 -v 0.375000 -0.500000 2.375000 -v 0.437500 -0.500000 2.375000 -v 0.437500 -0.500000 2.437500 -v 0.375000 -0.500000 2.437500 -v 0.375000 -0.375000 2.375000 -v 0.437500 -0.375000 2.375000 -v 0.437500 -0.375000 2.437500 -v 0.375000 -0.375000 2.437500 -v -0.437500 -0.500000 0.968750 -v -0.375000 -0.500000 0.968750 -v -0.375000 -0.500000 1.031250 -v -0.437500 -0.500000 1.031250 -v -0.437500 -0.375000 0.968750 -v -0.375000 -0.375000 0.968750 -v -0.375000 -0.375000 1.031250 -v -0.437500 -0.375000 1.031250 -v 0.375000 -0.500000 0.968750 -v 0.437500 -0.500000 0.968750 -v 0.437500 -0.500000 1.031250 -v 0.375000 -0.500000 1.031250 -v 0.375000 -0.375000 0.968750 -v 0.437500 -0.375000 0.968750 -v 0.437500 -0.375000 1.031250 -v 0.375000 -0.375000 1.031250 -v 0.500000 -0.375000 0.500000 -v -0.500000 -0.375000 0.500000 -v -0.500000 -0.375000 1.500000 -v 0.500000 -0.375000 1.500000 +v -2.375000 -0.374999 -0.500000 +v -2.375000 -0.437499 -0.500000 +v -2.437500 -0.437499 -0.500000 +v -2.437500 -0.374999 -0.500000 +v -2.375000 -0.374999 -0.375000 +v -2.375000 -0.437499 -0.375000 +v -2.437500 -0.437499 -0.375000 +v -2.437500 -0.374999 -0.375000 +v -0.968750 0.437500 -0.500000 +v -0.968750 0.375000 -0.500000 +v -1.031250 0.375000 -0.500000 +v -1.031250 0.437500 -0.500000 +v -0.968750 0.437500 -0.375000 +v -0.968750 0.375000 -0.375000 +v -1.031250 0.375000 -0.375000 +v -1.031250 0.437500 -0.375000 +v -0.968750 -0.375000 -0.500000 +v -0.968750 -0.437500 -0.500000 +v -1.031250 -0.437500 -0.500000 +v -1.031250 -0.375000 -0.500000 +v -0.968750 -0.375000 -0.375000 +v -0.968750 -0.437500 -0.375000 +v -1.031250 -0.437500 -0.375000 +v -1.031250 -0.375000 -0.375000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v -1.500000 0.500000 -0.374999 +v -1.500000 -0.500000 -0.375000 vt 0.250000 0.383435 vt 0.265625 0.375706 vt 0.265625 0.503232 @@ -416,103 +416,103 @@ vt 0.531250 0.875000 vt 0.531250 0.937500 vt 0.468750 0.062500 vt 0.531250 0.062500 -vn -1.000000 0.000000 0.000000 -vn -0.948700 0.316200 0.000000 -vn 0.207400 0.931200 -0.299600 -vn 0.404600 0.867500 -0.289300 -vn 0.351100 0.936300 0.000000 -vn 0.193100 0.981200 0.000000 -vn 0.251900 0.967700 0.000000 -vn 0.490300 0.871600 -0.000000 -vn 0.536500 0.831000 -0.146800 -vn 0.937700 0.338900 -0.075700 -vn 0.694400 0.205200 -0.689700 -vn 0.392500 0.537600 -0.746300 -vn -0.035700 0.329600 0.943400 -vn 0.000000 -0.000000 1.000000 -vn -0.785700 0.195600 0.586900 -vn -0.090600 0.839600 -0.535500 -vn -0.779600 0.517700 -0.352300 -vn -0.105900 0.156900 -0.981900 -vn -0.042000 0.330000 -0.943000 -vn -0.017300 0.004100 0.999800 -vn -0.788400 0.511400 -0.341800 -vn -0.785700 0.195600 -0.586900 -vn -0.035700 0.329600 -0.943400 -vn 0.251500 0.967800 0.000000 -vn 0.207400 0.930000 0.303500 -vn 0.404200 0.866700 0.292300 -vn -0.251500 0.967800 0.000000 -vn -0.860000 0.510300 0.000000 -vn -0.805300 0.561700 0.189400 -vn -0.207400 0.930000 0.303500 -vn 0.559600 0.828700 0.000000 -vn 0.948700 0.316200 0.000000 -vn 0.536500 0.831000 0.146800 -vn 0.937700 0.338900 0.075700 -vn -0.119800 0.992800 0.000000 -vn -0.760700 0.649000 0.002000 -vn -0.973400 0.205400 -0.101100 -vn -0.160300 0.814600 0.557500 -vn 0.404600 0.867500 0.289300 -vn 0.207400 0.931200 0.299600 -vn -0.760700 0.649000 -0.002000 -vn -0.788400 0.511400 0.341800 -vn -0.090600 0.839600 0.535500 -vn -0.559600 0.828700 0.000000 -vn -0.536500 0.831000 -0.146800 -vn -0.940200 0.331200 -0.079300 -vn -0.699900 0.200500 -0.685500 -vn -0.042000 0.330000 0.943000 -vn -0.105900 0.156900 0.981900 -vn -0.779600 0.517700 0.352300 -vn 0.160300 0.814600 -0.557500 -vn 0.207400 0.930000 -0.303500 -vn 0.404200 0.866700 -0.292300 -vn 0.303000 0.808100 -0.505100 -vn -0.193100 0.981200 0.000000 -vn -0.902600 0.430500 0.000000 -vn -0.805300 0.561700 -0.189400 -vn -0.207400 0.930000 -0.303500 -vn -0.699900 0.200500 0.685500 -vn -0.641000 0.000000 0.767600 -vn -0.655400 0.266200 0.706800 -vn -0.973400 0.205400 0.101100 -vn -0.392500 0.537600 0.746300 -vn 0.000000 0.626800 0.779200 -vn -0.536500 0.831000 0.146800 -vn -0.940200 0.331200 0.079300 -vn 0.392500 0.537600 0.746300 -vn 0.000000 0.984800 0.173500 vn 0.000000 1.000000 0.000000 -vn 0.000000 0.984800 -0.173500 -vn 0.000000 0.000000 -1.000000 -vn -0.017300 0.004100 -0.999800 -vn -0.641000 0.000000 -0.767600 -vn -0.655400 0.266200 -0.706800 -vn -0.718100 0.578400 0.386900 -vn -0.661600 0.265500 0.701300 -vn -0.741200 0.671300 0.000000 -vn -0.718100 0.578400 -0.386900 -vn 0.000000 0.626800 -0.779200 -vn -0.392500 0.537600 -0.746300 -vn -0.805200 0.562500 0.187600 -vn -0.207400 0.931200 0.299600 -vn -0.251900 0.967700 0.000000 -vn -0.860700 0.509200 0.000000 -vn -0.160300 0.814600 -0.557500 -vn 0.160300 0.814600 0.557500 -vn -0.207400 0.931200 -0.299600 -vn -0.805200 0.562500 -0.187600 -vn 0.303000 0.808100 0.505100 -vn -0.661600 0.265500 -0.701300 -vn 0.694400 0.205200 0.689700 -vn 1.000000 0.000000 -0.000000 -vn 0.707100 0.000300 0.707100 -vn 0.707100 0.000300 -0.707100 -vn -0.707100 0.000800 -0.707100 -vn -0.707100 0.000800 0.707100 -vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.948700 0.316200 +vn 0.299600 -0.207400 0.931200 +vn 0.289300 -0.404600 0.867500 +vn -0.000000 -0.351100 0.936300 +vn 0.000000 -0.193100 0.981200 +vn 0.000000 -0.251900 0.967700 +vn 0.000000 -0.490300 0.871600 +vn 0.146800 -0.536500 0.831000 +vn 0.075700 -0.937700 0.338900 +vn 0.689700 -0.694400 0.205200 +vn 0.746300 -0.392500 0.537600 +vn -0.943400 0.035700 0.329600 +vn -1.000000 0.000000 0.000000 +vn -0.586900 0.785700 0.195600 +vn 0.535500 0.090600 0.839600 +vn 0.352300 0.779600 0.517700 +vn 0.981900 0.105900 0.156900 +vn 0.943000 0.042000 0.330000 +vn -0.999800 0.017300 0.004100 +vn 0.341800 0.788400 0.511400 +vn 0.586900 0.785700 0.195600 +vn 0.943400 0.035700 0.329600 +vn 0.000000 -0.251500 0.967800 +vn -0.303500 -0.207400 0.930000 +vn -0.292300 -0.404200 0.866700 +vn 0.000000 0.251500 0.967800 +vn 0.000000 0.860000 0.510300 +vn -0.189400 0.805300 0.561700 +vn -0.303500 0.207400 0.930000 +vn 0.000000 -0.559600 0.828700 +vn 0.000000 -0.948700 0.316200 +vn -0.146800 -0.536500 0.831000 +vn -0.075700 -0.937700 0.338900 +vn 0.000000 0.119800 0.992800 +vn -0.002000 0.760700 0.649000 +vn 0.101100 0.973400 0.205400 +vn -0.557500 0.160300 0.814600 +vn -0.289300 -0.404600 0.867500 +vn -0.299600 -0.207400 0.931200 +vn 0.002000 0.760700 0.649000 +vn -0.341800 0.788400 0.511400 +vn -0.535500 0.090600 0.839600 +vn 0.000000 0.559600 0.828700 +vn 0.146800 0.536500 0.831000 +vn 0.079300 0.940200 0.331200 +vn 0.685500 0.699900 0.200500 +vn -0.943000 0.042000 0.330000 +vn -0.981900 0.105900 0.156900 +vn -0.352300 0.779600 0.517700 +vn 0.557500 -0.160300 0.814600 +vn 0.303500 -0.207400 0.930000 +vn 0.292300 -0.404200 0.866700 +vn 0.505100 -0.303000 0.808100 +vn 0.000000 0.193100 0.981200 +vn 0.000000 0.902600 0.430500 +vn 0.189400 0.805300 0.561700 +vn 0.303500 0.207400 0.930000 +vn -0.685500 0.699900 0.200500 +vn -0.767600 0.641000 0.000000 +vn -0.706800 0.655400 0.266200 +vn -0.101100 0.973400 0.205400 +vn -0.746300 0.392500 0.537600 +vn -0.779200 0.000000 0.626800 +vn -0.146800 0.536500 0.831000 +vn -0.079300 0.940200 0.331200 +vn -0.746300 -0.392500 0.537600 +vn -0.173500 0.000000 0.984800 +vn 0.000000 0.000000 1.000000 +vn 0.173500 0.000000 0.984800 +vn 1.000000 -0.000000 0.000000 +vn 0.999800 0.017300 0.004100 +vn 0.767600 0.641000 0.000000 +vn 0.706800 0.655400 0.266200 +vn -0.386900 0.718100 0.578400 +vn -0.701300 0.661600 0.265500 +vn 0.000000 0.741200 0.671300 +vn 0.386900 0.718100 0.578400 +vn 0.779200 0.000000 0.626800 +vn 0.746300 0.392500 0.537600 +vn -0.187600 0.805200 0.562500 +vn -0.299600 0.207400 0.931200 +vn 0.000000 0.251900 0.967700 +vn 0.000000 0.860700 0.509200 +vn 0.557500 0.160300 0.814600 +vn -0.557500 -0.160300 0.814600 +vn 0.299600 0.207400 0.931200 +vn 0.187600 0.805200 0.562500 +vn -0.505100 -0.303000 0.808100 +vn 0.701300 0.661600 0.265500 +vn -0.689700 -0.694400 0.205200 +vn -0.000000 -1.000000 -0.000000 +vn -0.707100 -0.707100 0.000300 +vn 0.707100 -0.707100 0.000300 +vn 0.707100 0.707100 0.000800 +vn -0.707100 0.707100 0.000800 +vn -0.000000 0.000000 -1.000000 g Cylinder_Cylinder_upholstery s 1 f 58/1/1 24/2/1 23/3/2 diff --git a/lrfurn/models/lrfurn_sofa_short.obj b/lrfurn/models/lrfurn_sofa_short.obj index a11e01b1..1bf14468 100644 --- a/lrfurn/models/lrfurn_sofa_short.obj +++ b/lrfurn/models/lrfurn_sofa_short.obj @@ -1,142 +1,142 @@ -# Blender v2.73 (sub 0) OBJ File: 'lrfurn-sofa-short.blend' +# Blender v2.72 (sub 0) OBJ File: 'lrfurn-sofa-short.blend' # www.blender.org o Cylinder -v 0.312500 0.234375 -0.464844 -v -0.500000 0.218750 1.347656 -v 0.312500 0.234375 1.347656 -v -0.500000 0.218750 1.464844 -v 0.316406 0.421875 -0.500000 -v 0.496094 0.421875 -0.500000 -v 0.496094 0.421875 1.500000 -v 0.316406 0.421875 1.500000 -v 0.312500 -0.078125 -0.312500 -v -0.500000 -0.078125 -0.312500 -v -0.500000 0.187500 -0.496094 -v 0.312500 0.187500 -0.500000 -v 0.312500 0.187500 -0.312500 -v -0.500000 0.187500 -0.316406 -v -0.500000 -0.078125 1.312500 -v 0.312500 -0.078125 1.312500 -v -0.500000 0.187500 1.316406 -v 0.312500 0.187500 1.312500 -v 0.312500 0.187500 1.500000 -v -0.500000 0.187500 1.496094 -v -0.500000 -0.078125 0.500000 -v 0.500000 0.437500 0.500000 -v 0.312500 0.437500 0.500000 -v 0.312500 -0.078125 0.500000 -v 0.312500 0.234375 1.464844 -v -0.500000 0.218750 -0.464844 -v 0.312500 0.234375 -0.347656 -v -0.500000 0.218750 -0.347656 -v -0.500000 0.234375 1.406250 -v 0.312500 0.250000 1.406250 -v -0.500000 0.234375 -0.406250 -v 0.312500 0.250000 -0.406250 -v 0.406250 0.476562 -0.500000 -v 0.406250 0.476562 1.500000 -v 0.406250 0.500000 0.500000 -v 0.464844 0.460938 -0.500000 -v 0.347656 0.460938 1.500000 -v 0.347656 0.484375 0.500000 -v 0.347656 0.460938 -0.500000 -v 0.464844 0.460938 1.500000 -v 0.464844 0.484375 0.500000 -v 0.312500 -0.039062 0.906250 -v 0.312500 -0.039062 0.093750 -v -0.500000 -0.039062 0.093750 -v -0.500000 -0.039062 0.906250 -v 0.312500 -0.046875 0.562500 -v -0.500000 -0.046875 1.250000 -v 0.312500 -0.046875 0.437500 -v -0.500000 -0.046875 0.437500 -v -0.500000 -0.046875 -0.250000 -v 0.312500 -0.046875 -0.250000 -v 0.312500 -0.046875 1.250000 -v -0.500000 -0.046875 0.562500 -v -0.437500 0.000000 0.093750 -v -0.437500 0.000000 0.906250 -v -0.437500 -0.062500 -0.312500 -v -0.437500 -0.062500 1.312500 -v -0.437500 -0.062500 0.500000 -v -0.437500 -0.015625 0.562500 -v -0.437500 -0.015625 -0.250000 -v -0.437500 -0.015625 1.250000 -v -0.437500 -0.015625 0.437500 -v 0.250000 0.000000 0.093750 -v 0.250000 0.000000 0.906250 -v 0.250000 -0.062500 -0.312500 -v 0.250000 -0.015625 0.562500 -v 0.250000 -0.015625 -0.250000 -v 0.250000 -0.015625 1.250000 -v 0.250000 -0.015625 0.437500 -v 0.250000 -0.062500 1.312500 -v 0.250000 -0.062500 0.500000 -v 0.228538 -0.153004 2.426160 -v -0.437500 0.187500 -0.500000 -v -0.437500 0.187500 -0.312500 -v -0.437500 0.187500 1.312500 -v -0.437500 0.187500 1.500000 -v -0.437500 0.234375 -0.464844 -v -0.437500 0.234375 1.347656 -v -0.437500 0.234375 -0.347656 -v -0.437500 0.234375 1.464844 -v -0.437500 0.250000 -0.406250 -v -0.437500 0.250000 1.406250 -v 0.312500 0.437500 -0.437500 -v 0.500000 0.437500 1.437500 -v 0.500000 0.437500 -0.437500 -v 0.312500 0.437500 1.437500 -v 0.406250 0.500000 1.437500 -v 0.406250 0.500000 -0.437500 -v 0.347656 0.484375 -0.437500 -v 0.347656 0.484375 1.437500 -v 0.464844 0.484375 1.437500 -v 0.464844 0.484375 -0.437500 -v 0.500000 -0.187500 0.500000 -v 0.500000 -0.187500 1.500000 -v 0.500000 -0.187500 -0.500000 -v -0.500000 -0.187500 1.500000 -v -0.500000 -0.187500 0.500000 -v -0.500000 -0.187500 -0.500000 -v -0.500000 -0.375000 1.500000 -v 0.500000 -0.375000 1.500000 -v 0.500000 -0.375000 -0.500000 -v -0.500000 -0.375000 -0.500000 -v -0.437500 -0.500000 -0.437500 -v -0.375000 -0.500000 -0.437500 -v -0.375000 -0.500000 -0.375000 -v -0.437500 -0.500000 -0.375000 -v -0.437500 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.437500 -v -0.375000 -0.375000 -0.375000 -v -0.437500 -0.375000 -0.375000 -v -0.437500 -0.500000 1.375000 -v -0.375000 -0.500000 1.375000 -v -0.375000 -0.500000 1.437500 -v -0.437500 -0.500000 1.437500 -v -0.437500 -0.375000 1.375000 -v -0.375000 -0.375000 1.375000 -v -0.375000 -0.375000 1.437500 -v -0.437500 -0.375000 1.437500 -v 0.375000 -0.500000 -0.437500 -v 0.437500 -0.500000 -0.437500 -v 0.437500 -0.500000 -0.375000 -v 0.375000 -0.500000 -0.375000 -v 0.375000 -0.375000 -0.437500 -v 0.437500 -0.375000 -0.437500 +v 0.464844 -0.312500 0.234375 +v -1.347656 0.500000 0.218750 +v -1.347656 -0.312500 0.234375 +v -1.464844 0.500000 0.218750 +v 0.500000 -0.316406 0.421875 +v 0.500000 -0.496094 0.421875 +v -1.500000 -0.496094 0.421875 +v -1.500000 -0.316407 0.421875 +v 0.312500 -0.312500 -0.078125 +v 0.312500 0.500000 -0.078125 +v 0.496094 0.500000 0.187500 +v 0.500000 -0.312500 0.187500 +v 0.312500 -0.312500 0.187500 +v 0.316406 0.500000 0.187500 +v -1.312500 0.500000 -0.078125 +v -1.312500 -0.312500 -0.078125 +v -1.316406 0.500000 0.187500 +v -1.312500 -0.312500 0.187500 +v -1.500000 -0.312500 0.187500 +v -1.496094 0.500000 0.187500 +v -0.500000 0.500000 -0.078125 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.312500 0.437500 +v -0.500000 -0.312500 -0.078125 +v -1.464844 -0.312500 0.234375 +v 0.464844 0.500000 0.218750 +v 0.347656 -0.312500 0.234375 +v 0.347656 0.500000 0.218750 +v -1.406250 0.500000 0.234375 +v -1.406250 -0.312500 0.250000 +v 0.406250 0.500000 0.234375 +v 0.406250 -0.312500 0.250000 +v 0.500000 -0.406250 0.476562 +v -1.500000 -0.406250 0.476562 +v -0.500000 -0.406250 0.500000 +v 0.500000 -0.464844 0.460938 +v -1.500000 -0.347657 0.460938 +v -0.500000 -0.347656 0.484375 +v 0.500000 -0.347656 0.460938 +v -1.500000 -0.464844 0.460938 +v -0.500000 -0.464844 0.484375 +v -0.906250 -0.312500 -0.039062 +v -0.093750 -0.312500 -0.039062 +v -0.093750 0.500000 -0.039062 +v -0.906250 0.500000 -0.039062 +v -0.562500 -0.312500 -0.046875 +v -1.250000 0.500000 -0.046875 +v -0.437500 -0.312500 -0.046875 +v -0.437500 0.500000 -0.046875 +v 0.250000 0.500000 -0.046875 +v 0.250000 -0.312500 -0.046875 +v -1.250000 -0.312500 -0.046875 +v -0.562500 0.500000 -0.046875 +v -0.093750 0.437500 0.000000 +v -0.906250 0.437500 0.000000 +v 0.312500 0.437500 -0.062500 +v -1.312500 0.437500 -0.062500 +v -0.500000 0.437500 -0.062500 +v -0.562500 0.437500 -0.015625 +v 0.250000 0.437500 -0.015625 +v -1.250000 0.437500 -0.015625 +v -0.437500 0.437500 -0.015625 +v -0.093750 -0.250000 0.000000 +v -0.906250 -0.250000 0.000000 +v 0.312500 -0.250000 -0.062500 +v -0.562500 -0.250000 -0.015625 +v 0.250000 -0.250000 -0.015625 +v -1.250000 -0.250000 -0.015625 +v -0.437500 -0.250000 -0.015625 +v -1.312500 -0.250000 -0.062500 +v -0.500000 -0.250000 -0.062500 +v -2.426160 -0.228538 -0.153004 +v 0.500000 0.437500 0.187500 +v 0.312500 0.437500 0.187500 +v -1.312500 0.437500 0.187500 +v -1.500000 0.437500 0.187500 +v 0.464844 0.437500 0.234375 +v -1.347656 0.437500 0.234375 +v 0.347656 0.437500 0.234375 +v -1.464844 0.437500 0.234375 +v 0.406250 0.437500 0.250000 +v -1.406250 0.437500 0.250000 +v 0.437500 -0.312500 0.437500 +v -1.437500 -0.500000 0.437500 +v 0.437500 -0.500000 0.437500 +v -1.437500 -0.312500 0.437500 +v -1.437500 -0.406250 0.500000 +v 0.437500 -0.406250 0.500000 +v 0.437500 -0.347656 0.484375 +v -1.437500 -0.347657 0.484375 +v -1.437500 -0.464844 0.484375 +v 0.437500 -0.464844 0.484375 +v -0.500000 -0.500000 -0.187500 +v -1.500000 -0.500000 -0.187500 +v 0.500000 -0.500000 -0.187500 +v -1.500000 0.500000 -0.187500 +v -0.500000 0.500000 -0.187500 +v 0.500000 0.500000 -0.187500 +v -1.500000 0.500000 -0.375000 +v -1.500000 -0.500000 -0.375000 +v 0.500000 -0.500000 -0.375000 +v 0.500000 0.500000 -0.375000 +v 0.437500 0.437500 -0.500000 +v 0.437500 0.375000 -0.500000 +v 0.375000 0.375000 -0.500000 +v 0.375000 0.437500 -0.500000 +v 0.437500 0.437500 -0.375000 +v 0.437500 0.375000 -0.375000 +v 0.375000 0.375000 -0.375000 +v 0.375000 0.437500 -0.375000 +v -1.375000 0.437500 -0.500000 +v -1.375000 0.375000 -0.500000 +v -1.437500 0.375000 -0.500000 +v -1.437500 0.437500 -0.500000 +v -1.375000 0.437500 -0.375000 +v -1.375000 0.375000 -0.375000 +v -1.437500 0.375000 -0.375000 +v -1.437500 0.437500 -0.375000 +v 0.437500 -0.375000 -0.500000 +v 0.437500 -0.437500 -0.500000 +v 0.375000 -0.437500 -0.500000 +v 0.375000 -0.375000 -0.500000 v 0.437500 -0.375000 -0.375000 +v 0.437500 -0.437500 -0.375000 +v 0.375000 -0.437500 -0.375000 v 0.375000 -0.375000 -0.375000 -v 0.375000 -0.500000 1.375000 -v 0.437500 -0.500000 1.375000 -v 0.437500 -0.500000 1.437500 -v 0.375000 -0.500000 1.437500 -v 0.375000 -0.375000 1.375000 -v 0.437500 -0.375000 1.375000 -v 0.437500 -0.375000 1.437500 -v 0.375000 -0.375000 1.437500 -v 0.500000 -0.375000 0.500000 -v -0.500000 -0.375000 0.500000 +v -1.375000 -0.375000 -0.500000 +v -1.375000 -0.437500 -0.500000 +v -1.437500 -0.437500 -0.500000 +v -1.437500 -0.375000 -0.500000 +v -1.375000 -0.375000 -0.375000 +v -1.375000 -0.437500 -0.375000 +v -1.437500 -0.437500 -0.375000 +v -1.437500 -0.375000 -0.375000 +v -0.500000 -0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 vt 0.250000 0.383435 vt 0.265625 0.375706 vt 0.265625 0.503232 @@ -347,92 +347,92 @@ vt 0.062500 0.062500 vt 0.125000 0.062500 vt 0.875000 0.062500 vt 0.937500 0.062500 -vn -1.000000 0.000000 0.000000 -vn -0.948700 0.316200 0.000000 -vn 0.536500 0.831000 -0.146800 -vn 0.937700 0.338900 -0.075700 -vn 0.694400 0.205200 -0.689700 -vn 0.392500 0.537600 -0.746300 -vn -0.035700 0.329600 0.943400 -vn 0.000000 -0.000000 1.000000 -vn -0.785700 0.195600 0.586900 -vn -0.090600 0.839600 -0.535500 -vn -0.779600 0.517700 -0.352300 -vn -0.105900 0.156900 -0.981900 -vn -0.042000 0.330000 -0.943000 -vn -0.017300 0.004100 0.999800 -vn -0.788400 0.511400 -0.341800 -vn -0.785700 0.195600 -0.586900 -vn -0.035700 0.329600 -0.943400 -vn 0.251500 0.967800 0.000000 -vn 0.207400 0.930000 0.303500 -vn 0.404200 0.866700 0.292300 -vn 0.490300 0.871600 -0.000000 -vn 0.193100 0.981200 0.000000 -vn 0.351100 0.936300 -0.000000 -vn -0.251500 0.967800 0.000000 -vn -0.860000 0.510300 0.000000 -vn -0.805300 0.561700 0.189400 -vn -0.207400 0.930000 0.303500 -vn -0.119800 0.992800 0.000000 -vn -0.760700 0.649000 0.002000 -vn -0.973400 0.205400 -0.101100 -vn -0.160300 0.814600 0.557500 -vn -0.760700 0.649000 -0.002000 -vn -0.788400 0.511400 0.341800 -vn -0.090600 0.839600 0.535500 -vn -0.559600 0.828700 0.000000 -vn -0.536500 0.831000 -0.146800 -vn -0.940200 0.331200 -0.079300 -vn -0.699900 0.200500 -0.685500 -vn -0.042000 0.330000 0.943000 -vn -0.105900 0.156900 0.981900 -vn -0.779600 0.517700 0.352300 -vn 0.160300 0.814600 -0.557500 -vn 0.207400 0.930000 -0.303500 -vn 0.404200 0.866700 -0.292300 -vn 0.303000 0.808100 -0.505100 -vn -0.699900 0.200500 0.685500 -vn -0.207400 0.930000 -0.303500 -vn -0.805300 0.561700 -0.189400 -vn -0.641000 0.000000 0.767600 -vn -0.655400 0.266200 0.706800 -vn -0.973400 0.205400 0.101100 -vn -0.392500 0.537600 0.746300 -vn 0.000000 0.626800 0.779200 -vn -0.536500 0.831000 0.146800 -vn -0.940200 0.331200 0.079300 -vn 0.392500 0.537600 0.746300 -vn 0.536500 0.831000 0.146800 -vn 0.000000 0.984800 0.173500 -vn 0.000000 1.000000 0.000000 -vn 0.559600 0.828700 0.000000 -vn 0.000000 0.984800 -0.173500 -vn 0.000000 0.000000 -1.000000 -vn -0.017300 0.004100 -0.999800 -vn -0.641000 0.000000 -0.767600 -vn -0.655400 0.266200 -0.706800 -vn -0.718100 0.578400 0.386900 -vn -0.661600 0.265500 0.701300 -vn -0.741200 0.671300 0.000000 -vn -0.718100 0.578400 -0.386900 -vn 0.000000 0.626800 -0.779200 -vn -0.392500 0.537600 -0.746300 -vn -0.160300 0.814600 -0.557500 -vn 0.160300 0.814600 0.557500 -vn -0.902600 0.430500 0.000000 -vn -0.193100 0.981200 0.000000 -vn 0.303000 0.808100 0.505100 -vn -0.707100 0.000800 0.707100 -vn -0.661600 0.265500 -0.701300 -vn 0.694400 0.205200 0.689700 -vn 0.937700 0.338900 0.075700 -vn 0.948700 0.316200 0.000000 -vn 0.707100 0.000300 0.707100 -vn 0.707100 0.000300 -0.707100 -vn -0.707100 0.000800 -0.707100 -vn 1.000000 0.000000 -0.000000 +vn -0.000000 1.000000 0.000000 +vn 0.000000 0.948700 0.316200 +vn 0.146800 -0.536500 0.831000 +vn 0.075700 -0.937700 0.338900 +vn 0.689700 -0.694400 0.205200 +vn 0.746300 -0.392500 0.537600 +vn -0.943400 0.035700 0.329600 +vn -1.000000 -0.000000 0.000000 +vn -0.586900 0.785700 0.195600 +vn 0.535500 0.090600 0.839600 +vn 0.352300 0.779600 0.517700 +vn 0.981900 0.105900 0.156900 +vn 0.943000 0.042000 0.330000 +vn -0.999800 0.017300 0.004100 +vn 0.341800 0.788400 0.511400 +vn 0.586900 0.785700 0.195600 +vn 0.943400 0.035700 0.329600 +vn 0.000000 -0.251500 0.967800 +vn -0.303500 -0.207400 0.930000 +vn -0.292300 -0.404200 0.866700 +vn 0.000000 -0.490300 0.871600 +vn 0.000000 -0.193100 0.981200 +vn 0.000000 -0.351100 0.936300 +vn 0.000000 0.251500 0.967800 +vn 0.000000 0.860000 0.510300 +vn -0.189400 0.805300 0.561700 +vn -0.303500 0.207400 0.930000 +vn 0.000000 0.119800 0.992800 +vn -0.002000 0.760700 0.649000 +vn 0.101100 0.973400 0.205400 +vn -0.557500 0.160300 0.814600 +vn 0.002000 0.760700 0.649000 +vn -0.341800 0.788400 0.511400 +vn -0.535500 0.090600 0.839600 +vn 0.000000 0.559600 0.828700 +vn 0.146800 0.536500 0.831000 +vn 0.079300 0.940200 0.331200 +vn 0.685500 0.699900 0.200500 +vn -0.943000 0.042000 0.330000 +vn -0.981900 0.105900 0.156900 +vn -0.352300 0.779600 0.517700 +vn 0.557500 -0.160300 0.814600 +vn 0.303500 -0.207400 0.930000 +vn 0.292300 -0.404200 0.866700 +vn 0.505100 -0.303000 0.808100 +vn -0.685500 0.699900 0.200500 +vn 0.303500 0.207400 0.930000 +vn 0.189400 0.805300 0.561700 +vn -0.767600 0.641000 0.000000 +vn -0.706800 0.655400 0.266200 +vn -0.101100 0.973400 0.205400 +vn -0.746300 0.392500 0.537600 +vn -0.779200 0.000000 0.626800 +vn -0.146800 0.536500 0.831000 +vn -0.079300 0.940200 0.331200 +vn -0.746300 -0.392500 0.537600 +vn -0.146800 -0.536500 0.831000 +vn -0.173500 0.000000 0.984800 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -0.559600 0.828700 +vn 0.173500 0.000000 0.984800 +vn 1.000000 0.000000 0.000000 +vn 0.999800 0.017300 0.004100 +vn 0.767600 0.641000 0.000000 +vn 0.706800 0.655400 0.266200 +vn -0.386900 0.718100 0.578400 +vn -0.701300 0.661600 0.265500 +vn 0.000000 0.741200 0.671300 +vn 0.386900 0.718100 0.578400 +vn 0.779200 0.000000 0.626800 +vn 0.746300 0.392500 0.537600 +vn 0.557500 0.160300 0.814600 +vn -0.557500 -0.160300 0.814600 +vn 0.000000 0.902600 0.430500 +vn 0.000000 0.193100 0.981200 +vn -0.505100 -0.303000 0.808100 +vn -0.707100 0.707100 0.000800 +vn 0.701300 0.661600 0.265500 +vn -0.689700 -0.694400 0.205200 +vn -0.075700 -0.937700 0.338900 +vn 0.000000 -0.948700 0.316200 +vn -0.707100 -0.707100 0.000300 +vn 0.707100 -0.707100 0.000300 +vn 0.707100 0.707100 0.000800 vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 g Cylinder_Cylinder_upholstery s 1 f 48/1/1 24/2/1 23/3/2 diff --git a/lrfurn/sofas.lua b/lrfurn/sofas.lua index bc071c2b..b05414c8 100644 --- a/lrfurn/sofas.lua +++ b/lrfurn/sofas.lua @@ -1,87 +1,129 @@ - -local sofa_sbox = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5} -} +local S = homedecor_i18n.gettext local sofa_cbox = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 1.5 }, - {-0.5, -0.5, 0.5, -0.4, 0.5, 1.5 } - } + type = "wallmounted", + wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5} } -for i in ipairs(lrfurn.colors) do - local colour = lrfurn.colors[i][1] - local hue = lrfurn.colors[i][2] +minetest.register_node("lrfurn:sofa", { + description = S("Sofa"), + drawtype = "mesh", + mesh = "lrfurn_sofa_short.obj", + tiles = { + "lrfurn_upholstery.png", + { name = "lrfurn_sofa_bottom.png", color = 0xffffffff } + }, + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + inventory_image = "lrfurn_sofa_inv.png", + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + selection_box = sofa_cbox, + node_box = sofa_cbox, + on_rotate = screwdriver.disallow, + after_place_node = function(pos, placer, itemstack, pointed_thing) + lrfurn.fix_rotation(pos, placer, itemstack, pointed_thing) + if minetest.is_protected(pos, placer:get_player_name()) then return true end - minetest.register_node("lrfurn:sofa_"..colour, { - description = "Sofa ("..colour..")", - drawtype = "mesh", - mesh = "lrfurn_sofa_short.obj", - tiles = { - "lrfurn_bg_white.png^[colorize:"..hue.."^lrfurn_sofa_overlay.png", - "lrfurn_sofa_bottom.png" - }, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), - selection_box = sofa_sbox, - node_box = sofa_cbox, - on_rotate = screwdriver.disallow, + local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) - after_place_node = function(pos, placer, itemstack, pointed_thing) - if minetest.is_protected(pos, placer:get_player_name()) then return true end - - local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) - - if lrfurn.check_forward(pos, fdir, false, placer) then - minetest.set_node(pos, {name = "lrfurn:sofa_"..colour, param2 = fdir}) - itemstack:take_item() - else - minetest.chat_send_player(placer:get_player_name(), "No room to place the sofa!") - minetest.set_node(pos, { name = "air" }) - - end - return itemstack - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if lrfurn.check_forward(pos, fdir, false, placer) then + itemstack:take_item() + else + minetest.chat_send_player(placer:get_player_name(), S("No room to place the sofa!")) + minetest.set_node(pos, { name = "air" }) + end + return itemstack + end, + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "lrfurn:sofa", "wallmounted") + else if not clicker:is_player() then return itemstack end + pos.y = pos.y-0.5 clicker:setpos(pos) clicker:set_hp(20) return itemstack end - }) + end +}) - minetest.register_alias("lrfurn:sofa_left_"..colour, "air") - minetest.register_alias("lrfurn:sofa_right_"..colour, "lrfurn:sofa_"..colour) +minetest.register_craft({ + output = "lrfurn:sofa", + recipe = { + {"wool:white", "wool:white", "", }, + {"stairs:slab_wood", "stairs:slab_wood", "", }, + {"group:stick", "group:stick", "", } + } +}) - minetest.register_craft({ - output = "lrfurn:sofa_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "", }, - {"stairs:slab_wood", "stairs:slab_wood", "", }, - {"group:stick", "group:stick", "", } - } - }) +minetest.register_craft({ + output = "lrfurn:sofa", + recipe = { + {"wool:white", "wool:white", "", }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "", }, + {"group:stick", "group:stick", "", } + } +}) - minetest.register_craft({ - output = "lrfurn:sofa_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "", }, - {"moreblocks:slab_wood", "moreblocks:slab_wood", "", }, - {"group:stick", "group:stick", "", } - } - }) +-- convert old static nodes to param2 color +lrfurn.old_static_sofas = {} + +for _, color in ipairs(lrfurn.colors) do + table.insert(lrfurn.old_static_sofas, "lrfurn:sofa_"..color) end +minetest.register_lbm({ + name = "lrfurn:convert_sofas", + label = "Convert lrfurn short sofas to use param2 color", + run_at_every_load = true, + nodenames = lrfurn.old_static_sofas, + action = function(pos, node) + local name = node.name + local color = string.sub(name, string.find(name, "_")+1) + + if color == "red" then + color = "medium_red" + elseif color == "dark_green" then + color = "medium_green" + elseif color == "magenta" then + color = "medium_magenta" + elseif color == "cyan" then + color = "medium_cyan" + end + + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted") + local old_fdir = math.floor(node.param2 % 32) + local new_fdir = 3 + + if old_fdir == 0 then + new_fdir = 3 + elseif old_fdir == 1 then + new_fdir = 4 + elseif old_fdir == 2 then + new_fdir = 2 + elseif old_fdir == 3 then + new_fdir = 5 + end + + local param2 = paletteidx + new_fdir + + minetest.set_node(pos, { name = "lrfurn:sofa", param2 = param2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color) + + end +}) + if minetest.setting_get("log_mods") then - minetest.log("action", "sofas loaded") + minetest.log("action", "[lrfurn/sofas] "..S("Loaded!")) end diff --git a/lrfurn/textures/lrfurn_armchair_inv.png b/lrfurn/textures/lrfurn_armchair_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..cc6b87b4660548cfb0c92d61246d72ebc14a8946 GIT binary patch literal 6841 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 literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_inv.png b/lrfurn/textures/lrfurn_longsofa_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..37bde8bc3a0242f2fc66d9b87d8272014610924d GIT binary patch literal 4423 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 N002ovPDHLkV1f=(lS%*p literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_sofa_inv.png b/lrfurn/textures/lrfurn_sofa_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f7f6facc6b4b5e3e53631284454b8f9a58c8cc GIT binary patch literal 5297 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 DRnyU8 literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_upholstery.png b/lrfurn/textures/lrfurn_upholstery.png new file mode 100644 index 0000000000000000000000000000000000000000..6db36a83f6dda8a6334fee2a3651d62fc472cf8a GIT binary patch literal 2309 zcmV+g3HtVlP)#X zTaI1XaRkta$lT}LDi*6qHk_;pZ{r3xHzzEbCic?G+qitV-`XB+7uUzv?|y9R*s6y0 zR3D$;uB^Zk`}*~}leBfq-EteP+f!`$nwT@{9?9)-paX&B4&VFn=))V83vtmtd)TX z1j=c-wtp7tZC^QK`?X`8F)pAr+o+YFli@-*diI7yesDTbNsHD6E$VG0J4bxRk zde6(k{ik;uFU?NOOP~9Ru+}mW&$BP{T!>yR&)LV;;dz>Z9Ked4f8V}-`eilUvei8feg3Z> z{^iBv!<$i{)f<!MI{SF-~ROH^Y4%S4n%>y z!pQXgV*sMysN!Ez%R9OLFiCSn#0nj~= z)s!S-^qQzx6~PhYMVBtQfu;kIWjH;-RIMh{(h3-`Y`cU3tQ4HX>A?)mW)oJ$nPLSr z0>=unII&C?JD_lIgkb6Lq*oTB+)aa0fKGux)1^SU)L{}ADnVgcC0gzQ(Ew19rOfs+ z1jb@_i!j0z%o0Jdyddm?*|D5vn5fhQ*lt5Lr`Lh@uuEPuWWpi%@-1%aUKNWyvWa#x zy!J+@n+{=s!$!pvk-#L?UBR95NM@a59?$1S*v&OpJ)Y(I^8J3*ZgF*AeD18jCQLciYbW1=IkDI_-RUotv3}jpN1R)yr4L z94*KG@+$E3J?J6Fd2@8+AMzQrgU_4&<6ppPw5&RPy4>8ofo3!)8~XHli$z9}-5ZfhH(Rd=n@7gg zvM8%$QY|Qa96chdD2qx`UG4&fjsWN-!Dxt4 zJU3h`mYtQ2zSOppf|@1S2!c>Rvtb)NTnZ4@?Czp8H(63;6|k-4#?;yn&UtxCsPUYY zjmxY#A5IsYSC(2wtvb##t4%m;)VX_a#0qCy$}cs8Ek{}4{QZ5tXBbdJ^zr`Vp2*s4U^#9V6}kDSpC=ok_a`4Thx=YduW zT70hCA96I{;^^lO^X`Y6u)MZ){{8-X-}45VGn|TDu`W6BdDGoqMMo0U3u5X9Y z)fd@2Co4eu2xNiMDhigCy^h6#!A1o}jxr6YI|%hv2g{6}QCd5Z(|tV6^H|vzvYx*_ z+~2=!frOX)(tTb%WwU0@v)tG0TpF#WJM#B49?tI{L9h|?>rv;=55aEGS^Zdb|7)Nq z$N7^v`uvxdA}kb&aITIkU5RcZOD}&qZbzU@gNwNO9#@1F%ZS&#x!P<)i_sC6E&p@g z%23fHQRw>mE1Cq04o`s~VY;>89=HF_m8@)bcw_F{-Dbc9SAZor7HO^cr&Q4|YipX#u!#y3C!p$pfpDWG6AMC22EO&Dy#@`$V$;k83Al`zoqXI^ zfR(Oj8Q;_)HygR4JKKVdbc4-U0>GwaxU)EkMMxz8^kr|g{0%Qnst_nZ=vWmZIme0y zIu9htTHqRN%9m3YX_98EK*2VlZ;~ycB2yAZI%akSs?53>45|6->xrr{NY& zvsAMX1l7 z{Pw=hpQ}ZxC^vy`bF$GFnNDK~W~?kUVL#pdn@gfDs;D*c z=^k#`VZ&_EPzjv^!vzaq6sE&jT-K5QB%c;DxQbxs9NiErFM+Ut0u6P{+Ny?0gJ{ZH f>9*K0fyDm@MwPPG5e0$HA0nK783GxeOaCmkj z4a7~4 zE{-7*mvjBz@--{)Jn3sn|2*J^7Z)Ay&?0?3(I(@V!gWqCWo(rH>Z3z zm~b(ETqJZ-9%xD%mToYOXDNJHB7|TkgI_1CojQ5|0004WQchCuB`}cOZ;6^m%Io@y;h0>E)gv{S!C*KS-@kXbYrY6B3a_5Q}2g2)%s?MFiNb i`{8p0RgPIy!6;u%gaUM;ZtZ9Q000029 diff --git a/pipeworks/routing_tubes.lua b/pipeworks/routing_tubes.lua index 8620d20f..0a82fc8d 100644 --- a/pipeworks/routing_tubes.lua +++ b/pipeworks/routing_tubes.lua @@ -14,13 +14,14 @@ minetest.register_craft( { -- without doing actual sorting, like at outputs of tubedevices that might both accept and eject items if pipeworks.enable_priority_tube then local color = "#ff3030:128" + local nodecolor = 0xffff3030 pipeworks.register_tube("pipeworks:priority_tube", { description = "High Priority Tube Segment", inventory_image = "pipeworks_tube_inv.png^[colorize:" .. color, - plain = { "pipeworks_tube_plain.png^[colorize:" .. color }, - noctr = { "pipeworks_tube_noctr.png^[colorize:" .. color }, - ends = { "pipeworks_tube_end.png^[colorize:" .. color }, - short = "pipeworks_tube_short.png^[colorize:" .. color, + plain = { { name = "pipeworks_tube_plain.png", color = nodecolor } }, + noctr = { { name = "pipeworks_tube_noctr.png", color = nodecolor } }, + ends = { { name = "pipeworks_tube_end.png", color = nodecolor } }, + short = { name = "pipeworks_tube_short.png", color = nodecolor }, node_def = { tube = { priority = 150 } -- higher than tubedevices (100) }, diff --git a/plasmascreen/depends.txt b/plasmascreen/depends.txt index 331d858c..7b3e79f7 100644 --- a/plasmascreen/depends.txt +++ b/plasmascreen/depends.txt @@ -1 +1,2 @@ -default \ No newline at end of file +default +homedecor diff --git a/plasmascreen/init.lua b/plasmascreen/init.lua index 839fa1fa..109e4182 100644 --- a/plasmascreen/init.lua +++ b/plasmascreen/init.lua @@ -1,7 +1,10 @@ + +local S = homedecor_i18n.gettext + screwdriver = screwdriver or {} minetest.register_node("plasmascreen:stand", { - description = "Plasma Screen TV Stand", + description = S("Plasma Screen TV Stand"), tiles = {"plasmascreen_back.png"}, paramtype = "light", paramtype2 = "facedir", @@ -85,7 +88,7 @@ local function checkwall(pos) end local node5 = minetest.get_node({x=pos.x+dxr, y=pos.y+1, z=pos.z+dzr}) - if not node5 or not minetest.registered_nodes[node5.name] + if not node5 or not minetest.registered_nodes[node5.name] or not minetest.registered_nodes[node5.name].buildable_to then return false end @@ -94,7 +97,7 @@ local function checkwall(pos) end minetest.register_node("plasmascreen:tv", { - description = "Plasma TV", + description = S("Plasma TV"), drawtype = "mesh", mesh = "plasmascreen_tv.obj", tiles = { @@ -130,7 +133,7 @@ minetest.register_node("plasmascreen:tv", { }) minetest.register_node("plasmascreen:tv_off", { - description = "Plasma TV (off)", + description = S("Plasma TV (off)"), drawtype = "mesh", mesh = "plasmascreen_tv.obj", tiles = { diff --git a/plasticbox/depends.txt b/plasticbox/depends.txt index 42f64ae3..7910ab9d 100644 --- a/plasticbox/depends.txt +++ b/plasticbox/depends.txt @@ -1,4 +1,3 @@ homedecor -technic? -bucket? -pipeworks? +moreblocks +unifieddyes diff --git a/plasticbox/init.lua b/plasticbox/init.lua index 256f972d..8bd6a694 100644 --- a/plasticbox/init.lua +++ b/plasticbox/init.lua @@ -1,142 +1,22 @@ -plasticbox = {} -plasticbox.colorlist = { - {"black", "Black Plastic"}, - {"blue", "Blue Plastic"}, - {"brown", "Brown Plastic"}, - {"cyan", "Cyan Plastic"}, - {"green", "Green Plastic"}, - {"grey", "Grey Plastic"}, - {"magenta", "Magenta Plastic"}, - {"orange", "Orange Plastic"}, - {"pink", "Pink Plastic"}, - {"red", "Red Plastic"}, - {"violet", "Violet Plastic"}, - {"white", "White Plastic"}, - {"yellow", "Yellow Plastic"}, -} - - - ---Register Nodes, assign textures, blah, blah... minetest.register_node("plasticbox:plasticbox", { - description = "Plain Plastic Box", - tiles = {"plasticbox.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_black", { - description = "Black Plastic Box", - tiles = {"plasticbox_black.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_blue", { - description = "Blue Plastic Box", - tiles = {"plasticbox_blue.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_brown", { - description = "Brown Plastic Box", - tiles = {"plasticbox_brown.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_cyan", { - description = "Cyan Plastic Box", - tiles = {"plasticbox_cyan.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_darkgreen", { - description = "Dark Green Plastic Box", - tiles = {"plasticbox_darkgreen.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_darkgrey", { - description = "Dark Gray Plastic Box", - tiles = {"plasticbox_darkgrey.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_green", { - description = "Green Plastic Box", - tiles = {"plasticbox_green.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_grey", { - description = "Gray Plastic Box", - tiles = {"plasticbox_grey.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_magenta", { - description = "Magenta Plastic Box", - tiles = {"plasticbox_magenta.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_orange", { - description = "Orange Plastic Box", - tiles = {"plasticbox_orange.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_pink", { - description = "Pink Plastic Box", - tiles = {"plasticbox_pink.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_red", { - description = "Red Plastic Box", - tiles = {"plasticbox_red.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_violet", { - description = "Violet Plastic Box", - tiles = {"plasticbox_violet.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_white", { - description = "White Plastic Box", + description = "Plastic Box", tiles = {"plasticbox_white.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, + is_ground_content = false, + groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1}, sounds = default.node_sound_stone_defaults(), -}) -minetest.register_node("plasticbox:plasticbox_yellow", { - description = "Yellow Plastic Box", - tiles = {"plasticbox_yellow.png"}, - is_ground_content = true, - groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, level=1}, - sounds = default.node_sound_stone_defaults(), -}) -minetest.register_craftitem("plasticbox:plastic_powder", { - image = "plastic_powder.png", - description="Plastic Powder", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = unifieddyes.on_rightclick, }) +stairsplus:register_all("plasticbox", "plasticbox", "plasticbox:plasticbox", { + description = "Plastic", + tiles = {"plasticbox_white.png"}, + groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1}, + sounds = default.node_sound_stone_defaults(), +}) ---Register craft for plain box minetest.register_craft( { output = "plasticbox:plasticbox 4", recipe = { @@ -146,206 +26,48 @@ minetest.register_craft( { }, }) - -minetest.register_craft( { - output = "homedecor:plastic_sheeting 7", - recipe = { - { "plasticbox:plasticbox", "plasticbox:plasticbox" }, - { "plasticbox:plasticbox", "plasticbox:plasticbox" }, - }, +minetest.register_lbm({ + name = "plasticbox:convert_colors", + label = "Convert plastic boxes to use param2 color", + nodenames = { + "plasticbox:plasticbox_black", + "plasticbox:plasticbox_blue", + "plasticbox:plasticbox_brown", + "plasticbox:plasticbox_cyan", + "plasticbox:plasticbox_green", + "plasticbox:plasticbox_grey", + "plasticbox:plasticbox_magenta", + "plasticbox:plasticbox_orange", + "plasticbox:plasticbox_pink", + "plasticbox:plasticbox_red", + "plasticbox:plasticbox_violet", + "plasticbox:plasticbox_white", + "plasticbox:plasticbox_yellow", + "plasticbox:plasticbox_darkgreen", + "plasticbox:plasticbox_darkgrey", + }, + action = function(pos,node) + local conv = { + ["black"] = 5, + ["blue"] = 73, + ["brown"] = 22, + ["cyan"] = 57, + ["green"] = 41, + ["grey"] = 3, + ["magenta"] = 89, + ["orange"] = 17, + ["pink"] = 11, + ["red"] = 9, + ["violet"] = 81, + ["white"] = 1, + ["yellow"] = 25, + ["darkgreen"] = 46, + ["darkgrey"] = 4, + } + local name = node.name + local oldcolor = string.sub(name,string.len("plasticbox:plasticbox_-"),-1) + node.name = "plasticbox:plasticbox" + if conv[oldcolor] then node.param2 = conv[oldcolor] end + minetest.set_node(pos,node) + end, }) - -minetest.register_craft({ - type = "cooking", - output = "homedecor:plastic_sheeting", - recipe = "plasticbox:plastic_powder", -}) - ---Register crafts for colored boxes -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_black', - recipe = {'plasticbox:plasticbox', 'group:basecolor_black'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_blue', - recipe = {'plasticbox:plasticbox', 'group:basecolor_blue'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_brown', - recipe = {'plasticbox:plasticbox', 'group:basecolor_brown'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_cyan', - recipe = {'plasticbox:plasticbox', 'group:basecolor_cyan'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_green', - recipe = {'plasticbox:plasticbox', 'group:basecolor_green'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_grey', - recipe = {'plasticbox:plasticbox', 'group:basecolor_grey'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_magenta', - recipe = {'plasticbox:plasticbox', 'group:basecolor_magenta'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_orange', - recipe = {'plasticbox:plasticbox', 'group:basecolor_orange'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_pink', - recipe = {'plasticbox:plasticbox', 'group:basecolor_pink'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_red', - recipe = {'plasticbox:plasticbox', 'group:basecolor_red'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_violet', - recipe = {'plasticbox:plasticbox', 'group:basecolor_violet'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_white', - recipe = {'plasticbox:plasticbox', 'group:basecolor_white'}, -}) -minetest.register_craft({ - type = "shapeless", - output = 'plasticbox:plasticbox_yellow', - recipe = {'plasticbox:plasticbox', 'group:basecolor_yellow'}, -}) - ---ugly below here. - -if minetest.get_modpath("moreblocks") then - register_stair( - "plasticbox", - "plasticbox", - "plasticbox:plasticbox", - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox.png", - }, - "Plastic", - "plasticbox", - 0 - ) - register_slab( - "plasticbox", - "plasticbox", - "plasticbox:plasticbox", - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox.png", - }, - "Plastic", - "plasticbox", - 0 - ) - - register_panel( - "plasticbox", - "plasticbox", - "plasticbox:plasticbox", - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox.png", - }, - "Plastic", - "plasticbox", - 0 - ) - - register_micro( - "plasticbox", - "plasticbox", - "plasticbox:plasticbox", - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox.png", - }, - "Plastic", - "plasticbox", - 0 - ) - table.insert(circular_saw.known_stairs, "plasticbox:plasticbox") - -end - - - -for i in ipairs(plasticbox.colorlist) do - local colorname = plasticbox.colorlist[i][1] - local desc = plasticbox.colorlist[i][2] - - if minetest.get_modpath("moreblocks") then - register_stair( - "plasticbox", - "plasticbox_"..colorname, - "plasticbox:plasticbox_"..colorname, - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox_"..colorname..".png", - }, - desc, - "plasticbox_"..colorname, - 0 - ) - register_slab( - "plasticbox", - "plasticbox_"..colorname, - "plasticbox:plasticbox_"..colorname, - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox_"..colorname..".png", - }, - desc, - "plasticbox_"..colorname, - 0 - ) - - register_panel( - "plasticbox", - "plasticbox_"..colorname, - "plasticbox:plasticbox_"..colorname, - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox_"..colorname..".png", - }, - desc, - "plasticbox_"..colorname, - 0 - ) - - register_micro( - "plasticbox", - "plasticbox_"..colorname, - "plasticbox:plasticbox_"..colorname, - { snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2,not_in_creative_inventory=1 }, - { "plasticbox_"..colorname..".png", - }, - desc, - "plasticbox_"..colorname, - 0 - ) - table.insert(circular_saw.known_stairs, "plasticbox:plasticbox_"..colorname) - - end -end - ---Crafting recipes involving other mods -if minetest.get_modpath("bucket") then -minetest.register_craft( { - output = "bucket:bucket_empty", - recipe = { - { "homedecor:plastic_sheeting", "", "homedecor:plastic_sheeting" }, - { "", "homedecor:plastic_sheeting", "" }, - }, -}) -end diff --git a/plasticbox/textures/plasticbox_ud_palette.png b/plasticbox/textures/plasticbox_ud_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7c4854022b1523bcc61792d3bf297591f9fede GIT binary patch literal 443 zcmV;s0Yv_ZP)RKoxO010qNS#tmY3ljhU3ljkVnw%H_000McNliru;Q<&2A`bjSN#y_l03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00AFKL_t(I%k9yzPE=74 z2Hd;|2x%31-p(!^xvJP*jdN1NF}&YP5riy>UzS%aWh_f<2=t*JH)lMK_`@0j^OPfFC%rq)=3eH_0ZW+N3b<#W3QOh zba@&cKTGXU*lb4d3av1e4r+r|jSzQtm{0hW)l}oVVyHxhOF4pOHJ3tdI^k5dRr;zl l#ND(0mc~DF5AMN#fg2UWdV08ik*ELw002ovPDHLkV1lNRvt$4O literal 0 HcmV?d00001 diff --git a/plasticbox/ud_palette.txt b/plasticbox/ud_palette.txt new file mode 100644 index 00000000..5e88718b --- /dev/null +++ b/plasticbox/ud_palette.txt @@ -0,0 +1,9 @@ +Hues: red orange yellow lime green aqua cyan skyblue blue violet magenta redviolet +Shades: full full50 light med med50 dark dark50 +(both 1-indexed) + +For grayscale, use hue 0, shades available: white gray75 gray50 gray25 black + +param2 = color*8 + shade + +Invalid colors resolve to white. diff --git a/signs_lib/init.lua b/signs_lib/init.lua index 6953e0e2..b89cff7b 100644 --- a/signs_lib/init.lua +++ b/signs_lib/init.lua @@ -572,7 +572,7 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing, locked) local node=minetest.get_node(pointed_thing.under) if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack, pointed_thing) else local above = pointed_thing.above local under = pointed_thing.under @@ -943,7 +943,7 @@ function signs_lib.register_fence_with_sign(fencename, fencewithsignname) end if def_under and def_under.on_rightclick then - return def_under.on_rightclick(pointed_thing.under, node_under, placer, itemstack) or itemstack + return def_under.on_rightclick(pointed_thing.under, node_under, placer, itemstack, pointed_thing) or itemstack elseif def_under and def_under.buildable_to then minetest.add_node(pointed_thing.under, {name = fencename, param2 = fdir}) if not signs_lib.expect_infinite_stacks then diff --git a/stained_glass/geany_run_script.sh b/stained_glass/geany_run_script.sh new file mode 100644 index 00000000..05d787e3 --- /dev/null +++ b/stained_glass/geany_run_script.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +rm $0 + +lua "init.lua" + +echo " + +------------------ +(program exited with code: $?)" + + +echo "Press return to continue" +#to be more compatible with shells like dash +dummy_var="" +read dummy_var diff --git a/stained_glass/init.lua b/stained_glass/init.lua index be804e98..6ffb61d6 100644 --- a/stained_glass/init.lua +++ b/stained_glass/init.lua @@ -25,78 +25,206 @@ changes, and to resurrect the craft recipes. Still GPL'd as far as I'm concerned August 2013 -- rewritten a bit by VanessaEzekowitz to further condense the code. -============================================================================== - - -Recipe for standard colors: - -dye -super glow glass -super glow glass -super glow glass - - -Recipe for pastel colors: - -light dye -white paint -super glow glass -super glow glass -super glow glass - - -Recipe for faint colors: - -light dye -white paint -white paint -super glow glass -super glow glass -super glow glass - -recipe for low-glow-stained-glass: -as above, but substitute 'glow glass' for super glow glass. - -recipe for no-glow-stained-glass: -as regular stained glass, but substitute plain 'glass' for super glow glass - - -All recipes produce three stained glass blocks. +January 2017 -- rewritten a bit more by Vanessa E. to use engine param2 colorization + and place-then-paint creation of colors. To get the pastel colors, + place super glow glass, right-click with dye to color it, then right- + click with Moreblocks' "sweeper" to "brush off" some of the color. Do + it again to change pastel to faint. Right click a pastel or faint with + some dye to re-color it (you have to dig and re-place if you want to + darken it). Crafting is no longer used to create the colors. ============================================================================== ]]-- -function makenode(arg) +stainedglass = {} +stainedglass.old_static_nodes = {} + +minetest.register_node("stained_glass:stained_glass", { + description = "Stained Glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + drop = "moreblocks:super_glow_glass", + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = itemstack:get_name() + if name == "moreblocks:sweeper" then + minetest.swap_node(pos, { name = "stained_glass:pastel_stained_glass", param2 = node.param2 }) + return + end + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:stained_glass") + end, + drop = "moreblocks:super_glow_glass" +}) + +minetest.override_item("moreblocks:super_glow_glass", { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:stained_glass") + end +}) + +-- pastel and faint + +minetest.register_node("stained_glass:pastel_stained_glass", { + description = "Stained Glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "stained_glass_pastels_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = itemstack:get_name() + if name == "moreblocks:sweeper" then + minetest.swap_node(pos, { name = "stained_glass:faint_stained_glass", param2 = node.param2 }) + return + end + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:pastel_stained_glass") + end, + drop = "moreblocks:super_glow_glass" +}) + +minetest.register_node("stained_glass:faint_stained_glass", { + description = "Stained Glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "stained_glass_faint_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:faint_stained_glass") + end, + drop = "moreblocks:super_glow_glass" +}) + +-- trap glass + +minetest.override_item("moreblocks:trap_super_glow_glass", { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:stained_trap_glass") + end +}) + +minetest.register_node("stained_glass:stained_trap_glass", { + description = "Stained Trap-glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = false, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + drop = "moreblocks:trap_super_glow_glass", + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = itemstack:get_name() + if name == "moreblocks:sweeper" then + minetest.swap_node(pos, { name = "stained_glass:pastel_stained_trap_glass", param2 = node.param2 }) + return + end + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:stained_trap_glass") + end, + drop = "moreblocks:trap_super_glow_glass" +}) + +-- pastel and faint trap + +minetest.register_node("stained_glass:pastel_stained_trap_glass", { + description = "Stained Glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "stained_glass_pastels_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local name = itemstack:get_name() + if name == "moreblocks:sweeper" then + minetest.swap_node(pos, { name = "stained_glass:faint_stained_trap_glass", param2 = node.param2 }) + return + end + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:pastel_stained_glass") + end, + drop = "moreblocks:trap_super_glow_glass" +}) + +minetest.register_node("stained_glass:faint_stained_trap_glass", { + description = "Stained Glass", + drawtype = "glasslike", + tiles = { "stained_glass.png" }, + paramtype = "light", + paramtype2 = "color", + palette = "stained_glass_faint_palette.png", + sunlight_propagates = true, + use_texture_alpha = true, + light_source = myglow, + is_ground_content = true, + walkable = true, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, + sounds = default.node_sound_glass_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "stained_glass:faint_stained_glass") + end, + drop = "moreblocks:trap_super_glow_glass" +}) + +function stainedglass.makenode(arg) local name=arg.blockname local myglow=arg.glow local myprefix=arg.prefix local imagename=arg.imagename local safe=arg.walkflag - local Description - local function tchelper(first, rest) - return first:upper()..rest:lower() - end -- from lua-users.org/wiki/StringRecipes - -- above function is used to turn red_violet_s50 to 'Red Violet S50' + local function tchelper(first, rest) + return first:upper()..rest:lower() + end -- from lua-users.org/wiki/StringRecipes - --register item attributes - - Description=string.gsub("Stained Glass - " ..myprefix..name, "_", " ") - Description=Description:gsub("(%a)([%w_']*)", tchelper) - - minetest.register_node("stained_glass:"..myprefix..name, { - description = Description, - drawtype = "glasslike", - tiles = {"stained_glass_" .. imagename .. ".png"}, - paramtype = "light", - sunlight_propagates = true, - use_texture_alpha = true, - light_source = myglow, - is_ground_content = true, - walkable=safe, -- if not safe, this is trapglass - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - sounds = default.node_sound_glass_defaults() - }) + table.insert(stainedglass.old_static_nodes, "stained_glass:"..name) end -- maybe someday, I can cleanly combine these two functions. @@ -148,13 +276,7 @@ function stained_trapglass_define(arg) myrecipe[6] = "dye:white" end - minetest.register_craft({ - type = "shapeless", - output = "stained_glass:"..myprefix..name.." 3", - recipe = myrecipe, - }) - - makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=imagename, walkflag=false} + stainedglass.makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=imagename, walkflag=false} end end @@ -204,13 +326,7 @@ function stained_glass_define(arg) myrecipe[6] = "dye:white" end - minetest.register_craft({ - type = "shapeless", - output = "stained_glass:"..myprefix..name.." 3", - recipe = myrecipe, - }) - - makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=name, walkflag=true} + stainedglass.makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=name, walkflag=true} if myprefix == "" then local aliasname @@ -351,6 +467,68 @@ for i in ipairs(stained_glass_hues) do end end +-- convert in-map static nodes to use param2 coloring + +minetest.register_lbm({ + name = "stained_glass:convert_brickblocks", + label = "Convert static glass blocks to use param2 color", + run_at_every_load = true, + nodenames = stainedglass.old_static_nodes, + action = function(pos, node) + local name = node.name + local n = string.find(name, ":") + local color = string.sub(name, n + 1) + local h,s,v = unifieddyes.get_hsv(name) + + if string.find(name, "trap") then + n = string.find(color, "_") + color = string.sub(color, n + 1) + + if string.find(color, "pastel") then + n = string.find(color, "_") + color = string.sub(color, n + 1) + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:pastel_stained_trap_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + elseif string.find(color, "faint") then + n = string.find(color, "_") + color = string.sub(color, n + 1) + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:faint_stained_trap_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + else + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:stained_trap_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + end + else + if string.find(color, "pastel") then + n = string.find(color, "_") + color = string.sub(color, n + 1) + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:pastel_stained_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + elseif string.find(color, "faint") then + n = string.find(color, "_") + color = string.sub(color, n + 1) + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:faint_stained_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + else + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color) + minetest.set_node(pos, { name = "stained_glass:stained_glass", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..v..h..s) + end + end + end +}) + print("[stained_glass] Loaded!") diff --git a/stained_glass/textures/stained_glass.png b/stained_glass/textures/stained_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..7d80b703c92ce31add94b1c5bedc0e1f020fd13a GIT binary patch literal 291 zcmV+;0o?wHP)VMbyv?a+;t+%Zt z7Ug5$(*}-h$`S^H(U&IatvlpuHs!arUvk9jEyMU8GlVI>H%ck9DUYo_LylHcQsx`e pB?F`T9dbq(#0@vNq2K-Q-ETrVVQQiv&wc;^002ovPDHLkV1hDOg&+U` literal 0 HcmV?d00001 diff --git a/stained_glass/textures/stained_glass_faint_palette.png b/stained_glass/textures/stained_glass_faint_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..a019b95048591a49da8bb1e372efc8e7861fb512 GIT binary patch literal 305 zcmV-10nYx3P)NdYxbngZu{ac^8|+%xNM{+Y~Fl0eV1 zZ&%-KHXGMBTc19D29+d-%S*fE(&_oRuNN2g^SPh5w;qSV47}|Wv13K0Saj898sx0W zaquK>iUm0)Lmv~akt%Ea0`Y*x2yU=Q>@@eruBSw$M$nx}b=}gl)d=duFs1l#^j>*Q znyR&Au31Rh2)Im~Ckf)IEnEojrDVoR&O=D$CAVQDxt#niAgO zBvgwP=6HpcOqaBk!kIJ-j{{p`Oi+O0(vjabg00000NkvXXu0mjf Dm;j1I literal 0 HcmV?d00001 diff --git a/stained_glass/textures/stained_glass_pastels_palette.png b/stained_glass/textures/stained_glass_pastels_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..e55c17a2d90a3b4e16b4bee5065eeca23d9d00c4 GIT binary patch literal 334 zcmV-U0kQsxP)DDAu$f`rP{H z&S)kwGvVgP-1Pki)9KXJ*DqeZd<`Nqb9Hj!+rdMJ$1j|po|+E^u4gkp+g1blG>O8_ zH4`F3JwTKmI11UNyuX$c%(0;^Ha&QYjIf7~2jsg-)@t5oWxr(P@dJ=zD@N_`dXl@KB*5dH!I z_t3Ih58zZ)XyfdRl*8C^L_Wr!zZs8*g00)_>Zg9Q*)-<&`@P}UYBj^pvdr-7^}6AY zMkBAt-z)IUjRAP>0Mv_qVWZJ7{OxvY^?l#B`iH}TBY**5036}~dd_>Ed2IK3Jsb`P zBuRq#e2&#>g)j^urGyXy%jMFl14<7-o@uQy9*>cx>Eqa9u|S%p==b~8-vY;vrMBDc zuv)FE4?vP67w2gBJIMi5+fz>1?RFQ}W?6<-t7VJ@L16e%6uBJ%Hd4Db;gte_cDsFX zj{e(~1Rw~46S;hp&@^>+k^|@-7ebt9d!-bX%Oy6O4Ybw>f&jknBg?WA?N8S`uLF+B zknj8Oeg7mHC~2}3W&j-H0J>-Mh>eOLx+SiCH1ZZ;0GI=cwJ;0~f3w+Geaabh&ugtY z0vG@Wz#$Hp&*#=X-EOxr*lzJ5j`8xh?*A?XK1zvkqk;8$ZLKd9ZC=qY>~uQX27vNB ze49*gPu2|qyif`;Aw3GfbUJnWa`asspL{$3+yi)TDVJ4-174Bq@2B?qA7_GB;Q(6G zqv!aYW$oP`mM2s|)}S7FK__GUJy5fKN9!7@ip)0{EAwnkE1M002ovPDHLkV1iY9bC>`C literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_0l.png b/trafficlight/textures/streets_pl_number_0l.png new file mode 100644 index 0000000000000000000000000000000000000000..99fc2632d7460205bd80eb7ec1943cf5c6a9b4f7 GIT binary patch literal 572 zcmV-C0>k}@P)Ak#ecu=51E3>!J+Q7IwZKq3)=7{51 z!n@s0!gXCsc)earxT-1%yRIwYEX%Y$@5)(tfPkeF;Od@mv)M@a@p!c2?RMLWU#}N3 z00e*lLo`4L(K+ULJWBX>yS0wz>pmYJ1VQg-Afow1uqn#29P~TS^H2gHz$6V&sjVbQ zv_9Z|zaL!R$N&%k0;XREpUe%DTfh^GaWk1w28N00^+l4>0X)feiR`1~kRj zT#pZlFbt{BahH=-6ouV>0Ke(Np^D|hd(2_xfF8z^_^VaQCS<!3^E?T!Rx1e?MIqt&d@kX~;~`<&wk3Q%pS7-cW=(v6fTz;72SV%a_vPQgI zE*o)KmN)?*00bDK0YZqE@A$qi;rspG_&)dh{Qb>l^Y$8us6P>`8%dJ1`rmrJh6#WG zlQclZw!$#fy1?yr+uFWy0zd!==-v(Hd9HQ7G)-{=KmZ6BkOs_VdO77aL7V^(00PX` z0LO78e7oH~nolMF#|Z!d2AM$J=%TXI2>~kh=(?_ic}UKB-*o8xzVygz{V5AfUqH9^DyAi!)9>h%DneBk@*88g%I zM1v)O=kuzYuWq`Ed0!z+00e-5{xm?PaB(;sB>bvR@ZGp#@HN5O1vAy}(hC?tK-C4- zVQ7FU8lYlZK@j|FT!ES(Okjk$03A;>np}YU?Y6G)liUI(V44Yx=6bx%*zI|W zK~#9!?OIWef-n%JfIshLF;@cj^zddY$w3eJ>YaYCAcVxMm(F% z8u9gdg$IBD5MYP~NGV(2iK2+$)9KXsKF|C7{l#MO^c;i`!--&>Wm(qgcR>&!1VDgE z8lVze+wE5C1eeQY=lF&PfB+ECe;T}8E?URS^Bf)k0zklsG+;8(%PFr3!UI462ryd% z=JPqhX_~$?p33(T7d3Chp_|O*tNq&;Sqs0`%Dpw8*FP$5_bJ00000NkvXXu0mjfW3B)> literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_1r.png b/trafficlight/textures/streets_pl_number_1r.png new file mode 100644 index 0000000000000000000000000000000000000000..b878ae63780c01c99d41a6a55747a3e1a5830db8 GIT binary patch literal 602 zcmV-g0;Tk@oC9<@I2#If8!fb9ghx)+?yW(1dI*@`{S zYsHt#1s(tbK!70{Afrr=LLxF`NiCS)S*eem9@b5dt8< zBn?oBt=(>?^#NC_Rp(&(0>}Ns!Hp6MNz;5KmZ6Bkp@gAdO77iL3jWN00Cxe zz+$l=I8D=+)>Enf;Q=7Ppb%)XJ~}(S5TFu|o6Uw`-qYh}g?XMkLI_7n=?Ebn_6T+N z1bYvG|6V|Mqr+GNhI-LKHDKser;PxWe{a9vx4s-d>*MnQe13q}7U&6L9{>W(7D3*_ zFNs_#@-g>wE!-3#ObAr$AD@NZFRH_wzeudQ`aGwRB0VZjHN^EVn zTkZRbcb3gagCM~2Eb#VzfNl*y2$=2xP4+Rz<6SHWg4XYOiOb2#vTR%g@R;Rief*q& o&kOMHxu(Q%3=IGQAV8m80X*cW@?F6lu>b%707*qoM6N<$f+JAs7+8>q>aP-)mj(z_Hvwfb9ghx+nBJPr{eWr4o-u zqe^_g-?0Ng00=Nd1B4K7$HZ|g;nV3EtgBJ3k-swaeQM3fB+ECei|%_LhF2ao?{1q01(h44Hyjca>{Fh*a08_1emP> z)9F;gX_|gCpUV9oI{*Y26ar<|MrEfJ0#xF0Hk(P9*Yx;XVU}eM5jjE#hlt+R2zA#4 zTMvO(4(Kj)7)wA`j&`a6U8g#21gQLbtJSK~IsVqi`vZ9Y0KZ$HCWvzY2ryd&c@2;E z3kV?|IsaKBem}FKKcGy=tT_ij1HN4Ycnlwp$B#}qQ4~?H2q-i32iRT@c%;D1`cL(@ zyYD1`-{+-N_vEzLtd&UMeT4`C5C8(Y(*TviMUo^Ee%B{h_gvA-K0&LpK$Y{RI1LSG zx&u^VYq41T>$w6oL4-h0MUb{TJF)=J+pq2dI_?$-fxd*m*F29mu`mp&&UKfQbv~c_ wT@T=Ief*t(_Y3gvxuzTr2WS8Y00H{!2dQ79su2@XDF6Tf07*qoM6N<$f=ti>RsaA1 literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_2r.png b/trafficlight/textures/streets_pl_number_2r.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9b4be8242a046f08ca099c7e35c1316eda3cd6 GIT binary patch literal 610 zcmV-o0-gPdP)K_eeU=9`#}(Vy#^v`P6YFY5TermCX)$F00h{i z0Xnu7hM~~~PN&n#_Kgz&0zg3hZt#A;8=Wsn5}W`K00LU10fT{API*lbCjbP10J}B7 z_k9JQ&*z`!)5-sF0ziO8CXhGksO;22fQ~&b77GRQnjXI^6hb&e&8qNs3l{H~Ap2k`y@o?DkSAoli36YkUDp6^!>7~fr}^gddHW+l^au349-x&EY&Y+inRa_> zEde~A*LIB`o0i*+d|}>K2onGSAfP!7&?#KRajf97KEZF}idOas_R0%X-F%&!h6YqU z0Xnv|Ua$W(u0Tx?CeT3f>*MzXykCGn=bCan9-#ps00fvDPlZ6ItS#h%^Z)<=07*qoM6N<$g7xPImH+?% literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_3l.png b/trafficlight/textures/streets_pl_number_3l.png new file mode 100644 index 0000000000000000000000000000000000000000..bdab8965188a612347ff9157fa89613c668d6996 GIT binary patch literal 606 zcmV-k0-^nhP)SrZQsFm(cK-49$W77{MYvJo$r z%SL>=-7o_{00=Nd1B4JS?+L?D!daFz-cRd3z2Eo!x8H#=)}IL01?Rlg|6JEa3V;BU zG(aV{qA1e(f~(c4b$(+8fB+ECeHpB(O6&8AqQDFQ0U%&N8Zevb<&=7Ym;oRF1emP> zp65yUd_I5lJeB=FW&j8+;XbzuFr;k=So6Uv|ih#O6f56oJfO`o%9{yDS z>wBC8(EYqr>K+Cyjt3vQKbQRiN?9w5S5m z0F!2bN^b3TyMJ9*z!O9YU@tH%Kj2vv(6P5b3JfI$MsqygCf4gUduO{#$;$J5*nR*# s>!arcv|oT;r<#(cDKr2CfB=2*1F$)xsvo$4NB{r;07*qoM6N<$f+F7hsQ>@~ literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_3r.png b/trafficlight/textures/streets_pl_number_3r.png new file mode 100644 index 0000000000000000000000000000000000000000..da7de9a011aa09c5f30a2f6df3a3b0f765273072 GIT binary patch literal 610 zcmV-o0-gPdP)HX5!2|~qQC~*3B1e^BIIrHd{ zrFkruO9{KKE8)lEA>r|OEa5E6By8KZgb#;<*7c68fe#QcbOLPM6FQC~;oI$2iYJpv zDbDj8CjbP107EoD2vPaYYPFK^<#H)~pZk6OzVG{AuYri#6Tza9BuTCRO{Y_s00=Ni z15|7)3`4C841%Dxed7dx01(i;8@%7|TIWmC6ej=#fPfBZz-XkGQ(hCq2><~gz-$fh zJWs;s^ZBRwRPukE01#l12^5VcDm#r3pkj}U#X`corpNCJlO(Z-$Pz+WL{wQL)Lj#7 z+yp*tKzE_TSOVJGXsa5~wyV=dfXdg4qNsFp{H~Ap2k`y@o?D|w-v-eiP$Xo7i36Ykeb)eP!>7~fr}^gddG{kh^al*R9-x#DY&Wl%nRa{X zECD>9S9XnWn-<%Rcw*jH2onGSAfP=BP$^u*aV+7gKEZF}ica*NADatoM%NhZ*n>+w2cHk*|`=jkpd>w3L* wyB@&r`uIHo?-$_DxuzVCM`!>D00H{OAKulftX)u<`2YX_07*qoM6N<$g6lB{@&Et; literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_4l.png b/trafficlight/textures/streets_pl_number_4l.png new file mode 100644 index 0000000000000000000000000000000000000000..91d1ff4c62bbe3f9a4744af6eedd88bf430ee194 GIT binary patch literal 614 zcmV-s0-61ZP)Kp(70rN>j zK~#9!?V8(;fG+gkH@3Y=N+h?8vyhjfMfcGqtS@@Ns<)$ zVG2nw&4d0$>XpU>ZZ1|n)s1oJG4qL02eolX$~ z0AP~_REe$4W@GdL7mLNm@r@M#002;b8oXYwM(-ELF;)No06>d0U@$PtRQ3e10ssI2 z?ACzUY{vY{Euc{o^b*WVV@(l9<(10ERNYj*k z9{KV@0}ujjtOGi8JpPF-mrE+!?iRrc z!?0ZdWX#I5K6y?c=LO{drKX%tCujfw0Dw8W1GCYuXmQu6`~Uy|07*qoM6N<$f@~ literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_4r.png b/trafficlight/textures/streets_pl_number_4r.png new file mode 100644 index 0000000000000000000000000000000000000000..5468b00484aa771a6a3c0029579a4b47757b3aa0 GIT binary patch literal 620 zcmV-y0+aoTP)603QGV0r^Qp zK~#9!?OI#1f-npvh>y`xaR&9neYhAG$YNNDzd9oiQRCOW*Jco^_Ck@(M9qm{(MZ$ut^bWiBe(zv zut@`Sd~3B@8C~FXI(^%}VF4fj1k@h}^E@{?UzTOC01yBITBHH4YnD@46NCkT01#le z28_pJ1)ol*kLJ_K|6u_jz#eH-g><*-JHDZll=j*e?aCIs0rd600Qh5L0Q9- z{Q}JV8}lDE;^((c^am6PS!d1x(135(0O`ZW`PlD(V=z2XsD<9Zx{~|&d zwU+>y&uea;DU7HH%f3Rm00;m9&1ry6;bODdD7dOm@YQogEBgd17aT^!yDdNBPK80< zZJlRP02*ME1?c$Ja=HB1a|LRGaDgurK?)<83$!;1$hiFq38r!jxPWag@HN-t?~K`O zR{C6~yOOLVN!ncxkavCZoGx0{4b)0FV_dX=zcSrR@R4ob(nFfKEF!E#WN7DzW1@ zmAEJhtN;)I0!E?%LWtUDcDtQ~lO(Bpp4NT(yytlzkAX2ZoCuZ$=e*VLR;v|K00fLl z1DfR4e!o{bK;QRU=QmaW2mk^7m%%*GmA)@cQ>*|G00JhY0gHuNPN^q|6#xQ2z_>NQ zbzKRc&*x6>YjXa_3IG8kN`bQI!`bPDfF}94-EJjJJw19?$T>F{V}=mIV2sszgsMHk z-c#V+1XLRxqa|Rdi4Lj(Lzg;b1T^{gqA04I9KGwK{Q&+Z)Wf6w z0z!yq&41O1$7fpf2b2k!Hv0f*z}z)}=J4rs>a@$*Y&L9C1e68(19bNTo+a@6>reH6 ze&RzRjd*Um;Qe1b~3yG@yxb5y!EF>-q#g-B(PqPw=7oT2z5L61r9eXuyyw zph<3pVfe563V4D@0h|S<bQhk%BLmOD-Od z$GQ0Ncwh&B01#k_21qFj-&wEM3O*i>x$pD1&)=WV=cVUBM9qodC(E*|(*LH@DO>;q z*rWkEzO~(MjZSc}SXB0J>;Mn|0_qQg*Xz~jc<1vOI{*ZLfEH=MU|^P0UK7L)00AJt zZVi~tW(rQz^sDi7@_+0A5MYrDe6l(!JGBs? zYl5}Az+Ve6UFfiufTkAOs0K70>WmSf^Ywh+&s`k9>*M_aynle_7N`m08~_6B7C~Oa z8lY3S2!cStMSX&0&lRog6D*u?7*S`U zK*bO!SQLzGNI5^ZUGmt%>_DhJzm9J z*Uf#-(_K#1>2zv$J%Hc!@p}T^FTkI3O*tG6&;Sqs0?gSHTC1(BQftx000000NkvXX Hu0mjfrfL<_ literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_6l.png b/trafficlight/textures/streets_pl_number_6l.png new file mode 100644 index 0000000000000000000000000000000000000000..92f64be5b9866ed22d99f21ad499a37f2a10b33b GIT binary patch literal 608 zcmV-m0-ybfP);Mn|0%oECob%2x$Kz4JX_~fc z8qg=Uf*_E(z{BA%IKHt1KmZ6BKMh{5SE=(AMS&dv0zklmG(gwoa!PB0*a08_1k76l zY}*#_<#KszzCQPV>;MojqY!AaF)BNw5YQ(cJF$TMB%3dT3UF z228mF`oz}hbo$qG1!{r_frW~oGFgD;ZAyZyy9GjENg=SB=kX!tI1YQ|x=YE*vTWJ) u0Q%NP-w9~H0R5h7N|Ged01yBIbQhk%FTrD#YXQ zxDaPqh8+L`K!7D0Af+sQXT4r4_;$M$zR%-6f8TZ8kLN%{&52;1g<)9ff79s{E&u{- z(f}Rb+H5vPC+K-zW&g$w00AJN{xBHFvC;7!j|X-D2mk>s(tyFhET_CCh#dd|K!DvE zFq_R3e7#=38c!$x#|{7i7P&y4)lu20g#aCYTrQUi<~2QjR~Uw&AR-~96hu^7BQ#wT ztlb6vT7c<7hqVMWwa`X2py^O&i~yalx7}_F7sv1Vcz*!zAKDuQM|R zM`|qrJfGKH{QIKiVJ|2+3L$>?6~YBT00?MK19S=(yWLK~WqpF5o-10}Cs;b+;7FZ` z0#!pGivqGP5}*O!rm@_7-~ZQh1!{tDfewmbr=kFl+n0qjXc zK~#9!?V3%Jf-n$;2|r3;M1&fDvhcX{u#PYl7GT0001b zYk=o@f_*xj-g=)*{*N6102;YK+vuaR(+dC@fAoD{uxU+?-W8T*X)wkN&bh%Ddsrh> zT@&ox1^!!r>OzOM0ESxVpc*iAs8a?&=HH8=sB>}ju8;Ny(Eb6MTc9S0a{vJ7ErPU$ zNBadh=eL-DuMxkW&7wb`O~__*4uA$sT?42OXIb{vDQCOgvQYtO8|V+1dp+P50*{A3 z)&KgQCIFhx3!(0A(foLjf5PbApftny(U?Kn}n+wpm{mI+{E-;pKcrw@HuZ+!R!=6cZDXgL>#$6Af tcYXApfc6W}@2RGwX$lPh002-oegFghoHIed%$)!L002ovPDHLkV1m$z1bhGh literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_7r.png b/trafficlight/textures/streets_pl_number_7r.png new file mode 100644 index 0000000000000000000000000000000000000000..444ce49e8d92175883a8a605fb3710e51ab45f89 GIT binary patch literal 620 zcmV-y0+aoTP)*>_C&B~L{U`hfAjeqE&u{- z(f}Rb+U<5m7wCCjZU2S^fB+ECd>BlU#OQp_=MxqH0zg2AG+;C`%PFr3!U8}52(ViN z7K?>~Z@1f5^XZ)bVF4h(A{QtcO;mOoAwb6;*Xy-{c}oS%8jj`M&?Jc?D{MaDg6*V6UP8kK3P+VCrlE7qHC*dUHKqXDpY? z(&zlR%gK5?9^I}7@Vh>KPr&;H_;ao)m&*kj00KaOx$y%~RjaH+tpel#0000G^&h#Xc zVTNSe?RElQuh#;;-EIP2E|&tnUatZ+O;f;e97|pA!qD76fbImCvM01GOTc-aH{#W5 z)riZoga?2C5TJ+#aL(V3+3)uPKAldD<7wWf<6YP7yavYDcp_M5S(f$soo(9)0T7^) z2DFK-Fbt(GaI@L;j&FDX2mk@Yr@^8qq|SG_T;Ks900c}(0~QOpoYI;gJOBiM0JSy1 zaU21sY5LK8ZSMc@01%*12-MjSm7PHdXcLdy?N-3Frbpijvn(?hV+QBkV2r)35z4L! z4juxpHXysup)3JoZFE!(7(3NTBcRQ{cQ_mxH%H(4Xnz3hAE0*&)C6%300C-?Ag$ri zegV$;Gv`+|;_;al{Q-4Crp-A38ZdVapfP+r9zQze_`c63ML?aQKS1|-z%vDYfBmWc z&+j}5p!fOe=Bt~g_?6MVLWBSa00HA^K%2rv6h#7l*C*KZTrtT$!H4Q=kp-GkV4o}i z4N%Dg+Qe261pj)jKur)KFi{cICJWHKO-Yb-w?GI?DFkNoJl@AV&tqM#yOgZ+`8@4< u0DbGD?*z18fPPOkB}o!!00;m9^6U;K*{Q1j{}!770000_nkrFBCZaJAzGnm^m|@ z4q2MVYPFK^bUKyr?RJy!WHOQP^?H@C<2VvN91dF7Yg;29AYkkSIJzfvU01^A^SKgx zo>z&>vV;YI01#k^1_&W)-&wEM5>C^!@_ion`TO(v{NptcQFkKvYUFv|=zp`>3@!iy zOws@q--@D0>jD>xMPvVl1%Ln$(0&-aTrOJYD~bXZ00KZjk2Jux^>WH{udEMx5&ZxF002ovPDHLkV1mnB|8W2S literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_9l.png b/trafficlight/textures/streets_pl_number_9l.png new file mode 100644 index 0000000000000000000000000000000000000000..4830e0fb7628bcce79184a00147528685b61e7d4 GIT binary patch literal 605 zcmV-j0;2tiP)+JqUuYPHfN!^3BQ{O5 z5#R53tN;)I0u<2z&Ux!IzV8b-j^oDXY2ByK+qT_%42-eqM6fE7BpLL(&1QoX00Am# zK$qM)91cc{Kg6Z0U%)fGMHtV)c2)niWL9?K){SNV6~FVDfI-g0zd!=P+J4G z+pU13D0=ICUC#el0U$u36sU?ZoSjh!=#r1S-A=&N)1!BVNs?%cF^zMsF~(XwLfM|+ z=qXS)0og`}vII;u(MdI6>QX0-fG+>u@px>U9KGwK{QfzCT z0nYiW=9e|%`Pm}+1FD2reH6 zem|1{dY&&&zC3A)>w@+bA_YJI2$)U-x)>Ly(@DT>eS&@W6|?LUe5(E;sz4hFeX9U8 zK&2JXCAWeg_}6^}JVB%Y&I0rD1L~^4yJriez?@RxW3I=CgzLJj&vBQMb-iBa?FZ1i rK6+0;`vvItR8zt*ga&{B5Fjrebr7bi47NqT00000NkvXXu0mjfDf|cb literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_9r.png b/trafficlight/textures/streets_pl_number_9r.png new file mode 100644 index 0000000000000000000000000000000000000000..dabea2acbc1c149f3ed31a29d87641a4183486e2 GIT binary patch literal 613 zcmV-r0-F7aP)&Vr2PN@0rE*i zK~#9!?OI!|f-n$e6wp9KOjJJH$6d@_po?)O{9+;xU-j!6J3*+}3k6R9j$qRsI%ggo zvNVs?Y9-;>Y$oB`?Iz*rbSmNN^(tZ8wj~_LvDWoYtdS28Fm?iL-4i;FBjNM;T!~%R zt;F~H9VY+;fB-`@KnPL$&U(F;aGIu-?{mM;-}in0<24XbcOqCe@;qJgG``ov{Bh1BR{v+=h?G<5%-7m&^V~g6Izzdp$rYANc)w#>})o zP;Uv~`Mm1pUpM`Vd0!z+00e-5?leH9aIxF%BwW`g_-S0x%Ra%{1@8|u7%$M!1zPXC z05rg)6QE*So6Y85;|kOSVFCjbLE0aNlM8Ua{fR5om0Q3BOf!MOT#q*yK@e0v=jkpd zE6cKe*8})nAHOHy{Q~?s*OVklpaCEN1n3(N*Tk-@LxY4X00000NkvXXu0mjfnD7Rp literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_pl_number_template.png b/trafficlight/textures/streets_pl_number_template.png new file mode 100644 index 0000000000000000000000000000000000000000..41ae2f179963aa75eaa0bd13a850501c570cf578 GIT binary patch literal 669 zcmV;O0%HA%P)R5l{EkW0xC&F zK~#9!?ORK(!Y~X>pwNhlPZ6I5_uw!b@EzuzgiRNKfb#WQ!K_;R^0+-x=(KA+DFd!EPea=ElR-iE5Vfq=Rb;Mwl5)oL+(JRUP~ zyWP&j*XtE400e*lM>K$lp1w00jTqkTcA4+XeP6yG1i{N=&{~%#f@v1V@mt?B#=r$Y zfJ+*X$G0YviPZsiyWO|_8!G?=fPmt+!PDtvwZFsRfE54&KtP2wpwY0)smuvt1%Ln$ z;I;;IIvs|$+wDjFG1myYkrqgNWBH;w`lBeP-|y>65s+r652$-S;JyVe z=Krey^P9V^QZ^h8*<*|$r4-R(PD-i!lf;kOj4>33p-Mh*0T2KJ$`ipniHq56#_+Q` z!B^voO4bS9l>L#?XSIFJHb{#(n^+QOwLt@1S^;@{YdjuX9iY4?Ku!=YU|F1PcPL$8 zv)Rz?H2CUSz!;-~AYfyRqR4FmWE>Dh5q)wT_I;m?akW~(1u7Q@e9iUvJJ##y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jKw`7cn~BF%UQa00IL^L_t(|+U;7wvVt%Sq=?GkC_1BX;Q#+kjyj{DsP*I^oh6n%v0KgCqkWzlUXT4r4{_%LMy`R>7djD)T`}!S( z5bXfa)XK7K^uI6+kpj*GkmtFV=eZpmpp#oklCZwud_HfS-^Or2ouz5&Rwt+%_ND;g z_p$giP5&*pFMl3jkASMG8l}NI08Xcqn^oY|g8QflopZpuTptVvm{b8;i2&c{#guA- z&UJ!y1n6uEJW3(<0tQ3@dxAw#r1*!!;is>!v;Vg$0#F7GvrZbJE|i^40MN2npd(ylS*G}(<^;d(E3DT9kpcj~Vh+&B zt<7fBYEWMRO%N#n0PNBOOxs%^0@{v%SLV#|coSPJ7GG_5DOg2O*sTZ9vp#xGK<5SM lb;>Eb-3}Z80001=-2s64x0xY#rS<>-002ovPDHLkV1hn+5NQAa delta 597 zcmV-b0;>J?1oQ-uDt{3G5daa>m+bfe000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jB$?6c;wE+r*Us00IF?L_t(|+U;7)vVt%Sr3lL42r{Fv;Q#+kmO3L373<17Hdhd( z&_Yjk5iIR#a?+$>mSl;dh`;Kq)k=6?*R`N877IbY-EM;JIDd|y9}Wj5bH27^xBvjt z0dQmw=(?_;UoMwceYsq=>i7E{761SMfF>NkIsf?1ZnqQkJkML-r*WUYzh1Auo&#fS z7yy2ivMhi4pXYgS0RW&A2XyhRIF6-GaI@L`?BB2e0002S4};h1RqA+ERlx!P005W} z2iUe;OleIJ7JmQ$0D#^c;QPLypU>xB<8{gZVF3U@BNuolV^nrV0icUNZns-Or!_r# zS6G&%#Tc_V=N4n^V~tRDO>lGfbn4v04S6P?U=Wj4oZt-00000NkvXXu0mjfvU>@0 diff --git a/trafficlight/textures/streets_rrfb_inv.png b/trafficlight/textures/streets_rrfb_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..89779268bc275766cd1444d85009550a7d5253f7 GIT binary patch literal 3066 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 IM6N<$g4;UI@Bjb+ literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_rrfb_off.png b/trafficlight/textures/streets_rrfb_off.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1ba1abdce6d3dee95d0abaa6290141625ca9fa GIT binary patch literal 627 zcmV-(0*w8MP)| zb4En4)>2AgT~|be7$X2VXKJm?^Gs_EfYutu7>u6aZ?i#2Cpr<5U$@C4|7&*B57r z2&&p2JRXnU3n4JiGyA?{VvHTy-)gOqbLMin;GBEul~Q;-9xTg(JGY(chY%>GP)fl$ z$GWb3e0+3jDJ6_C48uSO0f{lTbMiQjq?A~erK_*1wALu4aKGRA{QRWW$}~;?sork4 zR!Sk~j4_5%3f_Bi&fPNaeb?hWd+*t{4QGrYgh0-jQVR1tBO)Bf0l?ea8{gmGFB*sl z&*u|W#ht#22*wzIo=Tu^K6$5-{AmZ?FaB#`1P@Q5sCVBi)8VMc~ob0mO* z>?NMQuIvvPMH!7bHb`c#2MWn%hD4M&=jZ08=9K`s3=Gaisfi`2DGKG8B^e6tp1uJo zda3LT3`_-{E{-7?_ufwT?YnKj)9M*GNm+9yi$|K_^Ni_xYcF0lIh*vRGxcww*c>+3 z>8!gl9M|(iKT~$CtuT@6cUL-P$;=>lRN{Fh8$)*P`?)haPees~&0MzfyPxLLsMpD^ znyiAsUe}@+7#gMs37)i7l2VdNep9wPbC!T0!wk!o58u9pd40U6{K)3K%a+{R5{K8k z_HsG1CwF!+AH%XtAzvk@BiE!DzT8Xh*&1ejOd`2Opsr?j=evK#eTFF)zgA6cS8SPb zY1cZnV;YM-d`@~6_4;8!#S}({wOe0*-F5%{+9^&hFN1j$w_FpLy|rxK^UptZJo9d+ z^%S0K74UHCGhCK=%JR6x-tT8}dQMtS4~mP6o0htAtJU*uxr;BqOzBBXW0-KI_}tp9 zhHYEL1gEDuy4*Y#)Ma|CMIdYK+O1QBl%@qSJb3x?<=3xY1DTbc%{eZiqN=2%)V1P; z#d9ysV-oLc-`DmucAW7!fBwAC)DD$xOTK$-`o8b>+o{r-p00prM dLmY7Iuyy)WEe7e7HTyt`($m$?Wt~$(69CnuSgZg5 literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_tl_straight_green.png b/trafficlight/textures/streets_tl_straight_green.png new file mode 100644 index 0000000000000000000000000000000000000000..afbd506928c984cde1b24c86c8b50ff7f0f115be GIT binary patch literal 938 zcmV;b16BNqP)M#&Jc@Xk&Ayk2%F0E_0cQLoi>jo+Ws7+$R!`SzO($)h_(keijdL%2F z7(#sT9M2rvLc=y1jnqfK-|uVvyWLLn9mmmpA%y0;uB-V^Pfu2p?`z|in*rdr1K>9O zz+SJX`J2tA)b~8E)R$748DIb~0G!Xhw5BShDnFAXiK^m=-EN00%dlRr-|mHB2*+_M z^MKiGR{74BRexCSr4g4>VzF3g3DIV=fe-@2;jsH5kmvbPHh2K0D2na_uv)D??W0R% z>+*m)u{D`YN^}3RbzMpc-}kk9K@fa9zFRp1Y}@`;UuQyqW_o3nVVnjoB(@=bV@7 z3A7e4Gr#~~0BAP{gke}({7|2A295bT8ibhv1^@%VWjLTtJjQWc8q+s7H&9A}bB;XE zArpx(58?YhEXz7lh3MX4op<<(W^nNtpp?RVK1Z6Skck8yfF)ZZP1CazUMm17iefK) zO#nOq__x1`TX7Xh>?)$DHh8>)kcWA@0kABqviZKRHOFzZCT_+1;2#0}eZ9VdaH_WW z*y_APtMveP;X?co#~qJ=d+!2K$3q~BB4CPr`)JeSEV7dT1VM081?u&BR}n=U4}rse z-)Hr`QVOHd2%K|p?6rW1NAL$elu{QzA7C~8z&MUo8345Sp&KWZ#3%ss`P>|mG61xh z185A>^p@%YbnlO5gXfmbO$ZnO3H+lJpOg}D9D{R?)oKN$6oMdt=Xnr99Muw4wMFXy zs7t1dF)+rivK?kpVFSPg^#Ce+Qv#&KNBb$Kyu7@a8DIb~05oU+0jOt4?>3^;TL1t6 M07*qoM6N<$f_mkqCIA2c literal 0 HcmV?d00001 diff --git a/trafficlight/textures/streets_trafficlight_inv_greenarrow.png b/trafficlight/textures/streets_trafficlight_inv_greenarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..530a9b95adaf7be0f5567d92ff76131ec117909e GIT binary patch literal 2753 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 Hu0mjfQDhjE literal 0 HcmV?d00001 diff --git a/unifiedbricks/init.lua b/unifiedbricks/init.lua index 6ece9f38..369126ae 100644 --- a/unifiedbricks/init.lua +++ b/unifiedbricks/init.lua @@ -7,26 +7,15 @@ --Obviously, offers the same colors in unifieddyes. --Thanks go to VanessaE for making unifieddyes, gentextures.sh, etc. +unifiedbricks = {} +unifiedbricks.old_static_list = {} +unifiedbricks.old_static_list_formals = {} + minetest.register_alias("unifieddyes:white","unifieddyes:white_paint") minetest.register_alias("unifieddyes:lightgrey","unifieddyes:lightgrey_paint") minetest.register_alias("unifieddyes:grey","unifieddyes:grey_paint") minetest.register_alias("unifieddyes:darkgrey","unifieddyes:darkgrey_paint") ---1 indicates yes, 0 indicates no ---default:clay_lump + unifieddyes:color = unifiedbricks:color -SETTING_allow_default_coloring = 1 ---red, orange, yellow, lime, green, aqua, cyan, skyblue, blue, violet, magenta, ---redviolet, black, darkgrey, mediumgrey, lightgrey, white, respectively (by default) -SETTING_allow_hues = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} ---clayblock, clay, brick, singlecolor brickblock, multicolor brickblock, respectively (by default) -SETTING_allow_types = {1,1,1,1,1} ---half saturation, full saturation, respectively (by default) -SETTING_allow_saturation = {1,1} ---dark, medium, bright, light, respectively (by default) -SETTING_allow_darkness = {1,1,1,1} ---dark, medium, bright, respectively (by default) -SETTING_allow_multicolor = {1,1,1} - HUES = { "red", "orange", @@ -101,744 +90,137 @@ FORMALDARKNESS = { "Light " } -register_clay_block = function(name,formalname) - minetest.register_node("unifiedbricks:" .. TYPES[1] .. name, { - description = formalname .. FORMALTYPES[1], - tiles = {"unifiedbricks_" .. TYPES[1] .. name .. ".png"}, - is_ground_content = true, - groups = {crumbly=3, not_in_creative_inventory=1}, - drop = "unifiedbricks:" .. TYPES[2] .. name .. " 4", +-- param2-coloring-enabled nodes + +minetest.register_node("unifiedbricks:brickblock", { + description = "Brick Block", + tiles = { + "unifiedbricks_brickblock.png", + { name = "unifiedbricks_mortar.png", color = 0xffffffff }, + }, + drawtype = "mesh", + mesh = "unifiedbricks_brick_block.obj", + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + is_ground_content = true, + groups = {cracky=3, not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "unifiedbricks:brickblock") + end, + drop = "default:brick" +}) + +minetest.override_item("default:brick", { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "unifiedbricks:brickblock") + end +}) + +minetest.register_node("unifiedbricks:clayblock", { + description = "Clay Block", + tiles = { + "unifiedbricks_clayblock.png", + }, + paramtype = "light", + paramtype2 = "color", + palette = "unifieddyes_palette.png", + is_ground_content = true, + groups = {crumbly=3, not_in_creative_inventory=1}, sounds = default.node_sound_dirt_defaults({ footstep = "", }), - }) + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "unifiedbricks:clayblock") + end, + drop = "default:clay" +}) + +minetest.override_item("default:clay", { + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "unifiedbricks:clayblock") + end +}) + + +-- static nodes + +unifiedbricks.register_old_static_block = function(name, formalname, blocktype) + table.insert(unifiedbricks.old_static_list, "unifiedbricks:"..blocktype.."_"..name) + table.insert(unifiedbricks.old_static_list_formals, formalname) end -register_clay_lump = function(name,formalname) - minetest.register_craftitem("unifiedbricks:" .. TYPES[2] .. name, { - description = formalname .. FORMALTYPES[2], - inventory_image = "unifiedbricks_" .. TYPES[2] .. name .. ".png", - groups = {not_in_creative_inventory=1} - }) -end -register_brick = function(name,formalname) - minetest.register_craftitem("unifiedbricks:" .. TYPES[3] .. name, { - description = formalname .. FORMALTYPES[3], - inventory_image = "unifiedbricks_" .. TYPES[3] .. name .. ".png", - groups = {not_in_creative_inventory=1} - }) -end -register_brick_block = function(name,formalname) - minetest.register_node("unifiedbricks:" .. TYPES[4] .. name, { - description = formalname .. FORMALTYPES[4], - tiles = {"unifiedbricks_" .. TYPES[4] .. name .. ".png"}, - is_ground_content = true, - groups = {cracky=3, not_in_creative_inventory=1}, - drop = "unifiedbricks:" .. TYPES[3] .. name .." 4", - sounds = default.node_sound_stone_defaults(), - }) -end -register_multicolor = function(name,formalname,drop_one,drop_two,drop_three) + +unifiedbricks.register_multicolor = function(name, formalname, drop_one, drop_two, drop_three) minetest.register_node("unifiedbricks:" .. TYPES[5] .. name, { description = formalname .. FORMALTYPES[5], tiles = {"unifiedbricks_" .. TYPES[5] .. name .. ".png"}, is_ground_content = true, - groups = {cracky=3, not_in_creative_inventory=1}, - drop = {max_items = 4, - items={ - {items={"unifiedbricks:" .. TYPES[3] .. drop_one .." 2"}}, - {items={"unifiedbricks:" .. TYPES[3] .. drop_two}}, - {items={"unifiedbricks:" .. TYPES[3] .. drop_three}} - }}, + groups = {cracky=3}, + drop = { + max_items = 4, + items = { + items = { + { "default:brick", + "unifieddyes:"..drop_one, + "unifieddyes:"..drop_two, + "unifieddyes:"..drop_three, + rarity = 1 } + } + } + }, sounds = default.node_sound_stone_defaults(), }) end -register_clay_craft_default = function(color) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color, - recipe = { - "default:clay_lump", - "unifieddyes:" .. color, - }, - replacements = { { "unifieddyes:"..color, "vessels:glass_bottle"} } - }) -end - -register_clay_craft_bucketlast = function(color_combo,color_one,color_two) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - }, - replacements = { { "unifieddyes:" .. color_one, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - }, - replacements = { { "unifieddyes:"..color_two, "bucket:bucket_empty"} } - }) -end -register_clay_craft_vessellast = function(color_combo,color_one,color_two) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - }, - replacements = { { "unifieddyes:" .. color_one, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - }, - replacements = { { "unifieddyes:"..color_two, "vessels:glass_bottle"} } - }) -end -register_clay_craft_three = function(color_combo,color_one,color_two,color_three) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) -end -register_clay_craft_three_reducedfat_blackfirst = function(color_combo,color_one,color_two,color_three) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"} } - }) -end -register_clay_craft_three_reducedfat_whitefirst = function(color_combo,color_one,color_two,color_three) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"} } - }) -end -register_clay_craft_four_reducedfat_blackfirst = function(color_combo,color_one,color_two,color_three,color_four) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 4", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "vessels:glass_bottle"},{ "unifieddyes:"..color_two, "vessels:glass_bottle"},{ "unifieddyes:"..color_three, "bucket:bucket_empty"},{ "unifieddyes:"..color_four, "vessels:glass_bottle"} } - }) -end -register_clay_craft_four_reducedfat_whitefirst = function(color_combo,color_one,color_two,color_three,color_four) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 4", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 3", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 2", - recipe = { - "unifiedbricks:clay_" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifiedbricks:clay_" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifiedbricks:clay_" .. color_two, - "unifieddyes:" .. color_three, - "unifieddyes:" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) - minetest.register_craft( { - type = "shapeless", - output = "unifiedbricks:clay_" .. color_combo .. " 1", - recipe = { - "unifieddyes:" .. color_one, - "unifieddyes:" .. color_two, - "unifieddyes:" .. color_three, - "unifiedbricks:clay_" .. color_four, - }, - replacements = { { "unifieddyes:"..color_one, "bucket:bucket_empty"},{ "unifieddyes:"..color_two, "bucket:bucket_empty"},{ "unifieddyes:"..color_three, "vessels:glass_bottle"},{ "unifieddyes:"..color_four, "bucket:bucket_empty"} } - }) -end - -register_clay_block_craft = function(color) - minetest.register_craft({ - output = "unifiedbricks:" .. TYPES[1] .. color, - recipe = { - {"unifiedbricks:" .. TYPES[2] .. color, "unifiedbricks:" .. TYPES[2] .. color}, - {"unifiedbricks:" .. TYPES[2] .. color, "unifiedbricks:" .. TYPES[2] .. color}, - } - }) -end -register_brick_cooking = function(color) - minetest.register_craft({ - type = "cooking", - output = "unifiedbricks:" .. TYPES[3] .. color, - recipe = "unifiedbricks:" .. TYPES[2] .. color, - }) -end -register_brick_block_craft = function(color) - minetest.register_craft({ - output = "unifiedbricks:" .. TYPES[4] .. color, - recipe = { - {"unifiedbricks:" .. TYPES[3] .. color, "unifiedbricks:" .. TYPES[3] .. color}, - {"unifiedbricks:" .. TYPES[3] .. color, "unifiedbricks:" .. TYPES[3] .. color}, - } - }) -end -register_multicolor_craft = function(name,drop_one,drop_two,drop_three) +unifiedbricks.register_multicolor_craft = function(name, dye_one, dye_two, dye_three) minetest.register_craft( { type = "shapeless", output = "unifiedbricks:multicolor_" .. name, recipe = { - "unifiedbricks:".. TYPES[3] .. drop_one, - "unifiedbricks:".. TYPES[3] .. drop_one, - "unifiedbricks:".. TYPES[3] .. drop_two, - "unifiedbricks:".. TYPES[3] .. drop_three, + "default:brick", + "unifieddyes:"..dye_one, + "unifieddyes:"..dye_two, + "unifieddyes:"..dye_three }, }) end ---REGISTERS ALL NODES AND CRAFTITEMS EXCEPT MULTICOLOR BRICK BLOCKS +--REGISTERS ALL STATIC NODES EXCEPT MULTICOLOR BRICK BLOCKS for i = 1,17 do - if SETTING_allow_hues[i] == 1 then - for j = 1,4 do - if SETTING_allow_types[j] == 1 then - if i > 12 then - formalname = FORMALHUES[i] - name = HUES[i] - if j == 1 then register_clay_block(name,formalname) - elseif j == 2 then register_clay_lump(name,formalname) - elseif j == 3 then register_brick(name,formalname) - else register_brick_block(name,formalname) end + for j = 1,4 do + if i > 12 then + formalname = FORMALHUES[i] + name = HUES[i] + if j == 1 then + unifiedbricks.register_old_static_block(name, formalname, "clayblock") + elseif j == 4 then + unifiedbricks.register_old_static_block(name, formalname, "brickblock") + end + else + for k = 1,4 do + if k == 4 then + formalname = FORMALDARKNESS[k] .. FORMALHUES[i] + name = DARKNESS[k] .. HUES[i] + if j == 1 then + unifiedbricks.register_old_static_block(name, formalname, "clayblock") + elseif j == 4 then + unifiedbricks.register_old_static_block(name, formalname, "brickblock") + end else - for k = 1,4 do - if SETTING_allow_darkness[k] == 1 then - if k == 4 then - formalname = FORMALDARKNESS[k] .. FORMALHUES[i] - name = DARKNESS[k] .. HUES[i] - if j == 1 then register_clay_block(name,formalname) - elseif j == 2 then register_clay_lump(name,formalname) - elseif j == 3 then register_brick(name,formalname) - else register_brick_block(name,formalname) end - else - for l = 1,2 do - if SETTING_allow_saturation[l] == 1 then - formalname = FORMALDARKNESS[k] .. FORMALHUES[i] .. FORMALSATURATION[l] - name = DARKNESS[k] .. HUES[i] .. SATURATION[l] - if j == 1 then register_clay_block(name,formalname) - elseif j == 2 then register_clay_lump(name,formalname) - elseif j == 3 then register_brick(name,formalname) - else register_brick_block(name,formalname) end - end - end - end - end - end - end - end - end - end -end - ---REGISTERS ALL CLAY BLOCK CRAFTING RECIPES -if SETTING_allow_types[1] + SETTING_allow_types[2] == 2 then - for i = 1,17 do - if SETTING_allow_hues[i] == 1 then - if i > 12 then - register_clay_block_craft(HUES[i]) - else - for k = 1,4 do - if SETTING_allow_darkness[k] == 1 then - if k == 4 then - register_clay_block_craft(DARKNESS[k] .. HUES[i]) - else - for l = 1,2 do - if SETTING_allow_saturation[l] == 1 then - register_clay_block_craft(DARKNESS[k] .. HUES[i] .. SATURATION[l]) - end - end - end - end - end - end - end - end -end - ---REGISTERS ALL CLAY LUMP CRAFTING RECIPES -if SETTING_allow_types[2] == 1 then - if SETTING_allow_saturation[2] + SETTING_allow_darkness[3] == 2 then - if SETTING_allow_hues[2] == 1 then register_clay_craft_vessellast("orange","yellow","red") end - if SETTING_allow_hues[4] == 1 then register_clay_craft_vessellast("lime","green","yellow") end - if SETTING_allow_hues[5] == 1 then register_clay_craft_vessellast("green","blue","yellow") end - if SETTING_allow_hues[6] == 1 then register_clay_craft_vessellast("aqua","green","cyan") end - if SETTING_allow_hues[7] == 1 then register_clay_craft_vessellast("cyan","blue","green") end - if SETTING_allow_hues[8] == 1 then register_clay_craft_vessellast("skyblue","cyan","blue") end - if SETTING_allow_hues[10] == 1 then register_clay_craft_vessellast("violet","magenta","blue") end - if SETTING_allow_hues[11] == 1 then register_clay_craft_vessellast("magenta","blue","red") end - if SETTING_allow_hues[12] == 1 then register_clay_craft_vessellast("redviolet","magenta","red") end - - if SETTING_allow_hues[14] == 1 then register_clay_craft_three_reducedfat_blackfirst("darkgrey","black","black","white") end - if SETTING_allow_hues[15] == 1 then register_clay_craft_bucketlast("grey","black","white") end - if SETTING_allow_hues[16] == 1 then register_clay_craft_three_reducedfat_whitefirst("lightgrey","white","white","black") end - - if SETTING_allow_default_coloring == 1 then - for i = 13,17 do - if SETTING_allow_hues[i] == 1 then register_clay_craft_default(HUES[i]) end - end - end - end - - for i = 1,12 do - if SETTING_allow_hues[i] == 1 then - if SETTING_allow_darkness[1] + SETTING_allow_saturation[1] == 2 then --dark s50 - register_clay_craft_bucketlast(DARKNESS[1] .. HUES[i] .. SATURATION[1],HUES[i],"darkgrey") - register_clay_craft_four_reducedfat_blackfirst(DARKNESS[1] .. HUES[i] .. SATURATION[1],"black","black","white",HUES[i]) - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[1] .. HUES[i] .. SATURATION[1]) end end - if SETTING_allow_darkness[1] + SETTING_allow_saturation[2] == 2 then --dark - register_clay_craft_three_reducedfat_blackfirst(DARKNESS[1] .. HUES[i] .. SATURATION[2],"black","black",HUES[i]) - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[1] .. HUES[i] .. SATURATION[2]) end end - if SETTING_allow_darkness[2] + SETTING_allow_saturation[1] == 2 then --medium s50 - register_clay_craft_bucketlast(DARKNESS[2] .. HUES[i] .. SATURATION[1],HUES[i],"grey") - register_clay_craft_three(DARKNESS[2] .. HUES[i] .. SATURATION[1],HUES[i],"black","white") - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[2] .. HUES[i] .. SATURATION[1]) end end - if SETTING_allow_darkness[2] + SETTING_allow_saturation[2] == 2 then --medium - register_clay_craft_vessellast(DARKNESS[2] .. HUES[i] .. SATURATION[2],HUES[i],"black") - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[2] .. HUES[i] .. SATURATION[2]) end end - if SETTING_allow_darkness[3] + SETTING_allow_saturation[1] == 2 then --bright s50 - register_clay_craft_bucketlast(DARKNESS[3] .. HUES[i] .. SATURATION[1],HUES[i],"lightgrey") - register_clay_craft_four_reducedfat_whitefirst(DARKNESS[3] .. HUES[i] .. SATURATION[1],"white","white","black",HUES[i]) - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[3] .. HUES[i] .. SATURATION[1]) end end - if SETTING_allow_darkness[3] + SETTING_allow_saturation[2] == 2 then --bright - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[3] .. HUES[i] .. SATURATION[2]) end end - if SETTING_allow_darkness[4] + SETTING_allow_saturation[2] == 2 then --light - register_clay_craft_bucketlast(DARKNESS[4] .. HUES[i] .. SATURATION[2],HUES[i],"white") - if SETTING_allow_default_coloring == 1 then register_clay_craft_default(DARKNESS[4] .. HUES[i] .. SATURATION[2]) end end - end - end -end - ---REGISTERS ALL BRICK COOKING RECIPES -if SETTING_allow_types[2] + SETTING_allow_types[3] == 2 then - for i = 1,17 do - if SETTING_allow_hues[i] == 1 then - if i > 12 then - register_brick_cooking(HUES[i]) - else - for k = 1,4 do - if SETTING_allow_darkness[k] == 1 then - if k == 4 then - register_brick_cooking(DARKNESS[k] .. HUES[i]) - else - for l = 1,2 do - if SETTING_allow_saturation[l] == 1 then - register_brick_cooking(DARKNESS[k] .. HUES[i] .. SATURATION[l]) - end - end - end - end - end - end - end - end -end - ---REGISTERS ALL BRICK BLOCK CRAFTING RECIPES -if SETTING_allow_types[3] + SETTING_allow_types[4] == 2 then - for i = 1,17 do - if SETTING_allow_hues[i] == 1 then - if i > 12 then - register_brick_block_craft(HUES[i]) - else - for k = 1,4 do - if SETTING_allow_darkness[k] == 1 then - if k == 4 then - register_brick_block_craft(DARKNESS[k] .. HUES[i]) - else - for l = 1,2 do - if SETTING_allow_saturation[l] == 1 then - register_brick_block_craft(DARKNESS[k] .. HUES[i] .. SATURATION[l]) - end - end + for l = 1,2 do + formalname = FORMALDARKNESS[k] .. FORMALHUES[i] .. FORMALSATURATION[l] + name = DARKNESS[k] .. HUES[i] .. SATURATION[l] + if j == 1 then + unifiedbricks.register_old_static_block(name, formalname, "clayblock") + elseif j == 4 then + unifiedbricks.register_old_static_block(name, formalname, "brickblock") end end end @@ -848,68 +230,87 @@ if SETTING_allow_types[3] + SETTING_allow_types[4] == 2 then end --REGISTERS ALL MULTICOLOR EVERYTHING -if SETTING_allow_types[5] == 1 then - for i = 1,13 do - if SETTING_allow_hues[i] == 1 then - if i == 13 then - if SETTING_allow_multicolor[1] == 1 then - name = HUES[14] - formalname = FORMALHUES[14] - brick_one = HUES[14] - brick_two = HUES[15] - brick_three = HUES[16] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - if SETTING_allow_multicolor[2] == 1 then - name = HUES[15] - formalname = FORMALHUES[15] - brick_one = HUES[15] - brick_two = HUES[14] - brick_three = HUES[16] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - if SETTING_allow_multicolor[3] == 1 then - name = HUES[16] - formalname = FORMALHUES[16] - brick_one = HUES[16] - brick_two = HUES[14] - brick_three = HUES[15] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - else - if SETTING_allow_multicolor[1] == 1 then - name = DARKNESS[1] .. HUES[i] - formalname = FORMALDARKNESS[1] .. FORMALHUES[i] - brick_one = DARKNESS[1] .. HUES[i] - brick_two = DARKNESS[2] .. HUES[i] - brick_three = DARKNESS[2] .. HUES[i] .. SATURATION[1] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - if SETTING_allow_multicolor[2] == 1 then - name = DARKNESS[2] .. HUES[i] - formalname = FORMALDARKNESS[2] .. FORMALHUES[i] - brick_one = DARKNESS[2] .. HUES[i] - brick_two = DARKNESS[1] .. HUES[i] - brick_three = DARKNESS[3] .. HUES[i] .. SATURATION[1] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - if SETTING_allow_multicolor[3] == 1 then - name = DARKNESS[4] .. HUES[i] - formalname = FORMALDARKNESS[4] .. FORMALHUES[i] - brick_one = DARKNESS[3] .. HUES[i] - brick_two = DARKNESS[4] .. HUES[i] - brick_three = DARKNESS[2] .. HUES[i] .. SATURATION[1] - register_multicolor(name,formalname,brick_one,brick_two,brick_three) - register_multicolor_craft(name,brick_one,brick_two,brick_three) - end - end - end +for i = 1,13 do + if i == 13 then + name = HUES[14] + formalname = FORMALHUES[14] + brick_one = HUES[14] + brick_two = HUES[15] + brick_three = HUES[16] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) + + name = HUES[15] + formalname = FORMALHUES[15] + brick_one = HUES[15] + brick_two = HUES[14] + brick_three = HUES[16] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) + + name = HUES[16] + formalname = FORMALHUES[16] + brick_one = HUES[16] + brick_two = HUES[14] + brick_three = HUES[15] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) + else + name = DARKNESS[1] .. HUES[i] + formalname = FORMALDARKNESS[1] .. FORMALHUES[i] + brick_one = DARKNESS[1] .. HUES[i] + brick_two = DARKNESS[2] .. HUES[i] + brick_three = DARKNESS[2] .. HUES[i] .. SATURATION[1] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) + + name = DARKNESS[2] .. HUES[i] + formalname = FORMALDARKNESS[2] .. FORMALHUES[i] + brick_one = DARKNESS[2] .. HUES[i] + brick_two = DARKNESS[1] .. HUES[i] + brick_three = DARKNESS[3] .. HUES[i] .. SATURATION[1] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) + + name = DARKNESS[4] .. HUES[i] + formalname = FORMALDARKNESS[4] .. FORMALHUES[i] + brick_one = DARKNESS[3] .. HUES[i] + brick_two = DARKNESS[4] .. HUES[i] + brick_three = DARKNESS[2] .. HUES[i] .. SATURATION[1] + unifiedbricks.register_multicolor(name, formalname, brick_one, brick_two, brick_three) + unifiedbricks.register_multicolor_craft(name, brick_one, brick_two, brick_three) end end +-- convert in-map static nodes to use param2 coloring + +minetest.register_lbm({ + name = "unifiedbricks:convert_brickblocks", + label = "Convert clay blocks and single-color brick blocks to use param2 color", + run_at_every_load = true, + nodenames = unifiedbricks.old_static_list, + action = function(pos, node) + + local name = node.name + local t = string.find(name, "_") + local type = string.sub(name, 1, t - 1) + local color1 = string.sub(name, t + 1) + + local color2 = string.gsub(color1, "grey", "_grey") + if color2 == "_grey" then color2 = "grey" end + + local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color2) + + if string.find(type, "brickblock") then + minetest.set_node(pos, { name = "unifiedbricks:brickblock", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color1) + elseif string.find(type, "clayblock") then + minetest.set_node(pos, { name = "unifiedbricks:clayblock", param2 = paletteidx }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..color1) + end + end +}) + print("[UnifiedBricks] Loaded!") diff --git a/unifiedbricks/models/unifiedbricks_brick_block.obj b/unifiedbricks/models/unifiedbricks_brick_block.obj new file mode 100644 index 00000000..9c70760f --- /dev/null +++ b/unifiedbricks/models/unifiedbricks_brick_block.obj @@ -0,0 +1,44 @@ +# Blender v2.72 (sub 0) OBJ File: 'unifiedbricks_brick_block.blend' +# www.blender.org +o Cube +v 0.496092 0.496092 0.496092 +v 0.496092 0.496092 -0.496092 +v -0.496092 0.496092 -0.496092 +v -0.496092 0.496092 0.496092 +v 0.496092 -0.496092 0.496092 +v 0.496092 -0.496092 -0.496092 +v -0.496092 -0.496092 -0.496092 +v -0.496092 -0.496092 0.496092 +v 0.499750 0.499750 0.499750 +v 0.499750 0.499750 -0.499750 +v -0.499750 0.499750 -0.499750 +v -0.499750 0.499750 0.499750 +v 0.499750 -0.499750 0.499750 +v 0.499750 -0.499750 -0.499750 +v -0.499750 -0.499750 -0.499750 +v -0.499750 -0.499750 0.499750 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +g Cube_Cube_base +s off +f 8/1/1 7/2/1 6/3/1 5/4/1 +f 4/2/2 3/3/2 7/4/2 8/1/2 +f 1/3/3 2/4/3 3/1/3 4/2/3 +f 2/2/4 1/3/4 5/4/4 6/1/4 +f 3/2/5 2/3/5 6/4/5 7/1/5 +f 1/2/6 4/3/6 8/4/6 5/1/6 +g Cube_Cube_overlay +f 16/1/1 15/2/1 14/3/1 13/4/1 +f 12/2/2 11/3/2 15/4/2 16/1/2 +f 9/3/3 10/4/3 11/1/3 12/2/3 +f 10/2/4 9/3/4 13/4/4 14/1/4 +f 11/2/5 10/3/5 14/4/5 15/1/5 +f 9/2/6 12/3/6 16/4/6 13/1/6 diff --git a/unifiedbricks/textures/unifiedbricks_brickblock.png b/unifiedbricks/textures/unifiedbricks_brickblock.png new file mode 100644 index 0000000000000000000000000000000000000000..811ed60fd8bd17c214e100f530b20a62bda33bcc GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAY&~5ZLnJOI|2g)dv$4Oiv60bh zbAeG!Qo@544ub+C1A~1D4y-;IHEhT7J$^|_*con6c%7c`!)1_c_y%u-5Er@ND8 zsu~ev3;?g!3qUF5oMUF^oZfp%i7x@HwTwk$3`*p@obx$n&M6{h77=7BDd!vjw7&QL z)j;3wUP@tN?hZgzRdw%8;Num*oU^rNW&m=|!buS!BF{pZQ#~cDwE&ozu5SPk5z@H( zS}WDw_pPcq=aiDTJI}neh~R8;C~WVYb0$hy!BT2?L=r`{_=f&EuC>xJ?J`)s*5cfM z0)Gu|td!#Jk7F{QquuxYD1PYdBuYe7b&NrRvaggv6cb+D7=zllWv&(O{`q`*?|biv jh=|@hH^YQacjwnXtu9fOipM9P00000NkvXXu0mjf7oM}< literal 0 HcmV?d00001 diff --git a/unifiedbricks/textures/unifiedbricks_mortar.png b/unifiedbricks/textures/unifiedbricks_mortar.png new file mode 100644 index 0000000000000000000000000000000000000000..6d523356f57e57e548d53e184dd872248f8f4c95 GIT binary patch literal 247 zcmVfRRsVn%VHKpjPbE2JwCvD50fCJWD=cc)45sc&bPV-&wh!8y x+~Jdva?a?cX)41oz&UqR-QT$NN2^~%umL4Xb{z*kLW2MR002ovPDHLkV1lVJWWfLc literal 0 HcmV?d00001 diff --git a/unifieddyes/init.lua b/unifieddyes/init.lua index fc361995..0ed6cb17 100644 --- a/unifieddyes/init.lua +++ b/unifieddyes/init.lua @@ -29,6 +29,10 @@ with this program; if not, write to the Free Software Foundation, Inc., --===================================================================== +unifieddyes = {} + +local creative_mode = minetest.setting_getbool("creative_mode") + -- Boilerplate to support localized strings if intllib mod is installed. local S if minetest.get_modpath("intllib") then @@ -37,6 +41,354 @@ else S = function(s) return s end end +-- helper functions for other mods that use this one + +local HUES = { + "red", + "orange", + "yellow", + "lime", + "green", + "aqua", + "cyan", + "skyblue", + "blue", + "violet", + "magenta", + "redviolet" +} + +local HUES2 = { + "Red", + "Orange", + "Yellow", + "Lime", + "Green", + "Aqua", + "Cyan", + "Sky-blue", + "Blue", + "Violet", + "Magenta", + "Red-violet" +} + +-- code borrowed from homedecor + +function unifieddyes.select_node(pointed_thing) + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local def = node and minetest.registered_nodes[node.name] + + if not def or not def.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + def = node and minetest.registered_nodes[node.name] + end + return def and pos, def +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(HUES) do + a,b = string.find(name, "_"..i) + if a and not ( string.find(name, "_redviolet") and i == "red" ) then + hue = i + 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 borrowed from cheapie's plasticbox mod + +function unifieddyes.getpaletteidx(color, is_color_fdir) + local origcolor = color + local aliases = { + ["pink"] = "light_red", + ["brown"] = "dark_orange", + } + + local grayscale = { + ["white"] = 1, + ["light_grey"] = 2, + ["grey"] = 3, + ["dark_grey"] = 4, + ["black"] = 5, + } + + local grayscale_wallmounted = { + ["white"] = 0, + ["light_grey"] = 1, + ["grey"] = 2, + ["dark_grey"] = 3, + ["black"] = 4, + } + + local hues = { + ["red"] = 1, + ["orange"] = 2, + ["yellow"] = 3, + ["lime"] = 4, + ["green"] = 5, + ["aqua"] = 6, + ["cyan"] = 7, + ["skyblue"] = 8, + ["blue"] = 9, + ["violet"] = 10, + ["magenta"] = 11, + ["redviolet"] = 12, + } + + 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_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 + + color = aliases[color] or color + local idx + + if is_color_fdir == "wallmounted" then + if grayscale_wallmounted[color] then + return (grayscale_wallmounted[color] * 8), 0 + end + elseif is_color_fdir then + if grayscale[color] then + return (grayscale[color] * 32), 0 + end + else + if grayscale[color] then + return grayscale[color], 0 + end + end + + local shade = "" + if string.sub(color,1,6) == "light_" then + shade = "light" + color = string.sub(color,7,-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 is_color_fdir == "wallmounted" then + if shade == "dark" and color == "orange" then return 48,1 -- brown + elseif shade == "light" and color == "red" then return 56,7 -- pink + elseif hues_wallmounted[color] and shades_wallmounted[shade] then + return (shades_wallmounted[shade] * 64 + hues_wallmounted[color] * 8), hues_wallmounted[color] + end + elseif hues[color] and shades[shade] then + if is_color_fdir then + return (shades[shade] * 32), hues[color] + else + return (hues[color] * 8 + shades[shade]), hues[color] + end + end +end + +function unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger) + local prevdye + + if oldmetadata and oldmetadata.fields then + prevdye = oldmetadata.fields.dye + end + + local inv = digger:get_inventory() + + if prevdye and not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then + if inv:room_for_item("main", prevdye) then + inv:add_item("main", prevdye) + else + minetest.add_item(pos, prevdye) + end + end +end + +function unifieddyes.on_rightclick(pos, node, player, stack, pointed_thing, newnode, is_color_fdir) + local name = player:get_player_name() + if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then + minetest.record_protection_violation(pos,name) + return stack + end + local name = stack:get_name() + local pos2 = unifieddyes.select_node(pointed_thing) + local paletteidx, hue = unifieddyes.getpaletteidx(name, is_color_fdir) + + print(dump(paletteidx)) + + if paletteidx then + + local meta = minetest.get_meta(pos) + local prevdye = meta:get_string("dye") + local inv = player:get_inventory() + + if not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then + if inv:room_for_item("main", prevdye) then + inv:add_item("main", prevdye) + else + minetest.add_item(pos, prevdye) + end + end + + meta:set_string("dye", name) + if not creative_mode and prevdye ~= name then + stack:take_item() + end + node.param2 = paletteidx + + local oldpaletteidx, oldhuenum = unifieddyes.getpaletteidx(prevdye, is_color_fdir) + + local oldnode = minetest.get_node(pos) + + local oldhue = nil + for _, i in ipairs(HUES) do + if string.find(oldnode.name, "_"..i) and not + ( string.find(oldnode.name, "_redviolet") and i == "red" ) then + oldhue = i + break + end + end + + if newnode then -- this path is used when the calling mod want to supply a replacement node + if is_color_fdir == "wallmounted" then + node.param2 = paletteidx + (minetest.get_node(pos).param2 % 8) + elseif is_color_fdir then -- we probably need to change the hue of the node too + if oldhue ~=0 then -- it's colored, not grey + if oldhue ~= nil then -- it's been painted before + if hue ~= 0 then -- the player's wielding a colored dye + newnode = string.gsub(newnode, "_"..oldhue, "_"..HUES[hue]) + else -- it's a greyscale dye + newnode = string.gsub(newnode, "_"..oldhue, "_grey") + end + else -- it's never had a color at all + if hue ~= 0 then -- and if the wield is greyscale, don't change the node name + newnode = string.gsub(newnode, "_grey", "_"..HUES[hue]) + end + end + else + if hue ~= 0 then -- greyscale dye on greyscale node = no hue change + newnode = string.gsub(newnode, "_grey", "_"..HUES[hue]) + end + end + node.param2 = paletteidx + (minetest.get_node(pos).param2 % 32) + else + node.param2 = paletteidx + end + node.name = newnode + minetest.swap_node(pos, node) + else -- this path is used when you're just painting an existing node, rather than replacing one. + newnode = oldnode -- note that here, newnode/oldnode are a full node, not just the name. + if is_color_fdir == "wallmounted" then + newnode.param2 = paletteidx + (minetest.get_node(pos).param2 % 8) + elseif is_color_fdir then + if oldhue then + if hue ~= 0 then + newnode.name = string.gsub(newnode.name, "_"..oldhue, "_"..HUES[hue]) + else + newnode.name = string.gsub(newnode.name, "_"..oldhue, "_grey") + end + elseif string.find(minetest.get_node(pos).name, "_grey") and hue ~= 0 then + newnode.name = string.gsub(newnode.name, "_grey", "_"..HUES[hue]) + end + newnode.param2 = paletteidx + (minetest.get_node(pos).param2 % 32) + else + newnode.param2 = paletteidx + end + minetest.swap_node(pos, newnode) + end + else -- here is where a node is just being placed, not something being colored + if unifieddyes.is_buildable_to(player:get_player_name(), pos2) and + minetest.registered_nodes[name] then + local placeable_node = minetest.registered_nodes[stack:get_name()] + + local fdir = 0 + + if is_color_fdir == "wallmounted" then + local yaw = player:get_look_yaw() + local dir = minetest.yaw_to_dir(yaw-1.5) + fdir = minetest.dir_to_wallmounted(dir) + elseif is_color_fdir then + local yaw = player:get_look_yaw() + local dir = minetest.yaw_to_dir(yaw-1.5) + fdir = minetest.dir_to_facedir(dir) + end + + minetest.set_node(pos2, { name = placeable_node.name, param2 = fdir }) + if not creative_mode then + stack:take_item() + end + return stack + end + end +end + -- Items/recipes needed to generate the few base colors that are not -- provided by the standard dyes mod. @@ -179,36 +531,6 @@ minetest.register_craft( { -- Brightness levels in the textures are 33% ("dark"), 66% ("medium"), -- 100% ("full", but not so-named), and 150% ("light"). -local HUES = { - "red", - "orange", - "yellow", - "lime", - "green", - "aqua", - "cyan", - "skyblue", - "blue", - "violet", - "magenta", - "redviolet" -} - -local HUES2 = { - "Red", - "Orange", - "Yellow", - "Lime", - "Green", - "Aqua", - "Cyan", - "Sky-blue", - "Blue", - "Violet", - "Magenta", - "Red-violet" -} - for i = 1, 12 do @@ -361,8 +683,15 @@ for i = 1, 12 do minetest.register_alias("unifieddyes:pigment_"..hue, "dye:"..hue) end -minetest.register_alias("unifieddyes:light_red", "dye:pink") +minetest.register_alias("unifieddyes:light_red", "dye:pink") minetest.register_alias("unifieddyes:dark_green", "dye:dark_green") +minetest.register_alias("unifieddyes:black", "dye:black") +minetest.register_alias("unifieddyes:darkgrey", "dye:dark_grey") +minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey") +minetest.register_alias("unifieddyes:grey", "dye:grey") +minetest.register_alias("unifieddyes:lightgrey", "dye:light_grey") +minetest.register_alias("unifieddyes:light_grey", "dye:light_grey") +minetest.register_alias("unifieddyes:white", "dye:white") minetest.register_alias("unifieddyes:white_paint", "dye:white") minetest.register_alias("unifieddyes:titanium_dioxide", "dye:white") diff --git a/unifieddyes/textures/unifieddyes_palette.png b/unifieddyes/textures/unifieddyes_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7c4854022b1523bcc61792d3bf297591f9fede GIT binary patch literal 443 zcmV;s0Yv_ZP)RKoxO010qNS#tmY3ljhU3ljkVnw%H_000McNliru;Q<&2A`bjSN#y_l03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00AFKL_t(I%k9yzPE=74 z2Hd;|2x%31-p(!^xvJP*jdN1NF}&YP5riy>UzS%aWh_f<2=t*JH)lMK_`@0j^OPfFC%rq)=3eH_0ZW+N3b<#W3QOh zba@&cKTGXU*lb4d3av1e4r+r|jSzQtm{0hW)l}oVVyHxhOF4pOHJ3tdI^k5dRr;zl l#ND(0mc~DF5AMN#fg2UWdV08ik*ELw002ovPDHLkV1lNRvt$4O literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_aquas.png b/unifieddyes/textures/unifieddyes_palette_aquas.png new file mode 100644 index 0000000000000000000000000000000000000000..85dcab522fb67820b7f68c276e6bc4719367aba9 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQd*uajv*Y^lmGnx|G(a?O^xk! y^L|O0w{s<;!u(P%?E2RK@YdF7ow#du|k5v(HmG-oz4_E{h`;S_PQl=>CPyhbm0#_t7`7u|Ct&t|Bhp)YqCnV z>|?gyr#7)geG++OcTS}8^rDx)HZiWh@MOc|aM`mN%7=b1%k41i-oDHH5zs;gPgg&e IbxsLQ0MKtddH?_b literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_cyans.png b/unifieddyes/textures/unifieddyes_palette_cyans.png new file mode 100644 index 0000000000000000000000000000000000000000..38d8ee346e2e39afb7407153bfd30aecb1b8c52c GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQaYY4jv*Y^85J4s{b&3S1l2&n x!v_vC*gDuUw5?jrpmy~d!@X;l7&zX%W8k~O-|LdUtO=-u!PC{xWt~$(696K)9}NHi literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_greens.png b/unifieddyes/textures/unifieddyes_palette_greens.png new file mode 100644 index 0000000000000000000000000000000000000000..e38a459ef8f3846ba0d6017782216dbb57eb5823 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQaYY4jv*Y^85J4s{b%?O1Ux{> vcEA1q1|Z~K!SG+JPW!)zKf`|!d$IpsNrJs9qGdOM`WQT2{an^LB{Ts5eJUV^ literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_greys.png b/unifieddyes/textures/unifieddyes_palette_greys.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa529237e92578abef13b38e511b9c51aa0f7dd GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQktGFjv*Y^Sr0M_GAQscZ#=$V xZ9zEqY;HcCDJd$P2QD2kyR~T7j^~UY7&X@O|4XnlyARaF;OXk;vd$@?2>?Aq8+!l% literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_limes.png b/unifieddyes/textures/unifieddyes_palette_limes.png new file mode 100644 index 0000000000000000000000000000000000000000..ebfd703f9762898c8c508f27e6772d5a4c39a79c GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQd*uajv*Y^lmGk&f+{w*wtDur wk}_{{CDhiwN=VqZ>RiFsTc&K=!VmE<{1fG^`>cLHAE=AL)78&qol`;+0AQpb^#A|> literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_magentas.png b/unifieddyes/textures/unifieddyes_palette_magentas.png new file mode 100644 index 0000000000000000000000000000000000000000..7c398b79ec4266cc9363843313107eb224167805 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQaYY4jv*Y^85J4s{b&3S1pk1N xN38ZS*f}^ctZH1ra82U|!}S~27+#6IW)KeHpL)ZV?Ez39gQu&X%Q~loCIBIw9>M?s literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_oranges.png b/unifieddyes/textures/unifieddyes_palette_oranges.png new file mode 100644 index 0000000000000000000000000000000000000000..0986014cc88de67a9b4ebd84670d4bc4edc48786 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQd*uajv*Y^lmGk&0p1>-b_p5D vH?lI4VZJMqcN|-BxZvw8(Kd6QMLY~FD|j1b>!{2J>SFM8^>bP0l+XkKAtfGO literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_reds.png b/unifieddyes/textures/unifieddyes_palette_reds.png new file mode 100644 index 0000000000000000000000000000000000000000..85b8e5a55032d550a164b970b22646cfec290de8 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQaYY4jv*Y^85J4s{b%?O0t^iQ v57^uO|G#9(|CK;?y_V+xP$2CfEb>2Kx8QmQpDp`<`WQT2{an^LB{Ts5mVP0h literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_redviolets.png b/unifieddyes/textures/unifieddyes_palette_redviolets.png new file mode 100644 index 0000000000000000000000000000000000000000..76e79e464ad97d93da5eeee7906fe01d1cc808c0 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQd*uajv*Y^lmGnx|G%E?7+YKO yw;rBtetkUIua_IdT>N*u;O{HmHt{4L9)?eiy!Gq!7P7(8A5T-G@yGywqpUmfEB literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_violets.png b/unifieddyes/textures/unifieddyes_palette_violets.png new file mode 100644 index 0000000000000000000000000000000000000000..f71b90f863a496ca61857a9734af61e79a0ce63a GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQd*uajv*Y^lmGk&0xLH*wzPI; vp1yBoJi$`ejSMnkQ+E{o)nZ=!A)1Zhi8oKfY&M%Zpe_baS3j3^P6L49H literal 0 HcmV?d00001 diff --git a/unifieddyes/textures/unifieddyes_palette_yellows.png b/unifieddyes/textures/unifieddyes_palette_yellows.png new file mode 100644 index 0000000000000000000000000000000000000000..862ac4f0caddd455f5f6ea515ae58487a3d44fcf GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!3HEBGrV^OQaYY4jv*Y^85J4s{b&3S1PlyJ y3ZmR~TNu7Gn76#y9acr@9ePAA_f>pUXO@geCy_^BvOw literal 0 HcmV?d00001 diff --git a/vines/functions.lua b/vines/functions.lua index db120a6d..26e7cc4e 100644 --- a/vines/functions.lua +++ b/vines/functions.lua @@ -32,7 +32,7 @@ vines.register_vine = function( name, defs, biome ) sunlight_propagates = true, paramtype = "light", paramtype2 = "wallmounted", - buildable_to = true, + buildable_to = false, tiles = { vine_image_end }, drawtype = drawtype, inventory_image = vine_image_end, @@ -70,7 +70,7 @@ vines.register_vine = function( name, defs, biome ) sunlight_propagates = true, paramtype = "light", paramtype2 = "wallmounted", - buildable_to = true, + buildable_to = false, tiles = { vine_image_middle }, wield_image = vine_image_middle, drawtype = drawtype, @@ -82,8 +82,10 @@ vines.register_vine = function( name, defs, biome ) local node = minetest.get_node( pos ) local bottom = {x=pos.x, y=pos.y-1, z=pos.z} local bottom_node = minetest.get_node( bottom ) - if minetest.get_item_group( bottom_node.name, "vines") then - minetest.remove_node( bottom ) + if minetest.get_item_group( bottom_node.name, "vines") > 0 then + -- Calling `remove_node` directly would cause + -- a stack overflow for really long vines. + minetest.after( 0, minetest.remove_node, bottom ) end end, after_dig_node = function( pos, node, oldmetadata, user ) diff --git a/worldedit/init.lua b/worldedit/init.lua index 343a1e4e..0305c4d1 100644 --- a/worldedit/init.lua +++ b/worldedit/init.lua @@ -36,7 +36,6 @@ load_module(path .. "/visualization.lua") load_module(path .. "/serialization.lua") load_module(path .. "/code.lua") load_module(path .. "/compatibility.lua") -load_module(path .. "/wand.lua") load_module(path .. "/cuboid.lua") diff --git a/worldedit/manipulations.lua b/worldedit/manipulations.lua index cf955173..57c7a764 100644 --- a/worldedit/manipulations.lua +++ b/worldedit/manipulations.lua @@ -575,14 +575,11 @@ end function worldedit.fixlight(pos1, pos2) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) - worldedit.keep_loaded(pos1, pos2) + local vmanip = minetest.get_voxel_manip(pos1, pos2) + vmanip:write_to_map() + vmanip:update_map() -- this updates the lighting - local nodes = minetest.find_nodes_in_area(pos1, pos2, "air") - local dig_node = minetest.dig_node - for _, pos in ipairs(nodes) do - dig_node(pos) - end - return #nodes + return worldedit.volume(pos1, pos2) end diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index b9313cce..d47c6e27 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -12,6 +12,7 @@ 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 = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua") local function get_position(name) --position 1 retrieval function for when not using `safe_region` @@ -92,6 +93,56 @@ minetest.register_chatcommand("/about", { end, }) +-- mostly copied from builtin/chatcommands.lua with minor modifications +minetest.register_chatcommand("/help", { + privs = {}, + params = "[all/]", + description = "Get help for WorldEdit commands", + 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) + if def.params and def.params ~= "" then + msg = msg .. " " .. def.params + end + if def.description and def.description ~= "" then + msg = msg .. ": " .. def.description + end + return msg + end + + if not minetest.check_player_privs(name, "worldedit") then + return false, "You are not allowed to use any WorldEdit commands." + end + 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 / + end + end + table.sort(cmds) + return true, "Available commands: " .. table.concat(cmds, " ") .. "\n" + .. "Use '//help ' to get more information," + .. " 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 + 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) + end + end, +}) + minetest.register_chatcommand("/inspect", { params = "on/off/1/0/true/false/yes/no/enable/disable/", description = "Enable or disable node inspection", @@ -114,13 +165,9 @@ minetest.register_chatcommand("/inspect", { minetest.register_on_punchnode(function(pos, node, puncher) local name = puncher:get_player_name() if worldedit.inspect[name] then - if minetest.check_player_privs(name, {worldedit=true}) then - local axis, sign = worldedit.player_axis(name) - message = string.format("inspector: %s at %s (param1=%d, param2=%d) punched by %s facing the %s axis", - node.name, minetest.pos_to_string(pos), node.param1, node.param2, name, axis .. (sign > 0 and "+" or "-")) - else - message = "inspector: worldedit privileges required" - end + local axis, sign = worldedit.player_axis(name) + message = string.format("inspector: %s at %s (param1=%d, param2=%d, light=%d) punched facing the %s axis", + node.name, minetest.pos_to_string(pos), node.param1, node.param2, minetest.get_node_light(pos), axis .. (sign > 0 and "+" or "-")) worldedit.player_notify(name, message) end end) diff --git a/worldedit_commands/mark.lua b/worldedit_commands/mark.lua index 7f880ea6..9d41bda3 100644 --- a/worldedit_commands/mark.lua +++ b/worldedit_commands/mark.lua @@ -58,8 +58,19 @@ worldedit.mark_region = function(name) end worldedit.marker_region[name] = nil end + if pos1 ~= nil and pos2 ~= nil then local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + + 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 + 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 + return + end + local thickness = 0.2 local sizex, sizey, sizez = (1 + pos2.x - pos1.x) / 2, (1 + pos2.y - pos1.y) / 2, (1 + pos2.z - pos1.z) / 2 @@ -72,24 +83,28 @@ 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") - marker:set_properties({ - visual_size={x=sizex * 2, y=sizey * 2}, - collisionbox = {-sizex, -sizey, -thickness, sizex, sizey, thickness}, - }) - marker:get_luaentity().player_name = name - table.insert(markers, marker) + if marker ~= nil then + marker:set_properties({ + visual_size={x=sizex * 2, y=sizey * 2}, + collisionbox = {-sizex, -sizey, -thickness, sizex, sizey, thickness}, + }) + marker:get_luaentity().player_name = name + table.insert(markers, marker) + end end --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") - marker:set_properties({ - visual_size={x=sizez * 2, y=sizey * 2}, - collisionbox = {-thickness, -sizey, -sizez, thickness, sizey, sizez}, - }) - marker:setyaw(math.pi / 2) - marker:get_luaentity().player_name = name - table.insert(markers, marker) + 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:get_luaentity().player_name = name + table.insert(markers, marker) + end end worldedit.marker_region[name] = markers diff --git a/worldedit_commands/wand.lua b/worldedit_commands/wand.lua new file mode 100644 index 00000000..79d9eb2a --- /dev/null +++ b/worldedit_commands/wand.lua @@ -0,0 +1,34 @@ +minetest.register_tool(":worldedit:wand", { + description = "WorldEdit Wand tool, Left-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 + -- the tool_capabilities are completely irrelevant here - no need to dig + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, + choppy={times={[3]=0.90}, maxwear=0.05, maxlevel=0} + } + }, + + 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() + worldedit.pos1[name] = pointed_thing.under + worldedit.mark_pos1(name) + end + 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] = pointed_thing.under + worldedit.mark_pos2(name) + end + return itemstack -- nothing consumed, nothing changed + end, +}) diff --git a/xban2/init.lua b/xban2/init.lua index d8b20e7c..b3c42a62 100644 --- a/xban2/init.lua +++ b/xban2/init.lua @@ -361,10 +361,10 @@ local function load_db() WARNING("Unable to load database: %s", "Read failed") return end - local t = minetest.deserialize(cont) + local t, e = minetest.deserialize(cont) if not t then WARNING("Unable to load database: %s", - "Deserialization failed") + "Deserialization failed: "..(e or "unknown error")) return end db = t