From 39f5cba27eef35877c91291f518974f34130fcb6 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 31 Jan 2017 19:39:31 -0500 Subject: 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 | 666 ++-- 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 | 999 ++---- 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 | 75 +- 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 coloredwood/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 | 332 +- 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 | 221 +- homedecor/furniture_medieval.lua | 20 +- homedecor/furniture_recipes.lua | 156 +- 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 | 55 +- homedecor/intllib.lua | 45 + homedecor/kitchen_appliances.lua | 14 +- homedecor/kitchen_furniture.lua | 14 +- homedecor/laundry.lua | 2 +- homedecor/lighting.lua | 511 ++- 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 | 314 +- 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 | 126 +- homedecor/tables.lua | 47 +- homedecor/textures/homedecor_armchair_inv.png | Bin 0 -> 6376 bytes homedecor/textures/homedecor_bed_inv.png | Bin 5875 -> 6269 bytes homedecor/textures/homedecor_bed_kingsize_inv.png | Bin 5752 -> 6178 bytes homedecor/textures/homedecor_chair_padded_inv.png | Bin 0 -> 4554 bytes homedecor/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 homedecor/textures/homedecor_desk_lamp_inv.png | Bin 0 -> 1370 bytes homedecor/textures/homedecor_generic_metal.png | Bin 0 -> 218 bytes homedecor/textures/homedecor_generic_plastic.png | Bin 0 -> 226 bytes .../textures/homedecor_generic_wood_luxury.png | Bin 1314 -> 590 bytes .../textures/homedecor_generic_wood_plain.png | Bin 605 -> 293 bytes homedecor/textures/homedecor_glowlight_bottom.png | Bin 0 -> 95 bytes .../textures/homedecor_glowlight_cube_sides.png | Bin 0 -> 137 bytes .../homedecor_glowlight_cube_sides_ceiling.png | Bin 0 -> 139 bytes homedecor/textures/homedecor_glowlight_cube_tb.png | Bin 0 -> 142 bytes .../textures/homedecor_glowlight_thick_sides.png | Bin 0 -> 173 bytes .../textures/homedecor_glowlight_thin_sides.png | Bin 0 -> 137 bytes homedecor/textures/homedecor_glowlight_top.png | Bin 0 -> 165 bytes homedecor/textures/homedecor_marble.png | Bin 818 -> 233 bytes .../homedecor_table_standing_lamp_lightbulb.png | Bin 581 -> 594 bytes homedecor/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 | 173 +- 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 | 206 +- 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 | 133 +- lrfurn/coffeetable.lua | 12 +- lrfurn/depends.txt | 2 + lrfurn/endtable.lua | 7 +- lrfurn/init.lua | 44 +- lrfurn/longsofas.lua | 179 +- lrfurn/models/lrfurn_armchair.obj | 478 +-- lrfurn/models/lrfurn_sofa_long.obj | 544 ++-- lrfurn/models/lrfurn_sofa_short.obj | 440 +-- lrfurn/sofas.lua | 178 +- 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 +- moreblocks/models/moreblocks_slope_half_raised.obj | 86 +- moreblocks/models/moreblocks_slope_inner.obj | 100 +- moreblocks/models/moreblocks_slope_inner_cut.obj | 90 +- .../models/moreblocks_slope_inner_cut_half.obj | 92 +- .../moreblocks_slope_inner_cut_half_raised.obj | 95 +- moreblocks/models/moreblocks_slope_inner_half.obj | 100 +- .../models/moreblocks_slope_inner_half_raised.obj | 102 +- moreblocks/models/moreblocks_slope_outer.obj | 61 +- moreblocks/models/moreblocks_slope_outer_cut.obj | 53 +- .../models/moreblocks_slope_outer_cut_half.obj | 54 +- .../moreblocks_slope_outer_cut_half_raised.obj | 70 +- moreblocks/models/moreblocks_slope_outer_half.obj | 63 +- .../models/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 +- .../textures/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 | 390 +-- 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 | 332 +- stained_glass/textures/stained_glass.png | Bin 0 -> 291 bytes .../textures/stained_glass_faint_palette.png | Bin 0 -> 305 bytes .../textures/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 trafficlight/textures/streets_pl_number_0l.png | Bin 0 -> 572 bytes trafficlight/textures/streets_pl_number_0r.png | Bin 0 -> 615 bytes trafficlight/textures/streets_pl_number_1l.png | Bin 0 -> 601 bytes trafficlight/textures/streets_pl_number_1r.png | Bin 0 -> 602 bytes trafficlight/textures/streets_pl_number_2l.png | Bin 0 -> 610 bytes trafficlight/textures/streets_pl_number_2r.png | Bin 0 -> 610 bytes trafficlight/textures/streets_pl_number_3l.png | Bin 0 -> 606 bytes trafficlight/textures/streets_pl_number_3r.png | Bin 0 -> 610 bytes trafficlight/textures/streets_pl_number_4l.png | Bin 0 -> 614 bytes trafficlight/textures/streets_pl_number_4r.png | Bin 0 -> 620 bytes trafficlight/textures/streets_pl_number_5l.png | Bin 0 -> 603 bytes trafficlight/textures/streets_pl_number_5r.png | Bin 0 -> 621 bytes trafficlight/textures/streets_pl_number_6l.png | Bin 0 -> 608 bytes trafficlight/textures/streets_pl_number_6r.png | Bin 0 -> 618 bytes trafficlight/textures/streets_pl_number_7l.png | Bin 0 -> 607 bytes trafficlight/textures/streets_pl_number_7r.png | Bin 0 -> 620 bytes trafficlight/textures/streets_pl_number_8l.png | Bin 0 -> 608 bytes trafficlight/textures/streets_pl_number_8r.png | Bin 0 -> 611 bytes trafficlight/textures/streets_pl_number_9l.png | Bin 0 -> 605 bytes trafficlight/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 | 973 ++---- unifiedbricks/models/unifiedbricks_brick_block.obj | 44 + .../textures/unifiedbricks_brickblock.png | Bin 0 -> 118 bytes unifiedbricks/textures/unifiedbricks_clayblock.png | Bin 0 -> 389 bytes unifiedbricks/textures/unifiedbricks_mortar.png | Bin 0 -> 247 bytes unifieddyes/init.lua | 391 ++- unifieddyes/textures/unifieddyes_palette.png | Bin 0 -> 443 bytes unifieddyes/textures/unifieddyes_palette_aquas.png | Bin 0 -> 99 bytes unifieddyes/textures/unifieddyes_palette_blues.png | Bin 0 -> 101 bytes .../unifieddyes_palette_colorwallmounted.png | Bin 0 -> 158 bytes unifieddyes/textures/unifieddyes_palette_cyans.png | Bin 0 -> 101 bytes .../textures/unifieddyes_palette_greens.png | Bin 0 -> 101 bytes unifieddyes/textures/unifieddyes_palette_greys.png | Bin 0 -> 98 bytes unifieddyes/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 unifieddyes/textures/unifieddyes_palette_reds.png | Bin 0 -> 101 bytes .../textures/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, 31702 insertions(+), 8633 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 e8b9c7a..730e96d 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 0000000..c74b4c7 --- /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 4908b92..0b7931f 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 0000000..0ca8ec1 --- /dev/null +++ b/areas/mod.conf @@ -0,0 +1 @@ +name = areas diff --git a/biome_lib/init.lua b/biome_lib/init.lua index 349b2f2..5cb6202 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 562cf63..784823a 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 16af8e4..6faabd9 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}, }) - -for _, NClass 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', +-- param2-colored nodes: standard patterns + +for _, nodeclass in ipairs(NodeClass) do + + 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', ''}, - } -}) - - -for _, colour in ipairs(UNIFIED) do - -if colour == "magenta" then -DyeSub = "pink" else if colour == "violet" then -DyeSub = "purple" else -DyeSub = colour -end -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 ---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:' .. DyeSub ..'quarter' .. NMaterial .. ' 4', - recipe = { - {'unifieddyes:' .. colour, Material}, - {Material, 'unifieddyes:' .. colour}, - } -}) - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cross' .. NMaterial .. ' 4', - recipe = { - {Material, '', Material}, - {'', 'unifieddyes:' .. colour, ''}, - {Material, '', Material}, - } -}) - -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:' .. DyeSub ..'checker' .. NMaterial .. ' 8', - recipe = { - {'unifieddyes:' .. colour, Material, 'unifieddyes:' .. colour}, - {Material, 'unifieddyes:' .. colour,Material}, - {'unifieddyes:' .. colour, Material, 'unifieddyes:' .. colour}, - } -}) - -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 -end - -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'square 6', - recipe = { - {'unifieddyes:' .. colour, 'default:stone', 'default:stone'}, - {'default:stone', 'unifieddyes:' .. colour, 'default:stone'}, - {'default:stone', 'default:stone', 'unifieddyes:' .. colour}, + {"", 'blox:glowdust', ""}, } }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'stone 4', - recipe = { - {'', 'default:stone', ''}, - {'default:stone', 'unifieddyes:' .. colour, 'default:stone'}, - {'', 'default:stone', ''}, - } -}) +local dye_color = "unifieddyes:white" -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'wood 4', - recipe = { - {'', 'default:wood', ''}, - {'default:wood', 'unifieddyes:' .. colour, 'default:wood'}, - {'', 'default:wood', ''}, - } -}) +for _, material in ipairs(NodeMaterial) do -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'cobble 4', - recipe = { - {'', 'default:cobble', ''}, - {'default:cobble', 'unifieddyes:' .. colour, '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}, - } -}) + local def_mat = "default:"..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:"..material.."_diamond 4", + recipe = { + { def_mat, dye_color, def_mat }, + { dye_color, "", dye_color }, + { def_mat, dye_color, def_mat }, + } + }) -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:"..material.."_quarter 4", + recipe = { + { dye_color, def_mat }, + { def_mat, dye_color }, + } + }) -minetest.register_craft({ - output = 'blox:' .. DyeSub ..'corner' .. NMaterial .. ' 4', - recipe = { - {'dye:' .. colour, '', 'dye:' .. colour}, - {'', Material, ''}, - {'dye:' .. colour, '', 'dye:' .. 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 ..'diamond' .. NMaterial .. ' 6', - recipe = { - {Material, 'dye:' .. colour, Material}, - {'dye:' .. colour, '', 'dye:' .. colour}, - {Material, 'dye:' .. colour, 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 }, + } + }) -end -end + 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 }, + } + }) -for _, colour in ipairs(UNIFIED) do + minetest.register_craft({ + output = "blox:"..material.."_corner 4", + recipe = { + { dye_color, "", dye_color }, + { "", def_mat, "" }, + { dye_color, "", dye_color }, + } + }) -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 = { - {'dye:' .. colour, 'default:stone', 'default:stone'}, - {'default:stone', 'dye:' .. colour, 'default:stone'}, - {'default:stone', 'default:stone', 'dye:' .. 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', 'dye:' .. 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', 'dye:' .. 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', 'dye:' .. colour, 'default:cobble'}, - {'', 'default:cobble', ''}, + { "", "default:cobble", "" }, + { "default:cobble", dye_color, "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 0000000..9c70760 --- /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 0000000..1bcd4a1 Binary files /dev/null and b/blox/textures/blox_cobble_checker.png differ diff --git a/blox/textures/blox_cobble_corner.png b/blox/textures/blox_cobble_corner.png new file mode 100644 index 0000000..e9cde51 Binary files /dev/null and b/blox/textures/blox_cobble_corner.png differ diff --git a/blox/textures/blox_cobble_cross.png b/blox/textures/blox_cobble_cross.png new file mode 100644 index 0000000..1c65b59 Binary files /dev/null and b/blox/textures/blox_cobble_cross.png differ diff --git a/blox/textures/blox_cobble_diamond.png b/blox/textures/blox_cobble_diamond.png new file mode 100644 index 0000000..76aff7b Binary files /dev/null and b/blox/textures/blox_cobble_diamond.png differ diff --git a/blox/textures/blox_cobble_loop.png b/blox/textures/blox_cobble_loop.png new file mode 100644 index 0000000..6db2105 Binary files /dev/null and b/blox/textures/blox_cobble_loop.png differ diff --git a/blox/textures/blox_cobble_quarter.png b/blox/textures/blox_cobble_quarter.png new file mode 100644 index 0000000..fe2e9cd Binary files /dev/null and b/blox/textures/blox_cobble_quarter.png differ diff --git a/blox/textures/blox_cobble_tinted.png b/blox/textures/blox_cobble_tinted.png new file mode 100644 index 0000000..aae5a0a Binary files /dev/null and b/blox/textures/blox_cobble_tinted.png differ diff --git a/blox/textures/blox_stone_checker.png b/blox/textures/blox_stone_checker.png new file mode 100644 index 0000000..400e699 Binary files /dev/null and b/blox/textures/blox_stone_checker.png differ diff --git a/blox/textures/blox_stone_corner.png b/blox/textures/blox_stone_corner.png new file mode 100644 index 0000000..7194904 Binary files /dev/null and b/blox/textures/blox_stone_corner.png differ diff --git a/blox/textures/blox_stone_cross.png b/blox/textures/blox_stone_cross.png new file mode 100644 index 0000000..11fa7cf Binary files /dev/null and b/blox/textures/blox_stone_cross.png differ diff --git a/blox/textures/blox_stone_diamond.png b/blox/textures/blox_stone_diamond.png new file mode 100644 index 0000000..4da02b9 Binary files /dev/null and b/blox/textures/blox_stone_diamond.png differ diff --git a/blox/textures/blox_stone_loop.png b/blox/textures/blox_stone_loop.png new file mode 100644 index 0000000..99893c7 Binary files /dev/null and b/blox/textures/blox_stone_loop.png differ diff --git a/blox/textures/blox_stone_quarter.png b/blox/textures/blox_stone_quarter.png new file mode 100644 index 0000000..c68acd8 Binary files /dev/null and b/blox/textures/blox_stone_quarter.png differ diff --git a/blox/textures/blox_stone_square.png b/blox/textures/blox_stone_square.png new file mode 100644 index 0000000..ccf6180 Binary files /dev/null and b/blox/textures/blox_stone_square.png differ diff --git a/blox/textures/blox_stone_tinted.png b/blox/textures/blox_stone_tinted.png new file mode 100644 index 0000000..86e1268 Binary files /dev/null and b/blox/textures/blox_stone_tinted.png differ diff --git a/blox/textures/blox_wood_checker.png b/blox/textures/blox_wood_checker.png new file mode 100644 index 0000000..8ae69cd Binary files /dev/null and b/blox/textures/blox_wood_checker.png differ diff --git a/blox/textures/blox_wood_corner.png b/blox/textures/blox_wood_corner.png new file mode 100644 index 0000000..9125036 Binary files /dev/null and b/blox/textures/blox_wood_corner.png differ diff --git a/blox/textures/blox_wood_cross.png b/blox/textures/blox_wood_cross.png new file mode 100644 index 0000000..49e6b65 Binary files /dev/null and b/blox/textures/blox_wood_cross.png differ diff --git a/blox/textures/blox_wood_diamond.png b/blox/textures/blox_wood_diamond.png new file mode 100644 index 0000000..4fb6c1f Binary files /dev/null and b/blox/textures/blox_wood_diamond.png differ diff --git a/blox/textures/blox_wood_loop.png b/blox/textures/blox_wood_loop.png new file mode 100644 index 0000000..f52f883 Binary files /dev/null and b/blox/textures/blox_wood_loop.png differ diff --git a/blox/textures/blox_wood_quarter.png b/blox/textures/blox_wood_quarter.png new file mode 100644 index 0000000..487c049 Binary files /dev/null and b/blox/textures/blox_wood_quarter.png differ diff --git a/blox/textures/blox_wood_tinted.png b/blox/textures/blox_wood_tinted.png new file mode 100644 index 0000000..d20cffe Binary files /dev/null and b/blox/textures/blox_wood_tinted.png differ diff --git a/bobblocks/blocks.lua b/bobblocks/blocks.lua index 652bc07..84fdc37 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:btm", { - description = "Bobs TransMorgifier v5", - 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", - 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}, - -}) - - --- Start Block Nodes -minetest.register_node("bobblocks:redblock", { - description = "Red Block", - drawtype = "glasslike", - tiles = {"bobblocks_redblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_redblock.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:redblock_off" - }} -}) - -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={ - state = mesecon.state.off, - onstate = "bobblocks:redblock" - }} - -}) - -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", +minetest.register_node("bobblocks:block", { + description = "Bobblocks Plain Block", drawtype = "glasslike", - tiles = {"bobblocks_whiteblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_whiteblock.png"), + 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={ + 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, + 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, - 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={ + 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:greyblock" - }} - + 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:redpole", { - 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-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - foo = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:redpole_off" - }} -}) - -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", +minetest.register_node("bobblocks:pole", { + description = "Bobblocks Pole", drawtype = "fencelike", - tiles = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), + 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={ + 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" - }} + 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:bluepole_off", { - description = "Blue Pole", +minetest.register_node("bobblocks:pole_off", { + description = "Bobblocks Pole (off)", drawtype = "fencelike", - tiles = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), + 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:bluepole', - foo = {conductor={ + 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: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" - }} + 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 }) -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" - }} - -}) +-- old static nodes grandfathered-in because they have a different texture or usage than the colored ones. -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:btm", { + description = "Bobs TransMorgifier v5", + 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", + 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}, }) -minetest.register_node("bobblocks:whitepole", { - description = "White Pole", - drawtype = "fencelike", - tiles = {"bobblocks_whiteblock.png"}, - inventory_image = ("bobblocks_invwhitepole.png"), +minetest.register_node("bobblocks:wavyblock", { + description = "Bobblocks Wavy-textured Block", + drawtype = "glasslike", + 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: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, + 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:wavyblock_off", { + description = "Bobblocks Wavy-textured Block (off)", + tiles = {"bobblocks_wavyblock.png"}, + paramtype2 = "color", + palette = "unifieddyes_palette.png", 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={ + 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:whitepole" - }} - + 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:greypole", { - description = "Grey Pole", +minetest.register_node("bobblocks:wavypole", { + description = "Wavy-textured Pole", drawtype = "fencelike", - tiles = {"bobblocks_greyblock.png"}, - inventory_image = ("bobblocks_invgreypole.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(), - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - --light_source = LIGHT_MAX-0, + 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, }) - - -- 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 = 'NodeItem "bobblocks:greyblock" 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', + output = "bobblocks:btm", + type = "shapeless", 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", + "group:leaves", + "default:mese_crystal", + "default:diamond" }, }) minetest.register_craft({ - output = 'NodeItem "bobblocks:whiteblock" 2', + output = "bobblocks:block 2", recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:dirt" 1'}, + { "default:glass", "default:torch", "default:cobble" }, }, }) - minetest.register_craft({ - output = 'NodeItem "bobblocks:orangeblock" 2', + output = "bobblocks:pole", recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:yellowblock" 1'}, - - }, + { "bobblocks:block", "group:stick" }, + } }) - minetest.register_craft({ - output = 'NodeItem "bobblocks:violetblock" 2', + output = "bobblocks:wavyblock 2", + type = "shapeless", 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'}, - - }, -}) - --- 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'}, +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 }) - - --- 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 aca967d..ada7093 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 0000000..60d2374 Binary files /dev/null and b/bobblocks/textures/bobblocks_block.png differ diff --git a/bobblocks/textures/bobblocks_block_off.png b/bobblocks/textures/bobblocks_block_off.png new file mode 100644 index 0000000..a2dd491 Binary files /dev/null and b/bobblocks/textures/bobblocks_block_off.png differ diff --git a/bobblocks/textures/bobblocks_pole_inv.png b/bobblocks/textures/bobblocks_pole_inv.png new file mode 100644 index 0000000..0005e51 Binary files /dev/null and b/bobblocks/textures/bobblocks_pole_inv.png differ diff --git a/bobblocks/textures/bobblocks_wavyblock.png b/bobblocks/textures/bobblocks_wavyblock.png new file mode 100644 index 0000000..49979bb Binary files /dev/null and b/bobblocks/textures/bobblocks_wavyblock.png differ diff --git a/bobblocks/textures/bobblocks_wavypole_inv.png b/bobblocks/textures/bobblocks_wavypole_inv.png new file mode 100644 index 0000000..e32920c Binary files /dev/null and b/bobblocks/textures/bobblocks_wavypole_inv.png differ diff --git a/boost_cart/cart_entity.lua b/boost_cart/cart_entity.lua index ba23713..32ebe5f 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, -}) - -minetest.register_craft({ - output = "carts:cart", - recipe = { - {"default:steel_ingot", "", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - }, -}) +-- 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 + + 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 9771003..792f5cd 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 1df41e2..5120be4 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 a74e6ff..b7bdc0d 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 227b0c0..675adc8 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 a57fb4b..f12f105 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 331d858..7b3e79f 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 becbb35..4a0f500 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 23dfa15..c83f236 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 -print("[Colored Wood] Loaded!") +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 0000000..18d186e Binary files /dev/null and b/coloredwood/textures/coloredwood_base.png differ diff --git a/coloredwood/textures/coloredwood_fence_base.png b/coloredwood/textures/coloredwood_fence_base.png new file mode 100644 index 0000000..d5946e5 Binary files /dev/null and b/coloredwood/textures/coloredwood_fence_base.png differ diff --git a/computer/computers.lua b/computer/computers.lua index 877ccbd..5a7fed4 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 c48fe0d..947d2a7 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 bb690ed..534878d 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 c5017a7..5f63c7d 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 5f0b71c..1683dcc 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 5aa6fbc..2bb42bc 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 0c94994..744fcad 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 562cf63..f91fb9f 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 92d04f9..ffedce7 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 bf50495..07f60d1 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 09ebee9..99dc699 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 d5d396a..c586801 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 51c4dd5..92e0bc5 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" - 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_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.."_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 +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, - drop = "homedecor:bed_"..color.."_regular" - }) + end + end, + drop = "homedecor:bed_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 - }) - - 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 - + 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 67da99e..fecbcec 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 462f450..bb68583 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 0a00934..b2a594a 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 80ba5e7..b887c2d 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,218 +537,21 @@ 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({ - type = "fuel", - recipe = "homedecor:shutter_oak", - 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", + recipe = "homedecor:shutter_oak", 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 - -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", }, - } -}) +-- glowlights 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 ea261e9..ef16206 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 1e6ae0a..81d8583 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 9a59a96..420da6d 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 c9434b2..074fa95 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 8352431..642b7c9 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 6d9afa7..ad2d54a 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 fd79351..8f60c5d 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..")") - - if i == 1 then - desc = S("Table") - end +for _, t in ipairs(table_colors) do + local suffix, desc, texture = unpack(t) - 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 - }) + 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 }, - }, - }) +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 -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 a029d5c..e0932a4 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 208a31a..9ece79f 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" }, @@ -62,40 +62,34 @@ minetest.register_craft({ }) minetest.register_craft({ - type = "fuel", - recipe = "homedecor:chair", - burntime = 15, + output = "homedecor:armchair 2", + recipe = { + { "wool:white",""}, + { "group:wood","group:wood" }, + { "wool:white","wool:white" }, + }, }) -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:kitchen_chair_padded", + recipe = { + "homedecor:kitchen_chair_wood", + "wool:white", + }, +}) - minetest.register_craft({ - type = "shapeless", - output = "homedecor:chair_"..color, - recipe = { - "homedecor:chair", - "wool:"..color - }, - }) +minetest.register_craft({ + type = "fuel", + recipe = "homedecor:kitchen_chair_wood", + burntime = 15, +}) - 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,99 +98,51 @@ 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",""}, + {"homedecor:table_lamp_off"}, + {"group:stick"}, + {"group:stick"}, }, }) minetest.register_craft({ - output = "homedecor:table_lamp_white_off", + type = "fuel", + recipe = "homedecor:table_lamp_off", + burntime = 10, +}) + +minetest.register_craft({ + output = "homedecor:table_lamp_off", recipe = { - {"default:paper","default:torch" ,"default:paper"}, - {"","group:stick",""}, - {"","moreblocks:slab_wood",""}, + { "wool:white", "default:torch", "wool:white"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, }, }) minetest.register_craft({ - output = "homedecor:standing_lamp_white_off", + output = "homedecor:table_lamp_off", recipe = { - {"homedecor:table_lamp_white_off"}, - {"group:stick"}, - {"group:stick"}, + { "cottages:wool", "default:torch", "cottages:wool"}, + { "", "group:stick", ""}, + { "", "stairs:slab_wood", "" }, }, }) minetest.register_craft({ - type = "fuel", - recipe = "homedecor:table_lamp_white_off", - burntime = 10, + output = "homedecor:standing_lamp_off", + recipe = { + { "homedecor:table_lamp_off"}, + { "group:stick"}, + { "group:stick"}, + }, }) -local lamp_colors = { "blue", "green", "pink", "red", "violet" } - -for _, color in ipairs(lamp_colors) do - - 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: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 d4bc611..052e526 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 0767837..705f313 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 d436b49..36a7939 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 dc4b740..4db9892 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 0d8306e..c0a7df7 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 b25378f..8c20558 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 636a585..fc49177 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 a3334b0..c514e9a 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 b0e4482..f4c6ed6 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 -screwdriver = screwdriver or {} +-- 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) -homedecor.plain_wood = "homedecor_generic_wood_plain.png^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#a7682020:100)" + 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 -homedecor.mahogany_wood = "(homedecor_generic_wood_plain.png^[colorize:#401010:125)^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#66493880:200)" +-- use this when you have a "wallmounted" node that should never be oriented +-- to floor or ceiling (e.g. a desk lamp) -homedecor.white_wood = "(homedecor_generic_wood_plain.png^[colorize:#e0f0ff:200)^".. - "(homedecor_generic_wood_boards_overlay.png^[colorize:#ffffff:200)" +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.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 0000000..6669d72 --- /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 70d0703..1caa1ec 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 cf240f8..d0712cf 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 e2ef721..5ee9ec6 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 6b8ff07..2101ce9 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 - - if color == "" then - lampcolor = "" - colordesc = " (white)" - woolcolor = "white" - end +local function reg_lamp(suffix, nxt, light, brightness) + + 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 0000000..8185e22 --- /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 0000000..8395815 --- /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 0000000..5fc61e3 --- /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 0000000..0b4a439 --- /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 0000000..bcdc5e4 --- /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 0000000..c764568 --- /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 0000000..5f4acc9 --- /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 0000000..ee7cd93 --- /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 70322d4..3eb4240 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") + + for _, mat in ipairs(homedecor.banister_materials) do - local name = homedecor.banister_materials[i][1] + 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 6af52cd..b563691 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 4616b46..b8e49c4 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.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.500000 -0.500000 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.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.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.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 9b5dad1..89a939d 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 3694fc9..cecbd96 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 c1213ea..3cda1b4 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 09fca5f..52bd58b 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 ec99db9..6fad0f9 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 c2292c8..4080c6c 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 24fe30e..b28c3a3 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 df06bd9..1299fcb 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 05a359f..733632b 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 tile = "homedecor_window_shutter.png^[colorize:"..hue - local inv = "homedecor_window_shutter_inv.png^[colorize:"..hue - - 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 +local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150" + +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_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 9910cec..d0aa812 100644 --- a/homedecor/tables.lua +++ b/homedecor/tables.lua @@ -1,10 +1,19 @@ --- Various kinds of tables -local S = homedecor.gettext +local S = homedecor_i18n.gettext + +-- Various kinds of tables 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 0000000..41eb85d Binary files /dev/null and b/homedecor/textures/homedecor_armchair_inv.png differ diff --git a/homedecor/textures/homedecor_bed_inv.png b/homedecor/textures/homedecor_bed_inv.png index c670b45..c89575c 100644 Binary files a/homedecor/textures/homedecor_bed_inv.png and b/homedecor/textures/homedecor_bed_inv.png differ diff --git a/homedecor/textures/homedecor_bed_kingsize_inv.png b/homedecor/textures/homedecor_bed_kingsize_inv.png index 5f8c93e..c454e77 100644 Binary files a/homedecor/textures/homedecor_bed_kingsize_inv.png and b/homedecor/textures/homedecor_bed_kingsize_inv.png differ diff --git a/homedecor/textures/homedecor_chair_padded_inv.png b/homedecor/textures/homedecor_chair_padded_inv.png new file mode 100644 index 0000000..1d59dd5 Binary files /dev/null and b/homedecor/textures/homedecor_chair_padded_inv.png differ diff --git a/homedecor/textures/homedecor_chair_wood_inv.png b/homedecor/textures/homedecor_chair_wood_inv.png new file mode 100644 index 0000000..12c216a Binary files /dev/null and b/homedecor/textures/homedecor_chair_wood_inv.png differ diff --git a/homedecor/textures/homedecor_curtain.png b/homedecor/textures/homedecor_curtain.png index 97ef90d..4274d2b 100644 Binary files a/homedecor/textures/homedecor_curtain.png and b/homedecor/textures/homedecor_curtain.png differ diff --git a/homedecor/textures/homedecor_curtain_open.png b/homedecor/textures/homedecor_curtain_open.png index 8a71ae2..e593d06 100644 Binary files a/homedecor/textures/homedecor_curtain_open.png and b/homedecor/textures/homedecor_curtain_open.png differ diff --git a/homedecor/textures/homedecor_desk_lamp_inv.png b/homedecor/textures/homedecor_desk_lamp_inv.png new file mode 100644 index 0000000..1806758 Binary files /dev/null and b/homedecor/textures/homedecor_desk_lamp_inv.png differ diff --git a/homedecor/textures/homedecor_generic_metal.png b/homedecor/textures/homedecor_generic_metal.png new file mode 100644 index 0000000..3a7c063 Binary files /dev/null and b/homedecor/textures/homedecor_generic_metal.png differ diff --git a/homedecor/textures/homedecor_generic_plastic.png b/homedecor/textures/homedecor_generic_plastic.png new file mode 100644 index 0000000..44cdc6a Binary files /dev/null and b/homedecor/textures/homedecor_generic_plastic.png differ diff --git a/homedecor/textures/homedecor_generic_wood_luxury.png b/homedecor/textures/homedecor_generic_wood_luxury.png index a03d17c..3387c3b 100644 Binary files a/homedecor/textures/homedecor_generic_wood_luxury.png and b/homedecor/textures/homedecor_generic_wood_luxury.png differ diff --git a/homedecor/textures/homedecor_generic_wood_plain.png b/homedecor/textures/homedecor_generic_wood_plain.png index 4df1e39..04d3a91 100644 Binary files a/homedecor/textures/homedecor_generic_wood_plain.png and b/homedecor/textures/homedecor_generic_wood_plain.png differ diff --git a/homedecor/textures/homedecor_glowlight_bottom.png b/homedecor/textures/homedecor_glowlight_bottom.png new file mode 100644 index 0000000..37a6b4d Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_bottom.png differ diff --git a/homedecor/textures/homedecor_glowlight_cube_sides.png b/homedecor/textures/homedecor_glowlight_cube_sides.png new file mode 100644 index 0000000..06182d0 Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_cube_sides.png differ 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 0000000..0f2fb3d Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_cube_sides_ceiling.png differ diff --git a/homedecor/textures/homedecor_glowlight_cube_tb.png b/homedecor/textures/homedecor_glowlight_cube_tb.png new file mode 100644 index 0000000..d5f0615 Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_cube_tb.png differ diff --git a/homedecor/textures/homedecor_glowlight_thick_sides.png b/homedecor/textures/homedecor_glowlight_thick_sides.png new file mode 100644 index 0000000..81a9518 Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_thick_sides.png differ diff --git a/homedecor/textures/homedecor_glowlight_thin_sides.png b/homedecor/textures/homedecor_glowlight_thin_sides.png new file mode 100644 index 0000000..8c1dd69 Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_thin_sides.png differ diff --git a/homedecor/textures/homedecor_glowlight_top.png b/homedecor/textures/homedecor_glowlight_top.png new file mode 100644 index 0000000..3a06edb Binary files /dev/null and b/homedecor/textures/homedecor_glowlight_top.png differ diff --git a/homedecor/textures/homedecor_marble.png b/homedecor/textures/homedecor_marble.png index 9aca475..b8b6dd3 100644 Binary files a/homedecor/textures/homedecor_marble.png and b/homedecor/textures/homedecor_marble.png differ diff --git a/homedecor/textures/homedecor_table_standing_lamp_lightbulb.png b/homedecor/textures/homedecor_table_standing_lamp_lightbulb.png index 077dd46..cd93c8f 100644 Binary files a/homedecor/textures/homedecor_table_standing_lamp_lightbulb.png and b/homedecor/textures/homedecor_table_standing_lamp_lightbulb.png differ diff --git a/homedecor/textures/homedecor_window_shutter.png b/homedecor/textures/homedecor_window_shutter.png index 4335eab..47cdf7b 100644 Binary files a/homedecor/textures/homedecor_window_shutter.png and b/homedecor/textures/homedecor_window_shutter.png differ diff --git a/homedecor/textures/homedecor_window_shutter_inv.png b/homedecor/textures/homedecor_window_shutter_inv.png index c3f54aa..fd77e81 100644 Binary files a/homedecor/textures/homedecor_window_shutter_inv.png and b/homedecor/textures/homedecor_window_shutter_inv.png differ diff --git a/homedecor/tools/updatepo.sh b/homedecor/tools/updatepo.sh new file mode 100755 index 0000000..b0f82e5 --- /dev/null +++ b/homedecor/tools/updatepo.sh @@ -0,0 +1,20 @@ +#! /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_ \ + -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/homedecor/trash_cans.lua b/homedecor/trash_cans.lua index 70c45d8..5405700 100644 --- a/homedecor/trash_cans.lua +++ b/homedecor/trash_cans.lua @@ -1,4 +1,3 @@ -local S = homedecor.gettext local tg_cbox = { type = "fixed", @@ -11,7 +10,7 @@ homedecor.register("trash_can_green", { tiles = { "homedecor_pool_table_baize.png" }, inventory_image = "homedecor_trash_can_green_inv.png", description = "Trash Can (green)", - groups = {snappy=3}, + groups = {snappy=3}, selection_box = tg_cbox, collision_box = tg_cbox, on_punch = function(pos, node, puncher, pointed_thing) diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua index c7dde42..986eed5 100644 --- a/homedecor/wardrobe.lua +++ b/homedecor/wardrobe.lua @@ -1,4 +1,3 @@ -local S = homedecor.gettext local wd_cbox = { type = "fixed", @@ -43,7 +42,6 @@ homedecor.register("wardrobe", { "listring[]") end, on_receive_fields = function(pos, formname, fields, sender) - local meta = minetest.get_meta(pos) local skins = {"male1", "male2", "male3", "male4", "male5"} local playerName = sender:get_player_name() local armor_mod = minetest.get_modpath("3d_armor") diff --git a/homedecor/window_treatments.lua b/homedecor/window_treatments.lua index 1b7f915..27be83d 100644 --- a/homedecor/window_treatments.lua +++ b/homedecor/window_treatments.lua @@ -1,7 +1,10 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end homedecor.register("window_quartered", { - description = "Window (quartered)", + description = S("Window (quartered)"), tiles = { "homedecor_window_sides.png", "homedecor_window_sides.png", @@ -32,7 +35,7 @@ homedecor.register("window_quartered", { }) homedecor.register("window_plain", { - description = "Window (plain)", + description = S("Window (plain)"), tiles = { "homedecor_window_sides.png", "homedecor_window_sides.png", @@ -66,7 +69,7 @@ local wb1_cbox = { } homedecor.register("blinds_thick", { - description = "Window Blinds (thick)", + description = S("Window Blinds (thick)"), mesh = "homedecor_windowblind_thick.obj", inventory_image = "homedecor_windowblind_thick_inv.png", tiles = { @@ -85,7 +88,7 @@ local wb2_cbox = { } homedecor.register("blinds_thin", { - description = "Window Blinds (thin)", + description = S("Window Blinds (thin)"), mesh = "homedecor_windowblind_thin.obj", inventory_image = "homedecor_windowblind_thin_inv.png", tiles = { @@ -98,82 +101,82 @@ homedecor.register("blinds_thin", { selection_box = wb2_cbox }) -local curtaincolors = { - { "red", "#ad2323e0:175" }, - { "green", "#27a927e0:175" }, - { "blue", "#2626c6e0:175" }, - { "white", "#ffffffe0:175" }, - { "pink", "#ff8fb7e0:175" }, - { "violet", "#7f29d7e0:175" }, -} - -for c in ipairs(curtaincolors) do - local color = curtaincolors[c][1] - local hue = curtaincolors[c][2] - local color_d = S(curtaincolors[c][1]) - - homedecor.register("curtain_"..color, { - description = S("Curtains (%s)"):format(color_d), - tiles = { "homedecor_curtain.png^[colorize:"..hue }, - inventory_image = "homedecor_curtain.png^[colorize:"..hue, - wield_image = "homedecor_curtain.png^[colorize:"..hue, - drawtype = 'signlike', - use_texture_alpha = true, - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { type = "wallmounted" }, - -- Open the curtains - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +minetest.register_node("homedecor:curtain_closed", { + description = S("Curtains"), + tiles = { "homedecor_curtain.png" }, + inventory_image = "homedecor_curtain.png", + drawtype = 'signlike', + use_texture_alpha = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { type = "wallmounted" }, + after_dig_node = unifieddyes.after_dig_node, + after_place_node = homedecor.fix_rotation, + 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:curtain_closed", "wallmounted") + else local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}) if string.find(topnode.name, "homedecor:curtainrod") then + -- Open the curtains local fdir = node.param2 - minetest.set_node(pos, { name = "homedecor:curtain_open_"..color, param2 = fdir }) + minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir }) end return itemstack end - }) + end +}) - homedecor.register("curtain_open_"..color, { - description = S("Curtains (%s)"):format(color_d), - tiles = { "homedecor_curtain_open.png^[colorize:"..hue }, - inventory_image = "homedecor_curtain_open.png^[colorize:"..hue, - wield_image = "homedecor_curtain_open.png^[colorize:"..hue, - drawtype = 'signlike', - use_texture_alpha = true, - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { type = "wallmounted" }, - -- Close the curtains - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +minetest.register_node("homedecor:curtain_open", { + description = S("Curtains"), + tiles = { "homedecor_curtain_open.png" }, + inventory_image = "homedecor_curtain_open.png", + drawtype = 'signlike', + use_texture_alpha = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { type = "wallmounted" }, + after_dig_node = unifieddyes.after_dig_node, + after_place_node = homedecor.fix_rotation, + 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:curtain_open", "wallmounted") + else local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}) if string.find(topnode.name, "homedecor:curtainrod") then + -- Close the curtains local fdir = node.param2 - minetest.set_node(pos, { name = "homedecor:curtain_"..color, param2 = fdir }) + minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir }) end return itemstack end - }) - -end + end +}) local mats = { - { "brass", "Brass", "homedecor_generic_metal_brass.png" }, - { "wrought_iron", "Wrought iron", "homedecor_generic_metal_wrought_iron.png" }, - { "wood", "Wooden", "default_wood.png" } + { "brass", S("brass"), "homedecor_generic_metal_brass.png" }, + { "wrought_iron", S("wrought iron"), "homedecor_generic_metal_wrought_iron.png" }, + { "wood", S("wood"), "default_wood.png" } } -for i in ipairs(mats) do - local material = mats[i][1] - local mat_name = mats[i][2] - local texture = mats[i][3] +for _, m in ipairs(mats) do + local material, mat_name, texture = unpack(m) homedecor.register("curtainrod_"..material, { tiles = { texture }, inventory_image = "homedecor_curtainrod_"..material.."_inv.png", - description = "Curtain Rod ("..mat_name..")", + description = S("Curtain Rod (@1)", mat_name), groups = { snappy = 3 }, node_box = { type = "fixed", @@ -187,7 +190,7 @@ for i in ipairs(mats) do end homedecor.register("window_flowerbox", { - description = "Window flowerbow", + description = S("Window flowerbox"), tiles = { "homedecor_flowerbox_top.png", "homedecor_flowerbox_bottom.png", @@ -207,7 +210,7 @@ homedecor.register("window_flowerbox", { }) homedecor.register("stained_glass", { - description = "Stained Glass", + description = S("Stained Glass"), tiles = {"homedecor_stained_glass.png"}, inventory_image = "homedecor_stained_glass.png", groups = {snappy=3}, @@ -219,3 +222,55 @@ homedecor.register("stained_glass", { fixed = { {-0.5, -0.5, 0.46875, 0.5, 0.5, 0.5} } } }) + +-- Convert old curtain nodes to param2-colorization + +local curtaincolors = { + { N_("red"), "ad2323" }, + { N_("green"), "27a927" }, + { N_("blue"), "2626c6" }, + { N_("white"), "ffffff" }, + { N_("pink"), "ff8fb7" }, + { N_("violet"), "7f29d7" }, +} + +homedecor.old_static_curtain_nodes = {} + +for _, i in ipairs(curtaincolors) do + local color,hue = unpack(i) + table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_"..color) + table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_open_"..color) +end + +minetest.register_lbm({ + name = "homedecor:convert_curtains", + label = "Convert static curtain nodes to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_static_curtain_nodes, + action = function(pos, node) + local name = node.name + local color = string.sub(name, 19) + local openclose = "closed" + + if string.find(color, "open") then + color = string.sub(color, 6) + openclose = "open" + end + + local metadye = "medium_"..color + if color == "pink" then + metadye = "light_red" + end + if color == "white" then + metadye = "white" + end + + local newnode = "homedecor:curtain_"..openclose + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..metadye, "wallmounted") + local newparam2 = paletteidx + (node.param2 % 8) + + minetest.set_node(pos, { name = newnode, param2 = newparam2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..metadye) + end +}) diff --git a/homedecor_3d_extras/init.lua b/homedecor_3d_extras/init.lua index 0b18d92..498e09c 100644 --- a/homedecor_3d_extras/init.lua +++ b/homedecor_3d_extras/init.lua @@ -27,7 +27,7 @@ if minetest.get_modpath("vessels") paramtype2 = "facedir", use_texture_alpha = true }) - + local sbox = { type = "fixed", fixed = { -0.15, -0.5, -0.15, 0.15, -0.1, 0.15 } @@ -89,4 +89,3 @@ if minetest.get_modpath("moreblocks") then } }) end - diff --git a/homedecor_i18n/depends.txt b/homedecor_i18n/depends.txt new file mode 100644 index 0000000..77e8d97 --- /dev/null +++ b/homedecor_i18n/depends.txt @@ -0,0 +1 @@ +intllib? diff --git a/homedecor_i18n/init.lua b/homedecor_i18n/init.lua new file mode 100644 index 0000000..1256ff1 --- /dev/null +++ b/homedecor_i18n/init.lua @@ -0,0 +1,7 @@ + +-- This file intentionally left blank. + +homedecor_i18n = { } + +local MP = minetest.get_modpath(minetest.get_current_modname()) +homedecor_i18n.gettext, homedecor_i18n.ngettext = dofile(MP.."/intllib.lua") diff --git a/homedecor_i18n/intllib.lua b/homedecor_i18n/intllib.lua new file mode 100644 index 0000000..6669d72 --- /dev/null +++ b/homedecor_i18n/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_i18n/locale/de.po b/homedecor_i18n/locale/de.po new file mode 100644 index 0000000..ad927d0 --- /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 0000000..5c52b50 --- /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 0000000..30a7809 --- /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 0000000..7492464 --- /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 0000000..c550a46 --- /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 0000000..a343f54 --- /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 0000000..bde49c5 --- /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 0000000..cf101d3 --- /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 b08c42c..fe7e3d9 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 ca2db24..96f2d3e 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") +-- Helper function to work around an engine bug + +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 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! -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" }, +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 } } -local lamp_cbox = { - type = "fixed", - fixed = { -11/32, -8/16, -11/32, 11/32, 4/16, 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" } -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" } - }, - }) +ilights.old_static_nodes = {} - end +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 053b20f..16c67cd 100644 Binary files a/ilights/textures/ilights_lamp_bulb.png and b/ilights/textures/ilights_lamp_bulb.png differ diff --git a/inbox/depends.txt b/inbox/depends.txt index 4ad96d5..947d2a7 100644 --- a/inbox/depends.txt +++ b/inbox/depends.txt @@ -1 +1,2 @@ default +homedecor_i18n diff --git a/inbox/init.lua b/inbox/init.lua index d188f0d..7262e9f 100644 --- a/inbox/init.lua +++ b/inbox/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + local inbox = {} screwdriver = screwdriver or {} @@ -19,7 +22,7 @@ minetest.register_node("inbox:empty", { paramtype = "light", drawtype = "mesh", mesh = "inbox_mailbox.obj", - description = "Mailbox", + description = S("Mailbox"), tiles = { "inbox_red_metal.png", "inbox_white_metal.png", @@ -36,7 +39,7 @@ minetest.register_node("inbox:empty", { local meta = minetest.get_meta(pos) local owner = placer:get_player_name() meta:set_string("owner", owner) - meta:set_string("infotext", owner.."'s Mailbox") + meta:set_string("infotext", S("@1's Mailbox", owner)) local inv = meta:get_inventory() inv:set_size("main", 8*4) inv:set_size("drop", 1) @@ -45,8 +48,9 @@ minetest.register_node("inbox:empty", { local meta = minetest.get_meta(pos) local player = clicker:get_player_name() local owner = meta:get_string("owner") - local meta = minetest.get_meta(pos) - if owner == player then + if owner == player or + minetest.check_player_privs(player, "protection_bypass") and + clicker:get_player_control().aux1 then minetest.show_formspec( clicker:get_player_name(), "default:chest_locked", diff --git a/item_tweaks/item_drop.lua b/item_tweaks/item_drop.lua index aa0e9d0..7f030db 100644 --- a/item_tweaks/item_drop.lua +++ b/item_tweaks/item_drop.lua @@ -188,6 +188,12 @@ if minetest.setting_get("enable_item_pickup") == "true" then playerPosition.y = playerPosition.y + 0.5 local inv = player:get_inventory() + for _,i in ipairs({"x","y","z"}) do + if playerPosition[i] > 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 85a4dc2..29ebd95 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 8fca5e9..94004a2 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 29a8e95..9944202 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 93571c6..eec843a 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"}, -} -for i in ipairs(lavalamps_list) do - local lavalampdesc = lavalamps_list[i][1] - local colour = lavalamps_list[i][2] +local S = homedecor_i18n.gettext - 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, - }) +lavalamp = {} - 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) +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 + 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" +} - 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 0000000..d9f7d53 Binary files /dev/null and b/lavalamp/textures/lavalamp_lamp_anim.png differ diff --git a/lavalamp/textures/lavalamp_lamp_inv.png b/lavalamp/textures/lavalamp_lamp_inv.png new file mode 100644 index 0000000..04296c6 Binary files /dev/null and b/lavalamp/textures/lavalamp_lamp_inv.png differ diff --git a/lavalamp/textures/lavalamp_lamp_off.png b/lavalamp/textures/lavalamp_lamp_off.png index 704f9c5..491708e 100644 Binary files a/lavalamp/textures/lavalamp_lamp_off.png and b/lavalamp/textures/lavalamp_lamp_off.png differ diff --git a/lrfurn/armchairs.lua b/lrfurn/armchairs.lua index f3b8225..fc9d096 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 - }) - - minetest.register_craft({ - output = "lrfurn:armchair_"..colour, - recipe = { - {"wool:"..colour, "", "", }, - {"stairs:slab_wood", "", "", }, - {"group:stick", "", "", } - } - }) - - minetest.register_craft({ - output = "lrfurn:armchair_"..colour, - recipe = { - {"wool:"..colour, "", "", }, - {"moreblocks:slab_wood", "", "", }, - {"group:stick", "", "", } - } - }) + end +}) +minetest.register_craft({ + output = "lrfurn:armchair", + recipe = { + {"wool:white", "", "", }, + {"stairs: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 7f7afaa..506a5bf 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 470ec30..973de17 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 fa3940a..b94da3b 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 64e2ab9..6434136 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 a1721a9..b741aa9 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_"..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, - - 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) +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 + + local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) + + 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 - }) - - 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_"..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_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, - {"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", }, - {"group:stick", "group:stick", "group:stick", } - } - }) + end +}) + +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", + recipe = { + {"wool:white", "wool:white", "wool:white", }, + {"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 78a85c2..1ad653e 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 99d0db6..d8e32db 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 a11e01b..1bf1446 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 bc071c2..b05414c 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_"..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, - - 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" }) +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 - end - return itemstack - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) + + 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 - }) - - minetest.register_alias("lrfurn:sofa_left_"..colour, "air") - minetest.register_alias("lrfurn:sofa_right_"..colour, "lrfurn:sofa_"..colour) - - 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_"..colour, - recipe = { - {"wool:"..colour, "wool:"..colour, "", }, - {"moreblocks:slab_wood", "moreblocks:slab_wood", "", }, - {"group:stick", "group:stick", "", } - } - }) + end +}) + +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", + recipe = { + {"wool:white", "wool:white", "", }, + {"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 0000000..cc6b87b Binary files /dev/null and b/lrfurn/textures/lrfurn_armchair_inv.png differ diff --git a/lrfurn/textures/lrfurn_longsofa_inv.png b/lrfurn/textures/lrfurn_longsofa_inv.png new file mode 100644 index 0000000..37bde8b Binary files /dev/null and b/lrfurn/textures/lrfurn_longsofa_inv.png differ diff --git a/lrfurn/textures/lrfurn_sofa_inv.png b/lrfurn/textures/lrfurn_sofa_inv.png new file mode 100644 index 0000000..a4f7f6f Binary files /dev/null and b/lrfurn/textures/lrfurn_sofa_inv.png differ diff --git a/lrfurn/textures/lrfurn_upholstery.png b/lrfurn/textures/lrfurn_upholstery.png new file mode 100644 index 0000000..6db36a8 Binary files /dev/null and b/lrfurn/textures/lrfurn_upholstery.png differ diff --git a/moreblocks/.luacheckrc b/moreblocks/.luacheckrc new file mode 100644 index 0000000..fbf3483 --- /dev/null +++ b/moreblocks/.luacheckrc @@ -0,0 +1,14 @@ +unused_args = false +allow_defined_top = true + +read_globals = { + "DIR_DELIM", + "minetest", "core", + "dump", + "vector", "nodeupdate", + "VoxelManip", "VoxelArea", + "PseudoRandom", "ItemStack", + "intllib", + "default", +} + diff --git a/moreblocks/aliases.lua b/moreblocks/aliases.lua index c34472d..e1ddc64 100644 --- a/moreblocks/aliases.lua +++ b/moreblocks/aliases.lua @@ -77,4 +77,3 @@ minetest.register_abm({ }) end, }) - diff --git a/moreblocks/circular_saw.lua b/moreblocks/circular_saw.lua index 09fbd90..61d53a7 100644 --- a/moreblocks/circular_saw.lua +++ b/moreblocks/circular_saw.lua @@ -145,7 +145,7 @@ function circular_saw:update_inventory(pos, amount) self:reset(pos) return end - + local stack = inv:get_stack("input", 1) -- At least one "normal" block is necessary to see what kind of stairs are requested. if stack:is_empty() then @@ -327,8 +327,6 @@ function circular_saw.on_metadata_inventory_take( -- The recycle field plays no role here since it is processed immediately. end -gui_slots = "listcolors[#606060AA;#808080;#101010;#202020;#FFF]" - function circular_saw.on_construct(pos) local meta = minetest.get_meta(pos) local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots @@ -371,14 +369,14 @@ function circular_saw.can_dig(pos,player) end minetest.register_node("moreblocks:circular_saw", { - description = S("Circular Saw"), - drawtype = "nodebox", + description = S("Circular Saw"), + drawtype = "nodebox", node_box = { - type = "fixed", + type = "fixed", fixed = { {-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- Leg {0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- Leg - {-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- Leg + {-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- Leg {0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- Leg {-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- Tabletop {-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- Saw blade (top) @@ -389,9 +387,9 @@ minetest.register_node("moreblocks:circular_saw", { tiles = {"moreblocks_circular_saw_top.png", "moreblocks_circular_saw_bottom.png", "moreblocks_circular_saw_side.png"}, - paramtype = "light", + paramtype = "light", sunlight_propagates = true, - paramtype2 = "facedir", + paramtype2 = "facedir", groups = {choppy = 2,oddly_breakable_by_hand = 2}, sounds = default.node_sound_wood_defaults(), on_construct = circular_saw.on_construct, diff --git a/moreblocks/crafting.lua b/moreblocks/crafting.lua index 501c9f4..16753c3 100644 --- a/moreblocks/crafting.lua +++ b/moreblocks/crafting.lua @@ -207,6 +207,8 @@ minetest.register_craft({ output = "moreblocks:empty_bookshelf", type = "shapeless", recipe = {"moreblocks:sweeper", "default:bookshelf"}, + replacements = {{"default:bookshelf", "default:book 3"}}, + -- When obtaining an empty bookshelf, return the books used in it as well }) minetest.register_craft({ @@ -475,7 +477,7 @@ minetest.register_craft({ if minetest.setting_getbool("moreblocks.circular_saw_crafting") ~= false then -- “If nil or true then” minetest.register_craft({ - output = "moreblocks:circular_saw", + output = "moreblocks:circular_saw", recipe = { { "", "default:steel_ingot", "" }, { "group:wood", "group:wood", "group:wood"}, diff --git a/moreblocks/models/moreblocks_slope.obj b/moreblocks/models/moreblocks_slope.obj index 22a833f..57298d7 100644 --- a/moreblocks/models/moreblocks_slope.obj +++ b/moreblocks/models/moreblocks_slope.obj @@ -1,26 +1,56 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope.mtl -o Cube_Cube.002 +g top v 0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +s off +f 2/1/1 1/2/1 4/3/1 3/4/1 +g bottom v -0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000 v -0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -usemtl None +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 6/5/2 5/6/2 7/7/2 8/8/2 +g right +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 9/9/3 11/10/3 10/11/3 +g left +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 12/12/4 13/13/4 14/14/4 +g back +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/3/2 3/4/2 5/1/2 6/2/2 -f 2/1/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/1/5 1/2/5 6/3/5 5/4/5 +f 15/15/5 16/16/5 17/17/5 18/18/5 diff --git a/moreblocks/models/moreblocks_slope_cut.obj b/moreblocks/models/moreblocks_slope_cut.obj index a9ea83d..bf2dd79 100644 --- a/moreblocks/models/moreblocks_slope_cut.obj +++ b/moreblocks/models/moreblocks_slope_cut.obj @@ -1,33 +1,68 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_cut.mtl -o moreblocks_slope_cut +g top +v 0.500000 0.500000 0.500000 +v -0.500000 -0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.5000 0.0000 +vt 1.0000 1.0000 +vt 0.5000 2.0000 +vt 0.0000 1.0000 +vn -0.4082 0.8165 -0.4082 +s 1 +f 4/1/1 2/2/1 1/3/1 3/4/1 +g bottom +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s 1 +f 6/5/2 5/6/2 8/7/2 7/8/2 +g right +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vn -1.0000 0.0000 0.0000 +s 1 +f 11/9/3 9/10/3 10/11/3 +g left +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +s 1 +f 12/12/4 14/13/4 15/14/4 13/15/4 +g back v -0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000 v 0.500000 0.500000 0.500000 v -0.500000 -0.000000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 0.5000 +vn -0.0000 -0.0000 1.0000 +s 1 +f 16/16/5 17/17/5 18/18/5 19/19/5 +g front v 0.500000 -0.500000 -0.500000 v 0.500000 0.000000 -0.500000 v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 0.000000 -vt 0.500000 2.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn -0.408200 0.816500 -0.408200 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 2/1/2 5/2/2 6/5/2 3/6/2 -f 2/3/3 1/6/3 7/1/3 5/2/3 -f 7/7/4 4/3/4 3/8/4 6/6/4 -f 5/1/5 7/2/5 6/4/5 -f 7/1/6 1/2/6 4/5/6 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 0.5000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 20/20/6 22/21/6 21/22/6 diff --git a/moreblocks/models/moreblocks_slope_half.obj b/moreblocks/models/moreblocks_slope_half.obj index a6b1a56..1fa631c 100644 --- a/moreblocks/models/moreblocks_slope_half.obj +++ b/moreblocks/models/moreblocks_slope_half.obj @@ -1,28 +1,56 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_half.mtl -o Cube_Cube.002 +g top v 0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +s off +f 2/1/1 1/2/1 4/3/1 3/4/1 +g bottom v -0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000 v -0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -usemtl None +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 6/5/2 5/6/2 7/7/2 8/8/2 +g right +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 9/9/3 11/10/3 10/11/3 +g left +v 0.500000 -0.000000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 12/12/4 13/13/4 14/14/4 +g back +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/3/2 3/4/2 5/5/2 6/6/2 -f 2/1/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/5/5 1/6/5 6/3/5 5/4/5 +f 15/15/5 16/16/5 17/17/5 18/18/5 diff --git a/moreblocks/models/moreblocks_slope_half_raised.obj b/moreblocks/models/moreblocks_slope_half_raised.obj index 6f985e3..86139d7 100644 --- a/moreblocks/models/moreblocks_slope_half_raised.obj +++ b/moreblocks/models/moreblocks_slope_half_raised.obj @@ -1,32 +1,72 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_half_raised.mtl -o Cube.001 +g top v -0.500000 0.500000 0.500000 v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +s off +f 2/1/1 1/2/1 4/3/1 3/4/1 +g bottom v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 6/5/2 5/6/2 7/7/2 8/8/2 +g right +v -0.500000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 9/9/3 10/10/3 11/11/3 12/12/3 +g left v 0.500000 0.000000 -0.500000 v 0.500000 -0.500000 -0.500000 v 0.500000 0.500000 0.500000 v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 0.894400 -0.447200 -usemtl None.001 +vt 1.0000 0.5000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 13/13/4 15/14/4 16/15/4 14/16/4 +g back +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 19/17/5 17/18/5 18/19/5 20/20/5 +g front +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 2/5/2 5/2/2 6/3/2 3/4/2 -f 5/5/3 7/6/3 8/3/3 6/4/3 -f 7/1/4 1/6/4 4/3/4 8/4/4 -f 4/4/5 3/1/5 6/6/5 8/3/5 -f 2/4/6 1/1/6 7/6/6 5/3/6 +f 21/21/6 23/22/6 24/23/6 22/24/6 diff --git a/moreblocks/models/moreblocks_slope_inner.obj b/moreblocks/models/moreblocks_slope_inner.obj index d4a444e..c6f811e 100644 --- a/moreblocks/models/moreblocks_slope_inner.obj +++ b/moreblocks/models/moreblocks_slope_inner.obj @@ -1,35 +1,81 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner.mtl -o Cube_Cube.000 +g top v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.7071 0.0000 +s 1 +f 3/1/1 2/2/1 4/3/1 +f 2/4/2 1/5/2 5/6/2 +g bottom v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s 1 +f 9/7/3 7/8/3 6/9/3 8/10/3 +l 8 10 +g right v -0.500000 0.500000 0.500000 v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s 1 +f 11/11/4 12/12/4 13/13/4 +g left +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s 1 +f 14/14/5 15/15/5 16/16/5 17/17/5 +l 15 18 +g back +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.707100 0.707100 0.000000 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 6/3/2 7/4/2 -f 5/1/3 2/2/3 6/4/3 -f 1/2/4 4/3/4 8/4/4 -f 8/1/5 4/2/5 3/3/5 7/4/5 -f 7/3/6 3/4/6 2/1/6 5/2/6 -f 2/1/7 1/2/7 8/3/7 -l 7 9 -l 2 9 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s 1 +f 22/18/6 20/19/6 19/20/6 21/21/6 +l 22 23 +l 19 23 +g front +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 24/22/7 25/23/7 27/24/7 diff --git a/moreblocks/models/moreblocks_slope_inner_cut.obj b/moreblocks/models/moreblocks_slope_inner_cut.obj index b687b11..babe502 100644 --- a/moreblocks/models/moreblocks_slope_inner_cut.obj +++ b/moreblocks/models/moreblocks_slope_inner_cut.obj @@ -1,32 +1,72 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut.mtl -o moreblocks_slope_inner_cut +g top +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.5000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.5774 0.5774 -0.5774 +s 1 +f 3/1/1 2/2/1 1/3/1 +f 4/4/2 3/5/2 1/6/2 +g bottom +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s 1 +f 6/7/3 5/8/3 7/9/3 8/10/3 +g right +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn -1.0000 0.0000 0.0000 +s 1 +f 11/11/4 9/12/4 10/13/4 +g left v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +s 1 +f 12/14/5 13/15/5 14/16/5 15/17/5 +g back +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s 1 +f 18/18/6 16/19/6 17/20/6 19/21/6 +g front +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.500000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 1.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -0.577400 0.577400 -0.577400 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/3/3 7/4/3 -f 6/1/4 4/2/4 3/3/4 -f 7/1/5 5/2/5 6/3/5 -f 2/1/6 7/2/6 3/4/6 -f 7/5/7 6/3/7 3/4/7 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 20/22/7 22/23/7 21/24/7 diff --git a/moreblocks/models/moreblocks_slope_inner_cut_half.obj b/moreblocks/models/moreblocks_slope_inner_cut_half.obj index 82a387b..5af38b5 100644 --- a/moreblocks/models/moreblocks_slope_inner_cut_half.obj +++ b/moreblocks/models/moreblocks_slope_inner_cut_half.obj @@ -1,34 +1,72 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut_half.mtl -o moreblocks_slope_inner_cut_half +g top +v 0.500000 0.000000 -0.500000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.5000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.4082 0.8165 -0.4082 +s 1 +f 3/1/1 2/2/1 1/3/1 +f 4/4/2 3/5/2 1/6/2 +g bottom +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s 1 +f 6/7/3 5/8/3 7/9/3 8/10/3 +g right +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vn -1.0000 0.0000 0.0000 +s 1 +f 11/11/4 9/12/4 10/13/4 +g left v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 v 0.500000 0.000000 -0.500000 v 0.500000 -0.000000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vn 1.0000 0.0000 0.0000 +s 1 +f 12/14/5 13/15/5 14/16/5 15/17/5 +g back +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.000000 0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 -0.000000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vn 0.0000 -0.0000 1.0000 +s 1 +f 18/18/6 16/19/6 17/20/6 19/21/6 +g front +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.500000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 1.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/5/3 7/6/3 -f 6/1/4 4/2/4 3/5/4 -f 7/1/5 5/2/5 6/3/5 -f 2/1/6 7/2/6 3/4/6 -f 7/7/7 6/5/7 3/6/7 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 0.5000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 20/22/7 22/23/7 21/24/7 diff --git a/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj b/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj index 8231ee4..d8c1f81 100644 --- a/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj +++ b/moreblocks/models/moreblocks_slope_inner_cut_half_raised.obj @@ -1,35 +1,76 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_cut_half_raised.mtl -o moreblocks_slope_inner_cut_half_raised +g top +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.5000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.4082 0.8165 -0.4082 +s 1 +f 3/1/1 2/2/1 1/3/1 +f 4/4/2 3/5/2 1/6/2 +g bottom +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s 1 +f 6/7/3 5/8/3 7/9/3 8/10/3 +g right +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.000000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 0.5000 +vn -1.0000 0.0000 0.0000 +s 1 +f 11/11/4 9/12/4 10/13/4 12/14/4 +g left v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +s 1 +f 13/15/5 14/16/5 15/17/5 16/18/5 +g back +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s 1 +f 19/19/6 17/20/6 18/21/6 20/22/6 +g front +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 v -0.500000 -0.500000 -0.500000 v -0.500000 0.000000 -0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.500000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 1.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn -0.000000 0.000000 -1.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 1/2/2 4/3/2 6/4/2 -f 2/1/3 1/2/3 5/3/3 7/4/3 -f 6/1/4 4/2/4 3/3/4 -f 7/1/5 5/2/5 6/3/5 8/5/5 -f 2/1/6 7/2/6 8/6/6 3/4/6 -f 8/7/7 6/3/7 3/4/7 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +s 1 +f 21/23/7 23/24/7 24/25/7 22/26/7 diff --git a/moreblocks/models/moreblocks_slope_inner_half.obj b/moreblocks/models/moreblocks_slope_inner_half.obj index 3e54dea..3158b57 100644 --- a/moreblocks/models/moreblocks_slope_inner_half.obj +++ b/moreblocks/models/moreblocks_slope_inner_half.obj @@ -1,35 +1,85 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_half.mtl -o Cube_Cube.001 +g top v 0.500000 0.000000 -0.500000 v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.8944 0.0000 +s off +f 3/1/1 2/2/1 4/3/1 +f 2/4/2 1/5/2 5/6/2 +g bottom v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 10/7/3 7/8/3 6/9/3 9/10/3 +l 9 8 +l 11 9 +g right v -0.500000 -0.000000 0.500000 v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 12/11/4 13/12/4 14/13/4 +l 15 14 +g left +v 0.500000 0.000000 -0.500000 +v 0.500000 -0.000000 0.500000 v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.447200 0.894400 0.000000 -usemtl None.002 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 16/14/5 17/15/5 18/16/5 19/17/5 +l 20 17 +g back +v 0.500000 -0.000000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 24/18/6 22/19/6 21/20/6 23/21/6 +l 25 24 +l 25 21 +g front +v 0.500000 0.000000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 6/3/2 7/4/2 -f 5/1/3 2/2/3 6/4/3 -f 1/2/4 4/3/4 8/4/4 -f 8/1/5 4/2/5 3/3/5 7/4/5 -f 7/3/6 3/4/6 2/1/6 5/2/6 -f 2/1/7 1/2/7 8/3/7 -l 7 9 -l 2 9 +f 26/22/7 27/23/7 29/24/7 diff --git a/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/moreblocks/models/moreblocks_slope_inner_half_raised.obj index e6c2205..bd41389 100644 --- a/moreblocks/models/moreblocks_slope_inner_half_raised.obj +++ b/moreblocks/models/moreblocks_slope_inner_half_raised.obj @@ -1,38 +1,86 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_inner_half_raised.mtl -o Cube_Cube.003 +g top v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.000000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 1.0000 0.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.8944 0.0000 +s off +f 3/1/1 2/2/1 4/3/1 +f 2/2/2 1/4/2 5/5/2 +g bottom v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 8/6/3 9/7/3 7/8/3 6/9/3 +l 10 8 +g right v -0.500000 0.500000 0.500000 v -0.500000 0.000000 -0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 0.000000 -0.500000 v -0.500000 -0.500000 -0.500000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 13/10/4 11/11/4 12/12/4 15/13/4 +g left +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn 0.000000 -0.000000 1.000000 -vn -0.447200 0.894400 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -usemtl None.003 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 16/14/5 17/15/5 18/16/5 19/17/5 +l 20 17 +g back +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 24/18/6 22/19/6 21/20/6 23/21/6 +l 25 21 +l 25 24 +g front +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 0.5000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -0.0000 0.0000 -1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/1/2 2/2/2 6/4/2 -f 7/3/3 3/4/3 2/1/3 5/2/3 -f 2/2/4 1/3/4 8/4/4 -f 7/1/5 9/2/5 4/3/5 3/4/5 -f 6/5/6 1/2/6 4/3/6 9/4/6 -f 7/4/7 5/1/7 6/6/7 9/3/7 -l 2 10 -l 7 10 +f 28/22/7 26/23/7 27/24/7 30/25/7 +l 29 26 diff --git a/moreblocks/models/moreblocks_slope_outer.obj b/moreblocks/models/moreblocks_slope_outer.obj index b8f4e9e..c779309 100644 --- a/moreblocks/models/moreblocks_slope_outer.obj +++ b/moreblocks/models/moreblocks_slope_outer.obj @@ -1,25 +1,48 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer.mtl -o Cube_Cube.004 +g top +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +s off +f 4/1/1 2/2/1 1/3/1 +f 4/4/2 3/5/2 2/6/2 +g bottom v 0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 5/7/3 6/8/3 7/9/3 8/10/3 +g right +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 10/11/4 9/12/4 11/13/4 +g left +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -usemtl None +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/2/2 1/3/2 4/4/2 -f 2/3/3 1/4/3 5/1/3 -f 5/1/4 3/3/4 2/4/4 -f 5/2/5 4/3/5 3/4/5 +f 14/14/5 12/15/5 13/16/5 diff --git a/moreblocks/models/moreblocks_slope_outer_cut.obj b/moreblocks/models/moreblocks_slope_outer_cut.obj index e6cbfb4..4dcd46a 100644 --- a/moreblocks/models/moreblocks_slope_outer_cut.obj +++ b/moreblocks/models/moreblocks_slope_outer_cut.obj @@ -1,23 +1,40 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut.mtl -o Cube.002 +g top v 0.500000 0.500000 0.500000 v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.0000 0.0000 +vt 0.5000 1.0000 +vt 0.0000 0.0000 +vn -0.5774 0.5774 -0.5774 +s off +f 2/1/1 1/2/1 3/3/1 +g bottom +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 5/4/2 4/5/2 6/6/2 +g right +v 0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 7/7/3 8/8/3 9/9/3 +g left +v 0.500000 0.500000 0.500000 v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.577400 0.577400 -0.577400 -usemtl None.004 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 s off -f 1/1/1 2/2/1 3/3/1 -f 4/3/2 1/4/2 3/2/2 -f 3/2/3 2/3/3 4/4/3 -f 2/3/4 1/5/4 4/2/4 +f 12/10/4 10/11/4 11/12/4 diff --git a/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/moreblocks/models/moreblocks_slope_outer_cut_half.obj index bd64194..c309a4e 100644 --- a/moreblocks/models/moreblocks_slope_outer_cut_half.obj +++ b/moreblocks/models/moreblocks_slope_outer_cut_half.obj @@ -1,24 +1,40 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut_half.mtl -o Cube.003 +g top v 0.500000 -0.000000 0.500000 v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.0000 0.0000 +vt 0.5000 1.0000 +vt 0.0000 0.0000 +vn -0.4082 0.8165 -0.4082 +s off +f 2/1/1 1/2/1 3/3/1 +g bottom +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 5/4/2 4/5/2 6/6/2 +g right +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 7/7/3 8/8/3 9/9/3 +g left +v 0.500000 -0.000000 0.500000 v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.408200 0.816500 -0.408200 -usemtl None.005 +vt 1.0000 0.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 s off -f 1/1/1 2/2/1 3/3/1 -f 4/3/2 1/4/2 3/2/2 -f 3/2/3 2/3/3 4/5/3 -f 2/3/4 1/6/4 4/2/4 +f 12/10/4 10/11/4 11/12/4 diff --git a/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj index c65e08d..78cdfed 100644 --- a/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj +++ b/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj @@ -1,28 +1,56 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_cut_half_raised.mtl -o Cube_Cube.005 +g top +v -0.500000 -0.000000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn -0.4082 0.8165 -0.4082 +s off +f 1/1/1 2/2/1 3/3/1 +g bottom +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 4/4/2 6/5/2 5/6/2 +g right v -0.500000 -0.000000 0.500000 v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +s off +f 8/7/3 7/8/3 10/9/3 9/10/3 +g left v 0.500000 -0.500000 0.500000 v 0.500000 0.500000 0.500000 v 0.500000 -0.500000 -0.500000 v 0.500000 0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.408200 0.816500 -0.408200 -vn -0.707100 0.000000 -0.707100 -usemtl None.006 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vn 1.0000 0.0000 0.0000 +s off +f 12/11/4 11/12/4 13/13/4 14/14/4 +g back +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn -0.0000 -0.0000 1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/5/2 3/2/2 5/3/2 6/6/2 -f 2/5/3 5/3/3 3/4/3 -f 1/2/4 4/3/4 6/4/4 -f 2/3/5 1/6/5 6/1/5 5/2/5 +f 15/15/5 16/16/5 17/17/5 18/18/5 diff --git a/moreblocks/models/moreblocks_slope_outer_half.obj b/moreblocks/models/moreblocks_slope_outer_half.obj index 7bbb38d..b87be69 100644 --- a/moreblocks/models/moreblocks_slope_outer_half.obj +++ b/moreblocks/models/moreblocks_slope_outer_half.obj @@ -1,27 +1,48 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_half.mtl -o Cube.004 +g top v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 0.500000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.8944 0.0000 +s off +f 2/1/1 4/2/1 3/3/1 +f 1/4/2 4/5/2 2/6/2 +g bottom +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 5/7/3 6/8/3 7/9/3 8/10/3 +g right +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.000000 0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 11/11/4 9/12/4 10/13/4 +g left +v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 0.500000 v 0.500000 -0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn -0.447200 0.894400 0.000000 -usemtl None.007 +vt 1.0000 0.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/5/2 1/3/2 4/4/2 -f 3/4/3 5/6/3 4/3/3 -f 2/4/4 5/2/4 3/3/4 -f 1/4/5 5/1/5 2/3/5 +f 12/14/5 14/15/5 13/16/5 diff --git a/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/moreblocks/models/moreblocks_slope_outer_half_raised.obj index 51a929a..e06304d 100644 --- a/moreblocks/models/moreblocks_slope_outer_half_raised.obj +++ b/moreblocks/models/moreblocks_slope_outer_half_raised.obj @@ -1,34 +1,74 @@ -# Blender v2.72 (sub 0) OBJ File: '' -# www.blender.org -mtllib moreblocks_slope_outer_half_raised.mtl -o Cube_Cube.006 +g top +v -0.500000 -0.000000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.000000 -0.500000 +v -0.500000 0.000000 -0.500000 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 1.0000 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.8944 0.0000 +s off +f 4/1/1 2/2/1 3/3/1 +f 4/1/2 1/4/2 2/2/2 +g bottom +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +s off +f 7/5/3 6/6/3 5/7/3 8/8/3 +g right +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.0000 0.5000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 9/9/4 11/10/4 12/11/4 10/12/4 +g left +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vn 1.0000 0.0000 0.0000 +s off +f 14/13/5 13/14/5 15/15/5 16/16/5 +g back v -0.500000 -0.000000 0.500000 v -0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000 v 0.500000 0.500000 0.500000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vn -0.0000 -0.0000 1.0000 +s off +f 17/17/6 18/18/6 19/19/6 20/20/6 +g front v 0.500000 -0.500000 -0.500000 v 0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000 v -0.500000 -0.500000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.894400 -0.447200 -vn -1.000000 0.000000 0.000000 -vn -0.447200 0.894400 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -usemtl None.008 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 0.5000 +vn 0.0000 0.0000 -1.0000 s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/5/2 3/2/2 5/3/2 6/6/2 -f 7/3/3 4/5/3 6/2/3 -f 1/6/4 7/1/4 8/2/4 2/3/4 -f 7/3/5 1/4/5 4/5/5 -f 6/1/6 5/2/6 8/3/6 7/6/6 -f 5/5/7 3/2/7 2/3/7 8/4/7 +f 22/21/7 21/22/7 24/23/7 23/24/7 diff --git a/moreblocks/nodes.lua b/moreblocks/nodes.lua index da61b3f..8d90614 100644 --- a/moreblocks/nodes.lua +++ b/moreblocks/nodes.lua @@ -12,6 +12,10 @@ local sound_stone = default.node_sound_stone_defaults() local sound_glass = default.node_sound_glass_defaults() local sound_leaves = default.node_sound_leaves_defaults() +-- Don't break on 0.4.14 and earlier. +local sound_metal = (default.node_sound_metal_defaults + and default.node_sound_metal_defaults() or sound_stone) + local function tile_tiles(name) local tex = "moreblocks_" ..name.. ".png" return {tex, tex, tex, tex, tex.. "^[transformR90", tex.. "^[transformR90"} @@ -31,7 +35,7 @@ local nodes = { }, ["wood_tile_flipped"] = { description = S("Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90", @@ -43,40 +47,40 @@ local nodes = { }, ["wood_tile_center"] = { description = S("Centered Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^moreblocks_wood_tile_center.png"}, sounds = sound_wood, }, ["wood_tile_full"] = { description = S("Full Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = tile_tiles("wood_tile_full"), sounds = sound_wood, }, ["wood_tile_up"] = { description = S("Upwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^moreblocks_wood_tile_up.png"}, sounds = sound_wood, no_stairs = true, }, ["wood_tile_down"] = { description = S("Downwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"}, sounds = sound_wood, no_stairs = true, }, ["wood_tile_left"] = { description = S("Leftwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"}, sounds = sound_wood, no_stairs = true, }, ["wood_tile_right"] = { description = S("Rightwards Wooden Tile"), - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"}, sounds = sound_wood, no_stairs = true, @@ -186,6 +190,7 @@ local nodes = { "moreblocks_empty_bookshelf.png"}, groups = {snappy = 2, choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, sounds = sound_wood, + furnace_burntime = 15, no_stairs = true, }, ["coal_stone"] = { @@ -319,7 +324,7 @@ local nodes = { ["copperpatina"] = { description = S("Copper Patina Block"), groups = {cracky = 1, level = 2}, - sounds = sound_stone, + sounds = sound_metal, }, } @@ -353,4 +358,3 @@ minetest.register_craftitem("moreblocks:nothing", { inventory_image = "invisible.png", on_use = function() end, }) - diff --git a/moreblocks/ownership.lua b/moreblocks/ownership.lua index 1c2431b..355d7f1 100644 --- a/moreblocks/ownership.lua +++ b/moreblocks/ownership.lua @@ -22,11 +22,11 @@ function moreblocks.node_is_owned(pos, placer) end end - elseif type(isprotect)=="function" then -- glomie's protection mod + elseif type(isprotect)=="function" then -- glomie's protection mod if not isprotect(5, pos, placer) then ownername = S("someone") end - elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod + elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod if not protector.can_dig(5, pos, placer) then ownername = S("someone") end diff --git a/moreblocks/stairsplus/conversion.lua b/moreblocks/stairsplus/conversion.lua index 13966b6..37f2a25 100644 --- a/moreblocks/stairsplus/conversion.lua +++ b/moreblocks/stairsplus/conversion.lua @@ -80,8 +80,9 @@ function stairsplus:register_6dfacedir_conversion(modname, material) chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local fdir = node.param2 or 0 + local nfdir - if flip_upside_down and not flip_to_wall then + if flip_upside_down and not flip_to_wall then nfdir = dirs1[fdir + 2] elseif flip_to_wall and not flip_upside_down then nfdir = dirs2[fdir + 1] @@ -125,7 +126,7 @@ function stairsplus:register_6dfacedir_conversion(modname, material) local fdir = node.param2 local nfdir = 20 - if flip_upside_down and not flip_to_wall then + if flip_upside_down and not flip_to_wall then nfdir = dirs1[fdir + 1] elseif flip_to_wall and not flip_upside_down then nfdir = dirs2[fdir + 2] @@ -136,4 +137,3 @@ function stairsplus:register_6dfacedir_conversion(modname, material) }) end end - diff --git a/moreblocks/stairsplus/microblocks.lua b/moreblocks/stairsplus/microblocks.lua index a457d10..a3b94d3 100644 --- a/moreblocks/stairsplus/microblocks.lua +++ b/moreblocks/stairsplus/microblocks.lua @@ -88,7 +88,7 @@ function stairsplus:register_micro(modname, subname, recipeitem, fields) end def.drawtype = "nodebox" def.paramtype = "light" - def.paramtype2 = "facedir" + def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node def.groups = stairsplus:prepare_groups(fields.groups) def.description = desc @@ -98,53 +98,53 @@ function stairsplus:register_micro(modname, subname, recipeitem, fields) minetest.register_node(":" ..modname.. ":micro_" ..subname..alternate, def) end minetest.register_alias(modname.. ":micro_" ..subname.. "_bottom", modname.. ":micro_" ..subname) - + circular_saw.known_nodes[recipeitem] = {modname, subname} -- Some saw-less recipes: - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 7", recipe = {modname .. ":stair_" .. subname .. "_inner"}, }) - + minetest.register_craft({ output = modname .. ":micro_" .. subname .. " 6", type = "shapeless", recipe = {modname .. ":stair_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 5", recipe = {modname .. ":stair_" .. subname .. "_outer"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 4", recipe = {modname .. ":slab_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 4", recipe = {modname .. ":stair_" .. subname .. "_alt"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 3", recipe = {modname .. ":stair_" .. subname .. "_right_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":micro_" .. subname .. " 2", recipe = {modname .. ":panel_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, diff --git a/moreblocks/stairsplus/panels.lua b/moreblocks/stairsplus/panels.lua index 314939b..66e736d 100644 --- a/moreblocks/stairsplus/panels.lua +++ b/moreblocks/stairsplus/panels.lua @@ -88,7 +88,7 @@ function stairsplus:register_panel(modname, subname, recipeitem, fields) end def.drawtype = "nodebox" def.paramtype = "light" - def.paramtype2 = "facedir" + def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node def.description = desc def.groups = stairsplus:prepare_groups(fields.groups) @@ -98,7 +98,7 @@ function stairsplus:register_panel(modname, subname, recipeitem, fields) minetest.register_node(":" ..modname.. ":panel_" ..subname..alternate, def) end minetest.register_alias(modname.. ":panel_" ..subname.. "_bottom", modname.. ":panel_" ..subname) - + circular_saw.known_nodes[recipeitem] = {modname, subname} -- Some saw-less recipes: @@ -110,7 +110,7 @@ function stairsplus:register_panel(modname, subname, recipeitem, fields) {recipeitem, recipeitem}, }, }) - + minetest.register_craft({ output = modname .. ":panel_" .. subname .. " 12", recipe = { @@ -118,13 +118,13 @@ function stairsplus:register_panel(modname, subname, recipeitem, fields) {recipeitem, recipeitem}, }, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":panel_" .. subname, recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, diff --git a/moreblocks/stairsplus/slabs.lua b/moreblocks/stairsplus/slabs.lua index 2acdd41..9fa2494 100644 --- a/moreblocks/stairsplus/slabs.lua +++ b/moreblocks/stairsplus/slabs.lua @@ -59,7 +59,7 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) end def.drawtype = "nodebox" def.paramtype = "light" - def.paramtype2 = "facedir" + def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node def.description = ("%s (%d/16)"):format(desc_base, num) def.groups = stairsplus:prepare_groups(fields.groups) @@ -78,27 +78,27 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) output = modname .. ":slab_" .. subname .. " 6", recipe = {{recipeitem, recipeitem, recipeitem}}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname, modname .. ":micro_" .. subname}, }) - + -- uncomment this rule when conflict is no longer likely to happen - -- https://github.com/minetest/minetest/issues/2881 + -- https://github.com/minetest/minetest/issues/2881 -- minetest.register_craft({ - -- type = "shapeless", - -- output = modname .. ":slab_" .. subname, - -- recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, + -- type = "shapeless", + -- output = modname .. ":slab_" .. subname, + -- recipe = {modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}, -- }) - + -- then remove these two minetest.register_craft({ output = modname .. ":slab_" .. subname, recipe = {{modname .. ":panel_" .. subname, modname .. ":panel_" .. subname}}, }) - + minetest.register_craft({ output = modname .. ":slab_" .. subname, recipe = { @@ -113,109 +113,109 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) output = recipeitem, recipe = {modname .. ":slab_" .. subname, modname .. ":slab_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slab_" .. subname .. "_three_quarter", modname .. ":slab_" .. subname .. "_quarter"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slab_" .. subname .. "_14", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slab_" .. subname .. "_15", modname .. ":slab_" .. subname .. "_1"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_quarter", recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_quarter", recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_2", recipe = {modname .. ":slab_" .. subname .. "_1", modname .. ":slab_" .. subname .. "_1"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_three_quarter", recipe = {modname .. ":slab_" .. subname, modname .. ":slab_" .. subname .. "_quarter"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_three_quarter", recipe = {modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter", modname .. ":slab_" .. subname .. "_quarter"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_three_quarter", recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_14", recipe = {modname .. ":slab_" .. subname .. "_three_quarter", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_14", recipe = {modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2", modname .. ":slab_" .. subname .. "_2"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. "_15", recipe = {modname .. ":slab_" .. subname .. "_14", modname .. ":slab_" .. subname .. "_1"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname .. " 3", diff --git a/moreblocks/stairsplus/slopes.lua b/moreblocks/stairsplus/slopes.lua index da524b6..1868cb3 100644 --- a/moreblocks/stairsplus/slopes.lua +++ b/moreblocks/stairsplus/slopes.lua @@ -242,7 +242,7 @@ function stairsplus:register_slope(modname, subname, recipeitem, fields) end def.drawtype = "mesh" def.paramtype = "light" - def.paramtype2 = "facedir" + def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node def.description = desc def.groups = stairsplus:prepare_groups(fields.groups) @@ -261,99 +261,99 @@ function stairsplus:register_slope(modname, subname, recipeitem, fields) output = recipeitem, recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_outer", modname .. ":slope_" .. subname .. "_inner"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_outer_half", modname .. ":slope_" .. subname .. "_inner_half_raised"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised", modname .. ":slope_" .. subname .. "_inner_half"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_inner_cut"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_outer_cut_half", modname .. ":slope_" .. subname .. "_inner_cut_half_raised"}, }) - + minetest.register_craft({ type = "shapeless", output = recipeitem, recipe = {modname .. ":slope_" .. subname .. "_cut", modname .. ":slope_" .. subname .. "_cut"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slope_" .. subname .. "_outer_half", modname .. ":slope_" .. subname .. "_inner_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slab_" .. subname, recipe = {modname .. ":slope_" .. subname .. "_outer_cut_half", modname .. ":slope_" .. subname .. "_inner_cut_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slope_" .. subname .. "_half_raised", recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slope_" .. subname .. "_half_raised", recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slope_" .. subname .. "_inner_half_raised", recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slope_" .. subname .. "_outer_half_raised", recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, }) - + minetest.register_craft({ type = "shapeless", output = modname .. ":slope_" .. subname .. "_inner_cut_half_raised", diff --git a/moreblocks/stairsplus/stairs.lua b/moreblocks/stairsplus/stairs.lua index 6609466..fc47dbd 100644 --- a/moreblocks/stairsplus/stairs.lua +++ b/moreblocks/stairsplus/stairs.lua @@ -128,7 +128,7 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) end def.drawtype = "nodebox" def.paramtype = "light" - def.paramtype2 = "facedir" + def.paramtype2 = def.paramtype2 or "facedir" def.on_place = minetest.rotate_node def.description = desc def.groups = stairsplus:prepare_groups(fields.groups) diff --git a/moreores/_config.txt b/moreores/_config.txt index e716b2e..42e7b37 100644 --- a/moreores/_config.txt +++ b/moreores/_config.txt @@ -7,21 +7,21 @@ ------------------------------------------------------------------------------ -- Chunk sizes for ore generation (bigger = ore deposits are more scattered around) -moreores_tin_chunk_size = 7 -moreores_silver_chunk_size = 11 -moreores_mithril_chunk_size = 11 +moreores.tin_chunk_size = 7 +moreores.silver_chunk_size = 11 +moreores.mithril_chunk_size = 11 -- Amount of ore per chunk (higher = bigger ore deposits) -moreores_tin_ore_per_chunk = 3 -moreores_silver_ore_per_chunk = 4 -moreores_mithril_ore_per_chunk = 1 +moreores.tin_ore_per_chunk = 3 +moreores.silver_ore_per_chunk = 4 +moreores.mithril_ore_per_chunk = 1 -- Minimal depths of ore generation (Y coordinate, 0 being sea level by default) -moreores_tin_min_depth = -31000 -moreores_silver_min_depth = -31000 -moreores_mithril_min_depth = -31000 +moreores.tin_min_depth = -31000 +moreores.silver_min_depth = -31000 +moreores.mithril_min_depth = -31000 -- Maximal depths of ore generation (Y coordinate, 0 being sea level by default) -moreores_tin_max_depth = 8 -moreores_silver_max_depth = -2 -moreores_mithril_max_depth = -512 +moreores.tin_max_depth = 8 +moreores.silver_max_depth = -2 +moreores.mithril_max_depth = -512 diff --git a/moreores/init.lua b/moreores/init.lua index 72bd0a1..7af91bc 100644 --- a/moreores/init.lua +++ b/moreores/init.lua @@ -8,6 +8,8 @@ Licensed under the zlib license. See LICENSE.md for more information. ===================================================================== --]] +moreores = {} + local S if minetest.get_modpath("intllib") then S = intllib.Getter() @@ -28,6 +30,7 @@ end -- ================= local default_stone_sounds = default.node_sound_stone_defaults() +local default_metal_sounds = default.node_sound_metal_defaults() local function hoe_on_use(itemstack, user, pointed_thing, uses) local pt = pointed_thing @@ -110,7 +113,7 @@ local function add_ore(modname, description, mineral_name, oredef) description = S("%s Block"):format(S(description)), tiles = { img_base .. "_block.png" }, groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level= 2}, - sounds = default_stone_sounds + sounds = default_metal_sounds, }) minetest.register_alias(mineral_name.."_block", block_item) if oredef.makes.ingot then @@ -177,7 +180,8 @@ local function add_ore(modname, description, mineral_name, oredef) tool_capabilities = { max_drop_level = 3, groupcaps = tooldef - } + }, + sound = {breaks = "default_tool_breaks"}, } if tool_name == "sword" then @@ -202,6 +206,7 @@ local function add_ore(modname, description, mineral_name, oredef) tdef.full_punch_interval = oredef.full_punch_interval tdef.tool_capabilities.damage_groups = oredef.damage_groups tdef.description = S("%s Shovel"):format(S(description)) + tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90" end if tool_name == "hoe" then @@ -232,11 +237,11 @@ local oredefs = { silver = { description = "Silver", makes = {ore = true, block = true, lump = true, ingot = true, chest = true}, - oredef = {clust_scarcity = moreores_silver_chunk_size * moreores_silver_chunk_size * moreores_silver_chunk_size, - clust_num_ores = moreores_silver_ore_per_chunk, - clust_size = moreores_silver_chunk_size, - y_min = moreores_silver_min_depth, - y_max = moreores_silver_max_depth + oredef = {clust_scarcity = moreores.silver_chunk_size * moreores.silver_chunk_size * moreores.silver_chunk_size, + clust_num_ores = moreores.silver_ore_per_chunk, + clust_size = moreores.silver_chunk_size, + y_min = moreores.silver_min_depth, + y_max = moreores.silver_max_depth }, tools = { pick = { @@ -264,22 +269,22 @@ local oredefs = { tin = { description = "Tin", makes = {ore = true, block = true, lump = true, ingot = true, chest = false}, - oredef = {clust_scarcity = moreores_tin_chunk_size * moreores_tin_chunk_size * moreores_tin_chunk_size, - clust_num_ores = moreores_tin_ore_per_chunk, - clust_size = moreores_tin_chunk_size, - y_min = moreores_tin_min_depth, - y_max = moreores_tin_max_depth + oredef = {clust_scarcity = moreores.tin_chunk_size * moreores.tin_chunk_size * moreores.tin_chunk_size, + clust_num_ores = moreores.tin_ore_per_chunk, + clust_size = moreores.tin_chunk_size, + y_min = moreores.tin_min_depth, + y_max = moreores.tin_max_depth }, tools = {}, }, mithril = { description = "Mithril", makes = {ore = true, block = true, lump = true, ingot = true, chest = false}, - oredef = {clust_scarcity = moreores_mithril_chunk_size * moreores_mithril_chunk_size * moreores_mithril_chunk_size, - clust_num_ores = moreores_mithril_ore_per_chunk, - clust_size = moreores_mithril_chunk_size, - y_min = moreores_mithril_min_depth, - y_max = moreores_mithril_max_depth + oredef = {clust_scarcity = moreores.mithril_chunk_size * moreores.mithril_chunk_size * moreores.mithril_chunk_size, + clust_num_ores = moreores.mithril_ore_per_chunk, + clust_size = moreores.mithril_chunk_size, + y_min = moreores.mithril_min_depth, + y_max = moreores.mithril_max_depth }, tools = { pick = { @@ -345,6 +350,7 @@ minetest.register_node("moreores:copper_rail", { type = "fixed", fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, + sounds = default_metal_sounds, groups = {bendy = 2,snappy = 1,dig_immediate = 2,rail= 1, connect_to_raillike = 1}, mesecons = { effector = { diff --git a/moreores/textures/moreores_copper_rail_t_junction.png b/moreores/textures/moreores_copper_rail_t_junction.png index aac2981..1e1feaa 100644 Binary files a/moreores/textures/moreores_copper_rail_t_junction.png and b/moreores/textures/moreores_copper_rail_t_junction.png differ diff --git a/pipeworks/routing_tubes.lua b/pipeworks/routing_tubes.lua index 8620d20..0a82fc8 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 331d858..7b3e79f 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 839fa1f..109e418 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 42f64ae..7910ab9 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 256f972..8bd6a69 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(), + paramtype2 = "color", + palette = "unifieddyes_palette.png", + after_dig_node = unifieddyes.after_dig_node, + on_rightclick = unifieddyes.on_rightclick, }) -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}, + +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(), }) -minetest.register_craftitem("plasticbox:plastic_powder", { - image = "plastic_powder.png", - description="Plastic Powder", -}) - ---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_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", "" }, - }, +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, }) -end diff --git a/plasticbox/textures/plasticbox_ud_palette.png b/plasticbox/textures/plasticbox_ud_palette.png new file mode 100644 index 0000000..1d7c485 Binary files /dev/null and b/plasticbox/textures/plasticbox_ud_palette.png differ diff --git a/plasticbox/ud_palette.txt b/plasticbox/ud_palette.txt new file mode 100644 index 0000000..5e88718 --- /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 6953e0e..b89cff7 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 0000000..05d787e --- /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 be804e9..6ffb61d 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' - - --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() - }) + + local function tchelper(first, rest) + return first:upper()..rest:lower() + end -- from lua-users.org/wiki/StringRecipes + + 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 0000000..7d80b70 Binary files /dev/null and b/stained_glass/textures/stained_glass.png differ 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 0000000..a019b95 Binary files /dev/null and b/stained_glass/textures/stained_glass_faint_palette.png differ 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 0000000..e55c17a Binary files /dev/null and b/stained_glass/textures/stained_glass_pastels_palette.png differ diff --git a/teleport_request/init.lua b/teleport_request/init.lua index a586769..cf843b0 100644 --- a/teleport_request/init.lua +++ b/teleport_request/init.lua @@ -136,7 +136,7 @@ local function tpc_send(player,coordinates) minetest.chat_send_player(player, 'Teleporting to '..posx..','..posy..','..posz) pname:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) else if minetest.check_player_privs(pname, {tp_tpc=true}) then local protected = minetest.is_protected(target_coords,pname) @@ -150,7 +150,7 @@ local function tpc_send(player,coordinates) minetest.chat_send_player(player, 'Teleporting to '..posx..','..posy..','..posz) pname:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) else minetest.chat_send_player(player, "Error: You do not have permission to teleport to coordinates.") return @@ -209,7 +209,7 @@ local function tpr_accept(name, param) local target_coords=source:getpos() target:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) end -- Teleport Jump - Relative Position Teleportation by number of nodes @@ -237,17 +237,17 @@ local function tpj(player,param) target_coords["x"] = target_coords["x"] + tonumber(args[2]) pname:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) elseif args[1] == "y" then target_coords["y"] = target_coords["y"] + tonumber(args[2]) pname:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) elseif args[1] == "z" then target_coords["z"] = target_coords["z"] + tonumber(args[2]) pname:setpos(find_free_position_near(target_coords)) minetest.sound_play("whoosh", {pos = target_coords, gain = 0.5, max_hear_distance = 10}) - parti2(target_coords) + --parti2(target_coords) else minetest.chat_send_player(player,"Not a valid axis. Valid options are X, Y or Z.") end @@ -304,13 +304,13 @@ minetest.register_chatcommand("tpc", { minetest.register_chatcommand("tpj", { description = "Teleport to relative position", params = " | leave empty to see help message", - privs = {interact=true}, + privs = {interact=true,tp_tpc=true}, func = tpj }) minetest.register_chatcommand("tpe", { description = "Evade Enemy", - privs = {interact=true}, + privs = {interact=true,tp_tpc=true}, func = tpe }) diff --git a/trafficlight/init.lua b/trafficlight/init.lua index b55d467..2b2038b 100644 --- a/trafficlight/init.lua +++ b/trafficlight/init.lua @@ -75,6 +75,14 @@ streets.hbBox = { {0.0625,-0.125,0.3125,0.125,-0.0625,0.5}, --Bottom Visor, Right } +streets.rrfbBox = { + {-0.375,0.05,0.5,0.375,0.3,0.75}, --Box + + {-0.125, 0.125, 0.85, 0.125, 0.25, 0.75}, -- Pole Mounting Bracket + + --These usually don't have visors +} + streets.tlDigilineRules = { {x= 0, y= 0, z=-1}, {x= 0, y= 0, z= 1}, @@ -84,6 +92,35 @@ streets.tlDigilineRules = { {x= 0, y= 1, z= 0} } +local function ped_on_flash_start(pos) + local timer = minetest.get_node_timer(pos) + timer:set(99,0) +end + +local function ped_on_flash_end(pos,record) + local objs = minetest.get_objects_inside_radius(pos,1.5) + for _,obj in pairs(objs) do + if obj:get_luaentity() and obj:get_luaentity().name == "streets:pedcountdown" then + obj:remove() + end + end + if not record then + timer:stop() + return + end + local timer = minetest.get_node_timer(pos) + local meta = minetest.get_meta(pos) + local lastflashtime = meta:get_int("lastflashtime") + local twoflashesago = meta:get_int("twoflashesago") + local flashtime = math.min(timer:get_elapsed(),99) + meta:set_int("twoflashesago",lastflashtime) + meta:set_int("lastflashtime",flashtime) + if math.abs(twoflashesago-lastflashtime) + math.abs(lastflashtime-flashtime) < 3 then + meta:set_int("flashtime",flashtime) + end + timer:stop() +end + streets.tlSwitch = function(pos,to) if not pos or not to then return @@ -100,6 +137,9 @@ streets.on_digiline_receive = function(pos, node, channel, msg) local name = minetest.get_node(pos).name if msg == "OFF" then if name:find("pedlight") then + if name == "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_end(pos,false) + end streets.tlSwitch(pos,"streets:pedlight_top_off") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_off") @@ -113,11 +153,16 @@ streets.on_digiline_receive = function(pos, node, channel, msg) streets.tlSwitch(pos,"streets:beacon_hybrid_off") elseif name:find("beacon") then streets.tlSwitch(pos,"streets:beacon_off") + elseif name:find("rrfb") then + streets.tlSwitch(pos,"streets:trafficlight_rrfb_off") else streets.tlSwitch(pos,"streets:trafficlight_top_off") end elseif msg == "GREEN" then if name:find("pedlight") then + if name == "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_end(pos,false) + end streets.tlSwitch(pos,"streets:pedlight_top_walk") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_green") @@ -131,11 +176,16 @@ streets.on_digiline_receive = function(pos, node, channel, msg) --Not Supported elseif name:find("beacon") then --Not Supported + elseif name:find("rrfb") then + --Not Supported else streets.tlSwitch(pos,"streets:trafficlight_top_green") end elseif msg == "RED" then if name:find("pedlight") then + if name == "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_end(pos,true) + end streets.tlSwitch(pos,"streets:pedlight_top_dontwalk") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_off") @@ -148,12 +198,17 @@ streets.on_digiline_receive = function(pos, node, channel, msg) elseif name:find("beacon_hybrid") then streets.tlSwitch(pos,"streets:beacon_hybrid_red") elseif name:find("beacon") then + streets.tlSwitch(pos,"streets:beacon_red") + elseif name:find("rrfb") then --Not Supported else streets.tlSwitch(pos,"streets:trafficlight_top_red") end elseif msg == "WARN" then if name:find("pedlight") then + if name ~= "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_start(pos) + end streets.tlSwitch(pos,"streets:pedlight_top_flashingdontwalk") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_off") @@ -167,16 +222,21 @@ streets.on_digiline_receive = function(pos, node, channel, msg) streets.tlSwitch(pos,"streets:beacon_hybrid_flashyellow") elseif name:find("beacon") then streets.tlSwitch(pos,"streets:beacon_flashyellow") + elseif name:find("rrfb") then + streets.tlSwitch(pos,"streets:trafficlight_rrfb_on") else streets.tlSwitch(pos,"streets:trafficlight_top_warn") end elseif msg == "FLASHYELLOW" then if name:find("pedlight") then + if name ~= "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_start(pos) + end streets.tlSwitch(pos,"streets:pedlight_top_flashingdontwalk") elseif name:find("extender_left") then - streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_off") + streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_flashyellow") elseif name:find("extender_right") then - streets.tlSwitch(pos,"streets:trafficlight_top_extender_right_off") + streets.tlSwitch(pos,"streets:trafficlight_top_extender_right_flashyellow") elseif name:find("left") then streets.tlSwitch(pos,"streets:trafficlight_top_left_warn") elseif name:find("right") then @@ -185,11 +245,16 @@ streets.on_digiline_receive = function(pos, node, channel, msg) streets.tlSwitch(pos,"streets:beacon_hybrid_flashyellow") elseif name:find("beacon") then streets.tlSwitch(pos,"streets:beacon_flashyellow") + elseif name:find("rrfb") then + streets.tlSwitch(pos,"streets:trafficlight_rrfb_on") else streets.tlSwitch(pos,"streets:trafficlight_top_warn") end elseif msg == "YELLOW" then if name:find("pedlight") then + if name ~= "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_start(pos) + end streets.tlSwitch(pos,"streets:pedlight_top_flashingdontwalk") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_yellow") @@ -202,12 +267,17 @@ streets.on_digiline_receive = function(pos, node, channel, msg) elseif name:find("beacon_hybrid") then streets.tlSwitch(pos,"streets:beacon_hybrid_yellow") elseif name:find("beacon") then + streets.tlSwitch(pos,"streets:beacon_yellow") + elseif name:find("rrfb") then --Not Supported else streets.tlSwitch(pos,"streets:trafficlight_top_yellow") end elseif msg == "FLASHRED" then if name:find("pedlight") then + if name ~= "streets:pedlight_top_flashingdontwalk" then + ped_on_flash_start(pos) + end streets.tlSwitch(pos,"streets:pedlight_top_flashingdontwalk") elseif name:find("extender_left") then streets.tlSwitch(pos,"streets:trafficlight_top_extender_left_off") @@ -221,6 +291,8 @@ streets.on_digiline_receive = function(pos, node, channel, msg) streets.tlSwitch(pos,"streets:beacon_hybrid_flashred") elseif name:find("beacon") then streets.tlSwitch(pos,"streets:beacon_flashred") + elseif name:find("rrfb") then + --Not Supported else streets.tlSwitch(pos,"streets:trafficlight_top_flashred") end @@ -465,6 +537,74 @@ minetest.register_node(":streets:beacon_off",{ end, }) +minetest.register_node(":streets:beacon_red",{ + drop = "streets:beacon_off", + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2, not_in_creative_inventory = 1}, + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.bBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_b_red.png"}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + +minetest.register_node(":streets:beacon_yellow",{ + drop = "streets:beacon_off", + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2, not_in_creative_inventory = 1}, + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.bBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_yellow.png"}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + minetest.register_node(":streets:beacon_flashred",{ drop = "streets:beacon_off", drawtype="nodebox", @@ -609,6 +749,44 @@ minetest.register_node(":streets:trafficlight_top_extender_left_yellow",{ end, }) +minetest.register_node(":streets:trafficlight_top_extender_left_flashyellow",{ + drop = "streets:trafficlight_top_extender_left_off", + description = streets.S("Traffic Light Left-Turn Module"), + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2, not_in_creative_inventory = 1}, + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.tleBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ + name="streets_tl_left_warn.png", + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}, + }}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + minetest.register_node(":streets:trafficlight_top_extender_left_green",{ drop = "streets:trafficlight_top_extender_left_off", description = streets.S("Traffic Light Left-Turn Module"), @@ -714,6 +892,44 @@ minetest.register_node(":streets:trafficlight_top_extender_right_yellow",{ end, }) +minetest.register_node(":streets:trafficlight_top_extender_right_flashyellow",{ + drop = "streets:trafficlight_top_extender_right_off", + description = streets.S("Traffic Light Right-Turn Module"), + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2, not_in_creative_inventory = 1}, + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.tleBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ + name="streets_tl_right_warn.png", + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}, + }}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + minetest.register_node(":streets:trafficlight_top_extender_right_green",{ drop = "streets:trafficlight_top_extender_left_off", description = streets.S("Traffic Light Right-Turn Module"), @@ -749,6 +965,8 @@ minetest.register_node(":streets:trafficlight_top_extender_right_green",{ end, }) + + minetest.register_node(":streets:pedlight_top_off",{ description = streets.S("Pedestrian Light"), drawtype="nodebox", @@ -859,6 +1077,53 @@ minetest.register_node(":streets:pedlight_top_flashingdontwalk",{ }, }) +minetest.register_entity(":streets:pedcountdown",{ + physical = false, + collisionbox = {0,0,0,0,0,0}, + visual = "upright_sprite", + textures = {"streets_pl_number_0l.png"} +}) + +minetest.register_abm({ + label = "Update pedestrian countdown time display", + nodenames = {"streets:pedlight_top_flashingdontwalk"}, + interval = 1, + chance = 1, + catch_up = false, + action = function(pos,node) + local meta = minetest.get_meta(pos) + local timer = minetest.get_node_timer(pos) + local totaltime = meta:get_int("flashtime") + local timesofar = timer:get_elapsed() + local timeleft = math.max(0,totaltime-timesofar) + local objs = minetest.get_objects_inside_radius(pos,1.5) + for _,obj in pairs(objs) do + if obj:get_luaentity() and obj:get_luaentity().name == "streets:pedcountdown" then + obj:remove() + end + end + local backdir = minetest.facedir_to_dir(node.param2) + local frontdir = vector.multiply(backdir,-1) + local entpos = vector.add(vector.multiply(frontdir,-0.495),pos) + local entity = minetest.add_entity(entpos,"streets:pedcountdown") + local yaw = 0 + if backdir.z == -1 then + yaw = math.pi + elseif backdir.x == 1 then + yaw = math.pi / 2 + elseif backdir.x == -1 then + yaw = math.pi / -2 + end + --Circles are hard... + entity:setyaw(yaw) + + local ldigit = math.floor(timeleft/10) + local rdigit = timeleft % 10 + local tex = string.format("streets_pl_number_%01dl.png^streets_pl_number_%01dr.png",ldigit,rdigit) + entity:set_properties({textures={tex}}) + end +}) + for _,i in pairs({"","_left","_right"}) do minetest.register_node(":streets:trafficlight_top"..i.."_off",{ @@ -1025,6 +1290,94 @@ for _,i in pairs({"","_left","_right"}) do }) end +minetest.register_node(":streets:trafficlight_rrfb_off",{ + description = streets.S("Rectangular Rapid Flashing Beacon"), + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2}, + inventory_image = "streets_rrfb_inv.png", + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.rrfbBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_rrfb_off.png"}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + +minetest.register_node(":streets:trafficlight_rrfb_on",{ + drop = "streets:trafficlight_rrfb_off", + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2, not_in_creative_inventory = 1}, + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.rrfbBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ + name="streets_rrfb_on.png", + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=0.75}, + }}, + digiline = { + receptor = {}, + wire = {rules=streets.tlDigilineRules}, + effector = { + action = function(pos, node, channel, msg) + streets.on_digiline_receive(pos, node, channel, msg) + end + } + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if (fields.channel) then + minetest.get_meta(pos):set_string("channel", fields.channel) + minetest.get_meta(pos):set_string("state", "Off") + end + end, +}) + +minetest.register_node(":streets:green_arrow",{ + description = "Straight-through green arrow", + drawtype="nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 1, level = 2}, + inventory_image = "streets_trafficlight_inv_greenarrow.png", + light_source = 11, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = streets.bBox + }, + tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_straight_green.png"} +}) + minetest.register_craft({ output = "streets:trafficlight_top_off", recipe = { @@ -1095,6 +1448,24 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "streets:trafficlight_rrfb_off", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"dye:yellow", "default:steel_ingot", "dye:yellow"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} + } +}) + +minetest.register_craft({ + output = "streets:green_arrow", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "dye:green", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} + } +}) + minetest.register_craft({ output = "streets:digiline_distributor", recipe = { diff --git a/trafficlight/textures/streets_b_red.png b/trafficlight/textures/streets_b_red.png new file mode 100644 index 0000000..7419027 Binary files /dev/null and b/trafficlight/textures/streets_b_red.png differ diff --git a/trafficlight/textures/streets_pl_number_0l.png b/trafficlight/textures/streets_pl_number_0l.png new file mode 100644 index 0000000..99fc263 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_0l.png differ diff --git a/trafficlight/textures/streets_pl_number_0r.png b/trafficlight/textures/streets_pl_number_0r.png new file mode 100644 index 0000000..6f9b143 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_0r.png differ diff --git a/trafficlight/textures/streets_pl_number_1l.png b/trafficlight/textures/streets_pl_number_1l.png new file mode 100644 index 0000000..e35735a Binary files /dev/null and b/trafficlight/textures/streets_pl_number_1l.png differ diff --git a/trafficlight/textures/streets_pl_number_1r.png b/trafficlight/textures/streets_pl_number_1r.png new file mode 100644 index 0000000..b878ae6 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_1r.png differ diff --git a/trafficlight/textures/streets_pl_number_2l.png b/trafficlight/textures/streets_pl_number_2l.png new file mode 100644 index 0000000..d439aa9 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_2l.png differ diff --git a/trafficlight/textures/streets_pl_number_2r.png b/trafficlight/textures/streets_pl_number_2r.png new file mode 100644 index 0000000..dd9b4be Binary files /dev/null and b/trafficlight/textures/streets_pl_number_2r.png differ diff --git a/trafficlight/textures/streets_pl_number_3l.png b/trafficlight/textures/streets_pl_number_3l.png new file mode 100644 index 0000000..bdab896 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_3l.png differ diff --git a/trafficlight/textures/streets_pl_number_3r.png b/trafficlight/textures/streets_pl_number_3r.png new file mode 100644 index 0000000..da7de9a Binary files /dev/null and b/trafficlight/textures/streets_pl_number_3r.png differ diff --git a/trafficlight/textures/streets_pl_number_4l.png b/trafficlight/textures/streets_pl_number_4l.png new file mode 100644 index 0000000..91d1ff4 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_4l.png differ diff --git a/trafficlight/textures/streets_pl_number_4r.png b/trafficlight/textures/streets_pl_number_4r.png new file mode 100644 index 0000000..5468b00 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_4r.png differ diff --git a/trafficlight/textures/streets_pl_number_5l.png b/trafficlight/textures/streets_pl_number_5l.png new file mode 100644 index 0000000..4d21bbd Binary files /dev/null and b/trafficlight/textures/streets_pl_number_5l.png differ diff --git a/trafficlight/textures/streets_pl_number_5r.png b/trafficlight/textures/streets_pl_number_5r.png new file mode 100644 index 0000000..9992ed9 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_5r.png differ diff --git a/trafficlight/textures/streets_pl_number_6l.png b/trafficlight/textures/streets_pl_number_6l.png new file mode 100644 index 0000000..92f64be Binary files /dev/null and b/trafficlight/textures/streets_pl_number_6l.png differ diff --git a/trafficlight/textures/streets_pl_number_6r.png b/trafficlight/textures/streets_pl_number_6r.png new file mode 100644 index 0000000..ba84f54 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_6r.png differ diff --git a/trafficlight/textures/streets_pl_number_7l.png b/trafficlight/textures/streets_pl_number_7l.png new file mode 100644 index 0000000..9328d86 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_7l.png differ diff --git a/trafficlight/textures/streets_pl_number_7r.png b/trafficlight/textures/streets_pl_number_7r.png new file mode 100644 index 0000000..444ce49 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_7r.png differ diff --git a/trafficlight/textures/streets_pl_number_8l.png b/trafficlight/textures/streets_pl_number_8l.png new file mode 100644 index 0000000..9a78cd8 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_8l.png differ diff --git a/trafficlight/textures/streets_pl_number_8r.png b/trafficlight/textures/streets_pl_number_8r.png new file mode 100644 index 0000000..727afad Binary files /dev/null and b/trafficlight/textures/streets_pl_number_8r.png differ diff --git a/trafficlight/textures/streets_pl_number_9l.png b/trafficlight/textures/streets_pl_number_9l.png new file mode 100644 index 0000000..4830e0f Binary files /dev/null and b/trafficlight/textures/streets_pl_number_9l.png differ diff --git a/trafficlight/textures/streets_pl_number_9r.png b/trafficlight/textures/streets_pl_number_9r.png new file mode 100644 index 0000000..dabea2a Binary files /dev/null and b/trafficlight/textures/streets_pl_number_9r.png differ diff --git a/trafficlight/textures/streets_pl_number_template.png b/trafficlight/textures/streets_pl_number_template.png new file mode 100644 index 0000000..41ae2f1 Binary files /dev/null and b/trafficlight/textures/streets_pl_number_template.png differ diff --git a/trafficlight/textures/streets_pl_walk.png b/trafficlight/textures/streets_pl_walk.png index 392f024..4a79e54 100644 Binary files a/trafficlight/textures/streets_pl_walk.png and b/trafficlight/textures/streets_pl_walk.png differ diff --git a/trafficlight/textures/streets_rrfb_inv.png b/trafficlight/textures/streets_rrfb_inv.png new file mode 100644 index 0000000..8977926 Binary files /dev/null and b/trafficlight/textures/streets_rrfb_inv.png differ diff --git a/trafficlight/textures/streets_rrfb_off.png b/trafficlight/textures/streets_rrfb_off.png new file mode 100644 index 0000000..0d1ba1a Binary files /dev/null and b/trafficlight/textures/streets_rrfb_off.png differ diff --git a/trafficlight/textures/streets_rrfb_on.png b/trafficlight/textures/streets_rrfb_on.png new file mode 100644 index 0000000..4b28c81 Binary files /dev/null and b/trafficlight/textures/streets_rrfb_on.png differ diff --git a/trafficlight/textures/streets_tl_straight_green.png b/trafficlight/textures/streets_tl_straight_green.png new file mode 100644 index 0000000..afbd506 Binary files /dev/null and b/trafficlight/textures/streets_tl_straight_green.png differ diff --git a/trafficlight/textures/streets_trafficlight_inv_greenarrow.png b/trafficlight/textures/streets_trafficlight_inv_greenarrow.png new file mode 100644 index 0000000..530a9b9 Binary files /dev/null and b/trafficlight/textures/streets_trafficlight_inv_greenarrow.png differ diff --git a/unifiedbricks/init.lua b/unifiedbricks/init.lua index 6ece9f3..369126a 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,616 +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 = "", }), - }) -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(), - }) + 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_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}} - }}, - 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, + groups = {cracky=3}, + drop = { + max_items = 4, + items = { + items = { + { "default:brick", + "unifieddyes:"..drop_one, + "unifieddyes:"..drop_two, + "unifieddyes:"..drop_three, + rarity = 1 } + } + } }, - 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"} } + sounds = default.node_sound_stone_defaults(), }) 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 + 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 @@ -719,197 +229,88 @@ for i = 1,17 do 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 MULTICOLOR EVERYTHING +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) ---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 + 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) - 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 + 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) ---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 + 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) ---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 - end - end - end - end - end + 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 ---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 +-- 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 -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 0000000..9c70760 --- /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 0000000..811ed60 Binary files /dev/null and b/unifiedbricks/textures/unifiedbricks_brickblock.png differ diff --git a/unifiedbricks/textures/unifiedbricks_clayblock.png b/unifiedbricks/textures/unifiedbricks_clayblock.png new file mode 100644 index 0000000..9187684 Binary files /dev/null and b/unifiedbricks/textures/unifiedbricks_clayblock.png differ diff --git a/unifiedbricks/textures/unifiedbricks_mortar.png b/unifiedbricks/textures/unifiedbricks_mortar.png new file mode 100644 index 0000000..6d52335 Binary files /dev/null and b/unifiedbricks/textures/unifiedbricks_mortar.png differ diff --git a/unifieddyes/init.lua b/unifieddyes/init.lua index fc36199..0ed6cb1 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 0000000..1d7c485 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_aquas.png b/unifieddyes/textures/unifieddyes_palette_aquas.png new file mode 100644 index 0000000..85dcab5 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_aquas.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_blues.png b/unifieddyes/textures/unifieddyes_palette_blues.png new file mode 100644 index 0000000..496dc34 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_blues.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_colorwallmounted.png b/unifieddyes/textures/unifieddyes_palette_colorwallmounted.png new file mode 100644 index 0000000..18c83b4 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_colorwallmounted.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_cyans.png b/unifieddyes/textures/unifieddyes_palette_cyans.png new file mode 100644 index 0000000..38d8ee3 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_cyans.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_greens.png b/unifieddyes/textures/unifieddyes_palette_greens.png new file mode 100644 index 0000000..e38a459 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_greens.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_greys.png b/unifieddyes/textures/unifieddyes_palette_greys.png new file mode 100644 index 0000000..1fa5292 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_greys.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_limes.png b/unifieddyes/textures/unifieddyes_palette_limes.png new file mode 100644 index 0000000..ebfd703 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_limes.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_magentas.png b/unifieddyes/textures/unifieddyes_palette_magentas.png new file mode 100644 index 0000000..7c398b7 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_magentas.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_oranges.png b/unifieddyes/textures/unifieddyes_palette_oranges.png new file mode 100644 index 0000000..0986014 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_oranges.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_reds.png b/unifieddyes/textures/unifieddyes_palette_reds.png new file mode 100644 index 0000000..85b8e5a Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_reds.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_redviolets.png b/unifieddyes/textures/unifieddyes_palette_redviolets.png new file mode 100644 index 0000000..76e79e4 Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_redviolets.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_skyblues.png b/unifieddyes/textures/unifieddyes_palette_skyblues.png new file mode 100644 index 0000000..638025d Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_skyblues.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_violets.png b/unifieddyes/textures/unifieddyes_palette_violets.png new file mode 100644 index 0000000..f71b90f Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_violets.png differ diff --git a/unifieddyes/textures/unifieddyes_palette_yellows.png b/unifieddyes/textures/unifieddyes_palette_yellows.png new file mode 100644 index 0000000..862ac4f Binary files /dev/null and b/unifieddyes/textures/unifieddyes_palette_yellows.png differ diff --git a/vines/functions.lua b/vines/functions.lua index db120a6..26e7cc4 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 343a1e4..0305c4d 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 cf95517..57c7a76 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 b9313cc..d47c6e2 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 7f880ea..9d41bda 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 0000000..79d9eb2 --- /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 d8b20e7..b3c42a6 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 -- cgit v1.2.3