diff --git a/config-file-example b/config-file-example index 5ff8ad3d..c830055c 100644 --- a/config-file-example +++ b/config-file-example @@ -1,4 +1,4 @@ -mt_version="5.3.0" +mt_version="5.4.0" first_install=y ufw_enable=y ufw_ssh_port_for_accept=22 diff --git a/mods-download b/mods-download index 7dc5e2b3..20c1a59e 100755 --- a/mods-download +++ b/mods-download @@ -3,6 +3,7 @@ rm -rf mods mkdir mods cd mods +git clone --depth 1 --branch master https://github.com/Extex101/christmas.git git clone --depth 1 --branch master https://github.com/minetest-mods/3d_armor.git git clone --depth 1 --branch master https://github.com/minetest-mods/unified_inventory.git git clone --depth 1 --branch master https://github.com/minetest-mods/unifiedbricks.git @@ -106,7 +107,6 @@ git clone --depth 1 --branch master https://github.com/joe7575/techpack.git git clone --depth 1 --branch master https://github.com/random-geek/morelights.git git clone --depth 1 --branch master https://repo.or.cz/minetest_mtg_plus.git git clone --depth 1 --branch master https://github.com/minetest-mods/spectator_mode.git -git clone --depth 1 --branch master https://github.com/Extex101/christmas.git git clone --depth 1 --branch master https://gitlab.com/VanessaE/gloopblocks.git git clone --depth 1 --branch master https://github.com/minetest-mods/mylandscaping.git git clone --depth 1 --branch master https://gitlab.com/VanessaE/minislots.git diff --git a/mods-list b/mods-list index 7799c06a..81b684f3 100644 --- a/mods-list +++ b/mods-list @@ -1,32 +1,38 @@ load_mod_interact = false +load_mod_christmas = false +load_mod_advtrains_interlocking = false +load_mod_advtrains_line_automation = false +load_mod_advtrains_luaautomation = false +load_mod_advtrains_signals_ks = false load_mod_workbench = true load_mod_wool = true load_mod_wine = true -load_mod_mobs_birds = true -load_mod_plasticbox = true -load_mod_minislots_golden7s_deluxe = true +load_mod_windmill = true +load_mod_vehicle_mash = true +load_mod_unifieddyes = true +load_mod_unified_inventory = true +load_mod_tubelib2 = true +load_mod_ts_workshop = true load_mod_mail = true load_mod_worldedit = true -load_mod_letters = true +load_mod_lightsplus = true +load_mod_homedecor_electrical = true load_mod_trafficlight = true load_mod_jukebox = true load_mod_tubelib_addons1 = true +load_mod_hot_air_balloons = true +load_mod_mylandscaping = true +load_mod_streetsmod = true load_mod_plasmascreen = true -load_mod_mobs_npc = true -load_mod_my_future_doors = true load_mod_itemframes = true load_mod_homedecor_office = true load_mod_stargate = true load_mod_charcoal = true -load_mod_homedecor_lighting = true -load_mod_angledwalls = true load_mod_builtin_item = true +load_mod_throwing_arrows = true +load_mod_my_saloon_doors = true load_mod_homedecor_exterior = true -load_mod_flowerpot = true -load_mod_3d_armor_stand = true load_mod_junglegrass = true -load_mod_mobs_crocs = true -load_mod_homedecor_electrical = true load_mod_homedecor_doors_and_gates = true load_mod_homedecor_common = true load_mod_homedecor_furniture_medieval = true @@ -35,67 +41,81 @@ load_mod_homedecor_bedroom = true load_mod_homedecor_laundry = true load_mod_blox = true load_mod_homedecor_3d_extras = true -load_mod_computer = true -load_mod_mymillwork = true +load_mod_claycrafter = true +load_mod_3d_armor_stand = true +load_mod_flowerpot = true +load_mod_mobs_npc = true +load_mod_my_future_doors = true load_mod_drinks = true load_mod_angledstairs = true -load_mod_nature_classic = true load_mod_homedecor_clocks = true load_mod_signs_road = true load_mod_homedecor_cobweb = true -load_mod_christmas = true load_mod_along_shore = true -load_mod_artdeco = true -load_mod_carts = true -load_mod_mobs_butterfly = true -load_mod_mobs_animal = true -load_mod_mobs_monster = true -load_mod_lavalamp = true -load_mod_mtg_plus = true -load_mod_homedecor_gastronomy = true -load_mod_anvils = true -load_mod_moreblocks = true -load_mod_molehills = true +load_mod_homedecor_electronics = true +load_mod_homedecor_kitchen = true +load_mod_signs_api = true +load_mod_mytrouble = true +load_mod_signs = true load_mod_ontime_clocks = true load_mod_mtfoods = true load_mod_sl_controller = true -load_mod_intllib = true +load_mod_font_metro = true +load_mod_trees_lib = true +load_mod_mydiamondblock = true +load_mod_minislots_engine = true load_mod_display_api = true -load_mod_worldedit_gui = true -load_mod_bridger = true +load_mod_intllib = true +load_mod_moretrees = true +load_mod_smartshop = true +load_mod_death_compass = true +load_mod_wieldview = true +load_mod_colorcubes = true +load_mod_fake_fire = true +load_mod_compost = true +load_mod_ts_furniture = true +load_mod_myconnect4 = true +load_mod_carts = true +load_mod_unifiedbricks = true +load_mod_mycheckers = true +load_mod_3d_armor_sfinv = true +load_mod_morelights_vintage = true +load_mod_infrastructure = true +load_mod_lpanes = true load_mod_homedecor_trash_cans = true load_mod_3d_armor_ui = true load_mod_gloopblocks = true -load_mod_mobs = true -load_mod_worldedit_shortcommands = true -load_mod_worldedit_brush = true -load_mod_bbq = true -load_mod_wieldview = true -load_mod_death_compass = true +load_mod_advtrains = true load_mod_facade = true load_mod_inbox = true load_mod_cloud_items = true -load_mod_flowers_plus = true load_mod_bows = true load_mod_3dmushrooms = true -load_mod_minislots_engine = true -load_mod_ambience = true -load_mod_lib_mount = true +load_mod_flowers_plus = true +load_mod_protector = true +load_mod_homedecor_climate_control = true +load_mod_signs_lib = true +load_mod_artdeco = true +load_mod_worldedit_brush = true +load_mod_bbq = true +load_mod_minislots_golden7s = true +load_mod_mymasonhammer = true +load_mod_worldedit_gui = true +load_mod_bridger = true +load_mod_ts_doors = true +load_mod_vines = true +load_mod_currency = true +load_mod_advtrains_assets = true load_mod_streetshotfix = true load_mod_carpets = true -load_mod_windmill = true -load_mod_chat2 = true load_mod_xban2 = true load_mod_coloredwood = true load_mod_homedecor_misc = true load_mod_3d_armor_ip = true -load_mod_techpack_stairway = true -load_mod_shields = true -load_mod_morelights_extras = true -load_mod_homedecor_roofing = true -load_mod_mys_n_l = true -load_mod_smartfs = true load_mod_steles = true +load_mod_abriflame = true +load_mod_mobs_bat = true +load_mod_playeranim = true load_mod_homedecor_seating = true load_mod_enchanting = true load_mod_mycanadiancheckers = true @@ -103,61 +123,75 @@ load_mod_mychess = true load_mod_asphaltstairs = true load_mod_manholes = true load_mod_building_blocks = true +load_mod_homedecor_lighting = true +load_mod_angledwalls = true +load_mod_advtrains_train_track = true +load_mod_rubiks = true +load_mod_trash_can = true +load_mod_cottages = true load_mod_3d_armor = true load_mod_doors = true load_mod_dryplants = true load_mod_stoneworks = true -load_mod_bees = true -load_mod_mymasonhammer = true -load_mod_minislots_golden7s = true -load_mod_3d_armor_sfinv = true -load_mod_morelights_vintage = true -load_mod_infrastructure = true -load_mod_bakedclay = true -load_mod_ilights = true +load_mod_boards = true +load_mod_crops = true +load_mod_ts_paper = true +load_mod_more_chests = true +load_mod_concretestairs = true +load_mod_mypitfall = true load_mod_castle = true -load_mod_currency = true +load_mod_serialize_lib = true +load_mod_mobs_birds = true +load_mod_plasticbox = true +load_mod_ambience = true +load_mod_lib_mount = true +load_mod_bees = true +load_mod_homedecor_bathroom = true +load_mod_advtrains_itrainmap = true +load_mod_my_sliding_doors = true +load_mod_homedecor_windows_and_treatments = true +load_mod_bushes = true +load_mod_lavalamp = true +load_mod_mtg_plus = true +load_mod_homedecor_gastronomy = true +load_mod_shields = true +load_mod_techpack_stairway = true +load_mod_anvils = true +load_mod_moreblocks = true +load_mod_molehills = true +load_mod_ilights = true +load_mod_bakedclay = true load_mod_basic_signs = true load_mod_youngtrees = true load_mod_bonemeal = true +load_mod_chat2 = true +load_mod_homedecor_foyer = true +load_mod_mobs_fish = true +load_mod_letters = true +load_mod_abriglass = true +load_mod_minislots_golden7s_deluxe = true load_mod_minislots_work_files = true load_mod_mylittle_bg = true -load_mod_vines = true -load_mod_ts_doors = true -load_mod_moretrees = true -load_mod_smartshop = true -load_mod_mobs_fish = true -load_mod_homedecor_foyer = true -load_mod_colorcubes = true -load_mod_fake_fire = true -load_mod_compost = true -load_mod_concretestairs = true -load_mod_signs_api = true -load_mod_mytrouble = true -load_mod_more_chests = true -load_mod_ts_paper = true -load_mod_crops = true -load_mod_boards = true -load_mod_trees_lib = true -load_mod_mydiamondblock = true -load_mod_signs_lib = true -load_mod_homedecor_climate_control = true -load_mod_protector = true -load_mod_font_metro = true -load_mod_homedecor_kitchen = true -load_mod_homedecor_electronics = true -load_mod_signs = true +load_mod_nature_classic = true +load_mod_worldedit_shortcommands = true +load_mod_mobs = true +load_mod_mobs_monster = true +load_mod_mobs_animal = true +load_mod_mobs_butterfly = true +load_mod_mobs_crocs = true load_mod_mobs_jellyfish = true load_mod_mobs_sharks = true load_mod_mobs_turtles = true load_mod_safer_lua = true +load_mod_morelights_extras = true +load_mod_homedecor_roofing = true +load_mod_mys_n_l = true +load_mod_smartfs = true load_mod_morelights_modern = true load_mod_homedecor_pictures_and_paintings = true load_mod_moreores = true load_mod_my_game_pieces = true load_mod_mydraughts = true -load_mod_my_saloon_doors = true -load_mod_throwing_arrows = true load_mod_basic_materials = true load_mod_mygomoku = true load_mod_worldedit_commands = true @@ -170,8 +204,6 @@ load_mod_homedecor_fences = true load_mod_mypachisi = true load_mod_homedecor_books = true load_mod_mypirinola = true -load_mod_unified_inventory = true -load_mod_mypitfall = true load_mod_mys_n_l_mini = true load_mod_labels = true load_mod_myuno = true @@ -182,7 +214,6 @@ load_mod_my_misc_doors = true load_mod_my_cottage_doors = true load_mod_woodsoils = true load_mod_lcdlib = true -load_mod_ts_workshop = true load_mod_my_default_doors = true load_mod_ferns = true load_mod_my_door_wood = true @@ -192,12 +223,7 @@ load_mod_emergencyphone = true load_mod_my_hidden_doors = true load_mod_homedecor_wardrobe = true load_mod_my_old_doors = true -load_mod_homedecor_bathroom = true -load_mod_my_sliding_doors = true -load_mod_homedecor_windows_and_treatments = true -load_mod_bushes = true -load_mod_mylandscaping = true -load_mod_streetsmod = true +load_mod_mymillwork = true load_mod_mypaths = true load_mod_mob_horse = true load_mod_streetsawards = true @@ -216,7 +242,6 @@ load_mod_font_api = true load_mod_poisonivy = true load_mod_xdecor = true load_mod_trunks = true -load_mod_playeranim = true load_mod_playerplus = true load_mod_prefab_redo = true load_mod_realchess = true @@ -239,33 +264,3 @@ load_mod_smartline = true load_mod_techpack_warehouse = true load_mod_tubelib = true load_mod_throwing = true -load_mod_cottages = true -load_mod_trash_can = true -load_mod_myconnect4 = true -load_mod_ts_furniture = true -load_mod_tubelib2 = true -load_mod_mycheckers = true -load_mod_unifiedbricks = true -load_mod_unifieddyes = true -load_mod_vehicle_mash = true -load_mod_rubiks = true -load_mod_lightsplus = true -load_mod_abriflame = true -load_mod_lpanes = true -load_mod_abriglass = true -load_mod_advtrains_train_track = true -load_mod_advtrains_train_subway = true -load_mod_advtrains_train_japan = true -load_mod_advtrains_train_industrial = true -load_mod_advtrains_luaautomation = true -load_mod_advtrains_interlocking = true -load_mod_advtrains = true -load_mod_advtrains_train_steam = true -load_mod_advtrains_line_automation = true -load_mod_advtrains_itrainmap = true -load_mod_assets = true -load_mod_advtrains_signals_ks = true -load_mod_claycrafter = true -load_mod_serialize_lib = true -load_mod_mobs_sky = false -load_mod_hot_air_balloons = true diff --git a/mods/3d_armor/3d_armor/textures/3d_armor_ui_form.png b/mods/3d_armor/3d_armor/textures/3d_armor_ui_form.png deleted file mode 100644 index 993809f2..00000000 Binary files a/mods/3d_armor/3d_armor/textures/3d_armor_ui_form.png and /dev/null differ diff --git a/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr new file mode 100644 index 00000000..ee72e52b --- /dev/null +++ b/mods/3d_armor/3d_armor_sfinv/locale/3d_armor_sfinv.es.tr @@ -0,0 +1,7 @@ +# textdomain: 3d_armor_sfinv + + +### init.lua ### + +3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv : Mod cargado pero no activado. +Armor=Armadura diff --git a/mods/3d_armor/3d_armor_stand/init.lua b/mods/3d_armor/3d_armor_stand/init.lua index 743ab3ad..612345b5 100644 --- a/mods/3d_armor/3d_armor_stand/init.lua +++ b/mods/3d_armor/3d_armor_stand/init.lua @@ -153,6 +153,7 @@ minetest.register_node("3d_armor_stand:armor_stand", { drawtype = "mesh", mesh = "3d_armor_stand.obj", tiles = {"3d_armor_stand.png"}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", walkable = false, @@ -221,6 +222,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", { drawtype = "mesh", mesh = "3d_armor_stand.obj", tiles = {"3d_armor_stand_locked.png"}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", walkable = false, diff --git a/mods/3d_armor/3d_armor_ui/init.lua b/mods/3d_armor/3d_armor_ui/init.lua index 2a6f6548..293cd28c 100644 --- a/mods/3d_armor/3d_armor_ui/init.lua +++ b/mods/3d_armor/3d_armor_ui/init.lua @@ -2,6 +2,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) local F = minetest.formspec_escape local has_technic = minetest.get_modpath("technic") ~= nil +local ui = unified_inventory if not minetest.global_exists("unified_inventory") then minetest.log("warning", S("3d_armor_ui: Mod loaded but unused.")) @@ -27,17 +28,24 @@ unified_inventory.register_button("armor", { unified_inventory.register_page("armor", { get_formspec = function(player, perplayer_formspec) - local fy = perplayer_formspec.formspec_y + local fy = perplayer_formspec.form_header_y + 0.5 + local gridx = perplayer_formspec.std_inv_x + local gridy = 0.6 + local name = player:get_player_name() if armor.def[name].init_time == 0 then return {formspec="label[0,0;"..F(S("Armor not initialized!")).."]"} end - local formspec = "background[0.06,"..fy..";7.92,7.52;3d_armor_ui_form.png]".. - "label[0,0;"..F(S("Armor")).."]".. - "list[detached:"..name.."_armor;armor;0,"..fy..";2,3;]".. - "image[2.5,"..(fy - 0.25)..";2,4;"..armor.textures[name].preview.."]".. - "label[5.0,"..(fy + 0.0)..";"..F(S("Level"))..": "..armor.def[name].level.."]".. - "label[5.0,"..(fy + 0.5)..";"..F(S("Heal"))..": "..armor.def[name].heal.."]".. + local formspec = perplayer_formspec.standard_inv_bg.. + perplayer_formspec.standard_inv.. + ui.make_inv_img_grid(gridx, gridy, 2, 3).. + string.format("label[%f,%f;%s]", + perplayer_formspec.form_header_x, perplayer_formspec.form_header_y, F(S("Armor"))).. + string.format("list[detached:%s_armor;armor;%f,%f;2,3;]", + name, gridx + ui.list_img_offset, gridy + ui.list_img_offset) .. + "image[3.5,"..(fy - 0.25)..";2,4;"..armor.textures[name].preview.."]".. + "label[6.0,"..(fy + 0.0)..";"..F(S("Level"))..": "..armor.def[name].level.."]".. + "label[6.0,"..(fy + 0.5)..";"..F(S("Heal"))..": "..armor.def[name].heal.."]".. "listring[current_player;main]".. "listring[detached:"..name.."_armor;armor]" if armor.config.fire_protect then @@ -45,7 +53,7 @@ unified_inventory.register_page("armor", { F(S("Fire"))..": "..armor.def[name].fire.."]" end if has_technic then - formspec = formspec.."label[5.0,"..(fy + 1.5)..";".. + formspec = formspec.."label[6.0,"..(fy + 1.5)..";".. F(S("Radiation"))..": "..armor.def[name].groups["radiation"].."]" end return {formspec=formspec} diff --git a/mods/3d_armor/3d_armor_ui/mod.conf b/mods/3d_armor/3d_armor_ui/mod.conf index 68eff85f..331627e7 100644 --- a/mods/3d_armor/3d_armor_ui/mod.conf +++ b/mods/3d_armor/3d_armor_ui/mod.conf @@ -2,3 +2,4 @@ name = 3d_armor_ui depends = 3d_armor optional_depends = unified_inventory description = Adds 3d_armor page to the unified inventory. +min_minetest_version = 5.4.0 diff --git a/mods/advtrains/advtrains/depends.txt b/mods/advtrains/advtrains/depends.txt deleted file mode 100644 index e4a8899a..00000000 --- a/mods/advtrains/advtrains/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -serialize_lib -mesecons? -digtron? diff --git a/mods/advtrains/advtrains/locale/advtrains.de.tr b/mods/advtrains/advtrains/locale/advtrains.de.tr index f0d797f0..cd43eed9 100644 --- a/mods/advtrains/advtrains/locale/advtrains.de.tr +++ b/mods/advtrains/advtrains/locale/advtrains.de.tr @@ -66,6 +66,7 @@ Subway Passenger Wagon=U-Bahn-Waggon The wagon's inventory is not empty!=Das Inventar dieses Waggons ist nicht leer! This track can not be changed!=Diese Schiene kann nicht geändert werden! This track can not be rotated!=Diese Schiene kann nicht gedreht werden! +This track can not be removed!=Diese Schiene kann nicht entfernt werden! Position is occupied by a train.=Ein Zug steht an dieser Position. There's a Track Circuit Break here.=Hier ist eine Gleisabschnittsgrenze (TCB). There's a Signal Influence Point here.=Hier ist ein Signal-Beeinflussungspunkt. diff --git a/mods/advtrains/advtrains/mod.conf b/mods/advtrains/advtrains/mod.conf new file mode 100644 index 00000000..027e08a1 --- /dev/null +++ b/mods/advtrains/advtrains/mod.conf @@ -0,0 +1,7 @@ +name=advtrains +title=Advanced Trains Core +description=Core system for realistic trains in Minetest +author=orwell96 + +depends=serialize_lib +optional_depends=mesecons,digtron diff --git a/mods/advtrains/advtrains/signals.lua b/mods/advtrains/advtrains/signals.lua index 9df2f998..59612cd4 100644 --- a/mods/advtrains/advtrains/signals.lua +++ b/mods/advtrains/advtrains/signals.lua @@ -9,6 +9,12 @@ local function can_dig_func(pos) end return true end +local function after_dig_func(pos) + if advtrains.interlocking then + return advtrains.interlocking.signal_after_dig(pos) + end + return true +end local function aspect(b) return { @@ -97,6 +103,7 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", supported_aspects = suppasp, }, can_dig = can_dig_func, + after_dig_node = after_dig_func, }) advtrains.trackplacer.add_worked("advtrains:retrosignal", r, rotation, nil) @@ -163,6 +170,7 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", end, }, can_dig = can_dig_func, + after_dig_node = after_dig_func, }) advtrains.trackplacer.add_worked("advtrains:signal", r, rotation, nil) end @@ -232,6 +240,7 @@ for r,f in pairs({on={as="off", ls="green", als="red"}, off={as="on", ls="red", end, }, can_dig = can_dig_func, + after_dig_node = after_dig_func, }) end end diff --git a/mods/advtrains/advtrains/tracks.lua b/mods/advtrains/advtrains/tracks.lua index ba597202..33a79997 100644 --- a/mods/advtrains/advtrains/tracks.lua +++ b/mods/advtrains/advtrains/tracks.lua @@ -442,6 +442,15 @@ Depending on the number of connections: - conn3 <> conn4 ]] +-- Notify the user if digging the rail is not allowed +local function can_dig_callback(pos, player) + local ok, reason = advtrains.can_dig_or_modify_track(pos) + if not ok and player then + minetest.chat_send_player(player:get_player_name(), attrans("This track can not be removed!") .. " " .. reason) + end + return ok +end + function advtrains.register_tracks(tracktype, def, preset) advtrains.trackplacer.register_tracktype(def.nodename_prefix, preset.tpdefault) if preset.regtp then @@ -478,7 +487,7 @@ function advtrains.register_tracks(tracktype, def, preset) not_blocking_trains=1, }, - can_dig = advtrains.can_dig_or_modify_track, + can_dig = can_dig_callback, after_dig_node=function(pos) advtrains.ndb.update(pos) end, @@ -613,7 +622,7 @@ function advtrains.can_dig_or_modify_track(pos) return false, attrans("There's a Track Circuit Break here.") end -- signal ip? - if advtrains.interlocking.db.is_ip_at(pos) then + if advtrains.interlocking.db.is_ip_at(pos, true) then -- is_ip_at with purge parameter return false, attrans("There's a Signal Influence Point here.") end end diff --git a/mods/advtrains/advtrains_interlocking/database.lua b/mods/advtrains/advtrains_interlocking/database.lua index 68d41382..a35d446a 100644 --- a/mods/advtrains/advtrains_interlocking/database.lua +++ b/mods/advtrains/advtrains_interlocking/database.lua @@ -562,9 +562,23 @@ function ildb.set_sigd_for_signal(pos, sigd) end -- checks if there's any influence point set to this position -function ildb.is_ip_at(pos) +-- if purge is true, checks whether the associated signal still exists +-- and deletes the ip if not. +function ildb.is_ip_at(pos, purge) local pts = advtrains.roundfloorpts(pos) if influence_points[pts] then + if purge then + -- is there still a signal assigned to it? + for connid, sigpos in pairs(influence_points[pts]) do + local asp = advtrains.interlocking.signal_get_aspect(sigpos) + if not asp then + atlog("Clearing orphaned signal influence point", pts, "/", connid) + ildb.clear_ip_signal(pts, connid) + end + end + -- if there's no side left after purging, return false + if not influence_points[pts] then return false end + end return true end return false diff --git a/mods/advtrains/advtrains_interlocking/demosignals.lua b/mods/advtrains/advtrains_interlocking/demosignals.lua index fe60a73d..cba1f301 100644 --- a/mods/advtrains/advtrains_interlocking/demosignals.lua +++ b/mods/advtrains/advtrains_interlocking/demosignals.lua @@ -51,6 +51,7 @@ minetest.register_node("advtrains_interlocking:ds_danger", { }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) minetest.register_node("advtrains_interlocking:ds_free", { description = "Demo signal at Free", @@ -72,6 +73,7 @@ minetest.register_node("advtrains_interlocking:ds_free", { }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) minetest.register_node("advtrains_interlocking:ds_slow", { description = "Demo signal at Slow", @@ -93,5 +95,6 @@ minetest.register_node("advtrains_interlocking:ds_slow", { }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) diff --git a/mods/advtrains/advtrains_interlocking/depends.txt b/mods/advtrains/advtrains_interlocking/depends.txt deleted file mode 100644 index fdf6b172..00000000 --- a/mods/advtrains/advtrains_interlocking/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -advtrains -advtrains_train_track? \ No newline at end of file diff --git a/mods/advtrains/advtrains_interlocking/mod.conf b/mods/advtrains/advtrains_interlocking/mod.conf new file mode 100644 index 00000000..3b2d0294 --- /dev/null +++ b/mods/advtrains/advtrains_interlocking/mod.conf @@ -0,0 +1,7 @@ +name=advtrains_interlocking +title=Advanced Trains Interlocking System +description=Interlocking system for Advanced Trains +author=orwell96 + +depends=advtrains +optional_depends=advtrains_train_track diff --git a/mods/advtrains/advtrains_interlocking/tcb_ts_ui.lua b/mods/advtrains/advtrains_interlocking/tcb_ts_ui.lua old mode 100644 new mode 100755 index 38d4453e..34fbf7ff --- a/mods/advtrains/advtrains_interlocking/tcb_ts_ui.lua +++ b/mods/advtrains/advtrains_interlocking/tcb_ts_ui.lua @@ -120,13 +120,41 @@ minetest.register_node("advtrains_interlocking:tcb_node", { -- Crafting + +-- set some fallbacks +local tcb_core = "default:mese_crystal" +local tcb_secondary = "default:mese_crystal_fragment" + +--alternative recipe items +--core +if minetest.get_modpath("basic_materials") then + tcb_core = "basic_materials:ic" +elseif minetest.get_modpath("technic") then + tcb_core = "technic:control_logic_unit" +end +--print("TCB Core: "..tcb_core) +--secondary +if minetest.get_modpath("mesecons") then + tcb_secondary = 'mesecons:wire_00000000_off' +end +--print("TCB Secondary: "..tcb_secondary) + minetest.register_craft({ output = 'advtrains_interlocking:tcb_node 4', recipe = { - {'mesecons:wire_00000000_off', 'basic_materials:ic', 'mesecons:wire_00000000_off'}, + {tcb_secondary,tcb_core,tcb_secondary}, + {'advtrains:dtrack_placer','','advtrains:dtrack_placer'} }, + --actually use track in the tcb recipe + replacements = { + {"advtrains:dtrack_placer","advtrains:dtrack_placer"}, + {"advtrains:dtrack_placer","advtrains:dtrack_placer"}, + } }) +--nil the temp crafting variables +tcb_core= nil +tcb_secondary = nil minetest.register_on_punchnode(function(pos, node, player, pointed_thing) local pname = player:get_player_name() diff --git a/mods/advtrains/advtrains_itrainmap/depends.txt b/mods/advtrains/advtrains_itrainmap/depends.txt deleted file mode 100644 index 6f00bf69..00000000 --- a/mods/advtrains/advtrains_itrainmap/depends.txt +++ /dev/null @@ -1 +0,0 @@ -advtrains \ No newline at end of file diff --git a/mods/advtrains/advtrains_itrainmap/mod.conf b/mods/advtrains/advtrains_itrainmap/mod.conf new file mode 100644 index 00000000..6468fc46 --- /dev/null +++ b/mods/advtrains/advtrains_itrainmap/mod.conf @@ -0,0 +1,6 @@ +name=advtrains_itrainmap +title=Advanced Trains Interactive Train Map (currently broken) +description=Map formspec showing tracks and trains +author=orwell96 + +depends=advtrains diff --git a/mods/advtrains/advtrains_line_automation/depends.txt b/mods/advtrains/advtrains_line_automation/depends.txt deleted file mode 100644 index ce2e23c2..00000000 --- a/mods/advtrains/advtrains_line_automation/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -advtrains_interlocking -advtrains_train_track? \ No newline at end of file diff --git a/mods/advtrains/advtrains_line_automation/mod.conf b/mods/advtrains/advtrains_line_automation/mod.conf new file mode 100644 index 00000000..e9851c83 --- /dev/null +++ b/mods/advtrains/advtrains_line_automation/mod.conf @@ -0,0 +1,7 @@ +name=advtrains_line_automation +title=Advanced Trains Line Automation +description=Tools for automatic train lines +author=orwell96 + +depends=advtrains_interlocking +optional_depends=advtrains_train_track diff --git a/mods/advtrains/advtrains_luaautomation/README.md b/mods/advtrains/advtrains_luaautomation/README.md index 5232c22f..683e45c6 100644 --- a/mods/advtrains/advtrains_luaautomation/README.md +++ b/mods/advtrains/advtrains_luaautomation/README.md @@ -93,6 +93,9 @@ Removes any pending interrupts of this node. Make this active component send a digiline message on the specified channel. Not available in init code. + - `atc_send_to_train(, )` + Sends the specified ATC command to the train specified by its train id. This happens regardless of where the train is in the world, and can be used to remote-control trains. Returns true on success. If the train ID does not exist, returns false and does nothing. See [atc_command.txt](../atc_command.txt) for the ATC command syntax. + #### Interlocking Route Management Functions If `advtrains_interlocking` is enabled, the following aditional functions can be used: @@ -230,6 +233,9 @@ In addition to the above environment functions, the following functions are avai - `atc_set_text_inside(text)` Set text shown to train passengers. Pass nil to show no text. `text` must be a string. + - `atc_set_text_inside(text) / atc_set_text_outside(text)` + Getters for inside/outside text, return nil when no train is there. + - `get_line()` Returns the "Line" property of the train (a string). This can be used to distinguish between trains of different lines and route them appropriately. diff --git a/mods/advtrains/advtrains_luaautomation/atc_rail.lua b/mods/advtrains/advtrains_luaautomation/atc_rail.lua index 0dee0a56..2d6efe5b 100644 --- a/mods/advtrains/advtrains_luaautomation/atc_rail.lua +++ b/mods/advtrains/advtrains_luaautomation/atc_rail.lua @@ -151,6 +151,14 @@ function r.fire_event(pos, evtdata, appr_internal) advtrains.trains[train_id].text_inside=text return true end, + atc_get_text_outside = function() + if not train_id then return false end + return advtrains.trains[train_id].text_outside + end, + atc_get_text_inside = function(text) + if not train_id then return false end + return advtrains.trains[train_id].text_inside + end, atc_set_lzb_tsr = function(speed) if not appr_internal then error("atc_set_lzb_tsr() can only be used during 'approach' events!") diff --git a/mods/advtrains/advtrains_luaautomation/depends.txt b/mods/advtrains/advtrains_luaautomation/depends.txt deleted file mode 100644 index d5523e1a..00000000 --- a/mods/advtrains/advtrains_luaautomation/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -advtrains -advtrains_interlocking? -advtrains_line_automation? -mesecons_switch? \ No newline at end of file diff --git a/mods/advtrains/advtrains_luaautomation/environment.lua b/mods/advtrains/advtrains_luaautomation/environment.lua index 9ef320c0..63aa68d8 100644 --- a/mods/advtrains/advtrains_luaautomation/environment.lua +++ b/mods/advtrains/advtrains_luaautomation/environment.lua @@ -153,6 +153,17 @@ local static_env = { local pos=atlatc.pcnaming.resolve_pos(parpos) atlatc.interrupt.add(0, pos, {type="ext_int", ext_int=true, message=imesg}) end, + -- sends an atc command to train regardless of where it is in the world + atc_send_to_train = function(train_id, command) + assertt(command, "string") + local train = advtrains.trains[train_id] + if train then + advtrains.atc.train_set_command(train, command, true) + return true + else + return false + end + end, } -- If interlocking is present, enable route setting functions diff --git a/mods/advtrains/advtrains_luaautomation/mod.conf b/mods/advtrains/advtrains_luaautomation/mod.conf new file mode 100644 index 00000000..a7376034 --- /dev/null +++ b/mods/advtrains/advtrains_luaautomation/mod.conf @@ -0,0 +1,7 @@ +name=advtrains_luaautomation +title=Advanced Trains LuaATC +description=Lua control interface to Advanced Trains +author=orwell96 + +depends=advtrains +optional_depends=advtrains_interlocking,advtrains_line_automation,mesecons_switch diff --git a/mods/advtrains/advtrains_signals_ks/depends.txt b/mods/advtrains/advtrains_signals_ks/depends.txt deleted file mode 100644 index 9ddc3eb7..00000000 --- a/mods/advtrains/advtrains_signals_ks/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -advtrains -advtrains_interlocking \ No newline at end of file diff --git a/mods/advtrains/advtrains_signals_ks/init.lua b/mods/advtrains/advtrains_signals_ks/init.lua old mode 100644 new mode 100755 index 1c60a0eb..3209cb12 --- a/mods/advtrains/advtrains_signals_ks/init.lua +++ b/mods/advtrains/advtrains_signals_ks/init.lua @@ -115,6 +115,7 @@ for _, rtab in ipairs({ }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) -- rotatable by trackworker advtrains.trackplacer.add_worked("advtrains_signals_ks:hs", typ, "_"..rot, prts.n) @@ -160,6 +161,7 @@ for _, rtab in ipairs({ }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) -- rotatable by trackworker advtrains.trackplacer.add_worked("advtrains_signals_ks:ra", typ, "_"..rot, prts.n) @@ -210,6 +212,7 @@ for _, rtab in ipairs({ }, on_rightclick = advtrains.interlocking.signal_rc_handler, can_dig = advtrains.interlocking.signal_can_dig, + after_dig_node = advtrains.interlocking.signal_after_dig, }) -- rotatable by trackworker advtrains.trackplacer.add_worked("advtrains_signals_ks:sign", typ, "_"..rot, prts.n) @@ -270,11 +273,18 @@ minetest.register_craft({ }, }) +local sign_material = "default:sign_wall_steel" --fallback +if minetest.get_modpath("basic_materials") then + sign_material = "basic_materials:plastic_sheet" +end +--print("Sign Material: "..sign_material) + minetest.register_craft({ output = "advtrains_signals_ks:sign_8_0 2", recipe = { - {'basic_materials:plastic_sheet', 'dye:black'}, + {sign_material, 'dye:black'}, {'default:stick', ''}, {'default:stick', ''}, }, }) +sign_material = nil diff --git a/mods/advtrains/advtrains_signals_ks/mod.conf b/mods/advtrains/advtrains_signals_ks/mod.conf new file mode 100644 index 00000000..7036efa3 --- /dev/null +++ b/mods/advtrains/advtrains_signals_ks/mod.conf @@ -0,0 +1,6 @@ +name=advtrains_signals_ks +title=Advtrains Interlocking Signal Set - German 'Ks' signals +description=Default signal set for the Advanced Trains Interlocking system +author=orwell96 + +depends=advtrains_interlocking diff --git a/mods/advtrains/advtrains_train_industrial/depends.txt b/mods/advtrains/advtrains_train_industrial/depends.txt deleted file mode 100644 index 0492ba2e..00000000 --- a/mods/advtrains/advtrains_train_industrial/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -advtrains -advtrains_train_track -intllib? diff --git a/mods/advtrains/advtrains_train_industrial/init.lua b/mods/advtrains/advtrains_train_industrial/init.lua deleted file mode 100644 index dde7d83f..00000000 --- a/mods/advtrains/advtrains_train_industrial/init.lua +++ /dev/null @@ -1,149 +0,0 @@ -local S = attrans - -advtrains.register_wagon("engine_industrial", { - mesh="advtrains_engine_industrial.b3d", - textures = {"advtrains_engine_industrial.png"}, - drives_on={default=true}, - max_speed=20, - seats = { - { - name=S("Driver Stand (right)"), - attach_offset={x=5, y=-3, z=-8}, - view_offset={x=5.2, y=-4, z=0}, - driving_ctrl_access=true, - group = "dstand", - }, - { - name=S("Driver Stand (left)"), - attach_offset={x=5, y=7, z=-8}, - view_offset={x=-5.2, y=-4, z=0}, - driving_ctrl_access=true, - group = "dstand", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - access_to = {}, - driving_ctrl_access = true, - }, - }, - assign_to_seat_group = {"dstand"}, - visual_size = {x=1, y=1}, - wagon_span=2.6, - is_locomotive=true, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, - horn_sound = "advtrains_industrial_horn", -}, S("Industrial Train Engine"), "advtrains_engine_industrial_inv.png") ---big-- -advtrains.register_wagon("engine_industrial_big", { - mesh="advtrains_engine_industrial_big.b3d", - textures = {"advtrains_engine_industrial_big.png"}, - drives_on={default=true}, - max_speed=30, - seats = { - { - name=S("Driver Stand (right)"), - attach_offset={x=5, y=7, z=20}, - view_offset={x=5.2, y=-4, z=11}, - driving_ctrl_access=true, - group = "dstand", - }, - { - name=S("Driver Stand (left)"), - attach_offset={x=5, y=-3, z=-8}, - view_offset={x=-5.2, y=-4, z=0}, - driving_ctrl_access=true, - group = "dstand", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - access_to = {}, - driving_ctrl_access = true, - }, - }, - assign_to_seat_group = {"dstand"}, - visual_size = {x=1, y=1}, - wagon_span=4, - is_locomotive=true, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, - horn_sound = "advtrains_industrial_horn", -}, S("Big Industrial Train Engine"), "advtrains_engine_industrial_inv.png") -advtrains.register_wagon("wagon_tank", { - mesh="advtrains_wagon_tank.b3d", - textures = {"advtrains_wagon_tank.png"}, - seats = {}, - drives_on={default=true}, - max_speed=20, - visual_size = {x=1, y=1}, - wagon_span=2.2, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, - has_inventory = true, - get_inventory_formspec = advtrains.standard_inventory_formspec, - inventory_list_sizes = { - box=8*3, - }, -}, S("Industrial tank wagon"), "advtrains_wagon_tank_inv.png") -advtrains.register_wagon("wagon_wood", { - mesh="advtrains_wagon_wood.b3d", - textures = {"advtrains_wagon_wood.png"}, - seats = {}, - drives_on={default=true}, - max_speed=20, - visual_size = {x=1, y=1}, - wagon_span=1.8, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, - has_inventory = true, - get_inventory_formspec = advtrains.standard_inventory_formspec, - inventory_list_sizes = { - box=8*3, - }, -}, S("Industrial wood wagon"), "advtrains_wagon_wood_inv.png") - --- Craftings - -minetest.register_craft({ - output = 'advtrains:engine_industrial', - recipe = { - {'default:steelblock', 'default:steelblock', 'default:steelblock'}, - {'advtrains:driver_cab', 'default:steelblock', 'default:steelblock'}, - {'advtrains:wheel', '', 'advtrains:wheel'}, - }, -}) - ---Engine Industrial Big -minetest.register_craft({ - output = 'advtrains:engine_industrial_big', - recipe = { - {'default:glass', 'default:steelblock', 'default:steelblock'}, - {'advtrains:driver_cab', 'default:steelblock', 'default:steelblock'}, - {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, - }, -}) - - ---Industrial tank wagon -minetest.register_craft({ - output = 'advtrains:wagon_tank', - recipe = { - {'default:steelblock', 'default:steel_ingot', 'default:steelblock'}, - {'advtrains:steelblock', '', 'default:steelblock'}, - {'advtrains:wheel', 'default:steelblock', 'advtrains:wheel'}, - }, -}) - ---Industrial wood wagon -minetest.register_craft({ - output = 'advtrains:wagon_wood', - recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'advtrains:steelblock', 'default:steelblock', 'default:steelblock'}, - {'advtrains:wheel', '', 'advtrains:wheel'}, - }, -}) diff --git a/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial.b3d b/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial.b3d deleted file mode 100644 index 58010c7d..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial_big.b3d b/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial_big.b3d deleted file mode 100644 index e8a50a28..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/models/advtrains_engine_industrial_big.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_tank.b3d b/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_tank.b3d deleted file mode 100644 index 4f28d6c5..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_tank.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_wood.b3d b/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_wood.b3d deleted file mode 100644 index 023bf9a6..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/models/advtrains_wagon_wood.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/sounds/advtrains_industrial_horn.ogg b/mods/advtrains/advtrains_train_industrial/sounds/advtrains_industrial_horn.ogg deleted file mode 100644 index e8f31b3c..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/sounds/advtrains_industrial_horn.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial.png deleted file mode 100644 index ac81bc71..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png deleted file mode 100644 index 0fcdc94c..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png deleted file mode 100644 index be4e80fd..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank.png deleted file mode 100644 index 01100bf0..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png deleted file mode 100644 index 03401beb..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood.png deleted file mode 100644 index 145dcd85..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png b/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png deleted file mode 100644 index 87109dd6..00000000 Binary files a/mods/advtrains/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/depends.txt b/mods/advtrains/advtrains_train_japan/depends.txt deleted file mode 100644 index 0492ba2e..00000000 --- a/mods/advtrains/advtrains_train_japan/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -advtrains -advtrains_train_track -intllib? diff --git a/mods/advtrains/advtrains_train_japan/init.lua b/mods/advtrains/advtrains_train_japan/init.lua deleted file mode 100644 index a7848454..00000000 --- a/mods/advtrains/advtrains_train_japan/init.lua +++ /dev/null @@ -1,162 +0,0 @@ -local S = attrans - -advtrains.register_wagon("engine_japan", { - mesh="advtrains_engine_japan.b3d", - textures = {"advtrains_engine_japan.png"}, - drives_on={default=true}, - max_speed=20, - seats = { - { - name=S("Driver stand"), - attach_offset={x=0, y=-2, z=13}, - view_offset={x=0, y=0, z=0}, - group="dstand", - }, - { - name="1", - attach_offset={x=-4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - access_to = {"pass"}, - require_doors_open=true, - driving_ctrl_access=true, - }, - pass={ - name = "Passenger area", - access_to = {"dstand"}, - require_doors_open=true, - }, - }, - assign_to_seat_group = {"dstand", "pass"}, - doors={ - open={ - [-1]={frames={x=0, y=20}, time=1}, - [1]={frames={x=40, y=60}, time=1} - }, - close={ - [-1]={frames={x=20, y=40}, time=1}, - [1]={frames={x=60, y=80}, time=1} - } - }, - door_entry={-1.7}, - visual_size = {x=1, y=1}, - wagon_span=2.5, - is_locomotive=true, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, - horn_sound = "advtrains_japan_horn", -}, S("Japanese Train Engine"), "advtrains_engine_japan_inv.png") - -advtrains.register_wagon("wagon_japan", { - mesh="advtrains_wagon_japan.b3d", - textures = {"advtrains_wagon_japan.png"}, - drives_on={default=true}, - max_speed=20, - seats = { - { - name="1", - attach_offset={x=-4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="1a", - attach_offset={x=-4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="2a", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - }, - seat_groups = { - pass={ - name = "Passenger area", - access_to = {}, - require_doors_open=true, - }, - }, - assign_to_seat_group = {"pass"}, - doors={ - open={ - [-1]={frames={x=0, y=20}, time=1}, - [1]={frames={x=40, y=60}, time=1} - }, - close={ - [-1]={frames={x=20, y=40}, time=1}, - [1]={frames={x=60, y=80}, time=1} - } - }, - door_entry={-1.7, 1.7}, - visual_size = {x=1, y=1}, - wagon_span=2.3, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 4"}, -}, S("Japanese Train Wagon"), "advtrains_wagon_japan_inv.png") - --- Crafting - -minetest.register_craft({ - output = 'advtrains:engine_japan', - recipe = { - {'default:steelblock', 'default:steelblock', ''}, - {'xpanes:pane_flat', 'default:steelblock', 'xpanes:pane_flat'}, - {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, - }, -}) - -minetest.register_craft({ -output = 'advtrains:wagon_japan', - recipe = { - {'default:steelblock', 'default:steelblock', 'default:steelblock'}, - {'xpanes:pane_flat', 'default:steelblock', 'xpanes:pane_flat'}, - {'advtrains:wheel', '', 'advtrains:wheel'}, - }, -}) - - - diff --git a/mods/advtrains/advtrains_train_japan/models/advtrains_engine_japan.b3d b/mods/advtrains/advtrains_train_japan/models/advtrains_engine_japan.b3d deleted file mode 100644 index 218d9659..00000000 Binary files a/mods/advtrains/advtrains_train_japan/models/advtrains_engine_japan.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/models/advtrains_wagon_japan.b3d b/mods/advtrains/advtrains_train_japan/models/advtrains_wagon_japan.b3d deleted file mode 100644 index e6263ddc..00000000 Binary files a/mods/advtrains/advtrains_train_japan/models/advtrains_wagon_japan.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/sounds/advtrains_japan_horn.ogg b/mods/advtrains/advtrains_train_japan/sounds/advtrains_japan_horn.ogg deleted file mode 100644 index f7ddb148..00000000 Binary files a/mods/advtrains/advtrains_train_japan/sounds/advtrains_japan_horn.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan.png b/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan.png deleted file mode 100644 index 2bc5fb8f..00000000 Binary files a/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan_inv.png b/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan_inv.png deleted file mode 100644 index 6af0636d..00000000 Binary files a/mods/advtrains/advtrains_train_japan/textures/advtrains_engine_japan_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan.png b/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan.png deleted file mode 100644 index c9cddc8b..00000000 Binary files a/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png b/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png deleted file mode 100644 index 3e6357c0..00000000 Binary files a/mods/advtrains/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/depends.txt b/mods/advtrains/advtrains_train_steam/depends.txt deleted file mode 100755 index 0492ba2e..00000000 --- a/mods/advtrains/advtrains_train_steam/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -advtrains -advtrains_train_track -intllib? diff --git a/mods/advtrains/advtrains_train_steam/init.lua b/mods/advtrains/advtrains_train_steam/init.lua deleted file mode 100755 index 057ad8f5..00000000 --- a/mods/advtrains/advtrains_train_steam/init.lua +++ /dev/null @@ -1,253 +0,0 @@ -local S = attrans - --- length of the steam engine loop sound -local SND_LOOP_LEN = 5 - -advtrains.register_wagon("newlocomotive", { - mesh="advtrains_engine_steam.b3d", - textures = {"advtrains_engine_steam.png"}, - is_locomotive=true, - drives_on={default=true}, - max_speed=10, - seats = { - { - name=S("Driver Stand (left)"), - attach_offset={x=-5, y=0, z=-10}, - view_offset={x=0, y=6, z=0}, - group = "dstand", - }, - { - name=S("Driver Stand (right)"), - attach_offset={x=5, y=0, z=-10}, - view_offset={x=0, y=6, z=0}, - group = "dstand", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - driving_ctrl_access=true, - access_to = {}, - }, - }, - assign_to_seat_group = {"dstand"}, - visual_size = {x=1, y=1}, - wagon_span=2.3, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - custom_on_velocity_change=function(self, velocity) - if self.old_anim_velocity~=advtrains.abs_ceil(velocity) then - self.object:set_animation({x=1,y=80}, advtrains.abs_ceil(velocity)*15, 0, true) - self.old_anim_velocity=advtrains.abs_ceil(velocity) - end - end, - - custom_on_activate = function(self, staticdata_table, dtime_s) - minetest.add_particlespawner({ - amount = 10, - time = 0, - -- ^ If time is 0 has infinite lifespan and spawns the amount on a per-second base - minpos = {x=0, y=2, z=1.2}, - maxpos = {x=0, y=2, z=1.2}, - minvel = {x=-0.2, y=1.8, z=-0.2}, - maxvel = {x=0.2, y=2, z=0.2}, - minacc = {x=0, y=-0.1, z=0}, - maxacc = {x=0, y=-0.3, z=0}, - minexptime = 2, - maxexptime = 4, - minsize = 1, - maxsize = 5, - -- ^ The particle's properties are random values in between the bounds: - -- ^ minpos/maxpos, minvel/maxvel (velocity), minacc/maxacc (acceleration), - -- ^ minsize/maxsize, minexptime/maxexptime (expirationtime) - collisiondetection = true, - -- ^ collisiondetection: if true uses collision detection - vertical = false, - -- ^ vertical: if true faces player using y axis only - texture = "smoke_puff.png", - -- ^ Uses texture (string) - attached = self.object, - }) - end, - drops={"default:steelblock 1"}, - horn_sound = "advtrains_steam_whistle", -}, S("Steam Engine"), "advtrains_engine_steam_inv.png") - -advtrains.register_wagon("detailed_steam_engine", { - mesh="advtrains_detailed_steam_engine.b3d", - textures = {"advtrains_detailed_steam_engine.png"}, - is_locomotive=true, - drives_on={default=true}, - max_speed=10, - seats = { - { - name=S("Driver Stand (left)"), - attach_offset={x=-5, y=10, z=-10}, - view_offset={x=9, y=-2, z=-6}, - group = "dstand", - }, - { - name=S("Driver Stand (right)"), - attach_offset={x=5, y=10, z=-10}, - view_offset={x=0, y=6, z=0}, - group = "dstand", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - driving_ctrl_access=true, - access_to = {}, - }, - }, - assign_to_seat_group = {"dstand"}, - visual_size = {x=1, y=1}, - wagon_span=2.05, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - custom_on_velocity_change=function(self, velocity) - if self.old_anim_velocity~=advtrains.abs_ceil(velocity) then - self.object:set_animation({x=1,y=80}, advtrains.abs_ceil(velocity)*15, 0, true) - self.old_anim_velocity=advtrains.abs_ceil(velocity) - end - end, - custom_on_step=function(self, dtime) - if self:train().velocity > 0 then -- First make sure that the train isn't standing - if not self.sound_loop_tmr or self.sound_loop_tmr <= 0 then - -- start the sound if it was never started or has expired - self.sound_loop_handle = minetest.sound_play({name="advtrains_steam_loop", gain=2}, {object=self.object}) - self.sound_loop_tmr = SND_LOOP_LEN - end - --decrease the sound timer - self.sound_loop_tmr = self.sound_loop_tmr - dtime - else - -- If the train is standing, the sound will be stopped in some time. We do not need to interfere with it. - self.sound_loop_tmr = nil - end - end, - custom_on_activate = function(self, staticdata_table, dtime_s) - minetest.add_particlespawner({ - amount = 10, - time = 0, - -- ^ If time is 0 has infinite lifespan and spawns the amount on a per-second base - minpos = {x=0, y=2.3, z=1.45}, - maxpos = {x=0, y=2.3, z=1.4}, - minvel = {x=-0.2, y=1.8, z=-0.2}, - maxvel = {x=0.2, y=2, z=0.2}, - minacc = {x=0, y=-0.1, z=0}, - maxacc = {x=0, y=-0.3, z=0}, - minexptime = 2, - maxexptime = 4, - minsize = 1, - maxsize = 5, - -- ^ The particle's properties are random values in between the bounds: - -- ^ minpos/maxpos, minvel/maxvel (velocity), minacc/maxacc (acceleration), - -- ^ minsize/maxsize, minexptime/maxexptime (expirationtime) - collisiondetection = true, - -- ^ collisiondetection: if true uses collision detection - vertical = false, - -- ^ vertical: if true faces player using y axis only - texture = "smoke_puff.png", - -- ^ Uses texture (string) - attached = self.object, - }) - end, - drops={"default:steelblock 1"}, - horn_sound = "advtrains_steam_whistle", -}, S("Detailed Steam Engine"), "advtrains_detailed_engine_steam_inv.png") - -advtrains.register_wagon("wagon_default", { - mesh="advtrains_passenger_wagon.b3d", - textures = {"advtrains_wagon.png"}, - drives_on={default=true}, - max_speed=10, - seats = { - { - name="1", - attach_offset={x=2, y=6, z=8}, - view_offset={x=0, y=-4, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=-1, y=6, z=8}, - view_offset={x=0, y=-4, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - }, - seat_groups = { - pass={ - name = "Passenger area", - access_to = {}, - }, - }, - - assign_to_seat_group = {"pass"}, - visual_size = {x=1, y=1}, - wagon_span=2.634, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 1"}, -}, S("Passenger Wagon"), "advtrains_wagon_inv.png") - - -advtrains.register_wagon("wagon_box", { - mesh="advtrains_wagon_box.b3d", - textures = {"advtrains_wagon_box.png"}, - drives_on={default=true}, - max_speed=10, - seats = {}, - visual_size = {x=1, y=1}, - wagon_span=2, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - drops={"default:steelblock 1"}, - has_inventory = true, - get_inventory_formspec = advtrains.standard_inventory_formspec, - inventory_list_sizes = { - box=8*3, - }, -}, S("Box Wagon"), "advtrains_wagon_box_inv.png") - -minetest.register_craft({ - output = 'advtrains:newlocomotive', - recipe = { - {'', '', 'advtrains:chimney'}, - {'advtrains:driver_cab', 'dye:black', 'advtrains:boiler'}, - {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, - }, -}) - -minetest.register_craft({ - output = 'advtrains:detailed_steam_engine', - recipe = { - {'', '', 'advtrains:chimney'}, - {'advtrains:driver_cab', 'dye:green', 'advtrains:boiler'}, - {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, - }, -}) - -minetest.register_craft({ - output = 'advtrains:wagon_default', - recipe = { - {'default:steelblock', 'default:steelblock', 'default:steelblock'}, - {'default:glass', 'dye:dark_green', 'default:glass'}, - {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, - }, -}) -minetest.register_craft({ - output = 'advtrains:wagon_box', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'default:chest', 'group:wood'}, - {'advtrains:wheel', '', 'advtrains:wheel'}, - }, -}) diff --git a/mods/advtrains/advtrains_train_steam/models/advtrains_detailed_steam_engine.b3d b/mods/advtrains/advtrains_train_steam/models/advtrains_detailed_steam_engine.b3d deleted file mode 100755 index f73becb8..00000000 Binary files a/mods/advtrains/advtrains_train_steam/models/advtrains_detailed_steam_engine.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/models/advtrains_engine_steam.b3d b/mods/advtrains/advtrains_train_steam/models/advtrains_engine_steam.b3d deleted file mode 100755 index 6a92f57c..00000000 Binary files a/mods/advtrains/advtrains_train_steam/models/advtrains_engine_steam.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/models/advtrains_passenger_wagon.b3d b/mods/advtrains/advtrains_train_steam/models/advtrains_passenger_wagon.b3d deleted file mode 100644 index 2bc01b2e..00000000 Binary files a/mods/advtrains/advtrains_train_steam/models/advtrains_passenger_wagon.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/models/advtrains_wagon.b3d b/mods/advtrains/advtrains_train_steam/models/advtrains_wagon.b3d deleted file mode 100644 index 5c8214c2..00000000 Binary files a/mods/advtrains/advtrains_train_steam/models/advtrains_wagon.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/models/advtrains_wagon_box.b3d b/mods/advtrains/advtrains_train_steam/models/advtrains_wagon_box.b3d deleted file mode 100755 index 914975ff..00000000 Binary files a/mods/advtrains/advtrains_train_steam/models/advtrains_wagon_box.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/screenshot.png b/mods/advtrains/advtrains_train_steam/screenshot.png deleted file mode 100644 index 089da73e..00000000 Binary files a/mods/advtrains/advtrains_train_steam/screenshot.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_loop.ogg b/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_loop.ogg deleted file mode 100644 index 8b221a93..00000000 Binary files a/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_loop.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_whistle.ogg b/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_whistle.ogg deleted file mode 100644 index 42172a28..00000000 Binary files a/mods/advtrains/advtrains_train_steam/sounds/advtrains_steam_whistle.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png deleted file mode 100755 index 51adb5af..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png deleted file mode 100755 index 926d5f02..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam.png deleted file mode 100755 index 4b27e775..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam_inv.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam_inv.png deleted file mode 100755 index 8d3fafb6..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_engine_steam_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon.png deleted file mode 100644 index bd34e68e..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box.png deleted file mode 100755 index 8cdd4403..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box_inv.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box_inv.png deleted file mode 100755 index 480f245c..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_box_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_inv.png b/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_inv.png deleted file mode 100755 index 65f7984d..00000000 Binary files a/mods/advtrains/advtrains_train_steam/textures/advtrains_wagon_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/depends.txt b/mods/advtrains/advtrains_train_subway/depends.txt deleted file mode 100644 index 0492ba2e..00000000 --- a/mods/advtrains/advtrains_train_subway/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -advtrains -advtrains_train_track -intllib? diff --git a/mods/advtrains/advtrains_train_subway/init.lua b/mods/advtrains/advtrains_train_subway/init.lua deleted file mode 100644 index add961b4..00000000 --- a/mods/advtrains/advtrains_train_subway/init.lua +++ /dev/null @@ -1,152 +0,0 @@ -local S = attrans - -advtrains.register_wagon("subway_wagon", { - mesh="advtrains_subway_wagon.b3d", - textures = {"advtrains_subway_wagon.png"}, - drives_on={default=true}, - max_speed=15, - seats = { - { - name="Driver stand", - attach_offset={x=0, y=0, z=0}, - view_offset={x=0, y=0, z=0}, - group="dstand", - }, - { - name="1", - attach_offset={x=-4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - }, - seat_groups = { - dstand={ - name = "Driver Stand", - access_to = {"pass"}, - require_doors_open=true, - driving_ctrl_access=true, - }, - pass={ - name = "Passenger area", - access_to = {"dstand"}, - require_doors_open=true, - }, - }, - assign_to_seat_group = {"pass", "dstand"}, - doors={ - open={ - [-1]={frames={x=0, y=20}, time=1}, - [1]={frames={x=40, y=60}, time=1}, - sound = "advtrains_subway_dopen", - }, - close={ - [-1]={frames={x=20, y=40}, time=1}, - [1]={frames={x=60, y=80}, time=1}, - sound = "advtrains_subway_dclose", - } - }, - door_entry={-1, 1}, - visual_size = {x=1, y=1}, - wagon_span=2, - --collisionbox = {-1.0,-0.5,-1.8, 1.0,2.5,1.8}, - collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, - is_locomotive=true, - drops={"default:steelblock 4"}, - horn_sound = "advtrains_subway_horn", - custom_on_velocity_change = function(self, velocity, old_velocity, dtime) - if not velocity or not old_velocity then return end - if old_velocity == 0 and velocity > 0 then - minetest.sound_play("advtrains_subway_depart", {object = self.object}) - end - if velocity < 2 and (old_velocity >= 2 or old_velocity == velocity) and not self.sound_arrive_handle then - self.sound_arrive_handle = minetest.sound_play("advtrains_subway_arrive", {object = self.object}) - elseif (velocity > old_velocity) and self.sound_arrive_handle then - minetest.sound_stop(self.sound_arrive_handle) - self.sound_arrive_handle = nil - end - if velocity > 0 and (self.sound_loop_tmr or 0)<=0 then - self.sound_loop_handle = minetest.sound_play({name="advtrains_subway_loop", gain=0.3}, {object = self.object}) - self.sound_loop_tmr=3 - elseif velocity>0 then - self.sound_loop_tmr = self.sound_loop_tmr - dtime - elseif velocity==0 then - if self.sound_loop_handle then - minetest.sound_stop(self.sound_loop_handle) - self.sound_loop_handle = nil - end - self.sound_loop_tmr=0 - end - end, - custom_on_step = function(self, dtime, data, train) - --set line number - local line = nil - if train.line and self.line_cache ~= train.line then - self.line_cache=train.line - local lint = train.line - if string.sub(train.line, 1, 1) == "S" then - lint = string.sub(train.line,2) - end - if string.len(lint) == 1 then - if lint=="X" then line="X" end - line = tonumber(lint) - elseif string.len(lint) == 2 then - if tonumber(lint) then - line = lint - end - end - if line then - local new_line_tex="advtrains_subway_wagon.png" - if type(line)=="number" or line == "X" then - new_line_tex = new_line_tex.."^advtrains_subway_wagon_line"..line..".png" - else - local num = tonumber(line) - local red = math.fmod(line*67+101, 255) - local green = math.fmod(line*97+109, 255) - local blue = math.fmod(line*73+127, 255) - new_line_tex = new_line_tex..string.format("^(advtrains_subway_wagon_line.png^[colorize:#%X%X%X%X%X%X)^(advtrains_subway_wagon_line%s_.png^advtrains_subway_wagon_line_%s.png", math.floor(red/16), math.fmod(red,16), math.floor(green/16), math.fmod(green,16), math.floor(blue/16), math.fmod(blue,16), string.sub(line, 1, 1), string.sub(line, 2, 2)) - if red + green + blue > 512 then - new_line_tex = new_line_tex .. "^[colorize:#000)" - else - new_line_tex = new_line_tex .. ")" - end - end - self.object:set_properties({ - textures={new_line_tex}, - }) - elseif self.line_cache~=nil and line==nil then - self.object:set_properties({ - textures=self.textures, - }) - self.line_cache=nil - end - end - end, -}, S("Subway Passenger Wagon"), "advtrains_subway_wagon_inv.png") - ---wagons -minetest.register_craft({ - output = 'advtrains:subway_wagon', - recipe = { - {'default:steelblock', 'default:steelblock', 'default:steelblock'}, - {'default:steelblock', 'dye:yellow', 'default:steelblock'}, - {'default:steelblock', 'default:steelblock', 'default:steelblock'}, - }, -}) diff --git a/mods/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d b/mods/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d deleted file mode 100644 index cbd0f8ed..00000000 Binary files a/mods/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg deleted file mode 100644 index 71bb90e2..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg deleted file mode 100644 index ffbc6ed6..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg deleted file mode 100644 index aca8cbc1..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg deleted file mode 100644 index f1322df2..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg deleted file mode 100644 index f4519a37..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg b/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg deleted file mode 100644 index 2543cc2e..00000000 Binary files a/mods/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png deleted file mode 100644 index c2d18edf..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png deleted file mode 100644 index c3fef1d1..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png deleted file mode 100644 index dcd50059..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png deleted file mode 100644 index b853ef2b..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png deleted file mode 100644 index a4ba30bb..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png deleted file mode 100644 index fe351939..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png deleted file mode 100644 index d731f68c..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png deleted file mode 100644 index 78b4f805..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png deleted file mode 100644 index 42d094c3..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png deleted file mode 100644 index 19e3af1c..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png deleted file mode 100644 index 608206c8..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png deleted file mode 100644 index eb8dc39c..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png deleted file mode 100644 index 1fbdbf02..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png deleted file mode 100644 index a1a50d9a..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png deleted file mode 100644 index 5e78cc24..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png deleted file mode 100644 index f8048800..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png deleted file mode 100644 index 9e110418..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png deleted file mode 100644 index 05877195..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png deleted file mode 100644 index edfe9b15..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png deleted file mode 100644 index 45de3bd8..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png deleted file mode 100644 index efd125b3..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png deleted file mode 100644 index a5dfd1d1..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png deleted file mode 100644 index 09a3c7f9..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png deleted file mode 100644 index 4b142c15..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png deleted file mode 100644 index 6dbece09..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png deleted file mode 100644 index e65cfe03..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png deleted file mode 100644 index 60648939..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png deleted file mode 100644 index a51e9430..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png deleted file mode 100644 index 73ea5762..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png deleted file mode 100644 index c2786808..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png deleted file mode 100644 index c4e6bcb0..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png deleted file mode 100644 index afe08144..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png deleted file mode 100644 index 56108a03..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png deleted file mode 100644 index 6d5b4113..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png b/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png deleted file mode 100644 index 2702871d..00000000 Binary files a/mods/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png and /dev/null differ diff --git a/mods/advtrains/advtrains_train_track/depends.txt b/mods/advtrains/advtrains_train_track/depends.txt deleted file mode 100644 index a85be06f..00000000 --- a/mods/advtrains/advtrains_train_track/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -advtrains -mesecons? -digtron? diff --git a/mods/advtrains/advtrains_train_track/init.lua b/mods/advtrains/advtrains_train_track/init.lua old mode 100644 new mode 100755 index 78d1392b..744d86b7 --- a/mods/advtrains/advtrains_train_track/init.lua +++ b/mods/advtrains/advtrains_train_track/init.lua @@ -298,15 +298,27 @@ advtrains.register_tracks("default", { end }, advtrains.trackpresets.t_30deg_straightonly) +-- mod-dependent crafts +local loader_core = "default:mese_crystal" --fallback +if minetest.get_modpath("basic_materials") then + loader_core = "basic_materials:ic" +elseif minetest.get_modpath("technic") then + loader_core = "technic:control_logic_unit" +end +--print("Loader Core: "..loader_core) + minetest.register_craft({ type="shapeless", output = 'advtrains:dtrack_load_placer', recipe = { "advtrains:dtrack_placer", - "basic_materials:ic", + loader_core, "default:chest" }, }) +loader_core = nil --nil the crafting variable + +--craft between load/unload tracks minetest.register_craft({ type="shapeless", output = 'advtrains:dtrack_unload_placer', diff --git a/mods/advtrains/advtrains_train_track/mod.conf b/mods/advtrains/advtrains_train_track/mod.conf new file mode 100644 index 00000000..2aece3ee --- /dev/null +++ b/mods/advtrains/advtrains_train_track/mod.conf @@ -0,0 +1,7 @@ +name=advtrains_train_track +title=Advtrains Default Tracks +description=Default track set for Advanced Trains +author=orwell96 + +depends=advtrains +optional_depends=mesecons,digtron diff --git a/mods/advtrains/assets/mod.conf b/mods/advtrains/assets/mod.conf new file mode 100644 index 00000000..5b662517 --- /dev/null +++ b/mods/advtrains/assets/mod.conf @@ -0,0 +1,4 @@ +name=advtrains_assets +title=(Not a mod) Advtrains blender models and raw textures +description=Directory containing the model and texture files for future reference. Not included in release. +author=orwell96 diff --git a/mods/advtrains/modpack.conf b/mods/advtrains/modpack.conf new file mode 100644 index 00000000..e01f4629 --- /dev/null +++ b/mods/advtrains/modpack.conf @@ -0,0 +1,4 @@ +name=advtrains +title=Advanced Trains +description=Realistic trains and various equipment for railways, with a focus on automated train operation. No trains included, please install those separately. +author=orwell96 diff --git a/mods/advtrains/modpack.txt b/mods/advtrains/modpack.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/mods/advtrains/serialize_lib/mod.conf b/mods/advtrains/serialize_lib/mod.conf index ac3a1bd8..a2fd6bb0 100644 --- a/mods/advtrains/serialize_lib/mod.conf +++ b/mods/advtrains/serialize_lib/mod.conf @@ -1 +1,4 @@ -name = serialize_lib +name=serialize_lib +title=Lua Serialization Library +description=A library to efficiently write and read Lua tables to/from a file, with support for atomic operations +author=orwell96 diff --git a/mods/basic_signs/init.lua b/mods/basic_signs/init.lua index da2a34bc..c657fa38 100644 --- a/mods/basic_signs/init.lua +++ b/mods/basic_signs/init.lua @@ -23,6 +23,7 @@ signs_lib.register_sign("basic_signs:sign_wall_locked", { allow_onpole = true, allow_onpole_horizontal = true, allow_yard = true, + use_texture_alpha = "clip", }) signs_lib.register_sign("basic_signs:sign_wall_glass", { @@ -45,7 +46,7 @@ signs_lib.register_sign("basic_signs:sign_wall_glass", { allow_onpole = true, allow_onpole_horizontal = true, allow_yard = true, - use_texture_alpha = true, + use_texture_alpha = "blend", }) signs_lib.register_sign("basic_signs:sign_wall_obsidian_glass", { @@ -68,7 +69,7 @@ signs_lib.register_sign("basic_signs:sign_wall_obsidian_glass", { allow_onpole = true, allow_onpole_horizontal = true, allow_yard = true, - use_texture_alpha = true, + use_texture_alpha = "blend", }) minetest.register_alias("locked_sign:sign_wall_locked", "basic_signs:sign_wall_locked") @@ -93,7 +94,7 @@ signs_lib.register_sign("basic_signs:sign_wall_plastic", { allow_onpole = true, allow_onpole_horizontal = true, allow_yard = true, - use_texture_alpha = true, + use_texture_alpha = "clip", }) -- array : color, translated color, default text color @@ -137,6 +138,7 @@ for i, color in ipairs(sign_colors) do allow_onpole = true, allow_onpole_horizontal = true, allow_yard = true, + use_texture_alpha = "clip", }) minetest.register_alias("basic_signs:sign_wall_steel_"..color[1].."_onpole", "basic_signs:sign_steel_"..color[1].."_onpole") diff --git a/mods/bees/init.lua b/mods/bees/init.lua index 2928b44a..41c7e705 100644 --- a/mods/bees/init.lua +++ b/mods/bees/init.lua @@ -691,16 +691,23 @@ minetest.register_abm({ minetest.register_abm({ nodenames = {"group:leaves"}, neighbors = {"air"}, - interval = 800, - chance = 10, + interval = 300, + chance = 4, action = function(pos) - if floor(pos.x / 40) ~= pos.x / 40 - or floor(pos.z / 40) ~= pos.z / 40 - or floor(pos.y / 5) ~= pos.y / 5 then return end + if floor(pos.x / 20) ~= pos.x / 20 + or floor(pos.z / 20) ~= pos.z / 20 + or floor(pos.y / 3) ~= pos.y / 3 then return end local p = {x = pos.x, y = pos.y - 1, z = pos.z} + + -- skip if nearby hive found + if minetest.find_node_near(p, 25, {"bees:hive_artificial", "bees:hive_wild", + "bees:hive_industrial"}) then + return + end + local nod = minetest.get_node_or_nil(p) local def = nod and minetest.registered_nodes[nod.name] diff --git a/mods/bees/readme.txt b/mods/bees/readme.txt index 5c2636f5..a0668c17 100644 --- a/mods/bees/readme.txt +++ b/mods/bees/readme.txt @@ -14,6 +14,7 @@ FEATURES - Make wild hive abm less intensive (thanks VanessaE) - Added 9x Lucky Blocks - Smokers have 200 uses before breaking +- Hives are spread out 20 blocks apart, 3 high and only spawn when no other hives around 2.2.2 - Pipeworks compatibility (Industrial beehive) diff --git a/mods/bonemeal/mods.lua b/mods/bonemeal/mods.lua index 9e3a63ce..dfbcd6ff 100644 --- a/mods/bonemeal/mods.lua +++ b/mods/bonemeal/mods.lua @@ -44,7 +44,9 @@ if farming and farming.mod and farming.mod == "redo" then {"farming:lettuce_", 5}, {"farming:blackberry_", 4}, {"farming:vanilla_", 8}, - {"farming:soy_", 7} + {"farming:soy_", 7}, + {"farming:artichoke_", 5}, + {"farming:parsley_", 3} }) end diff --git a/mods/builtin_item/init.lua b/mods/builtin_item/init.lua index 84124875..021dbe6d 100644 --- a/mods/builtin_item/init.lua +++ b/mods/builtin_item/init.lua @@ -327,7 +327,7 @@ core.register_entity(":__builtin:item", { self.node_under = nil self.falling_state = true - if moveresult.touching_ground then + if moveresult and moveresult.touching_ground then for _, info in ipairs(moveresult.collisions) do diff --git a/mods/cloud_items/README.md b/mods/cloud_items/README.md index 6a9dc245..d99880cc 100644 --- a/mods/cloud_items/README.md +++ b/mods/cloud_items/README.md @@ -5,6 +5,7 @@ [![Build status](https://github.com/minetest-mods/cloud_items/workflows/build/badge.svg)](https://github.com/minetest-mods/cloud_items/actions) [![ContentDB](https://content.minetest.net/packages/Panquesito7/cloud_items/shields/downloads/)](https://content.minetest.net/packages/Panquesito7/cloud_items/) [![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) +[![Donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/Panquesito7/donate) Adds powerful cloud tools for Minetest. Stronger than diamond and other materials. diff --git a/mods/farming/crops/artichoke.lua b/mods/farming/crops/artichoke.lua new file mode 100644 index 00000000..92143f62 --- /dev/null +++ b/mods/farming/crops/artichoke.lua @@ -0,0 +1,64 @@ +local S = farming.intllib + +-- item definition +minetest.register_craftitem("farming:artichoke", { + description = S("Artichoke"), + inventory_image = "farming_artichoke.png", + groups = {seed = 2, food_artichoke = 1, flammable = 2}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:artichoke_1") + end, + on_use = minetest.item_eat(4) +}) + +-- crop definition +local def = { + drawtype = "plantlike", + tiles = {"farming_artichoke_1.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults() +} + +-- stage 1 +minetest.register_node("farming:artichoke_1", table.copy(def)) + +-- stage 2 +def.tiles = {"farming_artichoke_2.png"} +minetest.register_node("farming:artichoke_2", table.copy(def)) + +-- stage 3 +def.tiles = {"farming_artichoke_3.png"} +minetest.register_node("farming:artichoke_3", table.copy(def)) + +-- stage 4 +def.tiles = {"farming_artichoke_4.png"} +minetest.register_node("farming:artichoke_4", table.copy(def)) + +-- stage 5 (final) +def.tiles = {"farming_artichoke_5.png"} +def.groups.growing = nil +def.drop = { + items = { + {items = {"farming:artichoke 2"}, rarity = 1}, + {items = {"farming:artichoke"}, rarity = 2} + } +} +minetest.register_node("farming:artichoke_5", table.copy(def)) + +-- add to registered_plants +farming.registered_plants["farming:artichoke"] = { + crop = "farming:artichoke", + seed = "farming:artichoke", + minlight = 13, + maxlight = 15, + steps = 5 +} diff --git a/mods/farming/crops/parsley.lua b/mods/farming/crops/parsley.lua new file mode 100644 index 00000000..0bc20eba --- /dev/null +++ b/mods/farming/crops/parsley.lua @@ -0,0 +1,56 @@ +local S = farming.intllib + +-- item definition +minetest.register_craftitem("farming:parsley", { + description = S("Parsley"), + inventory_image = "farming_parsley.png", + groups = {seed = 2, food_parsley = 1, flammable = 2}, + on_place = function(itemstack, placer, pointed_thing) + return farming.place_seed(itemstack, placer, pointed_thing, "farming:parsley_1") + end +}) + +-- crop definition +local def = { + drawtype = "plantlike", + tiles = {"farming_parsley_1.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + drop = "", + selection_box = farming.select, + groups = { + snappy = 3, flammable = 2, plant = 1, attached_node = 1, + not_in_creative_inventory = 1, growing = 1 + }, + sounds = default.node_sound_leaves_defaults() +} + +-- stage 1 +minetest.register_node("farming:parsley_1", table.copy(def)) + +-- stage 2 +def.tiles = {"farming_parsley_2.png"} +minetest.register_node("farming:parsley_2", table.copy(def)) + +-- stage 3 (final) +def.tiles = {"farming_parsley_3.png"} +def.groups.growing = nil +def.drop = { + items = { + {items = {"farming:parsley 2"}, rarity = 1}, + {items = {"farming:parsley"}, rarity = 2}, + {items = {"farming:parsley"}, rarity = 3} + } +} +minetest.register_node("farming:parsley_3", table.copy(def)) + +-- add to registered_plants +farming.registered_plants["farming:parsley"] = { + crop = "farming:parsley", + seed = "farming:parsley", + minlight = 13, + maxlight = 15, + steps = 3 +} diff --git a/mods/farming/farming.conf_example b/mods/farming/farming.conf_example index bea7ada8..9a804a91 100644 --- a/mods/farming/farming.conf_example +++ b/mods/farming/farming.conf_example @@ -35,6 +35,8 @@ farming.blackberry = 0.002 farming.lettuce = 0.001 farming.soy = 0.001 farming.vanilla = 0.001 +farming.artichoke = 0.001 +farming.parsley = 0.002 farming.grains = true -- true or false only -- default rarety of crops on map (higher number = more crops) diff --git a/mods/farming/food.lua b/mods/farming/food.lua index 7f63b8a2..c6e767cd 100644 --- a/mods/farming/food.lua +++ b/mods/farming/food.lua @@ -16,6 +16,19 @@ minetest.register_craft({ recipe = "default:papyrus" }) +--= Sugar caramel + +minetest.register_craftitem("farming:caramel", { + description = S("Caramel"), + inventory_image = "farming_caramel.png", +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 6, + output = "farming:caramel", + recipe = "group:food_sugar", +}) --= Salt @@ -472,3 +485,114 @@ minetest.register_craft({ "vessels:drinking_glass" } }) + +-- Patatas a la importancia + +minetest.register_craftitem("farming:spanish_potatoes", { + description = S("Spanish Potatoes"), + inventory_image = "farming_spanish_potatoes.png", + on_use = minetest.item_eat(8, "farming:bowl"), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:spanish_potatoes", + recipe = { + "farming:potato", "group:food_parsley", "farming:potato", + "group:food_egg", "group:food_flour", "farming:onion", + "farming:garlic_clove", "group:food_bowl", "group:food_skillet" + }, + replacements = {{"group:food_skillet", "farming:skillet"}} +}) + +-- Potato omelet + +minetest.register_craftitem("farming:potato_omelet", { + description = S("Potato omelet"), + inventory_image = "farming_potato_omelet.png", + on_use = minetest.item_eat(6, "farming:bowl"), +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:potato_omelet", + recipe = { + "group:food_egg", "farming:potato", "group:food_onion", + "group:food_skillet", "group:food_bowl"}, + replacements = {{"group:food_skillet", "farming:skillet"}} +}) + +-- Paella + +minetest.register_craftitem("farming:paella", { + description = S("Paella"), + inventory_image = "farming_paella.png", + on_use = minetest.item_eat(8, "farming:bowl") +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:paella", + recipe = { + "group:food_rice", "dye:orange", "farming:pepper_red", + "group:food_peas", "group:food_chicken", "group:food_bowl", "group:food_skillet" + }, + replacements = {{"group:food_skillet", "farming:skillet"}} +}) + +-- Flan + +minetest.register_craftitem("farming:flan", { + description = S("Vanilla Flan"), + inventory_image = "farming_vanilla_flan.png", + on_use = minetest.item_eat(6) +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:flan", + recipe = { + "group:food_sugar", "group:food_milk", "farming:caramel", + "group:food_egg", "group:food_egg", "farming:vanilla_extract" + }, + replacements = {{"mobs:bucket_milk", "bucket:bucket_empty"}} +}) + +-- Vegan Cheese + +minetest.register_craftitem("farming:cheese_vegan", { + description = S("Vegan Cheese"), + inventory_image = "farming_cheese_vegan.png", + on_use = minetest.item_eat(2), + groups = {food_cheese = 1, flammable = 2}, +}) + + +minetest.register_craft({ + type = "shapeless", + output = "farming:cheese_vegan", + recipe = { + "farming:soy_milk", "farming:soy_milk", "farming:soy_milk", + "group:food_salt", "group:food_peppercorn", "farming:bottle_ethanol", + "group:food_gelatin", "group:food_pot" + }, + replacements = { + {"farming:soy_milk", "vessels:drinking_glass 3"}, + {"farming:pot", "farming:pot"}, + {"farming:bottle_ethanol", "vessels:glass_bottle"} + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "farming:cheese_vegan", + recipe = { + "farming:soy_milk", "farming:soy_milk", "farming:soy_milk", + "group:food_salt", "group:food_peppercorn", "group:food_lemon", + "group:food_gelatin", "group:food_pot" + }, + replacements = { + {"farming:soy_milk", "vessels:drinking_glass 3"}, + {"farming:pot", "farming:pot"}, + } +}) diff --git a/mods/farming/init.lua b/mods/farming/init.lua index 973c807e..9b9306c9 100644 --- a/mods/farming/init.lua +++ b/mods/farming/init.lua @@ -7,7 +7,7 @@ farming = { mod = "redo", - version = "20201213", + version = "20210311", path = minetest.get_modpath("farming"), select = { type = "fixed", @@ -633,6 +633,8 @@ farming.blackberry = 0.002 farming.soy = 0.001 farming.vanilla = 0.001 farming.lettuce = 0.001 +farming.artichoke = 0.001 +farming.parsley = 0.002 farming.grains = true farming.rarety = 0.002 @@ -703,6 +705,8 @@ ddoo("blackberry.lua", farming.blackberry) ddoo("soy.lua", farming.soy) ddoo("vanilla.lua", farming.vanilla) ddoo("lettuce.lua", farming.lettuce) +ddoo("artichoke.lua", farming.artichoke) +ddoo("parsley.lua", farming.parsley) dofile(farming.path .. "/food.lua") dofile(farming.path .. "/mapgen.lua") diff --git a/mods/farming/license.txt b/mods/farming/license.txt index 49606b68..7ef6164b 100644 --- a/mods/farming/license.txt +++ b/mods/farming/license.txt @@ -155,6 +155,12 @@ Created by Felfa (CC0) farming_burger.png farming_soy*.png farming_vanilla*.png + farming_artichoke*.png + farming_parsley*.png + farming_paella.png + farming_potato_omelette.png + farming_spanish_potatoes.png + farming_vanilla_flan.png Created by gorlock (CC0) farming_salt_crystal.png diff --git a/mods/farming/mapgen.lua b/mods/farming/mapgen.lua index 7febaa13..c32eebc3 100644 --- a/mods/farming/mapgen.lua +++ b/mods/farming/mapgen.lua @@ -53,6 +53,7 @@ register_plant("cabbage_6", 2, 10, nil, "", -1, farming.cabbage) register_plant("lettuce_5", 5, 30, nil, "", -1, farming.lettuce) register_plant("blackberry_4", 3, 10, nil, "", -1, farming.blackberry) register_plant("vanilla_7", 5, 35, nil, "", -1, farming.vanilla) +register_plant("parsley_3", 10, 40, nil, "", -1, farming.parsley) register_plant("mint_4", 1, 75, { "default:dirt_with_grass", "default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint) @@ -127,6 +128,28 @@ minetest.register_decoration({ end +if farming.artichoke then +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = tonumber(farming.artichoke) or farming.rarety, + spread = {x = 100, y = 100, z = 100}, + seed = 448, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 13, + decoration = {"farming:artichoke_5"}, + spawn_by = "group:tree", + num_spawn_by = 1, +}) +end + + if farming.pepper then local tmp1 = {"default:dirt_with_rainforest_litter"} -- v7 diff --git a/mods/farming/textures/farming_artichoke.png b/mods/farming/textures/farming_artichoke.png new file mode 100644 index 00000000..74af38b7 Binary files /dev/null and b/mods/farming/textures/farming_artichoke.png differ diff --git a/mods/farming/textures/farming_artichoke_1.png b/mods/farming/textures/farming_artichoke_1.png new file mode 100644 index 00000000..b7f2e020 Binary files /dev/null and b/mods/farming/textures/farming_artichoke_1.png differ diff --git a/mods/farming/textures/farming_artichoke_2.png b/mods/farming/textures/farming_artichoke_2.png new file mode 100644 index 00000000..653637e0 Binary files /dev/null and b/mods/farming/textures/farming_artichoke_2.png differ diff --git a/mods/farming/textures/farming_artichoke_3.png b/mods/farming/textures/farming_artichoke_3.png new file mode 100644 index 00000000..2d203e90 Binary files /dev/null and b/mods/farming/textures/farming_artichoke_3.png differ diff --git a/mods/farming/textures/farming_artichoke_4.png b/mods/farming/textures/farming_artichoke_4.png new file mode 100644 index 00000000..9a44e928 Binary files /dev/null and b/mods/farming/textures/farming_artichoke_4.png differ diff --git a/mods/farming/textures/farming_artichoke_5.png b/mods/farming/textures/farming_artichoke_5.png new file mode 100644 index 00000000..dac25ddf Binary files /dev/null and b/mods/farming/textures/farming_artichoke_5.png differ diff --git a/mods/farming/textures/farming_caramel.png b/mods/farming/textures/farming_caramel.png new file mode 100644 index 00000000..bc7d1648 Binary files /dev/null and b/mods/farming/textures/farming_caramel.png differ diff --git a/mods/farming/textures/farming_cheese_vegan.png b/mods/farming/textures/farming_cheese_vegan.png new file mode 100644 index 00000000..22c439e3 Binary files /dev/null and b/mods/farming/textures/farming_cheese_vegan.png differ diff --git a/mods/farming/textures/farming_paella.png b/mods/farming/textures/farming_paella.png new file mode 100644 index 00000000..1362ac74 Binary files /dev/null and b/mods/farming/textures/farming_paella.png differ diff --git a/mods/farming/textures/farming_parsley.png b/mods/farming/textures/farming_parsley.png new file mode 100644 index 00000000..183ecb75 Binary files /dev/null and b/mods/farming/textures/farming_parsley.png differ diff --git a/mods/farming/textures/farming_parsley_1.png b/mods/farming/textures/farming_parsley_1.png new file mode 100644 index 00000000..632928c8 Binary files /dev/null and b/mods/farming/textures/farming_parsley_1.png differ diff --git a/mods/farming/textures/farming_parsley_2.png b/mods/farming/textures/farming_parsley_2.png new file mode 100644 index 00000000..fddbf00b Binary files /dev/null and b/mods/farming/textures/farming_parsley_2.png differ diff --git a/mods/farming/textures/farming_parsley_3.png b/mods/farming/textures/farming_parsley_3.png new file mode 100644 index 00000000..e4aacb94 Binary files /dev/null and b/mods/farming/textures/farming_parsley_3.png differ diff --git a/mods/farming/textures/farming_potato_omelet.png b/mods/farming/textures/farming_potato_omelet.png new file mode 100644 index 00000000..abdacada Binary files /dev/null and b/mods/farming/textures/farming_potato_omelet.png differ diff --git a/mods/farming/textures/farming_spanish_potatoes.png b/mods/farming/textures/farming_spanish_potatoes.png new file mode 100644 index 00000000..198b50e4 Binary files /dev/null and b/mods/farming/textures/farming_spanish_potatoes.png differ diff --git a/mods/farming/textures/farming_vanilla_flan.png b/mods/farming/textures/farming_vanilla_flan.png new file mode 100644 index 00000000..c8b9ff06 Binary files /dev/null and b/mods/farming/textures/farming_vanilla_flan.png differ diff --git a/mods/homedecor_modpack/computer/.luacheckrc b/mods/homedecor_modpack/computer/.luacheckrc deleted file mode 100644 index 56839421..00000000 --- a/mods/homedecor_modpack/computer/.luacheckrc +++ /dev/null @@ -1,21 +0,0 @@ -unused_args = false -allow_defined_top = true -max_comment_line_length = 999 - -read_globals = { - "DIR_DELIM", - "minetest", "core", - "unpack", - "dump", - table = { fields = { "copy", "getn" } }, - "vector", "nodeupdate", - "VoxelManip", "VoxelArea", - "PseudoRandom", "ItemStack", - "default", - "unifieddyes", - "screwdriver", -} - -globals = { -} - diff --git a/mods/homedecor_modpack/computer/CHANGES.txt b/mods/homedecor_modpack/computer/CHANGES.txt deleted file mode 100644 index b9b455c3..00000000 --- a/mods/homedecor_modpack/computer/CHANGES.txt +++ /dev/null @@ -1,38 +0,0 @@ -version 0.2.3: - - Added animated router front - - Added all crafts for new items - -version 0.2.2: - - Added printer - - Added server - -version 0.2.1: - - Added modern tower pc - - Added wifi router - - Added flatscreen LCD and keyboard - -Version 0.2.0: - - Added recipes. - - Partly re-written. - - Removed original baby tower (seemed out of place). - - You can now turn devices on and off by right-clicking. - - Mod is now on github. - -Version 0.1.4: - - Added Admiral 64 & 128 (Commodore 64 & 128 lookalikes) - -Version 0.1.3: - - Added SX Spectre (Sinclair ZX Spectrum lookalike) - - Added Pony SlayStation 2 (Sony PlayStation lookalike) - - Minor fixes to textures. - -Version 0.1.2: - - Nodes now use the node box as selection box. - - Added Pony SlayStation (Sony PlayStation lookalike) - - Added Pony Vanio (Sony VAIO lookalike...err...just a generic laptop) - -Version 0.1.1: - - Added SheFriend SOO (Amiga 500 lookalike) - -Version 0.1.0: - - Initial Version only a baby tower. diff --git a/mods/homedecor_modpack/computer/README.txt b/mods/homedecor_modpack/computer/README.txt deleted file mode 100644 index beed59e6..00000000 --- a/mods/homedecor_modpack/computer/README.txt +++ /dev/null @@ -1,43 +0,0 @@ - -Decorative Computers Mod for Minetest -by Diego Martínez - -How to install: -Unzip the archive an place it in minetest-base-directory/mods/minetest/ -if you have a windows client or a linux run-in-place client. If you have -a linux system-wide instalation place it in ~/.minetest/mods/minetest/. -If you want to install this mod only in one world create the folder -worldmods/ in your worlddirectory. -For further information or help see: -http://wiki.minetest.com/wiki/Installing_Mods - -How to use the mod: -For now just use creative mode or the `/give' or `/giveme' chat commands - to get the items. - -These are the items currently defined by this mod: - -computer:printer (printer scanner combo) -computer:server (rack server) -computer:tower (modern type) -computer:monitor (LCD with keyboard) -computer:router (wifi type) -computer:babytower -computer:shefriendSOO -computer:slaystation -computer:vanio -computer:spectre -computer:slaystation2 -computer:admiral64 -computer:admiral128 - -There's also a `computer:computer' alias to `computer:babytower'. - -Thanks to all the people in the forums and the #minetest IRC channel for - their support and suggestions; in no particular order: - OldCoder, Josh, tonyka, VanessaE, davidpace, Jordach, and all the other - sirs/madammes that I forgot to mention (sorry, please remind me if it - was you ;) ). - -See also: -http://minetest.net/ diff --git a/mods/homedecor_modpack/computer/TODO.txt b/mods/homedecor_modpack/computer/TODO.txt deleted file mode 100644 index e1e57524..00000000 --- a/mods/homedecor_modpack/computer/TODO.txt +++ /dev/null @@ -1,29 +0,0 @@ - -TO-DO List: - -- New Nodes: - - - Computers: - - Mainframe (well me have a rackserver now) - - My Computer :P - - - Peripherals: - - Scanner ( well we have a printer/scanner combo now) - - - Consoles: - - NES - - SNES - - DC - - - Handhelds - - GB/C - - GBA - - Calculator - - Smartphone - -- Animated screens - -- Implement some kind of games (take code from `tetris' mod?). [It would be - nice if Minetest provided a "canvas" GUI widget :)]. - -- Get more suggestions :) diff --git a/mods/homedecor_modpack/computer/computers.lua b/mods/homedecor_modpack/computer/computers.lua deleted file mode 100644 index 754735a4..00000000 --- a/mods/homedecor_modpack/computer/computers.lua +++ /dev/null @@ -1,339 +0,0 @@ -local S = minetest.get_translator("computer") - --- Amiga 500 lookalike -computer.register("computer:shefriendSOO", { - description = S("SheFriendSOO"), - tiles_off = { front=true }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 0, 0, 17, 32, 32, 12 }, -- Monitor Screen - { 3, 3, 29, 26, 26, 3 }, -- Monitor Tube - { 0, 0, 0, 32, 4, 17 } -- Keyboard - }) -}) - --- Some generic laptop -minetest.register_node("computer:vanio", { - drawtype = "mesh", - mesh = "computer_laptop.obj", - description = S("Pony Vanio"), - inventory_image = "computer_laptop_inv.png", - tiles = {"computer_laptop.png"}, - paramtype = "light", - paramtype2 = "facedir", - light_source = 4, - groups = {snappy=3}, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.35, -0.5, -0.35, 0.35, 0.05, 0.35}, - }, - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:vanio_off" - minetest.set_node(pos, node) - return itemstack - end -}) - -minetest.register_node("computer:vanio_off", { - drawtype = "mesh", - mesh = "computer_laptop_closed.obj", - tiles = {"computer_laptop.png"}, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3, not_in_creative_inventory=1}, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.35, -0.5, -0.35, 0.35, -0.4, 0.25}, - }, - drop = "computer:vanio", - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:vanio" - minetest.set_node(pos, node) - return itemstack - end -}) - --- Sony PlayStation lookalike -computer.register("computer:slaystation", { - description = S("Pony SlayStation"), - inventory_image = "computer_ps1_inv.png", - tiles_off = { top=true }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 0, 0, 11, 32, 6, 21 }, -- Console - { 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip - { 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip - { 5, 0, 4, 5, 2, 5 }, -- Controller 1 Center - { 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip - { 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip - { 22, 0, 4, 5, 2, 5 } -- Controller 2 Center - }) -}) - --- Sony PlayStation 2 lookalike -computer.register("computer:slaystation2", { - description = S("Pony SlayStation 2"), - inventory_image = "computer_ps2_inv.png", - tiles_off = { front=true }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 2, 2, 11, 28, 3, 19 }, -- Console (Upper part) - { 2, 0, 11, 26, 2, 19 }, -- Console (Lower part) - { 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip - { 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip - { 5, 0, 1, 5, 2, 8 }, -- Controller 1 Center - { 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip - { 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip - { 22, 0, 1, 5, 2, 8 } -- Controller 2 Center - }) -}) - --- Sinclair ZX Spectrum lookalike -computer.register("computer:specter", { - description = S("SX Specter"), - inventory_image = "computer_specter_inv.png", - tiles_off = { }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 3, 0, 0, 26, 4, 17 }, -- Keyboard - { 18, 0, 18, 12, 6, 14 } -- Tape Player - }) -}) - --- Nintendo Wii lookalike -computer.register("computer:wee", { - description = S("Nientiendo Wee"), - inventory_image = "computer_wii_inv.png", - tiles_off = { front=true }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 11, 0, 3, 10, 6, 26 }, -- Base - { 12, 6, 4, 8, 22, 24 } -- Top - }) -}) - --- Apple iPad lookalike -minetest.register_node("computer:piepad", { - description = S("Snapple Piepad"), - drawtype = "signlike", - tiles = {"computer_piepad_inv.png"}, - inventory_image = "computer_piepad_inv.png", - wield_image = "computer_piepad_inv.png", - paramtype = "light", - paramtype2 = "wallmounted", - light_source = 8, - walkable = false, - groups = {oddly_breakable_by_hand=2}, - selection_box = {type = "wallmounted"}, - sounds = default.node_sound_wood_defaults() -}) - --- Commodore 64 lookalike -computer.register("computer:admiral64", { - description = S("Admiral64"), - inventory_image = "computer_ad64_inv.png", - tiles_off = { }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 0, 0, 0, 32, 4, 18 } -- Keyboard - }) -}) - --- Commodore 128 lookalike -computer.register("computer:admiral128", { - description = S("Admiral128"), - inventory_image = "computer_ad128_inv.png", - tiles_off = { }, - node_box = computer.pixelnodebox(32, { - -- X Y Z W H L - { 0, 0, 0, 32, 4, 27 } -- Keyboard - }) -}) - --- XBox lookalike -computer.register("computer:hueg_box", { - description = S("HUEG Box"), - tiles_off = { }, - node_box = computer.pixelnodebox(16, { - -- X Y Z W H L - { 0, 0, 7, 16, 6, 9 }, -- Console - { 2, 0, 1, 11, 3, 6 }, -- Controller - { 2, 0, 0, 2, 3, 1 }, - { 11, 0, 0, 2, 3, 1 }, - }) -}) - --- Generic Flat Screen LCD (16x9) with keyboard -local mo_sbox = { - type = "fixed", - fixed = { -0.5, -0.5, -0.43, 0.5, 0.2, 0.25 } -} - -minetest.register_node("computer:monitor", { - description = S("Monitor and keyboard"), - inventory_image = "computer_monitor_inv.png", - drawtype = "mesh", - mesh = "computer_monitor.obj", - tiles = {"computer_black.png", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"}, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = {snappy=3}, - selection_box = mo_sbox, - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:monitor_on" - minetest.set_node(pos, node) - return itemstack - end -}) - -minetest.register_node("computer:monitor_on", { - drawtype = "mesh", - mesh = "computer_monitor.obj", - tiles = {"monitor_display.png^[transformFX", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"}, - paramtype = "light", - paramtype2 = "facedir", - light_source = 9, - walkable = false, - groups = {snappy=3, not_in_creative_inventory=1}, - selection_box = mo_sbox, - drop = "computer:monitor", - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:monitor" - minetest.set_node(pos, node) - return itemstack - end -}) - -minetest.register_alias("computer:monitor_bios", "computer:monitor") -minetest.register_alias("computer:monitor_loading", "computer:monitor") -minetest.register_alias("computer:monitor_login", "computer:monitor") -minetest.register_alias("computer:monitor_desktop", "computer:monitor") - ---WIFI Router (linksys look-a-like) -minetest.register_node("computer: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"}, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = {snappy=3}, - sound = default.node_sound_wood_defaults(), - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.5, -0.0625, 0.25, -0.375, 0.3125}, - {-0.1875, -0.4375, 0.3125, -0.125, -0.1875, 0.375}, - {0.125, -0.4375, 0.3125, 0.1875, -0.1875, 0.375}, - {-0.0625, -0.4375, 0.3125, 0.0625, -0.25, 0.375} - } - } -}) - -local pct_cbox = { - type = "fixed", - fixed = { -0.1875, -0.5, -0.36, 0.1875, 0.34, 0.46 } -} - ---Modern PC Tower -minetest.register_node("computer:tower", { - description = S("Computer Tower"), - inventory_image = "computer_tower_inv.png", - drawtype = "mesh", - mesh = "computer_tower.obj", - tiles = {"computer_tower.png"}, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - sound = default.node_sound_wood_defaults(), - selection_box = pct_cbox, - collision_box = pct_cbox -}) - -minetest.register_alias("computer:tower_on", "computer:tower") - ---Rack Server -minetest.register_node("computer:server", { - drawtype = "nodebox", - description = S("Rack Server"), - tiles = { - 'computer_server_t.png', - 'computer_server_bt.png', - 'computer_server_l.png', - 'computer_server_r.png', - 'computer_server_bt.png', - 'computer_server_f_off.png' - }, - inventory_image = "computer_server_inv.png", - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375} - }, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375} - }, - sounds = default.node_sound_wood_defaults(), - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:server_on" - minetest.set_node(pos, node) - return itemstack - end, - 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(), - S("Not enough vertical space to place a server!" )) - return itemstack - end - return minetest.item_place(itemstack, placer, pointed_thing) - end -}) - -minetest.register_node("computer:server_on", { - drawtype = "nodebox", - tiles = { - 'computer_server_t.png', - 'computer_server_bt.png', - 'computer_server_l.png', - 'computer_server_r.png', - 'computer_server_bt.png', - 'computer_server_f_on.png', - }, - inventory_image = "computer_server_inv.png", - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3,not_in_creative_inventory=1}, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375} - }, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375} - }, - sounds = default.node_sound_wood_defaults(), - drop = 'computer:server', - on_rightclick = function(pos, node, clicker, itemstack) - node.name = "computer:server" - minetest.set_node(pos, node) - return itemstack - end -}) diff --git a/mods/homedecor_modpack/computer/init.lua b/mods/homedecor_modpack/computer/init.lua deleted file mode 100644 index 8c6ef71d..00000000 --- a/mods/homedecor_modpack/computer/init.lua +++ /dev/null @@ -1,98 +0,0 @@ -computer = {} - -computer.register = function (name, def) - 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 cdef = table.copy(def) - minetest.register_node(ONSTATE, { - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - description = cdef.description, - inventory_image = cdef.inventory_image, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2}, - tiles = { - TEXPFX.."tp.png", - TEXPFX.."bt.png", - TEXPFX.."rt.png", - TEXPFX.."lt.png", - TEXPFX.."bk.png", - TEXPFX.."ft.png" - }, - node_box = cdef.node_box, - selection_box = cdef.node_box, - on_rightclick = function (pos, node, clicker, itemstack) - if cdef.on_turn_off and cdef.on_turn_off(pos, node, clicker, itemstack) then - return itemstack - end - node.name = OFFSTATE - minetest.set_node(pos, node) - return itemstack - end - }) - minetest.register_node(OFFSTATE, { - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, - tiles = { - (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 = 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 cdef.on_turn_on and cdef.on_turn_on(pos, node, clicker, itemstack) then - return itemstack - end - node.name = ONSTATE - minetest.set_node(pos, node) - return itemstack - end, - drop = ONSTATE - }) -end - -computer.register_handheld = function (name, def) - 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 - minetest.register_craftitem(ONSTATE, { - description = def.description, - inventory_image = TEXPFX..".png", - wield_image = TEXPFX..".png" - }) -end - -computer.pixelnodebox = function (size, boxes) - local fixed = { } - for _, box in ipairs(boxes) do - local x, y, z, w, h, l = unpack(box) - fixed[#fixed + 1] = { - (x / size) - 0.5, - (y / size) - 0.5, - (z / size) - 0.5, - ((x + w) / size) - 0.5, - ((y + h) / size) - 0.5, - ((z + l) / size) - 0.5 - } - end - return { - type = "fixed", - fixed = fixed - } -end - -local MODPATH = minetest.get_modpath("computer") -dofile(MODPATH.."/computers.lua") -dofile(MODPATH.."/printers.lua") -dofile(MODPATH.."/recipes.lua") -dofile(MODPATH.."/tetris.lua") diff --git a/mods/homedecor_modpack/computer/locale/computer.de.tr b/mods/homedecor_modpack/computer/locale/computer.de.tr deleted file mode 100644 index 437c64d2..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.de.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128=Admiral 128 -Admiral64=Admiral 64 -Computer Tower=Computerturm -HUEG Box=YBOX -Monitor and keyboard=Bildschirm und Tastatur -Nientiendo Wee=Tinnendo iiW -Not enough vertical space to place a server!=Es gibt nicht genug vertikalen Platz, um einen Server zu platzieren! -Pony SlayStation=Pony Slaystation -Pony SlayStation 2=Pony Slaystation 2 -Pony Vanio=Pony Oiva -Rack Server=Serverschrank -SX Specter=Z Inspektor -SheFriendSOO=Freundin S00 -Snapple Piepad=Apfel-Ei-Pat -WIFI Router=WiFi-Router - -### printers.lua ### - -3D Printer ("bedflinger")=3D Drucker ("Bettschubser") -Printer-Scanner Combo=Multifunktionsdrucker - -### tetris.lua ### - -L=L -New Game=Neues Spiel -Next...=Nächster… -No room for place the Arcade!=Kein Platz, um den Arkadeautomaten zu platzieren! -R=R -Score: =Punktzahl: -Tetris Arcade=Tetris-Arkadeautomat diff --git a/mods/homedecor_modpack/computer/locale/computer.es.tr b/mods/homedecor_modpack/computer/locale/computer.es.tr deleted file mode 100644 index 66ec244b..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.es.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Torre de ordenador -HUEG Box= -Monitor and keyboard=Monitor y teclado -Nientiendo Wee= -Not enough vertical space to place a server!=¡No hay suficiente espacio para colocar un servidor! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Servidor en rack -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=Enrutador WIFI - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=Impresora y escáner combinados - -### tetris.lua ### - -L= -New Game=Juego Nuevo -Next...= -No room for place the Arcade!=¡No hay lugar para colocar el arcade! -R= -Score: = -Tetris Arcade=Arcade Tetris diff --git a/mods/homedecor_modpack/computer/locale/computer.fr.tr b/mods/homedecor_modpack/computer/locale/computer.fr.tr deleted file mode 100644 index 4b170d9b..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.fr.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Ordinateur (tour) -HUEG Box= -Monitor and keyboard=Écran et clavier -Nientiendo Wee= -Not enough vertical space to place a server!=Pas assez d'espace vertical pour placer un serveur ! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Serveur en rack -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=Routeur WiFi - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=Imprimante multi-fonction - -### tetris.lua ### - -L=G -New Game=Nouveau Jeu -Next...=Suivant… -No room for place the Arcade!=Pas assez de place pour placer la borne d'arcade ! -R=D -Score: =Score : -Tetris Arcade=Borne Tetris diff --git a/mods/homedecor_modpack/computer/locale/computer.it.tr b/mods/homedecor_modpack/computer/locale/computer.it.tr deleted file mode 100644 index b8a72ee5..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.it.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower= -HUEG Box= -Monitor and keyboard= -Nientiendo Wee= -Not enough vertical space to place a server!=Non c'è abbastanza spazio verticale per mettere un frigorifero! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server= -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router= - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo= - -### tetris.lua ### - -L= -New Game= -Next...= -No room for place the Arcade!= -R= -Score: = -Tetris Arcade= diff --git a/mods/homedecor_modpack/computer/locale/computer.ms.tr b/mods/homedecor_modpack/computer/locale/computer.ms.tr deleted file mode 100644 index 89841cc0..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.ms.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Sistem Unit -HUEG Box= -Monitor and keyboard=Monitor dan Papan Kekunci -Nientiendo Wee= -Not enough vertical space to place a server!=Tidak cukup ruang menegak untuk letak rak pelayan! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Rak Pelayan -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=Penghala WIFI - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=Pencetak Semua Dalam Satu - -### tetris.lua ### - -L= -New Game=Main Baru -Next...=Seterusnya... -No room for place the Arcade!=Tiada ruang untuk letak Arked! -R= -Score: =Markah: -Tetris Arcade=Arked Tetris diff --git a/mods/homedecor_modpack/computer/locale/computer.pt.tr b/mods/homedecor_modpack/computer/locale/computer.pt.tr deleted file mode 100644 index f2824ed8..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.pt.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Gabinete do Computador -HUEG Box= -Monitor and keyboard=Tela e teclado -Nientiendo Wee= -Not enough vertical space to place a server!=Sem espaço vertical suficiente para colocar um servidor. -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Rack para Servidor -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=Roteador WIFI - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=Tudo em Um Impressora-Scaner - -### tetris.lua ### - -L= -New Game=Novo Jogo -Next...= -No room for place the Arcade!=Sem espaço para colocar o Fliperama! -R= -Score: = -Tetris Arcade=Fliperama Tetris diff --git a/mods/homedecor_modpack/computer/locale/computer.pt_BR.tr b/mods/homedecor_modpack/computer/locale/computer.pt_BR.tr deleted file mode 100644 index f2824ed8..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.pt_BR.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Gabinete do Computador -HUEG Box= -Monitor and keyboard=Tela e teclado -Nientiendo Wee= -Not enough vertical space to place a server!=Sem espaço vertical suficiente para colocar um servidor. -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Rack para Servidor -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=Roteador WIFI - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=Tudo em Um Impressora-Scaner - -### tetris.lua ### - -L= -New Game=Novo Jogo -Next...= -No room for place the Arcade!=Sem espaço para colocar o Fliperama! -R= -Score: = -Tetris Arcade=Fliperama Tetris diff --git a/mods/homedecor_modpack/computer/locale/computer.ru.tr b/mods/homedecor_modpack/computer/locale/computer.ru.tr deleted file mode 100644 index 3e835f21..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.ru.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=Системный блок -HUEG Box= -Monitor and keyboard=Монитор и клавиатура -Nientiendo Wee= -Not enough vertical space to place a server!=Недостаточно вертикального пространства для размещения сервера! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=Стоечный сервер -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=WIFI-роутер - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=МФУ - -### tetris.lua ### - -L= -New Game=Новая игра -Next...=Далее... -No room for place the Arcade!=Недостаточно места для размещения игрового автомата! -R= -Score: =Счёт: -Tetris Arcade=Игровой автомат Тетрис diff --git a/mods/homedecor_modpack/computer/locale/computer.zh_CN.tr b/mods/homedecor_modpack/computer/locale/computer.zh_CN.tr deleted file mode 100644 index c725e412..00000000 --- a/mods/homedecor_modpack/computer/locale/computer.zh_CN.tr +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower=计算机箱 -HUEG Box= -Monitor and keyboard=显示器和键盘 -Nientiendo Wee= -Not enough vertical space to place a server!=高度不足,无法放置服务器! -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server=机架式服务器 -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router=无线路由器 - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo=打印扫描一体机 - -### tetris.lua ### - -L= -New Game=新游戏 -Next...=下一个。。。 -No room for place the Arcade!=没有地方放游戏机! -R= -Score: =分数: -Tetris Arcade=俄罗斯方块游戏机 diff --git a/mods/homedecor_modpack/computer/locale/template.txt b/mods/homedecor_modpack/computer/locale/template.txt deleted file mode 100644 index 2e84c9b5..00000000 --- a/mods/homedecor_modpack/computer/locale/template.txt +++ /dev/null @@ -1,35 +0,0 @@ -# textdomain: computer - - -### computers.lua ### - -Admiral128= -Admiral64= -Computer Tower= -HUEG Box= -Monitor and keyboard= -Nientiendo Wee= -Not enough vertical space to place a server!= -Pony SlayStation= -Pony SlayStation 2= -Pony Vanio= -Rack Server= -SX Specter= -SheFriendSOO= -Snapple Piepad= -WIFI Router= - -### printers.lua ### - -3D Printer ("bedflinger")= -Printer-Scanner Combo= - -### tetris.lua ### - -L= -New Game= -Next...= -No room for place the Arcade!= -R= -Score: = -Tetris Arcade= diff --git a/mods/homedecor_modpack/computer/mod.conf b/mods/homedecor_modpack/computer/mod.conf deleted file mode 100644 index 83fb7529..00000000 --- a/mods/homedecor_modpack/computer/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = computer -depends = default, basic_materials, unifieddyes -optional_depends = screwdriver diff --git a/mods/homedecor_modpack/computer/models/computer_3dprinter_bedflinger.obj b/mods/homedecor_modpack/computer/models/computer_3dprinter_bedflinger.obj deleted file mode 100644 index 8b846c75..00000000 --- a/mods/homedecor_modpack/computer/models/computer_3dprinter_bedflinger.obj +++ /dev/null @@ -1,9831 +0,0 @@ -v -0.005 0 -0.33 -v -0.005 0 -0.316 -v -0.004 0.002 -0.33 -v -0.004 0.002 -0.316 -v -0.003 0.003 -0.33 -v -0.003 0.003 -0.316 -v -0.002 0.004 -0.33 -v -0.002 0.004 -0.316 -v 0 0.005 -0.33 -v 0 0.005 -0.316 -v 0.002 0.004 -0.33 -v 0.002 0.004 -0.316 -v 0.003 0.003 -0.33 -v 0.003 0.003 -0.316 -v 0.004 0.002 -0.33 -v 0.004 0.002 -0.316 -v 0.005 0 -0.33 -v 0.005 0 -0.316 -v 0.004 -0.002 -0.33 -v 0.004 -0.002 -0.316 -v 0.003 -0.003 -0.33 -v 0.003 -0.003 -0.316 -v 0.002 -0.004 -0.33 -v 0.002 -0.004 -0.316 -v 0 -0.005 -0.33 -v 0 -0.005 -0.316 -v -0.002 -0.004 -0.33 -v -0.002 -0.004 -0.316 -v -0.003 -0.003 -0.33 -v -0.003 -0.003 -0.316 -v -0.004 -0.002 -0.33 -v -0.004 -0.002 -0.316 -v -0.001 0 -0.35 -v -0.005 0 -0.342 -v -0.001 0 -0.35 -v -0.005 0.002 -0.342 -v 0 0 -0.35 -v -0.004 0.004 -0.342 -v 0 0.001 -0.35 -v -0.002 0.005 -0.342 -v 0 0.001 -0.35 -v 0 0.005 -0.342 -v 0 0.001 -0.35 -v 0.002 0.005 -0.342 -v 0 0 -0.35 -v 0.004 0.004 -0.342 -v 0.001 0 -0.35 -v 0.005 0.002 -0.342 -v 0.001 0 -0.35 -v 0.005 0 -0.342 -v 0.001 0 -0.35 -v 0.005 -0.002 -0.342 -v 0 0 -0.35 -v 0.004 -0.004 -0.342 -v 0 -0.001 -0.35 -v 0.002 -0.005 -0.342 -v 0 -0.001 -0.35 -v 0 -0.005 -0.342 -v 0 -0.001 -0.35 -v -0.002 -0.005 -0.342 -v 0 0 -0.35 -v -0.004 -0.004 -0.342 -v -0.001 0 -0.35 -v -0.005 -0.002 -0.342 -v -0.01 0.01 -0.33 -v -0.01 0.01 -0.342 -v 0.01 0.01 -0.33 -v 0.01 0.01 -0.342 -v -0.01 -0.01 -0.33 -v -0.01 -0.01 -0.342 -v 0.01 -0.01 -0.33 -v 0.01 -0.01 -0.342 -v -0.061 0.186 -0.326 -v -0.061 0.186 -0.253 -v -0.111 0.236 -0.326 -v -0.111 0.236 -0.253 -v -0.111 0.186 -0.326 -v -0.111 0.186 -0.253 -v -0.086 0.236 -0.326 -v -0.086 0.236 -0.253 -v -0.061 0.299 -0.326 -v -0.086 0.299 -0.326 -v -0.061 0.299 -0.308 -v -0.061 0.244 -0.308 -v -0.086 0.244 -0.308 -v -0.086 0.299 -0.308 -v -0.061 0.244 -0.253 -v -0.086 0.244 -0.253 -v -0.061 -0.194 -0.326 -v -0.061 -0.194 -0.253 -v -0.061 -0.244 -0.326 -v -0.061 -0.244 -0.253 -v -0.111 -0.194 -0.326 -v -0.111 -0.194 -0.253 -v -0.111 -0.244 -0.326 -v -0.111 -0.244 -0.253 -v -0.079 0.211 -0.261 -v -0.078 0.211 -0.259 -v -0.077 0.211 -0.258 -v -0.076 0.211 -0.257 -v -0.074 0.211 -0.256 -v -0.072 0.211 -0.257 -v -0.07 0.211 -0.258 -v -0.069 0.211 -0.259 -v -0.069 0.211 -0.261 -v -0.069 0.211 -0.263 -v -0.07 0.211 -0.265 -v -0.072 0.211 -0.266 -v -0.074 0.211 -0.266 -v -0.076 0.211 -0.266 -v -0.077 0.211 -0.265 -v -0.078 0.211 -0.263 -v -0.078 -0.214 -0.263 -v -0.079 -0.214 -0.261 -v -0.072 -0.214 -0.266 -v -0.069 -0.214 -0.263 -v -0.076 -0.214 -0.266 -v -0.072 -0.214 -0.257 -v -0.076 -0.214 -0.257 -v -0.078 -0.214 -0.259 -v -0.069 -0.214 -0.259 -v -0.077 -0.214 -0.265 -v -0.074 -0.214 -0.266 -v -0.07 -0.214 -0.265 -v -0.069 -0.214 -0.261 -v -0.07 -0.214 -0.258 -v -0.074 -0.214 -0.256 -v -0.077 -0.214 -0.258 -v -0.061 -0.037 -0.326 -v -0.061 -0.037 -0.253 -v -0.086 -0.037 -0.326 -v -0.086 -0.037 -0.253 -v -0.061 0.038 -0.326 -v -0.061 0.038 -0.253 -v -0.086 0.038 -0.326 -v -0.086 0.038 -0.253 -v -0.006 -0.027 -0.316 -v -0.006 -0.027 -0.261 -v -0.006 0.028 -0.316 -v -0.006 0.028 -0.261 -v 0.019 -0.027 -0.316 -v 0.019 -0.027 -0.261 -v 0.019 0.028 -0.316 -v 0.019 0.028 -0.261 -v -0.006 -0.027 -0.316 -v -0.061 -0.027 -0.261 -v -0.006 -0.027 -0.261 -v -0.006 0.028 -0.316 -v -0.061 0.028 -0.261 -v -0.006 0.028 -0.261 -v -0.012 -0.027 -0.316 -v -0.055 -0.027 -0.261 -v -0.055 0.028 -0.261 -v -0.055 0.028 -0.316 -v -0.012 -0.027 -0.261 -v -0.012 0.028 -0.261 -v -0.012 0.028 -0.316 -v -0.061 -0.027 -0.316 -v -0.061 0.028 -0.316 -v -0.055 -0.027 -0.316 -v -0.073 -0.195 -0.283 -v -0.073 -0.195 -0.281 -v -0.08 -0.195 -0.283 -v -0.08 -0.195 -0.281 -v -0.072 0.271 -0.283 -v -0.072 0.271 -0.281 -v -0.08 0.271 -0.283 -v -0.08 0.271 -0.281 -v -0.079 -0.214 -0.317 -v -0.078 -0.214 -0.319 -v -0.077 -0.214 -0.321 -v -0.076 -0.214 -0.322 -v -0.074 -0.214 -0.322 -v -0.072 -0.214 -0.322 -v -0.07 -0.214 -0.321 -v -0.069 -0.214 -0.319 -v -0.069 -0.214 -0.317 -v -0.069 -0.214 -0.316 -v -0.07 -0.214 -0.314 -v -0.072 -0.214 -0.313 -v -0.074 -0.214 -0.312 -v -0.076 -0.214 -0.313 -v -0.077 -0.214 -0.314 -v -0.078 -0.214 -0.316 -v -0.078 0.211 -0.316 -v -0.079 0.211 -0.317 -v -0.072 0.211 -0.313 -v -0.069 0.211 -0.316 -v -0.076 0.211 -0.313 -v -0.072 0.211 -0.322 -v -0.076 0.211 -0.322 -v -0.078 0.211 -0.319 -v -0.069 0.211 -0.319 -v -0.077 0.211 -0.314 -v -0.074 0.211 -0.312 -v -0.07 0.211 -0.314 -v -0.069 0.211 -0.317 -v -0.07 0.211 -0.321 -v -0.074 0.211 -0.322 -v -0.077 0.211 -0.321 -v -0.073 -0.195 -0.301 -v -0.073 -0.195 -0.298 -v -0.08 -0.195 -0.301 -v -0.08 -0.195 -0.298 -v -0.072 0.271 -0.301 -v -0.072 0.271 -0.298 -v -0.08 0.271 -0.301 -v -0.08 0.271 -0.298 -v -0.153 0.173 -0.394 -v -0.153 0.173 -0.303 -v -0.228 0.173 -0.394 -v -0.228 0.173 -0.303 -v -0.153 0.191 -0.394 -v -0.153 0.191 -0.303 -v -0.228 0.191 -0.394 -v -0.228 0.191 -0.303 -v -0.149 -0.224 -0.437 -v -0.149 -0.224 -0.194 -v -0.28 -0.224 -0.437 -v -0.28 -0.224 -0.194 -v -0.149 -0.174 -0.437 -v -0.149 -0.174 -0.194 -v -0.28 -0.174 -0.437 -v -0.28 -0.174 -0.194 -v -0.143 -0.2 -0.5 -v -0.143 -0.197 -0.497 -v -0.143 0.197 -0.497 -v -0.143 0.2 -0.5 -v -0.143 0.231 -0.494 -v -0.143 0.231 -0.044 -v -0.143 0.225 -0.037 -v -0.143 -0.225 -0.038 -v -0.143 -0.231 -0.044 -v -0.143 0.038 -0.45 -v -0.143 0.006 -0.481 -v -0.143 -0.006 -0.481 -v -0.143 -0.037 -0.45 -v -0.143 -0.094 -0.45 -v -0.143 -0.1 -0.456 -v -0.143 -0.1 -0.475 -v -0.143 -0.1 -0.477 -v -0.143 -0.101 -0.478 -v -0.143 -0.102 -0.479 -v -0.143 -0.103 -0.48 -v -0.143 -0.105 -0.481 -v -0.143 -0.106 -0.481 -v -0.143 -0.108 -0.481 -v -0.143 -0.109 -0.48 -v -0.143 -0.111 -0.479 -v -0.143 -0.112 -0.478 -v -0.143 -0.112 -0.477 -v -0.143 -0.112 -0.475 -v -0.143 -0.112 -0.456 -v -0.143 -0.119 -0.45 -v -0.143 -0.156 -0.45 -v -0.143 -0.162 -0.444 -v -0.143 -0.162 -0.094 -v -0.143 -0.156 -0.088 -v -0.143 0.156 -0.087 -v -0.143 0.162 -0.094 -v -0.143 0.162 -0.444 -v -0.143 0.156 -0.45 -v -0.143 0.119 -0.45 -v -0.143 0.113 -0.456 -v -0.143 0.113 -0.475 -v -0.143 0.112 -0.477 -v -0.143 0.112 -0.478 -v -0.143 0.111 -0.479 -v -0.143 0.109 -0.48 -v -0.143 0.108 -0.481 -v -0.143 0.106 -0.481 -v -0.143 0.105 -0.481 -v -0.143 0.103 -0.48 -v -0.143 0.102 -0.479 -v -0.143 0.101 -0.478 -v -0.143 0.1 -0.477 -v -0.143 0.1 -0.475 -v -0.143 0.1 -0.456 -v -0.143 0.094 -0.45 -v -0.143 -0.225 -0.5 -v -0.143 0.225 -0.5 -v -0.143 -0.231 -0.494 -v -0.135 -0.2 -0.5 -v -0.135 -0.197 -0.497 -v -0.135 0.197 -0.497 -v -0.135 0.2 -0.5 -v -0.135 0.231 -0.494 -v -0.135 0.231 -0.044 -v -0.135 0.225 -0.037 -v -0.135 -0.225 -0.038 -v -0.135 -0.231 -0.044 -v -0.135 0.038 -0.45 -v -0.135 0.006 -0.481 -v -0.135 -0.006 -0.481 -v -0.135 -0.037 -0.45 -v -0.135 -0.094 -0.45 -v -0.135 -0.1 -0.456 -v -0.135 -0.1 -0.475 -v -0.135 -0.1 -0.477 -v -0.135 -0.101 -0.478 -v -0.135 -0.102 -0.479 -v -0.135 -0.103 -0.48 -v -0.135 -0.105 -0.481 -v -0.135 -0.106 -0.481 -v -0.135 -0.108 -0.481 -v -0.135 -0.109 -0.48 -v -0.135 -0.111 -0.479 -v -0.135 -0.112 -0.478 -v -0.135 -0.112 -0.477 -v -0.135 -0.112 -0.475 -v -0.135 -0.112 -0.456 -v -0.135 -0.119 -0.45 -v -0.135 -0.156 -0.45 -v -0.135 -0.162 -0.094 -v -0.135 -0.156 -0.088 -v -0.135 0.156 -0.087 -v -0.135 0.162 -0.094 -v -0.135 0.162 -0.444 -v -0.135 0.156 -0.45 -v -0.135 0.119 -0.45 -v -0.135 0.113 -0.456 -v -0.135 0.113 -0.475 -v -0.135 0.112 -0.477 -v -0.135 0.112 -0.478 -v -0.135 0.111 -0.479 -v -0.135 0.109 -0.48 -v -0.135 0.108 -0.481 -v -0.135 0.106 -0.481 -v -0.135 0.105 -0.481 -v -0.135 0.103 -0.48 -v -0.135 0.102 -0.479 -v -0.135 0.101 -0.478 -v -0.135 0.1 -0.477 -v -0.135 0.1 -0.475 -v -0.135 0.1 -0.456 -v -0.135 0.094 -0.45 -v -0.135 -0.225 -0.5 -v -0.135 0.225 -0.5 -v -0.135 -0.231 -0.494 -v -0.135 -0.162 -0.444 -v -0.244 0.166 -0.497 -v -0.246 0.166 -0.5 -v -0.277 0.166 -0.474 -v -0.184 0.166 -0.468 -v -0.178 0.166 -0.464 -v -0.178 0.166 -0.462 -v -0.179 0.166 -0.46 -v -0.181 0.166 -0.458 -v -0.184 0.166 -0.457 -v -0.271 0.166 -0.457 -v -0.277 0.166 -0.441 -v -0.143 0.166 -0.497 -v -0.271 0.166 -0.5 -v -0.277 0.166 -0.494 -v -0.271 0.166 -0.468 -v -0.182 0.166 -0.468 -v -0.181 0.166 -0.467 -v -0.18 0.166 -0.466 -v -0.179 0.166 -0.465 -v -0.178 0.166 -0.461 -v -0.18 0.166 -0.459 -v -0.182 0.166 -0.457 -v -0.277 0.166 -0.451 -v -0.175 0.166 -0.038 -v -0.143 0.166 -0.038 -v -0.244 0.173 -0.497 -v -0.246 0.173 -0.5 -v -0.178 0.173 -0.464 -v -0.178 0.173 -0.462 -v -0.184 0.173 -0.457 -v -0.271 0.173 -0.457 -v -0.277 0.173 -0.441 -v -0.271 0.173 -0.5 -v -0.277 0.173 -0.494 -v -0.182 0.173 -0.468 -v -0.181 0.173 -0.467 -v -0.18 0.173 -0.466 -v -0.179 0.173 -0.465 -v -0.175 0.173 -0.038 -v -0.143 0.173 -0.038 -v -0.143 0.173 -0.497 -v -0.277 0.173 -0.474 -v -0.271 0.173 -0.468 -v -0.184 0.173 -0.468 -v -0.178 0.173 -0.461 -v -0.179 0.173 -0.46 -v -0.18 0.173 -0.459 -v -0.181 0.173 -0.458 -v -0.182 0.173 -0.457 -v -0.277 0.173 -0.451 -v -0.244 -0.174 -0.497 -v -0.246 -0.174 -0.5 -v -0.277 -0.174 -0.474 -v -0.184 -0.174 -0.468 -v -0.178 -0.174 -0.464 -v -0.178 -0.174 -0.462 -v -0.179 -0.174 -0.46 -v -0.181 -0.174 -0.458 -v -0.184 -0.174 -0.457 -v -0.271 -0.174 -0.457 -v -0.277 -0.174 -0.441 -v -0.143 -0.174 -0.497 -v -0.271 -0.174 -0.5 -v -0.277 -0.174 -0.494 -v -0.271 -0.174 -0.468 -v -0.182 -0.174 -0.468 -v -0.181 -0.174 -0.467 -v -0.18 -0.174 -0.466 -v -0.179 -0.174 -0.465 -v -0.178 -0.174 -0.461 -v -0.18 -0.174 -0.459 -v -0.182 -0.174 -0.457 -v -0.277 -0.174 -0.451 -v -0.175 -0.174 -0.038 -v -0.143 -0.174 -0.038 -v -0.244 -0.166 -0.497 -v -0.246 -0.166 -0.5 -v -0.178 -0.166 -0.464 -v -0.178 -0.166 -0.462 -v -0.184 -0.166 -0.457 -v -0.271 -0.166 -0.457 -v -0.277 -0.166 -0.441 -v -0.271 -0.166 -0.5 -v -0.277 -0.166 -0.494 -v -0.182 -0.166 -0.468 -v -0.181 -0.166 -0.467 -v -0.18 -0.166 -0.466 -v -0.179 -0.166 -0.465 -v -0.175 -0.166 -0.038 -v -0.143 -0.166 -0.038 -v -0.143 -0.166 -0.497 -v -0.277 -0.166 -0.474 -v -0.271 -0.166 -0.468 -v -0.184 -0.166 -0.468 -v -0.178 -0.166 -0.461 -v -0.179 -0.166 -0.46 -v -0.18 -0.166 -0.459 -v -0.181 -0.166 -0.458 -v -0.182 -0.166 -0.457 -v -0.277 -0.166 -0.451 -v -0.099 0.227 -0.035 -v -0.099 0.227 -0.438 -v -0.097 0.227 -0.035 -v -0.097 0.227 -0.438 -v -0.095 0.226 -0.035 -v -0.095 0.226 -0.438 -v -0.094 0.224 -0.035 -v -0.094 0.224 -0.438 -v -0.094 0.222 -0.035 -v -0.094 0.222 -0.438 -v -0.094 0.221 -0.035 -v -0.094 0.221 -0.438 -v -0.095 0.219 -0.035 -v -0.095 0.219 -0.438 -v -0.097 0.218 -0.035 -v -0.097 0.218 -0.438 -v -0.099 0.217 -0.035 -v -0.099 0.217 -0.438 -v -0.101 0.218 -0.035 -v -0.101 0.218 -0.438 -v -0.102 0.219 -0.035 -v -0.102 0.219 -0.438 -v -0.103 0.221 -0.035 -v -0.103 0.221 -0.438 -v -0.104 0.222 -0.035 -v -0.104 0.222 -0.438 -v -0.103 0.224 -0.035 -v -0.103 0.224 -0.438 -v -0.102 0.226 -0.035 -v -0.102 0.226 -0.438 -v -0.101 0.227 -0.035 -v -0.101 0.227 -0.438 -v -0.135 -0.238 -0.431 -v -0.135 -0.187 -0.431 -v -0.132 -0.242 -0.431 -v -0.128 -0.179 -0.431 -v -0.12 -0.179 -0.431 -v -0.113 -0.187 -0.431 -v -0.113 -0.223 -0.431 -v -0.077 -0.223 -0.431 -v -0.073 -0.227 -0.431 -v -0.073 -0.235 -0.431 -v -0.079 -0.242 -0.431 -v -0.135 -0.238 -0.456 -v -0.135 -0.235 -0.459 -v -0.135 -0.215 -0.479 -v -0.135 -0.205 -0.479 -v -0.135 -0.187 -0.46 -v -0.132 -0.242 -0.453 -v -0.098 -0.242 -0.438 -v -0.098 -0.242 -0.438 -v -0.112 -0.242 -0.453 -v -0.079 -0.242 -0.438 -v -0.073 -0.235 -0.438 -v -0.073 -0.227 -0.438 -v -0.077 -0.223 -0.438 -v -0.113 -0.223 -0.438 -v -0.113 -0.187 -0.438 -v -0.12 -0.179 -0.438 -v -0.128 -0.179 -0.438 -v -0.134 -0.185 -0.459 -v -0.134 -0.185 -0.438 -v -0.125 -0.185 -0.459 -v -0.125 -0.205 -0.479 -v -0.125 -0.215 -0.479 -v -0.125 -0.235 -0.459 -v -0.119 -0.235 -0.459 -v -0.119 -0.235 -0.459 -v -0.125 -0.235 -0.459 -v -0.098 -0.235 -0.438 -v -0.098 -0.235 -0.438 -v -0.125 -0.185 -0.438 -v -0.125 -0.235 -0.438 -v -0.135 -0.234 -0.043 -v -0.135 -0.234 -0.058 -v -0.135 -0.229 -0.038 -v -0.135 -0.187 -0.058 -v -0.135 -0.187 -0.038 -v -0.128 -0.242 -0.039 -v -0.128 -0.242 -0.055 -v -0.13 -0.239 -0.058 -v -0.127 -0.242 -0.038 -v -0.134 -0.185 -0.038 -v -0.125 -0.194 -0.038 -v -0.125 -0.223 -0.038 -v -0.092 -0.223 -0.038 -v -0.088 -0.227 -0.038 -v -0.088 -0.235 -0.038 -v -0.094 -0.242 -0.038 -v -0.134 -0.185 -0.058 -v -0.125 -0.242 -0.053 -v -0.094 -0.242 -0.044 -v -0.098 -0.242 -0.044 -v -0.106 -0.242 -0.053 -v -0.098 -0.242 -0.044 -v -0.125 -0.235 -0.053 -v -0.13 -0.189 -0.058 -v -0.088 -0.235 -0.044 -v -0.088 -0.227 -0.044 -v -0.092 -0.223 -0.044 -v -0.125 -0.223 -0.044 -v -0.125 -0.235 -0.044 -v -0.126 -0.194 -0.053 -v -0.106 -0.235 -0.053 -v -0.098 -0.235 -0.044 -v -0.098 -0.235 -0.044 -v -0.099 -0.225 -0.035 -v -0.099 -0.225 -0.437 -v -0.097 -0.225 -0.035 -v -0.097 -0.225 -0.437 -v -0.095 -0.227 -0.035 -v -0.095 -0.227 -0.437 -v -0.094 -0.228 -0.035 -v -0.094 -0.228 -0.437 -v -0.094 -0.23 -0.035 -v -0.094 -0.23 -0.437 -v -0.094 -0.232 -0.035 -v -0.094 -0.232 -0.437 -v -0.095 -0.234 -0.035 -v -0.095 -0.234 -0.437 -v -0.097 -0.235 -0.035 -v -0.097 -0.235 -0.437 -v -0.099 -0.235 -0.035 -v -0.099 -0.235 -0.437 -v -0.101 -0.235 -0.035 -v -0.101 -0.235 -0.437 -v -0.102 -0.234 -0.035 -v -0.102 -0.234 -0.437 -v -0.103 -0.232 -0.035 -v -0.103 -0.232 -0.437 -v -0.104 -0.23 -0.035 -v -0.104 -0.23 -0.437 -v -0.103 -0.228 -0.035 -v -0.103 -0.228 -0.437 -v -0.102 -0.227 -0.035 -v -0.102 -0.227 -0.437 -v -0.101 -0.225 -0.035 -v -0.101 -0.225 -0.437 -v -0.135 0.226 -0.043 -v -0.135 0.226 -0.058 -v -0.135 0.221 -0.038 -v -0.135 0.179 -0.058 -v -0.135 0.179 -0.038 -v -0.128 0.234 -0.039 -v -0.128 0.234 -0.055 -v -0.13 0.231 -0.058 -v -0.127 0.234 -0.038 -v -0.134 0.178 -0.038 -v -0.125 0.186 -0.038 -v -0.125 0.215 -0.038 -v -0.092 0.215 -0.038 -v -0.088 0.219 -0.038 -v -0.088 0.228 -0.038 -v -0.094 0.234 -0.038 -v -0.134 0.178 -0.058 -v -0.125 0.234 -0.053 -v -0.094 0.234 -0.044 -v -0.098 0.234 -0.044 -v -0.106 0.234 -0.053 -v -0.098 0.234 -0.044 -v -0.125 0.228 -0.053 -v -0.13 0.181 -0.058 -v -0.088 0.228 -0.044 -v -0.088 0.219 -0.044 -v -0.092 0.215 -0.044 -v -0.125 0.215 -0.044 -v -0.125 0.228 -0.044 -v -0.126 0.186 -0.053 -v -0.106 0.228 -0.053 -v -0.098 0.228 -0.044 -v -0.098 0.228 -0.044 -v -0.135 0.23 -0.431 -v -0.135 0.179 -0.431 -v -0.132 0.234 -0.431 -v -0.128 0.171 -0.431 -v -0.12 0.171 -0.431 -v -0.113 0.179 -0.431 -v -0.113 0.215 -0.431 -v -0.077 0.215 -0.431 -v -0.073 0.219 -0.431 -v -0.073 0.228 -0.431 -v -0.079 0.234 -0.431 -v -0.135 0.23 -0.456 -v -0.135 0.228 -0.459 -v -0.135 0.208 -0.479 -v -0.135 0.198 -0.479 -v -0.135 0.179 -0.46 -v -0.132 0.234 -0.453 -v -0.098 0.234 -0.438 -v -0.098 0.234 -0.438 -v -0.112 0.234 -0.453 -v -0.079 0.234 -0.438 -v -0.073 0.228 -0.438 -v -0.073 0.219 -0.438 -v -0.077 0.215 -0.438 -v -0.113 0.215 -0.438 -v -0.113 0.179 -0.438 -v -0.12 0.171 -0.438 -v -0.128 0.171 -0.438 -v -0.134 0.178 -0.459 -v -0.134 0.178 -0.438 -v -0.125 0.178 -0.459 -v -0.125 0.198 -0.479 -v -0.125 0.208 -0.479 -v -0.125 0.228 -0.459 -v -0.119 0.228 -0.459 -v -0.119 0.228 -0.459 -v -0.125 0.228 -0.459 -v -0.098 0.228 -0.438 -v -0.098 0.228 -0.438 -v -0.125 0.178 -0.438 -v -0.125 0.228 -0.438 -v -0.35 -0.05 0.107 -v -0.35 0.045 0.107 -v -0.348 -0.05 0.083 -v -0.348 0.045 0.083 -v -0.341 -0.05 0.059 -v -0.341 0.045 0.059 -v -0.329 -0.05 0.038 -v -0.329 0.045 0.038 -v -0.314 -0.05 0.019 -v -0.314 0.045 0.019 -v -0.295 -0.05 0.004 -v -0.295 0.045 0.004 -v -0.274 -0.05 -0.008 -v -0.274 0.045 -0.008 -v -0.251 -0.05 -0.015 -v -0.251 0.045 -0.015 -v -0.227 -0.05 -0.017 -v -0.227 0.045 -0.017 -v -0.202 -0.05 -0.015 -v -0.202 0.045 -0.015 -v -0.179 -0.05 -0.008 -v -0.179 0.045 -0.008 -v -0.158 -0.05 0.004 -v -0.158 0.045 0.004 -v -0.139 -0.05 0.019 -v -0.139 0.045 0.019 -v -0.124 -0.05 0.038 -v -0.124 0.045 0.038 -v -0.112 -0.05 0.059 -v -0.112 0.045 0.059 -v -0.105 -0.05 0.083 -v -0.105 0.045 0.083 -v -0.103 -0.05 0.107 -v -0.103 0.045 0.107 -v -0.105 -0.05 0.131 -v -0.105 0.045 0.131 -v -0.112 -0.05 0.154 -v -0.112 0.045 0.154 -v -0.124 -0.05 0.175 -v -0.124 0.045 0.175 -v -0.139 -0.05 0.194 -v -0.139 0.045 0.194 -v -0.158 -0.05 0.209 -v -0.158 0.045 0.209 -v -0.179 -0.05 0.221 -v -0.179 0.045 0.221 -v -0.202 -0.05 0.228 -v -0.202 0.045 0.228 -v -0.227 -0.05 0.23 -v -0.227 0.045 0.23 -v -0.251 -0.05 0.228 -v -0.251 0.045 0.228 -v -0.274 -0.05 0.221 -v -0.274 0.045 0.221 -v -0.295 -0.05 0.209 -v -0.295 0.045 0.209 -v -0.314 -0.05 0.194 -v -0.314 0.045 0.194 -v -0.329 -0.05 0.175 -v -0.329 0.045 0.175 -v -0.341 -0.05 0.154 -v -0.341 0.045 0.154 -v -0.348 -0.05 0.131 -v -0.348 0.045 0.131 -v -0.348 0.039 0.083 -v -0.35 0.039 0.107 -v -0.341 0.039 0.059 -v -0.329 0.039 0.038 -v -0.314 0.039 0.019 -v -0.295 0.039 0.004 -v -0.274 0.039 -0.008 -v -0.251 0.039 -0.015 -v -0.227 0.039 -0.017 -v -0.202 0.039 -0.015 -v -0.179 0.039 -0.008 -v -0.158 0.039 0.004 -v -0.139 0.039 0.019 -v -0.124 0.039 0.038 -v -0.112 0.039 0.059 -v -0.105 0.039 0.083 -v -0.103 0.039 0.107 -v -0.105 0.039 0.131 -v -0.112 0.039 0.154 -v -0.124 0.039 0.175 -v -0.139 0.039 0.194 -v -0.158 0.039 0.209 -v -0.179 0.039 0.221 -v -0.202 0.039 0.228 -v -0.227 0.039 0.23 -v -0.251 0.039 0.228 -v -0.274 0.039 0.221 -v -0.295 0.039 0.209 -v -0.314 0.039 0.194 -v -0.329 0.039 0.175 -v -0.341 0.039 0.154 -v -0.348 0.039 0.131 -v -0.35 -0.044 0.107 -v -0.348 -0.044 0.083 -v -0.341 -0.044 0.059 -v -0.329 -0.044 0.038 -v -0.314 -0.044 0.019 -v -0.295 -0.044 0.004 -v -0.274 -0.044 -0.008 -v -0.251 -0.044 -0.015 -v -0.227 -0.044 -0.017 -v -0.202 -0.044 -0.015 -v -0.179 -0.044 -0.008 -v -0.158 -0.044 0.004 -v -0.139 -0.044 0.019 -v -0.124 -0.044 0.038 -v -0.112 -0.044 0.059 -v -0.105 -0.044 0.083 -v -0.103 -0.044 0.107 -v -0.105 -0.044 0.131 -v -0.112 -0.044 0.154 -v -0.124 -0.044 0.175 -v -0.139 -0.044 0.194 -v -0.158 -0.044 0.209 -v -0.179 -0.044 0.221 -v -0.202 -0.044 0.228 -v -0.227 -0.044 0.23 -v -0.251 -0.044 0.228 -v -0.274 -0.044 0.221 -v -0.295 -0.044 0.209 -v -0.314 -0.044 0.194 -v -0.329 -0.044 0.175 -v -0.341 -0.044 0.154 -v -0.348 -0.044 0.131 -v -0.199 0.039 0.066 -v -0.199 -0.044 0.066 -v -0.204 0.045 0.072 -v -0.204 -0.05 0.072 -v -0.276 0.039 0.107 -v -0.268 -0.05 0.107 -v -0.276 -0.044 0.107 -v -0.268 0.045 0.107 -v -0.275 0.039 0.116 -v -0.267 -0.05 0.115 -v -0.275 -0.044 0.116 -v -0.267 0.045 0.115 -v -0.272 0.039 0.125 -v -0.265 -0.05 0.122 -v -0.272 -0.044 0.125 -v -0.265 0.045 0.122 -v -0.208 0.039 0.152 -v -0.208 -0.044 0.152 -v -0.211 0.045 0.145 -v -0.211 -0.05 0.145 -v -0.199 0.039 0.147 -v -0.199 -0.044 0.147 -v -0.204 0.045 0.141 -v -0.204 -0.05 0.141 -v -0.217 0.039 0.155 -v -0.217 -0.044 0.155 -v -0.219 0.045 0.147 -v -0.219 -0.05 0.147 -v -0.192 0.039 0.141 -v -0.192 -0.044 0.141 -v -0.197 0.045 0.136 -v -0.197 -0.05 0.136 -v -0.179 0.039 0.116 -v -0.179 -0.044 0.116 -v -0.186 0.045 0.115 -v -0.186 -0.05 0.115 -v -0.178 0.039 0.107 -v -0.178 -0.044 0.107 -v -0.185 0.045 0.107 -v -0.185 -0.05 0.107 -v -0.181 0.039 0.125 -v -0.181 -0.044 0.125 -v -0.189 0.045 0.122 -v -0.189 -0.05 0.122 -v -0.236 0.039 0.059 -v -0.236 -0.044 0.059 -v -0.235 0.045 0.066 -v -0.235 -0.05 0.066 -v -0.267 0.039 0.079 -v -0.267 -0.044 0.079 -v -0.261 -0.05 0.084 -v -0.261 0.045 0.084 -v -0.227 0.039 0.058 -v -0.227 -0.044 0.058 -v -0.227 0.045 0.065 -v -0.227 -0.05 0.065 -v -0.245 0.039 0.061 -v -0.245 -0.044 0.061 -v -0.242 -0.05 0.069 -v -0.242 0.045 0.069 -v -0.179 0.039 0.097 -v -0.179 -0.044 0.097 -v -0.186 0.045 0.099 -v -0.186 -0.05 0.099 -v -0.261 0.039 0.141 -v -0.256 -0.05 0.136 -v -0.261 -0.044 0.141 -v -0.256 0.045 0.136 -v -0.267 0.039 0.134 -v -0.261 -0.05 0.13 -v -0.267 -0.044 0.134 -v -0.261 0.045 0.13 -v -0.254 0.039 0.147 -v -0.25 -0.05 0.141 -v -0.254 -0.044 0.147 -v -0.25 0.045 0.141 -v -0.217 0.039 0.059 -v -0.217 -0.044 0.059 -v -0.219 0.045 0.066 -v -0.219 -0.05 0.066 -v -0.186 0.039 0.079 -v -0.186 -0.044 0.079 -v -0.192 0.045 0.084 -v -0.192 -0.05 0.084 -v -0.192 0.039 0.072 -v -0.192 -0.044 0.072 -v -0.197 0.045 0.077 -v -0.197 -0.05 0.077 -v -0.208 0.039 0.061 -v -0.208 -0.044 0.061 -v -0.211 0.045 0.069 -v -0.211 -0.05 0.069 -v -0.227 0.039 0.156 -v -0.227 -0.044 0.156 -v -0.227 -0.05 0.148 -v -0.227 0.045 0.148 -v -0.186 0.039 0.134 -v -0.186 -0.044 0.134 -v -0.192 0.045 0.13 -v -0.192 -0.05 0.13 -v -0.236 0.039 0.155 -v -0.236 -0.044 0.155 -v -0.235 -0.05 0.147 -v -0.235 0.045 0.147 -v -0.261 0.039 0.072 -v -0.261 -0.044 0.072 -v -0.256 -0.05 0.077 -v -0.256 0.045 0.077 -v -0.181 0.039 0.088 -v -0.181 -0.044 0.088 -v -0.189 0.045 0.091 -v -0.189 -0.05 0.091 -v -0.254 0.039 0.066 -v -0.254 -0.044 0.066 -v -0.25 -0.05 0.072 -v -0.25 0.045 0.072 -v -0.245 0.039 0.152 -v -0.245 -0.044 0.152 -v -0.242 -0.05 0.145 -v -0.242 0.045 0.145 -v -0.272 0.039 0.088 -v -0.272 -0.044 0.088 -v -0.265 -0.05 0.091 -v -0.265 0.045 0.091 -v -0.275 0.039 0.097 -v -0.275 -0.044 0.097 -v -0.267 -0.05 0.099 -v -0.267 0.045 0.099 -v -0.238 0.081 0.136 -v -0.235 0.081 0.14 -v -0.231 0.081 0.143 -v -0.227 0.081 0.144 -v -0.222 0.081 0.143 -v -0.218 0.081 0.14 -v -0.215 0.081 0.136 -v -0.214 0.081 0.131 -v -0.215 0.081 0.126 -v -0.218 0.081 0.122 -v -0.222 0.081 0.12 -v -0.227 0.081 0.119 -v -0.231 0.081 0.12 -v -0.235 0.081 0.122 -v -0.238 0.081 0.126 -v -0.239 0.081 0.131 -v -0.119 0.058 -0.064 -v -0.153 0.058 -0.065 -v -0.12 0.071 -0.021 -v -0.12 0.058 -0.021 -v -0.119 0.071 -0.064 -v -0.153 0.071 -0.065 -v -0.242 0.085 0.138 -v -0.239 0.085 0.143 -v -0.233 0.085 0.147 -v -0.227 0.085 0.148 -v -0.22 0.085 0.147 -v -0.215 0.085 0.143 -v -0.211 0.085 0.138 -v -0.21 0.085 0.131 -v -0.211 0.085 0.125 -v -0.215 0.085 0.119 -v -0.22 0.085 0.116 -v -0.227 0.085 0.114 -v -0.233 0.085 0.116 -v -0.239 0.085 0.119 -v -0.242 0.085 0.125 -v -0.243 0.085 0.131 -v -0.242 0.097 0.138 -v -0.239 0.097 0.143 -v -0.233 0.097 0.147 -v -0.227 0.097 0.148 -v -0.22 0.097 0.147 -v -0.215 0.097 0.143 -v -0.211 0.097 0.138 -v -0.21 0.097 0.131 -v -0.211 0.097 0.125 -v -0.215 0.097 0.119 -v -0.22 0.097 0.116 -v -0.227 0.097 0.114 -v -0.233 0.097 0.116 -v -0.239 0.097 0.119 -v -0.242 0.097 0.125 -v -0.243 0.097 0.131 -v -0.238 -0.086 0.136 -v -0.235 -0.086 0.14 -v -0.231 -0.086 0.143 -v -0.227 -0.086 0.144 -v -0.222 -0.086 0.143 -v -0.218 -0.086 0.14 -v -0.215 -0.086 0.136 -v -0.214 -0.086 0.131 -v -0.215 -0.086 0.126 -v -0.218 -0.086 0.122 -v -0.222 -0.086 0.12 -v -0.227 -0.086 0.119 -v -0.231 -0.086 0.12 -v -0.235 -0.086 0.122 -v -0.238 -0.086 0.126 -v -0.239 -0.086 0.131 -v -0.119 -0.063 -0.064 -v -0.153 -0.063 -0.065 -v -0.12 -0.076 -0.021 -v -0.12 -0.063 -0.021 -v -0.119 -0.076 -0.064 -v -0.153 -0.076 -0.065 -v -0.242 -0.09 0.138 -v -0.239 -0.09 0.143 -v -0.233 -0.09 0.147 -v -0.227 -0.09 0.148 -v -0.22 -0.09 0.147 -v -0.215 -0.09 0.143 -v -0.211 -0.09 0.138 -v -0.21 -0.09 0.131 -v -0.211 -0.09 0.125 -v -0.215 -0.09 0.119 -v -0.22 -0.09 0.116 -v -0.227 -0.09 0.114 -v -0.233 -0.09 0.116 -v -0.239 -0.09 0.119 -v -0.242 -0.09 0.125 -v -0.243 -0.09 0.131 -v -0.242 -0.102 0.138 -v -0.239 -0.102 0.143 -v -0.233 -0.102 0.147 -v -0.227 -0.102 0.148 -v -0.22 -0.102 0.147 -v -0.215 -0.102 0.143 -v -0.211 -0.102 0.138 -v -0.21 -0.102 0.131 -v -0.211 -0.102 0.125 -v -0.215 -0.102 0.119 -v -0.22 -0.102 0.116 -v -0.227 -0.102 0.114 -v -0.233 -0.102 0.116 -v -0.239 -0.102 0.119 -v -0.242 -0.102 0.125 -v -0.243 -0.102 0.131 -v -0.259 0.058 0.149 -v -0.262 0.058 0.145 -v -0.262 0.071 0.145 -v -0.259 0.071 0.149 -v -0.253 0.071 0.149 -v -0.246 0.071 0.145 -v -0.246 0.058 0.145 -v -0.253 0.058 0.149 -v -0.262 -0.063 0.145 -v -0.259 -0.063 0.149 -v -0.259 -0.076 0.149 -v -0.262 -0.076 0.145 -v -0.246 -0.076 0.145 -v -0.253 -0.076 0.149 -v -0.253 -0.063 0.149 -v -0.246 -0.063 0.145 -v -0.203 0.058 0.147 -v -0.207 0.058 0.149 -v -0.207 0.071 0.149 -v -0.203 0.071 0.147 -v -0.215 0.071 0.146 -v -0.212 0.071 0.149 -v -0.212 0.058 0.149 -v -0.215 0.058 0.146 -v -0.207 -0.063 0.149 -v -0.203 -0.063 0.147 -v -0.203 -0.076 0.147 -v -0.207 -0.076 0.149 -v -0.212 -0.076 0.149 -v -0.215 -0.076 0.146 -v -0.215 -0.063 0.146 -v -0.212 -0.063 0.149 -v -0.216 0.071 0.124 -v -0.214 0.071 0.13 -v -0.225 0.071 0.118 -v -0.219 0.071 0.121 -v -0.237 0.071 0.123 -v -0.232 0.071 0.119 -v -0.232 0.058 0.119 -v -0.237 0.058 0.123 -v -0.219 0.058 0.121 -v -0.225 0.058 0.118 -v -0.214 0.058 0.13 -v -0.216 0.058 0.124 -v -0.214 -0.076 0.13 -v -0.216 -0.076 0.124 -v -0.219 -0.076 0.121 -v -0.225 -0.076 0.118 -v -0.232 -0.076 0.119 -v -0.237 -0.076 0.123 -v -0.237 -0.063 0.123 -v -0.232 -0.063 0.119 -v -0.225 -0.063 0.118 -v -0.219 -0.063 0.121 -v -0.216 -0.063 0.124 -v -0.214 -0.063 0.13 -v 0.253 0.126 -0.487 -v 0.253 -0.136 -0.487 -v 0.253 0.126 -0.486 -v 0.253 -0.136 -0.486 -v 0.254 0.126 -0.484 -v 0.254 -0.136 -0.484 -v 0.256 0.126 -0.483 -v 0.256 -0.136 -0.483 -v 0.258 0.126 -0.482 -v 0.258 -0.136 -0.482 -v 0.26 0.126 -0.483 -v 0.26 -0.136 -0.483 -v 0.261 0.126 -0.484 -v 0.261 -0.136 -0.484 -v 0.262 0.126 -0.486 -v 0.262 -0.136 -0.486 -v 0.263 0.126 -0.487 -v 0.263 -0.136 -0.487 -v 0.262 0.126 -0.489 -v 0.262 -0.136 -0.489 -v 0.261 0.126 -0.491 -v 0.261 -0.136 -0.491 -v 0.26 0.126 -0.492 -v 0.26 -0.136 -0.492 -v 0.258 0.126 -0.492 -v 0.258 -0.136 -0.492 -v 0.256 0.126 -0.492 -v 0.256 -0.136 -0.492 -v 0.254 0.126 -0.491 -v 0.254 -0.136 -0.491 -v 0.253 0.126 -0.489 -v 0.253 -0.136 -0.489 -v 0.258 0.011 -0.452 -v 0.258 0.017 -0.452 -v 0.249 0.011 -0.457 -v 0.249 0.017 -0.457 -v 0.249 0.011 -0.467 -v 0.249 0.017 -0.467 -v 0.258 0.011 -0.472 -v 0.258 0.017 -0.472 -v 0.266 0.011 -0.467 -v 0.266 0.017 -0.467 -v 0.266 0.011 -0.457 -v 0.266 0.017 -0.457 -v 0.258 -0.011 -0.452 -v 0.258 -0.017 -0.452 -v 0.266 -0.011 -0.457 -v 0.266 -0.017 -0.457 -v 0.266 -0.011 -0.467 -v 0.266 -0.017 -0.467 -v 0.258 -0.011 -0.472 -v 0.258 -0.017 -0.472 -v 0.249 -0.011 -0.467 -v 0.249 -0.017 -0.467 -v 0.249 -0.011 -0.457 -v 0.249 -0.017 -0.457 -v -0.232 0.012 -0.452 -v -0.232 0.006 -0.452 -v -0.224 0.012 -0.457 -v -0.224 0.006 -0.457 -v -0.224 0.012 -0.467 -v -0.224 0.006 -0.467 -v -0.232 0.012 -0.472 -v -0.232 0.006 -0.472 -v -0.241 0.012 -0.467 -v -0.241 0.006 -0.467 -v -0.241 0.012 -0.457 -v -0.241 0.006 -0.457 -v -0.232 0.012 -0.477 -v -0.232 0.006 -0.477 -v -0.224 0.012 -0.482 -v -0.224 0.006 -0.482 -v -0.224 0.012 -0.492 -v -0.224 0.006 -0.492 -v -0.232 0.012 -0.497 -v -0.232 0.006 -0.497 -v -0.241 0.012 -0.492 -v -0.241 0.006 -0.492 -v -0.241 0.012 -0.482 -v -0.241 0.006 -0.482 -v -0.232 0.025 -0.477 -v -0.232 0.031 -0.477 -v -0.241 0.025 -0.482 -v -0.241 0.031 -0.482 -v -0.241 0.025 -0.492 -v -0.241 0.031 -0.492 -v -0.232 0.025 -0.497 -v -0.232 0.031 -0.497 -v -0.224 0.025 -0.492 -v -0.224 0.031 -0.492 -v -0.224 0.025 -0.482 -v -0.224 0.031 -0.482 -v -0.232 0.025 -0.452 -v -0.232 0.031 -0.452 -v -0.241 0.025 -0.457 -v -0.241 0.031 -0.457 -v -0.241 0.025 -0.467 -v -0.241 0.031 -0.467 -v -0.232 0.025 -0.472 -v -0.232 0.031 -0.472 -v -0.224 0.025 -0.467 -v -0.224 0.031 -0.467 -v -0.224 0.025 -0.457 -v -0.224 0.031 -0.457 -v 0.272 -0.117 -0.5 -v 0.244 -0.117 -0.5 -v 0.272 -0.095 -0.5 -v 0.244 -0.095 -0.5 -v 0.269 -0.114 -0.441 -v 0.272 -0.117 -0.444 -v 0.247 -0.114 -0.441 -v 0.244 -0.117 -0.444 -v 0.269 -0.098 -0.441 -v 0.272 -0.095 -0.444 -v 0.247 -0.098 -0.441 -v 0.244 -0.095 -0.444 -v 0.269 0.111 -0.444 -v -0.243 0.111 -0.444 -v 0.269 0.111 -0.442 -v -0.243 0.111 -0.442 -v 0.269 0.11 -0.44 -v -0.243 0.11 -0.44 -v 0.269 0.108 -0.439 -v -0.243 0.108 -0.439 -v 0.269 0.106 -0.439 -v -0.243 0.106 -0.439 -v 0.269 0.104 -0.439 -v -0.243 0.104 -0.439 -v 0.269 0.103 -0.44 -v -0.243 0.103 -0.44 -v 0.269 0.102 -0.442 -v -0.243 0.102 -0.442 -v 0.269 0.101 -0.444 -v -0.243 0.101 -0.444 -v 0.269 0.102 -0.446 -v -0.243 0.102 -0.446 -v 0.269 0.103 -0.447 -v -0.243 0.103 -0.447 -v 0.269 0.104 -0.448 -v -0.243 0.104 -0.448 -v 0.269 0.106 -0.449 -v -0.243 0.106 -0.449 -v 0.269 0.108 -0.448 -v -0.243 0.108 -0.448 -v 0.269 0.11 -0.447 -v -0.243 0.11 -0.447 -v 0.269 0.111 -0.446 -v -0.243 0.111 -0.446 -v 0.133 -0.133 -0.42 -v -0.132 -0.133 -0.42 -v -0.132 0.133 -0.42 -v 0.133 0.133 -0.42 -v 0.133 -0.133 -0.416 -v -0.132 -0.133 -0.416 -v -0.132 0.133 -0.416 -v 0.133 0.133 -0.416 -v -0.082 -0.12 -0.42 -v -0.082 0.12 -0.42 -v 0.082 0.12 -0.42 -v 0.082 -0.12 -0.42 -v -0.082 -0.12 -0.432 -v 0.082 -0.12 -0.432 -v -0.082 0.12 -0.432 -v 0.082 0.12 -0.432 -v 0.133 -0.128 -0.432 -v 0.128 -0.133 -0.432 -v 0.132 -0.13 -0.432 -v 0.13 -0.132 -0.432 -v 0.128 -0.133 -0.42 -v 0.133 -0.128 -0.42 -v 0.13 -0.132 -0.42 -v 0.132 -0.13 -0.42 -v -0.128 -0.133 -0.432 -v -0.133 -0.128 -0.432 -v -0.13 -0.132 -0.432 -v -0.132 -0.13 -0.432 -v -0.133 -0.128 -0.42 -v -0.128 -0.133 -0.42 -v -0.132 -0.13 -0.42 -v -0.13 -0.132 -0.42 -v 0.128 0.133 -0.432 -v 0.133 0.128 -0.432 -v 0.13 0.132 -0.432 -v 0.132 0.13 -0.432 -v 0.133 0.128 -0.42 -v 0.128 0.133 -0.42 -v 0.132 0.13 -0.42 -v 0.13 0.132 -0.42 -v -0.133 0.128 -0.432 -v -0.128 0.133 -0.432 -v -0.132 0.13 -0.432 -v -0.13 0.132 -0.432 -v -0.128 0.133 -0.42 -v -0.133 0.128 -0.42 -v -0.13 0.132 -0.42 -v -0.132 0.13 -0.42 -v -0.128 0.12 -0.432 -v -0.133 0.125 -0.432 -v -0.13 0.121 -0.432 -v -0.132 0.122 -0.432 -v -0.133 -0.125 -0.432 -v -0.128 -0.12 -0.432 -v -0.132 -0.123 -0.432 -v -0.13 -0.121 -0.432 -v -0.128 -0.12 -0.42 -v -0.133 -0.125 -0.42 -v -0.13 -0.121 -0.42 -v -0.132 -0.123 -0.42 -v -0.133 0.125 -0.42 -v -0.128 0.12 -0.42 -v -0.132 0.122 -0.42 -v -0.13 0.121 -0.42 -v 0.128 -0.12 -0.432 -v 0.133 -0.125 -0.432 -v 0.13 -0.121 -0.432 -v 0.132 -0.123 -0.432 -v 0.133 0.125 -0.432 -v 0.128 0.12 -0.432 -v 0.132 0.122 -0.432 -v 0.13 0.121 -0.432 -v 0.128 0.12 -0.42 -v 0.133 0.125 -0.42 -v 0.13 0.121 -0.42 -v 0.132 0.122 -0.42 -v 0.133 -0.125 -0.42 -v 0.128 -0.12 -0.42 -v 0.132 -0.123 -0.42 -v 0.13 -0.121 -0.42 -v 0.125 -0.125 -0.416 -v -0.125 -0.125 -0.416 -v -0.125 0.125 -0.416 -v 0.125 0.125 -0.416 -v 0.125 -0.125 -0.412 -v -0.125 -0.125 -0.412 -v -0.125 0.125 -0.412 -v 0.125 0.125 -0.412 -v -0.075 0.11 -0.433 -v -0.044 0.11 -0.433 -v -0.075 0.115 -0.433 -v -0.044 0.115 -0.433 -v -0.075 0.097 -0.433 -v -0.044 0.097 -0.433 -v -0.075 0.102 -0.433 -v -0.044 0.102 -0.433 -v -0.075 0.115 -0.447 -v -0.075 0.114 -0.451 -v -0.044 0.114 -0.451 -v -0.044 0.115 -0.447 -v -0.075 0.111 -0.453 -v -0.075 0.108 -0.455 -v -0.044 0.108 -0.455 -v -0.044 0.111 -0.453 -v -0.075 0.104 -0.455 -v -0.075 0.101 -0.453 -v -0.044 0.101 -0.453 -v -0.044 0.104 -0.455 -v -0.075 0.098 -0.451 -v -0.075 0.097 -0.447 -v -0.044 0.097 -0.447 -v -0.044 0.098 -0.451 -v -0.075 -0.102 -0.433 -v -0.044 -0.102 -0.433 -v -0.075 -0.097 -0.433 -v -0.044 -0.097 -0.433 -v -0.075 -0.115 -0.433 -v -0.044 -0.115 -0.433 -v -0.075 -0.11 -0.433 -v -0.044 -0.11 -0.433 -v -0.075 -0.097 -0.447 -v -0.075 -0.098 -0.451 -v -0.044 -0.098 -0.451 -v -0.044 -0.097 -0.447 -v -0.075 -0.101 -0.453 -v -0.075 -0.104 -0.455 -v -0.044 -0.104 -0.455 -v -0.044 -0.101 -0.453 -v -0.075 -0.108 -0.455 -v -0.075 -0.111 -0.453 -v -0.044 -0.111 -0.453 -v -0.044 -0.108 -0.455 -v -0.075 -0.114 -0.451 -v -0.075 -0.115 -0.447 -v -0.044 -0.115 -0.447 -v -0.044 -0.114 -0.451 -v 0.044 -0.102 -0.433 -v 0.075 -0.102 -0.433 -v 0.044 -0.097 -0.433 -v 0.075 -0.097 -0.433 -v 0.044 -0.115 -0.433 -v 0.075 -0.115 -0.433 -v 0.044 -0.11 -0.433 -v 0.075 -0.11 -0.433 -v 0.044 -0.097 -0.447 -v 0.044 -0.098 -0.451 -v 0.075 -0.098 -0.451 -v 0.075 -0.097 -0.447 -v 0.044 -0.101 -0.453 -v 0.044 -0.104 -0.455 -v 0.075 -0.104 -0.455 -v 0.075 -0.101 -0.453 -v 0.044 -0.108 -0.455 -v 0.044 -0.111 -0.453 -v 0.075 -0.111 -0.453 -v 0.075 -0.108 -0.455 -v 0.044 -0.114 -0.451 -v 0.044 -0.115 -0.447 -v 0.075 -0.115 -0.447 -v 0.075 -0.114 -0.451 -v 0.044 0.11 -0.433 -v 0.075 0.11 -0.433 -v 0.044 0.115 -0.433 -v 0.075 0.115 -0.433 -v 0.044 0.097 -0.433 -v 0.075 0.097 -0.433 -v 0.044 0.102 -0.433 -v 0.075 0.102 -0.433 -v 0.044 0.115 -0.447 -v 0.044 0.114 -0.451 -v 0.075 0.114 -0.451 -v 0.075 0.115 -0.447 -v 0.044 0.111 -0.453 -v 0.044 0.108 -0.455 -v 0.075 0.108 -0.455 -v 0.075 0.111 -0.453 -v 0.044 0.104 -0.455 -v 0.044 0.101 -0.453 -v 0.075 0.101 -0.453 -v 0.075 0.104 -0.455 -v 0.044 0.098 -0.451 -v 0.044 0.097 -0.447 -v 0.075 0.097 -0.447 -v 0.075 0.098 -0.451 -v 0.015 -0.011 -0.432 -v -0.015 -0.011 -0.432 -v 0.015 -0.011 -0.46 -v -0.015 -0.011 -0.46 -v 0.015 0.011 -0.432 -v -0.015 0.011 -0.432 -v 0.015 0.011 -0.46 -v -0.015 0.011 -0.46 -v 0.269 -0.101 -0.444 -v -0.243 -0.101 -0.444 -v 0.269 -0.102 -0.442 -v -0.243 -0.102 -0.442 -v 0.269 -0.103 -0.44 -v -0.243 -0.103 -0.44 -v 0.269 -0.104 -0.439 -v -0.243 -0.104 -0.439 -v 0.269 -0.106 -0.439 -v -0.243 -0.106 -0.439 -v 0.269 -0.108 -0.439 -v -0.243 -0.108 -0.439 -v 0.269 -0.11 -0.44 -v -0.243 -0.11 -0.44 -v 0.269 -0.111 -0.442 -v -0.243 -0.111 -0.442 -v 0.269 -0.111 -0.444 -v -0.243 -0.111 -0.444 -v 0.269 -0.111 -0.446 -v -0.243 -0.111 -0.446 -v 0.269 -0.11 -0.447 -v -0.243 -0.11 -0.447 -v 0.269 -0.108 -0.448 -v -0.243 -0.108 -0.448 -v 0.269 -0.106 -0.449 -v -0.243 -0.106 -0.449 -v 0.269 -0.104 -0.448 -v -0.243 -0.104 -0.448 -v 0.269 -0.103 -0.447 -v -0.243 -0.103 -0.447 -v 0.269 -0.102 -0.446 -v -0.243 -0.102 -0.446 -v -0.237 0.201 -0.462 -v -0.237 -0.211 -0.462 -v -0.237 0.201 -0.461 -v -0.237 -0.211 -0.461 -v -0.236 0.201 -0.459 -v -0.236 -0.211 -0.459 -v -0.234 0.201 -0.458 -v -0.234 -0.211 -0.458 -v -0.232 0.201 -0.457 -v -0.232 -0.211 -0.457 -v -0.23 0.201 -0.458 -v -0.23 -0.211 -0.458 -v -0.229 0.201 -0.459 -v -0.229 -0.211 -0.459 -v -0.228 0.201 -0.461 -v -0.228 -0.211 -0.461 -v -0.227 0.201 -0.462 -v -0.227 -0.211 -0.462 -v -0.228 0.201 -0.464 -v -0.228 -0.211 -0.464 -v -0.229 0.201 -0.466 -v -0.229 -0.211 -0.466 -v -0.23 0.201 -0.467 -v -0.23 -0.211 -0.467 -v -0.232 0.201 -0.467 -v -0.232 -0.211 -0.467 -v -0.234 0.201 -0.467 -v -0.234 -0.211 -0.467 -v -0.236 0.201 -0.466 -v -0.236 -0.211 -0.466 -v -0.237 0.201 -0.464 -v -0.237 -0.211 -0.464 -v -0.167 0.012 -0.435 -v -0.247 0.012 -0.502 -v -0.247 0.012 -0.435 -v -0.167 0.025 -0.435 -v -0.247 0.025 -0.502 -v -0.247 0.025 -0.435 -v -0.207 0.012 -0.502 -v -0.167 0.012 -0.45 -v -0.207 0.025 -0.502 -v -0.167 0.025 -0.45 -v -0.207 0.025 -0.45 -v -0.207 0.012 -0.45 -v -0.167 0.025 -0.49 -v -0.222 0.08 -0.49 -v -0.222 0.025 -0.49 -v -0.167 0.025 -0.435 -v -0.222 0.08 -0.435 -v -0.222 0.025 -0.435 -v -0.198 0.025 -0.462 -v -0.198 0 -0.462 -v -0.197 0.025 -0.46 -v -0.197 0 -0.46 -v -0.195 0.025 -0.459 -v -0.195 0 -0.459 -v -0.192 0.025 -0.46 -v -0.192 0 -0.46 -v -0.192 0.025 -0.462 -v -0.192 0 -0.462 -v -0.192 0.025 -0.465 -v -0.192 0 -0.465 -v -0.195 0.025 -0.466 -v -0.195 0 -0.466 -v -0.197 0.025 -0.465 -v -0.197 0 -0.465 -v -0.167 0.031 -0.49 -v -0.222 0.074 -0.49 -v -0.222 0.074 -0.435 -v -0.167 0.074 -0.435 -v -0.222 0.031 -0.49 -v -0.222 0.031 -0.435 -v -0.167 0.031 -0.435 -v -0.167 0.08 -0.49 -v -0.167 0.08 -0.435 -v -0.167 0.074 -0.49 -v -0.195 -0.004 -0.455 -v -0.195 -0.004 -0.453 -v -0.195 0.004 -0.455 -v -0.195 0.004 -0.453 -v 0.224 -0.004 -0.455 -v 0.224 -0.004 -0.453 -v 0.224 0.004 -0.455 -v 0.224 0.004 -0.453 -v -0.195 -0.004 -0.472 -v -0.195 -0.004 -0.47 -v -0.195 0.004 -0.472 -v -0.195 0.004 -0.47 -v 0.224 -0.004 -0.472 -v 0.224 -0.004 -0.47 -v 0.224 0.004 -0.472 -v 0.224 0.004 -0.47 -v -0.207 0.008 -0.462 -v -0.207 -0.011 -0.462 -v -0.206 0.008 -0.458 -v -0.206 -0.011 -0.458 -v -0.203 0.008 -0.454 -v -0.203 -0.011 -0.454 -v -0.199 0.008 -0.451 -v -0.199 -0.011 -0.451 -v -0.195 0.008 -0.451 -v -0.195 -0.011 -0.451 -v -0.19 0.008 -0.451 -v -0.19 -0.011 -0.451 -v -0.186 0.008 -0.454 -v -0.186 -0.011 -0.454 -v -0.184 0.008 -0.458 -v -0.184 -0.011 -0.458 -v -0.183 0.008 -0.462 -v -0.183 -0.011 -0.462 -v -0.184 0.008 -0.467 -v -0.184 -0.011 -0.467 -v -0.186 0.008 -0.471 -v -0.186 -0.011 -0.471 -v -0.19 0.008 -0.473 -v -0.19 -0.011 -0.473 -v -0.195 0.008 -0.474 -v -0.195 -0.011 -0.474 -v -0.199 0.008 -0.473 -v -0.199 -0.011 -0.473 -v -0.203 0.008 -0.471 -v -0.203 -0.011 -0.471 -v -0.206 0.008 -0.467 -v -0.206 -0.011 -0.467 -v -0.207 0.005 -0.462 -v -0.205 0.005 -0.462 -v -0.205 -0.005 -0.462 -v -0.207 -0.005 -0.462 -v -0.206 -0.005 -0.458 -v -0.204 -0.005 -0.459 -v -0.204 0.005 -0.459 -v -0.206 0.005 -0.458 -v -0.203 -0.005 -0.454 -v -0.202 -0.005 -0.455 -v -0.202 0.005 -0.455 -v -0.203 0.005 -0.454 -v -0.199 -0.005 -0.451 -v -0.199 -0.005 -0.453 -v -0.199 0.005 -0.453 -v -0.199 0.005 -0.451 -v -0.195 -0.005 -0.451 -v -0.195 -0.005 -0.452 -v -0.195 0.005 -0.452 -v -0.195 0.005 -0.451 -v -0.19 -0.005 -0.451 -v -0.191 -0.005 -0.453 -v -0.191 0.005 -0.453 -v -0.19 0.005 -0.451 -v -0.186 -0.005 -0.454 -v -0.188 -0.005 -0.455 -v -0.188 0.005 -0.455 -v -0.186 0.005 -0.454 -v -0.184 -0.005 -0.458 -v -0.185 -0.005 -0.459 -v -0.185 0.005 -0.459 -v -0.184 0.005 -0.458 -v -0.183 -0.005 -0.462 -v -0.185 -0.005 -0.462 -v -0.185 0.005 -0.462 -v -0.183 0.005 -0.462 -v -0.184 -0.005 -0.467 -v -0.185 -0.005 -0.466 -v -0.185 0.005 -0.466 -v -0.184 0.005 -0.467 -v -0.186 -0.005 -0.471 -v -0.188 -0.005 -0.47 -v -0.188 0.005 -0.47 -v -0.186 0.005 -0.471 -v -0.19 -0.005 -0.473 -v -0.191 -0.005 -0.472 -v -0.191 0.005 -0.472 -v -0.19 0.005 -0.473 -v -0.195 -0.005 -0.474 -v -0.195 -0.005 -0.473 -v -0.195 0.005 -0.473 -v -0.195 0.005 -0.474 -v -0.199 -0.005 -0.473 -v -0.199 -0.005 -0.472 -v -0.199 0.005 -0.472 -v -0.199 0.005 -0.473 -v -0.203 -0.005 -0.471 -v -0.202 -0.005 -0.47 -v -0.202 0.005 -0.47 -v -0.203 0.005 -0.471 -v -0.206 -0.005 -0.467 -v -0.204 -0.005 -0.466 -v -0.204 0.005 -0.466 -v -0.206 0.005 -0.467 -v 0.253 0.126 -0.462 -v 0.253 -0.136 -0.462 -v 0.253 0.126 -0.461 -v 0.253 -0.136 -0.461 -v 0.254 0.126 -0.459 -v 0.254 -0.136 -0.459 -v 0.256 0.126 -0.458 -v 0.256 -0.136 -0.458 -v 0.258 0.126 -0.457 -v 0.258 -0.136 -0.457 -v 0.26 0.126 -0.458 -v 0.26 -0.136 -0.458 -v 0.261 0.126 -0.459 -v 0.261 -0.136 -0.459 -v 0.262 0.126 -0.461 -v 0.262 -0.136 -0.461 -v 0.263 0.126 -0.462 -v 0.263 -0.136 -0.462 -v 0.262 0.126 -0.464 -v 0.262 -0.136 -0.464 -v 0.261 0.126 -0.466 -v 0.261 -0.136 -0.466 -v 0.26 0.126 -0.467 -v 0.26 -0.136 -0.467 -v 0.258 0.126 -0.467 -v 0.258 -0.136 -0.467 -v 0.256 0.126 -0.467 -v 0.256 -0.136 -0.467 -v 0.254 0.126 -0.466 -v 0.254 -0.136 -0.466 -v 0.253 0.126 -0.464 -v 0.253 -0.136 -0.464 -v -0.237 0.126 -0.487 -v -0.237 -0.136 -0.487 -v -0.237 0.126 -0.486 -v -0.237 -0.136 -0.486 -v -0.236 0.126 -0.484 -v -0.236 -0.136 -0.484 -v -0.234 0.126 -0.483 -v -0.234 -0.136 -0.483 -v -0.232 0.126 -0.482 -v -0.232 -0.136 -0.482 -v -0.23 0.126 -0.483 -v -0.23 -0.136 -0.483 -v -0.229 0.126 -0.484 -v -0.229 -0.136 -0.484 -v -0.228 0.126 -0.486 -v -0.228 -0.136 -0.486 -v -0.227 0.126 -0.487 -v -0.227 -0.136 -0.487 -v -0.228 0.126 -0.489 -v -0.228 -0.136 -0.489 -v -0.229 0.126 -0.491 -v -0.229 -0.136 -0.491 -v -0.23 0.126 -0.492 -v -0.23 -0.136 -0.492 -v -0.232 0.126 -0.492 -v -0.232 -0.136 -0.492 -v -0.234 0.126 -0.492 -v -0.234 -0.136 -0.492 -v -0.236 0.126 -0.491 -v -0.236 -0.136 -0.491 -v -0.237 0.126 -0.489 -v -0.237 -0.136 -0.489 -v 0.272 0.095 -0.5 -v 0.244 0.095 -0.5 -v 0.272 0.117 -0.5 -v 0.244 0.117 -0.5 -v 0.269 0.098 -0.441 -v 0.272 0.095 -0.444 -v 0.247 0.098 -0.441 -v 0.244 0.095 -0.444 -v 0.269 0.114 -0.441 -v 0.272 0.117 -0.444 -v 0.247 0.114 -0.441 -v 0.244 0.117 -0.444 -v -0.218 0.095 -0.5 -v -0.246 0.095 -0.5 -v -0.218 0.117 -0.5 -v -0.246 0.117 -0.5 -v -0.221 0.098 -0.441 -v -0.218 0.095 -0.444 -v -0.243 0.098 -0.441 -v -0.246 0.095 -0.444 -v -0.221 0.114 -0.441 -v -0.218 0.117 -0.444 -v -0.243 0.114 -0.441 -v -0.246 0.117 -0.444 -v -0.218 -0.117 -0.5 -v -0.246 -0.117 -0.5 -v -0.218 -0.095 -0.5 -v -0.246 -0.095 -0.5 -v -0.221 -0.114 -0.441 -v -0.218 -0.117 -0.444 -v -0.243 -0.114 -0.441 -v -0.246 -0.117 -0.444 -v -0.221 -0.098 -0.441 -v -0.218 -0.095 -0.444 -v -0.243 -0.098 -0.441 -v -0.246 -0.095 -0.444 -v 0.258 -0.117 -0.452 -v 0.258 -0.124 -0.452 -v 0.266 -0.117 -0.457 -v 0.266 -0.124 -0.457 -v 0.266 -0.117 -0.467 -v 0.266 -0.124 -0.467 -v 0.258 -0.117 -0.472 -v 0.258 -0.124 -0.472 -v 0.249 -0.117 -0.467 -v 0.249 -0.124 -0.467 -v 0.249 -0.117 -0.457 -v 0.249 -0.124 -0.457 -v 0.258 -0.095 -0.452 -v 0.258 -0.089 -0.452 -v 0.249 -0.095 -0.457 -v 0.249 -0.089 -0.457 -v 0.249 -0.095 -0.467 -v 0.249 -0.089 -0.467 -v 0.258 -0.095 -0.472 -v 0.258 -0.089 -0.472 -v 0.266 -0.095 -0.467 -v 0.266 -0.089 -0.467 -v 0.266 -0.095 -0.457 -v 0.266 -0.089 -0.457 -v 0.258 -0.095 -0.477 -v 0.258 -0.089 -0.477 -v 0.249 -0.095 -0.482 -v 0.249 -0.089 -0.482 -v 0.249 -0.095 -0.492 -v 0.249 -0.089 -0.492 -v 0.258 -0.095 -0.497 -v 0.258 -0.089 -0.497 -v 0.266 -0.095 -0.492 -v 0.266 -0.089 -0.492 -v 0.266 -0.095 -0.482 -v 0.266 -0.089 -0.482 -v 0.258 0.117 -0.477 -v 0.258 0.124 -0.477 -v 0.249 0.117 -0.482 -v 0.249 0.124 -0.482 -v 0.249 0.117 -0.492 -v 0.249 0.124 -0.492 -v 0.258 0.117 -0.497 -v 0.258 0.124 -0.497 -v 0.266 0.117 -0.492 -v 0.266 0.124 -0.492 -v 0.266 0.117 -0.482 -v 0.266 0.124 -0.482 -v 0.258 0.117 -0.452 -v 0.258 0.124 -0.452 -v 0.249 0.117 -0.457 -v 0.249 0.124 -0.457 -v 0.249 0.117 -0.467 -v 0.249 0.124 -0.467 -v 0.258 0.117 -0.472 -v 0.258 0.124 -0.472 -v 0.266 0.117 -0.467 -v 0.266 0.124 -0.467 -v 0.266 0.117 -0.457 -v 0.266 0.124 -0.457 -v 0.258 0.095 -0.452 -v 0.258 0.089 -0.452 -v 0.266 0.095 -0.457 -v 0.266 0.089 -0.457 -v 0.266 0.095 -0.467 -v 0.266 0.089 -0.467 -v 0.258 0.095 -0.472 -v 0.258 0.089 -0.472 -v 0.249 0.095 -0.467 -v 0.249 0.089 -0.467 -v 0.249 0.095 -0.457 -v 0.249 0.089 -0.457 -v 0.258 0.095 -0.477 -v 0.258 0.089 -0.477 -v 0.266 0.095 -0.482 -v 0.266 0.089 -0.482 -v 0.266 0.095 -0.492 -v 0.266 0.089 -0.492 -v 0.258 0.095 -0.497 -v 0.258 0.089 -0.497 -v 0.249 0.095 -0.492 -v 0.249 0.089 -0.492 -v 0.249 0.095 -0.482 -v 0.249 0.089 -0.482 -v -0.232 0.095 -0.477 -v -0.232 0.089 -0.477 -v -0.224 0.095 -0.482 -v -0.224 0.089 -0.482 -v -0.224 0.095 -0.492 -v -0.224 0.089 -0.492 -v -0.232 0.095 -0.497 -v -0.232 0.089 -0.497 -v -0.241 0.095 -0.492 -v -0.241 0.089 -0.492 -v -0.241 0.095 -0.482 -v -0.241 0.089 -0.482 -v -0.232 0.095 -0.452 -v -0.232 0.089 -0.452 -v -0.224 0.095 -0.457 -v -0.224 0.089 -0.457 -v -0.224 0.095 -0.467 -v -0.224 0.089 -0.467 -v -0.232 0.095 -0.472 -v -0.232 0.089 -0.472 -v -0.241 0.095 -0.467 -v -0.241 0.089 -0.467 -v -0.241 0.095 -0.457 -v -0.241 0.089 -0.457 -v -0.232 0.117 -0.452 -v -0.232 0.124 -0.452 -v -0.241 0.117 -0.457 -v -0.241 0.124 -0.457 -v -0.241 0.117 -0.467 -v -0.241 0.124 -0.467 -v -0.232 0.117 -0.472 -v -0.232 0.124 -0.472 -v -0.224 0.117 -0.467 -v -0.224 0.124 -0.467 -v -0.224 0.117 -0.457 -v -0.224 0.124 -0.457 -v -0.232 0.117 -0.477 -v -0.232 0.124 -0.477 -v -0.241 0.117 -0.482 -v -0.241 0.124 -0.482 -v -0.241 0.117 -0.492 -v -0.241 0.124 -0.492 -v -0.232 0.117 -0.497 -v -0.232 0.124 -0.497 -v -0.224 0.117 -0.492 -v -0.224 0.124 -0.492 -v -0.224 0.117 -0.482 -v -0.224 0.124 -0.482 -v -0.232 -0.095 -0.477 -v -0.232 -0.089 -0.477 -v -0.241 -0.095 -0.482 -v -0.241 -0.089 -0.482 -v -0.241 -0.095 -0.492 -v -0.241 -0.089 -0.492 -v -0.232 -0.095 -0.497 -v -0.232 -0.089 -0.497 -v -0.224 -0.095 -0.492 -v -0.224 -0.089 -0.492 -v -0.224 -0.095 -0.482 -v -0.224 -0.089 -0.482 -v -0.232 -0.095 -0.452 -v -0.232 -0.089 -0.452 -v -0.241 -0.095 -0.457 -v -0.241 -0.089 -0.457 -v -0.241 -0.095 -0.467 -v -0.241 -0.089 -0.467 -v -0.232 -0.095 -0.472 -v -0.232 -0.089 -0.472 -v -0.224 -0.095 -0.467 -v -0.224 -0.089 -0.467 -v -0.224 -0.095 -0.457 -v -0.224 -0.089 -0.457 -v -0.232 -0.117 -0.452 -v -0.232 -0.124 -0.452 -v -0.224 -0.117 -0.457 -v -0.224 -0.124 -0.457 -v -0.224 -0.117 -0.467 -v -0.224 -0.124 -0.467 -v -0.232 -0.117 -0.472 -v -0.232 -0.124 -0.472 -v -0.241 -0.117 -0.467 -v -0.241 -0.124 -0.467 -v -0.241 -0.117 -0.457 -v -0.241 -0.124 -0.457 -v 0.258 -0.117 -0.477 -v 0.258 -0.124 -0.477 -v 0.266 -0.117 -0.482 -v 0.266 -0.124 -0.482 -v 0.266 -0.117 -0.492 -v 0.266 -0.124 -0.492 -v 0.258 -0.117 -0.497 -v 0.258 -0.124 -0.497 -v 0.249 -0.117 -0.492 -v 0.249 -0.124 -0.492 -v 0.249 -0.117 -0.482 -v 0.249 -0.124 -0.482 -v -0.232 -0.117 -0.477 -v -0.232 -0.124 -0.477 -v -0.224 -0.117 -0.482 -v -0.224 -0.124 -0.482 -v -0.224 -0.117 -0.492 -v -0.224 -0.124 -0.492 -v -0.232 -0.117 -0.497 -v -0.232 -0.124 -0.497 -v -0.241 -0.117 -0.492 -v -0.241 -0.124 -0.492 -v -0.241 -0.117 -0.482 -v -0.241 -0.124 -0.482 -v -0.246 -0.106 -0.465 -v -0.252 -0.106 -0.465 -v -0.246 -0.115 -0.47 -v -0.252 -0.115 -0.47 -v -0.246 -0.115 -0.48 -v -0.252 -0.115 -0.48 -v -0.246 -0.106 -0.485 -v -0.252 -0.106 -0.485 -v -0.246 -0.098 -0.48 -v -0.252 -0.098 -0.48 -v -0.246 -0.098 -0.47 -v -0.252 -0.098 -0.47 -v -0.246 0.106 -0.465 -v -0.252 0.106 -0.465 -v -0.246 0.098 -0.47 -v -0.252 0.098 -0.47 -v -0.246 0.098 -0.48 -v -0.252 0.098 -0.48 -v -0.246 0.106 -0.485 -v -0.252 0.106 -0.485 -v -0.246 0.115 -0.48 -v -0.252 0.115 -0.48 -v -0.246 0.115 -0.47 -v -0.252 0.115 -0.47 -v -0.218 0.106 -0.465 -v -0.212 0.106 -0.465 -v -0.218 0.115 -0.47 -v -0.212 0.115 -0.47 -v -0.218 0.115 -0.48 -v -0.212 0.115 -0.48 -v -0.218 0.106 -0.485 -v -0.212 0.106 -0.485 -v -0.218 0.098 -0.48 -v -0.212 0.098 -0.48 -v -0.218 0.098 -0.47 -v -0.212 0.098 -0.47 -v -0.218 -0.106 -0.465 -v -0.212 -0.106 -0.465 -v -0.218 -0.098 -0.47 -v -0.212 -0.098 -0.47 -v -0.218 -0.098 -0.48 -v -0.212 -0.098 -0.48 -v -0.218 -0.106 -0.485 -v -0.212 -0.106 -0.485 -v -0.218 -0.115 -0.48 -v -0.212 -0.115 -0.48 -v -0.218 -0.115 -0.47 -v -0.212 -0.115 -0.47 -v -0.129 0.106 -0.465 -v -0.135 0.106 -0.465 -v -0.129 0.098 -0.47 -v -0.135 0.098 -0.47 -v -0.129 0.098 -0.48 -v -0.135 0.098 -0.48 -v -0.129 0.106 -0.485 -v -0.135 0.106 -0.485 -v -0.129 0.115 -0.48 -v -0.135 0.115 -0.48 -v -0.135 0.115 -0.47 -v -0.129 0.115 -0.47 -v -0.143 0.106 -0.465 -v -0.149 0.106 -0.465 -v -0.143 0.098 -0.47 -v -0.149 0.098 -0.47 -v -0.143 0.098 -0.48 -v -0.149 0.098 -0.48 -v -0.143 0.106 -0.485 -v -0.149 0.106 -0.485 -v -0.143 0.115 -0.48 -v -0.149 0.115 -0.48 -v -0.149 0.115 -0.47 -v -0.143 0.115 -0.47 -v -0.143 -0.106 -0.465 -v -0.149 -0.106 -0.465 -v -0.143 -0.115 -0.47 -v -0.149 -0.115 -0.47 -v -0.143 -0.115 -0.48 -v -0.149 -0.115 -0.48 -v -0.143 -0.106 -0.485 -v -0.149 -0.106 -0.485 -v -0.143 -0.098 -0.48 -v -0.149 -0.098 -0.48 -v -0.149 -0.098 -0.47 -v -0.143 -0.098 -0.47 -v -0.232 -0.174 -0.452 -v -0.232 -0.18 -0.452 -v -0.224 -0.174 -0.457 -v -0.224 -0.18 -0.457 -v -0.224 -0.174 -0.467 -v -0.224 -0.18 -0.467 -v -0.232 -0.174 -0.472 -v -0.232 -0.18 -0.472 -v -0.241 -0.174 -0.467 -v -0.241 -0.18 -0.467 -v -0.241 -0.18 -0.457 -v -0.241 -0.174 -0.457 -v 0.244 -0.106 -0.465 -v 0.238 -0.106 -0.465 -v 0.244 -0.115 -0.47 -v 0.238 -0.115 -0.47 -v 0.244 -0.115 -0.48 -v 0.238 -0.115 -0.48 -v 0.244 -0.106 -0.485 -v 0.238 -0.106 -0.485 -v 0.244 -0.098 -0.48 -v 0.238 -0.098 -0.48 -v 0.244 -0.098 -0.47 -v 0.238 -0.098 -0.47 -v 0.244 0.106 -0.465 -v 0.238 0.106 -0.465 -v 0.244 0.098 -0.47 -v 0.238 0.098 -0.47 -v 0.244 0.098 -0.48 -v 0.238 0.098 -0.48 -v 0.244 0.106 -0.485 -v 0.238 0.106 -0.485 -v 0.244 0.115 -0.48 -v 0.238 0.115 -0.48 -v 0.244 0.115 -0.47 -v 0.238 0.115 -0.47 -v 0.272 0.106 -0.465 -v 0.278 0.106 -0.465 -v 0.272 0.115 -0.47 -v 0.278 0.115 -0.47 -v 0.272 0.115 -0.48 -v 0.278 0.115 -0.48 -v 0.272 0.106 -0.485 -v 0.278 0.106 -0.485 -v 0.272 0.098 -0.48 -v 0.278 0.098 -0.48 -v 0.272 0.098 -0.47 -v 0.278 0.098 -0.47 -v 0.272 -0.106 -0.465 -v 0.278 -0.106 -0.465 -v 0.272 -0.098 -0.47 -v 0.278 -0.098 -0.47 -v 0.272 -0.098 -0.48 -v 0.278 -0.098 -0.48 -v 0.272 -0.106 -0.485 -v 0.278 -0.106 -0.485 -v 0.272 -0.115 -0.48 -v 0.278 -0.115 -0.48 -v 0.272 -0.115 -0.47 -v 0.278 -0.115 -0.47 -v -0.232 -0.16 -0.452 -v -0.232 -0.166 -0.452 -v -0.224 -0.16 -0.457 -v -0.224 -0.166 -0.457 -v -0.224 -0.16 -0.467 -v -0.224 -0.166 -0.467 -v -0.232 -0.16 -0.472 -v -0.232 -0.166 -0.472 -v -0.241 -0.16 -0.467 -v -0.241 -0.166 -0.467 -v -0.241 -0.166 -0.457 -v -0.241 -0.16 -0.457 -v -0.232 0.18 -0.452 -v -0.232 0.173 -0.452 -v -0.224 0.18 -0.457 -v -0.224 0.173 -0.457 -v -0.224 0.18 -0.467 -v -0.224 0.173 -0.467 -v -0.232 0.18 -0.472 -v -0.232 0.173 -0.472 -v -0.241 0.18 -0.467 -v -0.241 0.173 -0.467 -v -0.241 0.173 -0.457 -v -0.241 0.18 -0.457 -v -0.232 0.166 -0.452 -v -0.232 0.16 -0.452 -v -0.224 0.166 -0.457 -v -0.224 0.16 -0.457 -v -0.224 0.166 -0.467 -v -0.224 0.16 -0.467 -v -0.232 0.166 -0.472 -v -0.232 0.16 -0.472 -v -0.241 0.166 -0.467 -v -0.241 0.16 -0.467 -v -0.241 0.16 -0.457 -v -0.241 0.166 -0.457 -v 0.212 -0.011 -0.449 -v 0.212 -0.011 -0.476 -v 0.212 0.011 -0.449 -v 0.212 0.011 -0.476 -v 0.27 -0.011 -0.46 -v 0.259 -0.011 -0.449 -v 0.269 -0.011 -0.454 -v 0.265 -0.011 -0.45 -v 0.259 -0.011 -0.476 -v 0.27 -0.011 -0.465 -v 0.265 -0.011 -0.475 -v 0.269 -0.011 -0.471 -v 0.259 0.011 -0.449 -v 0.27 0.011 -0.46 -v 0.265 0.011 -0.45 -v 0.269 0.011 -0.454 -v 0.27 0.011 -0.465 -v 0.259 0.011 -0.476 -v 0.269 0.011 -0.471 -v 0.265 0.011 -0.475 -v -0.129 -0.106 -0.465 -v -0.135 -0.106 -0.465 -v -0.129 -0.115 -0.47 -v -0.135 -0.115 -0.47 -v -0.129 -0.115 -0.48 -v -0.135 -0.115 -0.48 -v -0.129 -0.106 -0.485 -v -0.135 -0.106 -0.485 -v -0.129 -0.098 -0.48 -v -0.135 -0.098 -0.48 -v -0.135 -0.098 -0.47 -v -0.129 -0.098 -0.47 -v -0.281 -0.111 -0.475 -v 0.282 -0.111 -0.475 -v -0.281 -0.111 -0.473 -v 0.282 -0.111 -0.473 -v -0.281 -0.11 -0.471 -v 0.282 -0.11 -0.471 -v -0.281 -0.108 -0.47 -v 0.282 -0.108 -0.47 -v -0.281 -0.106 -0.47 -v 0.282 -0.106 -0.47 -v -0.281 -0.104 -0.47 -v 0.282 -0.104 -0.47 -v -0.281 -0.103 -0.471 -v 0.282 -0.103 -0.471 -v -0.281 -0.102 -0.473 -v 0.282 -0.102 -0.473 -v -0.281 -0.101 -0.475 -v 0.282 -0.101 -0.475 -v -0.281 -0.102 -0.477 -v 0.282 -0.102 -0.477 -v -0.281 -0.103 -0.479 -v 0.282 -0.103 -0.479 -v -0.281 -0.104 -0.48 -v 0.282 -0.104 -0.48 -v -0.281 -0.106 -0.48 -v 0.282 -0.106 -0.48 -v -0.281 -0.108 -0.48 -v 0.282 -0.108 -0.48 -v -0.281 -0.11 -0.479 -v 0.282 -0.11 -0.479 -v -0.281 -0.111 -0.477 -v 0.282 -0.111 -0.477 -v -0.281 0.101 -0.475 -v 0.282 0.101 -0.475 -v -0.281 0.102 -0.473 -v 0.282 0.102 -0.473 -v -0.281 0.103 -0.471 -v 0.282 0.103 -0.471 -v -0.281 0.104 -0.47 -v 0.282 0.104 -0.47 -v -0.281 0.106 -0.47 -v 0.282 0.106 -0.47 -v -0.281 0.108 -0.47 -v 0.282 0.108 -0.47 -v -0.281 0.11 -0.471 -v 0.282 0.11 -0.471 -v -0.281 0.111 -0.473 -v 0.282 0.111 -0.473 -v -0.281 0.111 -0.475 -v 0.282 0.111 -0.475 -v -0.281 0.111 -0.477 -v 0.282 0.111 -0.477 -v -0.281 0.11 -0.479 -v 0.282 0.11 -0.479 -v -0.281 0.108 -0.48 -v 0.282 0.108 -0.48 -v -0.281 0.106 -0.48 -v 0.282 0.106 -0.48 -v -0.281 0.104 -0.48 -v 0.282 0.104 -0.48 -v -0.281 0.103 -0.479 -v 0.282 0.103 -0.479 -v -0.281 0.102 -0.477 -v 0.282 0.102 -0.477 -v -0.071 -0.236 -0.437 -v -0.126 -0.236 -0.492 -v -0.126 -0.236 -0.437 -v -0.071 -0.181 -0.437 -v -0.126 -0.181 -0.492 -v -0.126 -0.181 -0.437 -v -0.102 -0.209 -0.437 -v -0.102 -0.209 -0.412 -v -0.101 -0.207 -0.437 -v -0.101 -0.207 -0.412 -v -0.099 -0.206 -0.437 -v -0.099 -0.206 -0.412 -v -0.097 -0.207 -0.437 -v -0.097 -0.207 -0.412 -v -0.096 -0.209 -0.437 -v -0.096 -0.209 -0.412 -v -0.097 -0.211 -0.437 -v -0.097 -0.211 -0.412 -v -0.099 -0.212 -0.437 -v -0.099 -0.212 -0.412 -v -0.101 -0.211 -0.437 -v -0.101 -0.211 -0.412 -v -0.071 -0.236 -0.444 -v -0.126 -0.236 -0.486 -v -0.126 -0.181 -0.486 -v -0.071 -0.181 -0.486 -v -0.126 -0.236 -0.444 -v -0.126 -0.181 -0.444 -v -0.071 -0.181 -0.444 -v -0.071 -0.236 -0.492 -v -0.071 -0.181 -0.492 -v -0.071 -0.236 -0.486 -v -0.101 -0.204 -0.031 -v -0.101 -0.204 -0.406 -v -0.102 -0.205 -0.031 -v -0.102 -0.205 -0.406 -v -0.103 -0.207 -0.031 -v -0.103 -0.207 -0.406 -v -0.104 -0.209 -0.031 -v -0.104 -0.209 -0.406 -v -0.103 -0.211 -0.031 -v -0.103 -0.211 -0.406 -v -0.102 -0.212 -0.031 -v -0.102 -0.212 -0.406 -v -0.101 -0.213 -0.031 -v -0.101 -0.213 -0.406 -v -0.099 -0.214 -0.031 -v -0.099 -0.214 -0.406 -v -0.097 -0.213 -0.031 -v -0.097 -0.213 -0.406 -v -0.095 -0.212 -0.031 -v -0.095 -0.212 -0.406 -v -0.094 -0.211 -0.031 -v -0.094 -0.211 -0.406 -v -0.094 -0.209 -0.031 -v -0.094 -0.209 -0.406 -v -0.094 -0.207 -0.031 -v -0.094 -0.207 -0.406 -v -0.095 -0.205 -0.031 -v -0.095 -0.205 -0.406 -v -0.097 -0.204 -0.031 -v -0.097 -0.204 -0.406 -v -0.099 -0.204 -0.031 -v -0.099 -0.204 -0.406 -v -0.109 -0.209 -0.419 -v -0.109 -0.209 -0.394 -v -0.108 -0.205 -0.419 -v -0.108 -0.205 -0.394 -v -0.106 -0.202 -0.419 -v -0.106 -0.202 -0.394 -v -0.103 -0.2 -0.419 -v -0.103 -0.2 -0.394 -v -0.099 -0.199 -0.419 -v -0.099 -0.199 -0.394 -v -0.095 -0.2 -0.419 -v -0.095 -0.2 -0.394 -v -0.092 -0.202 -0.419 -v -0.092 -0.202 -0.394 -v -0.09 -0.205 -0.419 -v -0.09 -0.205 -0.394 -v -0.089 -0.209 -0.419 -v -0.089 -0.209 -0.394 -v -0.09 -0.213 -0.419 -v -0.09 -0.213 -0.394 -v -0.092 -0.216 -0.419 -v -0.092 -0.216 -0.394 -v -0.095 -0.218 -0.419 -v -0.095 -0.218 -0.394 -v -0.099 -0.219 -0.419 -v -0.099 -0.219 -0.394 -v -0.103 -0.218 -0.419 -v -0.103 -0.218 -0.394 -v -0.106 -0.216 -0.419 -v -0.106 -0.216 -0.394 -v -0.108 -0.213 -0.419 -v -0.108 -0.213 -0.394 -v -0.061 0.244 -0.263 -v -0.006 0.244 -0.318 -v -0.061 0.244 -0.318 -v -0.061 0.299 -0.263 -v -0.006 0.299 -0.318 -v -0.061 0.299 -0.318 -v -0.061 0.271 -0.294 -v -0.086 0.271 -0.294 -v -0.061 0.273 -0.293 -v -0.086 0.273 -0.293 -v -0.061 0.274 -0.291 -v -0.086 0.274 -0.291 -v -0.061 0.273 -0.288 -v -0.086 0.273 -0.288 -v -0.061 0.271 -0.287 -v -0.086 0.271 -0.287 -v -0.061 0.269 -0.288 -v -0.086 0.269 -0.288 -v -0.061 0.268 -0.291 -v -0.086 0.268 -0.291 -v -0.061 0.269 -0.293 -v -0.086 0.269 -0.293 -v -0.055 0.244 -0.263 -v -0.012 0.244 -0.318 -v -0.012 0.299 -0.318 -v -0.012 0.299 -0.263 -v -0.055 0.244 -0.318 -v -0.055 0.299 -0.318 -v -0.055 0.299 -0.263 -v -0.006 0.244 -0.263 -v -0.006 0.299 -0.263 -v -0.012 0.244 -0.263 -v -0.068 0.283 -0.291 -v -0.087 0.283 -0.291 -v -0.068 0.282 -0.286 -v -0.087 0.282 -0.286 -v -0.068 0.28 -0.282 -v -0.087 0.28 -0.282 -v -0.068 0.276 -0.28 -v -0.087 0.276 -0.28 -v -0.068 0.271 -0.279 -v -0.087 0.271 -0.279 -v -0.068 0.267 -0.28 -v -0.087 0.267 -0.28 -v -0.068 0.263 -0.282 -v -0.087 0.263 -0.282 -v -0.068 0.26 -0.286 -v -0.087 0.26 -0.286 -v -0.068 0.259 -0.291 -v -0.087 0.259 -0.291 -v -0.068 0.26 -0.295 -v -0.087 0.26 -0.295 -v -0.068 0.263 -0.299 -v -0.087 0.263 -0.299 -v -0.068 0.267 -0.302 -v -0.087 0.267 -0.302 -v -0.068 0.271 -0.303 -v -0.087 0.271 -0.303 -v -0.068 0.276 -0.302 -v -0.087 0.276 -0.302 -v -0.068 0.28 -0.299 -v -0.087 0.28 -0.299 -v -0.068 0.282 -0.295 -v -0.087 0.282 -0.295 -v -0.071 0.283 -0.291 -v -0.071 0.281 -0.291 -v -0.082 0.281 -0.291 -v -0.082 0.283 -0.291 -v -0.082 0.282 -0.286 -v -0.082 0.281 -0.287 -v -0.071 0.281 -0.287 -v -0.071 0.282 -0.286 -v -0.082 0.28 -0.282 -v -0.082 0.278 -0.283 -v -0.071 0.278 -0.283 -v -0.071 0.28 -0.282 -v -0.082 0.276 -0.28 -v -0.082 0.275 -0.281 -v -0.071 0.275 -0.281 -v -0.071 0.276 -0.28 -v -0.082 0.271 -0.279 -v -0.082 0.271 -0.28 -v -0.071 0.271 -0.28 -v -0.071 0.271 -0.279 -v -0.082 0.267 -0.28 -v -0.082 0.267 -0.281 -v -0.071 0.267 -0.281 -v -0.071 0.267 -0.28 -v -0.082 0.263 -0.282 -v -0.082 0.264 -0.283 -v -0.071 0.264 -0.283 -v -0.071 0.263 -0.282 -v -0.082 0.26 -0.286 -v -0.082 0.262 -0.287 -v -0.071 0.262 -0.287 -v -0.071 0.26 -0.286 -v -0.082 0.259 -0.291 -v -0.082 0.261 -0.291 -v -0.071 0.261 -0.291 -v -0.071 0.259 -0.291 -v -0.082 0.26 -0.295 -v -0.082 0.262 -0.294 -v -0.071 0.262 -0.294 -v -0.071 0.26 -0.295 -v -0.082 0.263 -0.299 -v -0.082 0.264 -0.298 -v -0.071 0.264 -0.298 -v -0.071 0.263 -0.299 -v -0.082 0.267 -0.302 -v -0.082 0.267 -0.3 -v -0.071 0.267 -0.3 -v -0.071 0.267 -0.302 -v -0.082 0.271 -0.303 -v -0.082 0.271 -0.301 -v -0.071 0.271 -0.301 -v -0.071 0.271 -0.303 -v -0.082 0.276 -0.302 -v -0.082 0.275 -0.3 -v -0.071 0.275 -0.3 -v -0.071 0.276 -0.302 -v -0.082 0.28 -0.299 -v -0.082 0.278 -0.298 -v -0.071 0.278 -0.298 -v -0.071 0.28 -0.299 -v -0.082 0.282 -0.295 -v -0.082 0.281 -0.294 -v -0.071 0.281 -0.294 -v -0.071 0.282 -0.295 -v -0.071 0.174 -0.437 -v -0.126 0.174 -0.492 -v -0.126 0.174 -0.437 -v -0.071 0.229 -0.437 -v -0.126 0.229 -0.492 -v -0.126 0.229 -0.437 -v -0.102 0.201 -0.437 -v -0.102 0.201 -0.412 -v -0.101 0.203 -0.437 -v -0.101 0.203 -0.412 -v -0.099 0.204 -0.437 -v -0.099 0.204 -0.412 -v -0.097 0.203 -0.437 -v -0.097 0.203 -0.412 -v -0.096 0.201 -0.437 -v -0.096 0.201 -0.412 -v -0.097 0.199 -0.437 -v -0.097 0.199 -0.412 -v -0.099 0.198 -0.437 -v -0.099 0.198 -0.412 -v -0.101 0.199 -0.437 -v -0.101 0.199 -0.412 -v -0.071 0.174 -0.444 -v -0.126 0.174 -0.486 -v -0.126 0.229 -0.486 -v -0.071 0.229 -0.486 -v -0.126 0.174 -0.444 -v -0.126 0.229 -0.444 -v -0.071 0.229 -0.444 -v -0.071 0.174 -0.492 -v -0.071 0.229 -0.492 -v -0.071 0.174 -0.486 -v -0.101 0.206 -0.031 -v -0.101 0.206 -0.406 -v -0.102 0.205 -0.031 -v -0.102 0.205 -0.406 -v -0.103 0.203 -0.031 -v -0.103 0.203 -0.406 -v -0.104 0.201 -0.031 -v -0.104 0.201 -0.406 -v -0.103 0.199 -0.031 -v -0.103 0.199 -0.406 -v -0.102 0.198 -0.031 -v -0.102 0.198 -0.406 -v -0.101 0.197 -0.031 -v -0.101 0.197 -0.406 -v -0.099 0.196 -0.031 -v -0.099 0.196 -0.406 -v -0.097 0.197 -0.031 -v -0.097 0.197 -0.406 -v -0.095 0.198 -0.031 -v -0.095 0.198 -0.406 -v -0.094 0.199 -0.031 -v -0.094 0.199 -0.406 -v -0.094 0.201 -0.031 -v -0.094 0.201 -0.406 -v -0.094 0.203 -0.031 -v -0.094 0.203 -0.406 -v -0.095 0.205 -0.031 -v -0.095 0.205 -0.406 -v -0.097 0.206 -0.031 -v -0.097 0.206 -0.406 -v -0.099 0.206 -0.031 -v -0.099 0.206 -0.406 -v -0.109 0.201 -0.419 -v -0.109 0.201 -0.394 -v -0.108 0.205 -0.419 -v -0.108 0.205 -0.394 -v -0.106 0.208 -0.419 -v -0.106 0.208 -0.394 -v -0.103 0.21 -0.419 -v -0.103 0.21 -0.394 -v -0.099 0.211 -0.419 -v -0.099 0.211 -0.394 -v -0.095 0.21 -0.419 -v -0.095 0.21 -0.394 -v -0.092 0.208 -0.419 -v -0.092 0.208 -0.394 -v -0.09 0.205 -0.419 -v -0.09 0.205 -0.394 -v -0.089 0.201 -0.419 -v -0.089 0.201 -0.394 -v -0.09 0.197 -0.419 -v -0.09 0.197 -0.394 -v -0.092 0.194 -0.419 -v -0.092 0.194 -0.394 -v -0.095 0.192 -0.419 -v -0.095 0.192 -0.394 -v -0.099 0.191 -0.419 -v -0.099 0.191 -0.394 -v -0.103 0.192 -0.419 -v -0.103 0.192 -0.394 -v -0.106 0.194 -0.419 -v -0.106 0.194 -0.394 -v -0.108 0.197 -0.419 -v -0.108 0.197 -0.394 -vt 0.984 0.656 -vt 0.984 0.719 -vt 0.953 0.719 -vt 0.953 0.656 -vt 0.922 0.656 -vt 0.922 0.719 -vt 0.891 0.719 -vt 0.891 0.656 -vt 0.859 0.719 -vt 0.859 0.656 -vt 0.891 0.656 -vt 0.922 0.719 -vt 0.922 0.656 -vt 0.953 0.719 -vt 0.966 0.594 -vt 0.966 0.656 -vt 0.913 0.656 -vt 0.913 0.594 -vt 0.859 0.656 -vt 0.859 0.594 -vt 0.913 0.594 -vt 0.913 0.656 -vt 0.479 0.253 -vt 0.479 0.313 -vt 0.458 0.313 -vt 0.458 0.253 -vt 0.338 0.337 -vt 0.338 0.375 -vt 0.313 0.375 -vt 0.313 0.337 -vt 0.313 0.275 -vt 0.313 0.313 -vt 0.338 0.313 -vt 0.338 0.275 -vt 0.458 0.253 -vt 0.458 0.268 -vt 0.438 0.268 -vt 0.438 0.253 -vt 0.338 0.237 -vt 0.371 0.237 -vt 0.371 0.224 -vt 0.313 0.224 -vt 0.313 0.25 -vt 0.338 0.25 -vt 0.375 0.347 -vt 0.408 0.347 -vt 0.408 0.361 -vt 0.403 0.361 -vt 0.403 0.375 -vt 0.375 0.375 -vt 0.338 0.275 -vt 0.338 0.313 -vt 0.342 0.313 -vt 0.342 0.284 -vt 0.371 0.284 -vt 0.371 0.275 -vt 0.313 0.275 -vt 0.371 0.275 -vt 0.371 0.284 -vt 0.342 0.284 -vt 0.342 0.313 -vt 0.313 0.313 -vt 0.438 0.268 -vt 0.458 0.268 -vt 0.458 0.313 -vt 0.438 0.313 -vt 0.408 0.361 -vt 0.408 0.347 -vt 0.439 0.347 -vt 0.439 0.361 -vt 0.452 0.337 -vt 0.452 0.375 -vt 0.426 0.375 -vt 0.426 0.337 -vt 0.375 0.337 -vt 0.375 0.375 -vt 0.401 0.375 -vt 0.401 0.337 -vt 0.426 0.337 -vt 0.426 0.375 -vt 0.452 0.375 -vt 0.452 0.337 -vt 0.401 0.337 -vt 0.401 0.375 -vt 0.375 0.375 -vt 0.375 0.337 -vt 0.426 0.314 -vt 0.426 0.34 -vt 0.452 0.34 -vt 0.452 0.314 -vt 0.426 0.34 -vt 0.426 0.314 -vt 0.452 0.314 -vt 0.452 0.34 -vt 0.438 0.343 -vt 0.438 0.375 -vt 0.448 0.375 -vt 0.448 0.343 -vt 0.464 0.343 -vt 0.464 0.375 -vt 0.497 0.375 -vt 0.497 0.343 -vt 0.448 0.343 -vt 0.448 0.375 -vt 0.438 0.375 -vt 0.438 0.343 -vt 0.497 0.343 -vt 0.497 0.375 -vt 0.464 0.375 -vt 0.464 0.343 -vt 0.464 0.342 -vt 0.497 0.342 -vt 0.497 0.331 -vt 0.464 0.331 -vt 0.497 0.342 -vt 0.464 0.342 -vt 0.464 0.331 -vt 0.497 0.331 -vt 0.438 0.313 -vt 0.448 0.313 -vt 0.448 0.289 -vt 0.438 0.289 -vt 0.495 0.24 -vt 0.519 0.24 -vt 0.519 0.229 -vt 0.495 0.229 -vt 0.519 0.289 -vt 0.519 0.313 -vt 0.495 0.313 -vt 0.495 0.289 -vt 0.495 0.229 -vt 0.519 0.229 -vt 0.519 0.24 -vt 0.495 0.24 -vt 0.448 0.313 -vt 0.438 0.313 -vt 0.438 0.289 -vt 0.448 0.289 -vt 0.141 0.953 -vt 0.141 0.969 -vt 0.078 0.969 -vt 0.078 0.953 -vt 0.016 0.969 -vt 0.016 0.953 -vt 0.266 0.953 -vt 0.266 0.969 -vt 0.203 0.969 -vt 0.203 0.953 -vt 0.203 0.875 -vt 0.203 0.891 -vt 0.141 0.891 -vt 0.141 0.875 -vt 0.266 0.875 -vt 0.266 0.891 -vt 0.078 0.875 -vt 0.078 0.891 -vt 0.016 0.891 -vt 0.016 0.875 -vt 0.172 0.547 -vt 0.172 0.625 -vt 0.094 0.625 -vt 0.094 0.547 -vt 0.094 0.625 -vt 0.094 0.703 -vt 0.016 0.703 -vt 0.016 0.625 -vt 0.172 0.625 -vt 0.172 0.703 -vt 0.016 0.625 -vt 0.016 0.547 -vt 0.547 0.297 -vt 0.547 0.313 -vt 0.297 0.313 -vt 0.297 0.297 -vt 0.297 0.344 -vt 0.297 0.328 -vt 0.547 0.328 -vt 0.547 0.344 -vt 0.547 0.359 -vt 0.297 0.359 -vt 0.547 0.297 -vt 0.547 0.313 -vt 0.297 0.313 -vt 0.297 0.297 -vt 0.297 0.344 -vt 0.297 0.328 -vt 0.547 0.328 -vt 0.547 0.344 -vt 0.547 0.359 -vt 0.297 0.359 -vt 0.476 0.181 -vt 0.476 0.241 -vt 0.486 0.241 -vt 0.486 0.181 -vt 0.486 0.181 -vt 0.486 0.241 -vt 0.438 0.241 -vt 0.438 0.181 -vt 0.486 0.181 -vt 0.486 0.241 -vt 0.476 0.241 -vt 0.476 0.181 -vt 0.476 0.313 -vt 0.486 0.313 -vt 0.486 0.264 -vt 0.476 0.264 -vt 0.486 0.313 -vt 0.476 0.313 -vt 0.476 0.264 -vt 0.486 0.264 -vt 0.578 0.453 -vt 0.578 0.703 -vt 0.828 0.703 -vt 0.828 0.453 -vt 0.672 0.453 -vt 0.672 0.703 -vt 0.734 0.703 -vt 0.734 0.453 -vt 0.828 0.453 -vt 0.828 0.703 -vt 0.578 0.703 -vt 0.578 0.453 -vt 0.734 0.453 -vt 0.734 0.703 -vt 0.672 0.703 -vt 0.672 0.453 -vt 0.578 0.453 -vt 0.578 0.578 -vt 0.828 0.578 -vt 0.578 0.578 -vt 0.828 0.578 -vt 0.828 0.703 -vt 0.031 0.422 -vt 0.25 0.422 -vt 0.25 0.406 -vt 0.031 0.406 -vt 0.252 0.422 -vt 0.252 0.406 -vt 0.266 0.422 -vt 0.266 0.406 -vt 0.031 0.172 -vt 0.031 0.175 -vt 0.016 0.175 -vt 0.016 0.172 -vt 0.031 0.418 -vt 0.016 0.418 -vt 0.031 0.422 -vt 0.016 0.422 -vt 0.266 0.422 -vt 0.016 0.422 -vt 0.016 0.406 -vt 0.266 0.406 -vt 0.031 0.422 -vt 0.031 0.418 -vt 0.016 0.418 -vt 0.016 0.422 -vt 0.266 0.199 -vt 0.266 0.199 -vt 0.016 0.199 -vt 0.016 0.199 -vt 0.031 0.199 -vt 0.031 0.182 -vt 0.016 0.182 -vt 0.016 0.199 -vt 0.144 0.422 -vt 0.137 0.422 -vt 0.137 0.406 -vt 0.144 0.406 -vt 0.031 0.182 -vt 0.031 0.199 -vt 0.016 0.199 -vt 0.016 0.182 -vt 0.12 0.422 -vt 0.089 0.422 -vt 0.089 0.406 -vt 0.12 0.406 -vt 0.031 0.199 -vt 0.031 0.196 -vt 0.016 0.196 -vt 0.016 0.199 -vt 0.031 0.185 -vt 0.031 0.196 -vt 0.016 0.196 -vt 0.016 0.185 -vt 0.085 0.422 -vt 0.085 0.422 -vt 0.085 0.406 -vt 0.085 0.406 -vt 0.085 0.422 -vt 0.085 0.406 -vt 0.084 0.422 -vt 0.084 0.406 -vt 0.083 0.422 -vt 0.083 0.406 -vt 0.082 0.422 -vt 0.082 0.406 -vt 0.082 0.422 -vt 0.082 0.406 -vt 0.081 0.422 -vt 0.081 0.406 -vt 0.08 0.422 -vt 0.08 0.406 -vt 0.079 0.422 -vt 0.079 0.406 -vt 0.079 0.422 -vt 0.079 0.406 -vt 0.078 0.422 -vt 0.078 0.406 -vt 0.078 0.422 -vt 0.078 0.406 -vt 0.031 0.199 -vt 0.016 0.199 -vt 0.031 0.196 -vt 0.031 0.185 -vt 0.016 0.185 -vt 0.016 0.196 -vt 0.156 0.203 -vt 0.156 0.203 -vt 0.141 0.203 -vt 0.141 0.203 -vt 0.031 0.202 -vt 0.031 0.391 -vt 0.016 0.391 -vt 0.016 0.202 -vt 0.031 0.395 -vt 0.016 0.395 -vt 0.054 0.422 -vt 0.227 0.422 -vt 0.227 0.406 -vt 0.054 0.406 -vt 0.031 0.395 -vt 0.031 0.391 -vt 0.016 0.391 -vt 0.016 0.395 -vt 0.031 0.202 -vt 0.016 0.202 -vt 0.031 0.199 -vt 0.075 0.422 -vt 0.054 0.422 -vt 0.054 0.406 -vt 0.075 0.406 -vt 0.031 0.199 -vt 0.203 0.422 -vt 0.203 0.422 -vt 0.203 0.406 -vt 0.203 0.406 -vt 0.203 0.422 -vt 0.203 0.406 -vt 0.202 0.422 -vt 0.202 0.406 -vt 0.201 0.422 -vt 0.201 0.406 -vt 0.201 0.422 -vt 0.201 0.406 -vt 0.2 0.422 -vt 0.2 0.406 -vt 0.199 0.422 -vt 0.199 0.406 -vt 0.198 0.422 -vt 0.198 0.406 -vt 0.197 0.422 -vt 0.197 0.406 -vt 0.197 0.422 -vt 0.197 0.406 -vt 0.196 0.422 -vt 0.196 0.406 -vt 0.196 0.422 -vt 0.196 0.406 -vt 0.031 0.185 -vt 0.016 0.185 -vt 0.031 0.196 -vt 0.031 0.199 -vt 0.016 0.199 -vt 0.016 0.196 -vt 0.031 0.175 -vt 0.031 0.172 -vt 0.016 0.172 -vt 0.016 0.175 -vt 0.193 0.422 -vt 0.161 0.422 -vt 0.161 0.406 -vt 0.193 0.406 -vt 0.016 0.422 -vt 0.03 0.422 -vt 0.03 0.406 -vt 0.016 0.406 -vt 0.031 0.185 -vt 0.016 0.185 -vt 0.225 0.395 -vt 0.056 0.395 -vt 0.053 0.391 -vt 0.016 0.418 -vt 0.019 0.422 -vt 0.262 0.422 -vt 0.266 0.418 -vt 0.228 0.391 -vt 0.137 0.182 -vt 0.083 0.182 -vt 0.034 0.173 -vt 0.247 0.173 -vt 0.198 0.182 -vt 0.144 0.182 -vt 0.266 0.175 -vt 0.262 0.172 -vt 0.249 0.172 -vt 0.247 0.173 -vt 0.225 0.199 -vt 0.228 0.202 -vt 0.137 0.182 -vt 0.144 0.182 -vt 0.198 0.182 -vt 0.034 0.173 -vt 0.083 0.182 -vt 0.228 0.391 -vt 0.228 0.202 -vt 0.225 0.199 -vt 0.249 0.172 -vt 0.262 0.172 -vt 0.266 0.175 -vt 0.266 0.418 -vt 0.201 0.185 -vt 0.201 0.185 -vt 0.201 0.184 -vt 0.2 0.183 -vt 0.2 0.182 -vt 0.199 0.182 -vt 0.205 0.199 -vt 0.201 0.196 -vt 0.081 0.183 -vt 0.082 0.182 -vt 0.082 0.182 -vt 0.056 0.199 -vt 0.076 0.199 -vt 0.08 0.196 -vt 0.08 0.185 -vt 0.08 0.185 -vt 0.08 0.184 -vt 0.195 0.184 -vt 0.195 0.185 -vt 0.195 0.185 -vt 0.195 0.196 -vt 0.191 0.199 -vt 0.161 0.199 -vt 0.197 0.182 -vt 0.196 0.182 -vt 0.196 0.183 -vt 0.076 0.199 -vt 0.056 0.199 -vt 0.082 0.182 -vt 0.082 0.182 -vt 0.081 0.183 -vt 0.08 0.184 -vt 0.08 0.185 -vt 0.08 0.185 -vt 0.08 0.196 -vt 0.191 0.199 -vt 0.195 0.196 -vt 0.195 0.185 -vt 0.195 0.185 -vt 0.195 0.184 -vt 0.196 0.183 -vt 0.196 0.182 -vt 0.197 0.182 -vt 0.161 0.199 -vt 0.053 0.391 -vt 0.056 0.395 -vt 0.225 0.395 -vt 0.262 0.422 -vt 0.019 0.422 -vt 0.016 0.418 -vt 0.053 0.202 -vt 0.016 0.175 -vt 0.019 0.172 -vt 0.033 0.172 -vt 0.019 0.172 -vt 0.016 0.175 -vt 0.053 0.202 -vt 0.033 0.172 -vt 0.086 0.184 -vt 0.086 0.185 -vt 0.087 0.185 -vt 0.087 0.196 -vt 0.09 0.199 -vt 0.12 0.199 -vt 0.084 0.182 -vt 0.085 0.182 -vt 0.086 0.183 -vt 0.199 0.182 -vt 0.2 0.182 -vt 0.2 0.183 -vt 0.201 0.184 -vt 0.201 0.185 -vt 0.201 0.185 -vt 0.201 0.196 -vt 0.205 0.199 -vt 0.085 0.182 -vt 0.084 0.182 -vt 0.12 0.199 -vt 0.09 0.199 -vt 0.087 0.196 -vt 0.087 0.185 -vt 0.086 0.185 -vt 0.086 0.184 -vt 0.086 0.183 -vt 0.163 0.766 -vt 0.163 0.761 -vt 0.158 0.758 -vt 0.093 0.758 -vt 0.092 0.758 -vt 0.091 0.757 -vt 0.09 0.757 -vt 0.089 0.756 -vt 0.089 0.755 -vt 0.089 0.755 -vt 0.089 0.754 -vt 0.089 0.753 -vt 0.063 0.736 -vt 0.063 0.984 -vt 0.086 0.984 -vt 0.016 0.753 -vt 0.016 0.753 -vt 0.031 0.753 -vt 0.031 0.753 -vt 0.15 0.938 -vt 0.125 0.938 -vt 0.125 0.922 -vt 0.15 0.922 -vt 0.125 0.937 -vt 0.204 0.937 -vt 0.204 0.922 -vt 0.125 0.922 -vt 0.206 0.937 -vt 0.225 0.937 -vt 0.225 0.922 -vt 0.206 0.922 -vt 0.016 0.738 -vt 0.016 0.748 -vt 0.031 0.748 -vt 0.031 0.738 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.225 0.937 -vt 0.157 0.937 -vt 0.157 0.922 -vt 0.225 0.922 -vt 0.016 0.752 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.031 0.752 -vt 0.016 0.754 -vt 0.016 0.755 -vt 0.031 0.755 -vt 0.031 0.754 -vt 0.157 0.937 -vt 0.225 0.937 -vt 0.225 0.922 -vt 0.157 0.922 -vt 0.016 0.755 -vt 0.031 0.755 -vt 0.016 0.756 -vt 0.031 0.756 -vt 0.016 0.757 -vt 0.031 0.757 -vt 0.016 0.757 -vt 0.031 0.757 -vt 0.016 0.758 -vt 0.031 0.758 -vt 0.016 0.758 -vt 0.031 0.758 -vt 0.016 0.758 -vt 0.016 0.761 -vt 0.031 0.761 -vt 0.031 0.758 -vt 0.016 0.766 -vt 0.031 0.766 -vt 0.016 0.984 -vt 0.031 0.984 -vt 0.016 0.734 -vt 0.031 0.734 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.092 0.752 -vt 0.091 0.752 -vt 0.09 0.753 -vt 0.089 0.753 -vt 0.063 0.736 -vt 0.137 0.736 -vt 0.158 0.752 -vt 0.093 0.752 -vt 0.137 0.736 -vt 0.09 0.753 -vt 0.091 0.752 -vt 0.092 0.752 -vt 0.093 0.752 -vt 0.158 0.752 -vt 0.163 0.748 -vt 0.139 0.734 -vt 0.158 0.734 -vt 0.163 0.738 -vt 0.158 0.734 -vt 0.139 0.734 -vt 0.163 0.748 -vt 0.163 0.738 -vt 0.089 0.754 -vt 0.089 0.755 -vt 0.089 0.755 -vt 0.089 0.756 -vt 0.09 0.757 -vt 0.091 0.757 -vt 0.092 0.758 -vt 0.093 0.758 -vt 0.158 0.758 -vt 0.163 0.761 -vt 0.163 0.766 -vt 0.086 0.984 -vt 0.063 0.984 -vt 0.163 0.766 -vt 0.163 0.761 -vt 0.158 0.758 -vt 0.093 0.758 -vt 0.092 0.758 -vt 0.091 0.757 -vt 0.09 0.757 -vt 0.089 0.756 -vt 0.089 0.755 -vt 0.089 0.755 -vt 0.089 0.754 -vt 0.089 0.753 -vt 0.063 0.736 -vt 0.063 0.984 -vt 0.086 0.984 -vt 0.016 0.753 -vt 0.016 0.753 -vt 0.031 0.753 -vt 0.031 0.753 -vt 0.15 0.938 -vt 0.125 0.938 -vt 0.125 0.922 -vt 0.15 0.922 -vt 0.125 0.937 -vt 0.204 0.937 -vt 0.204 0.922 -vt 0.125 0.922 -vt 0.206 0.937 -vt 0.225 0.937 -vt 0.225 0.922 -vt 0.206 0.922 -vt 0.016 0.738 -vt 0.016 0.748 -vt 0.031 0.748 -vt 0.031 0.738 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.225 0.937 -vt 0.157 0.937 -vt 0.157 0.922 -vt 0.225 0.922 -vt 0.016 0.752 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.031 0.752 -vt 0.016 0.754 -vt 0.016 0.755 -vt 0.031 0.755 -vt 0.031 0.754 -vt 0.157 0.937 -vt 0.225 0.937 -vt 0.225 0.922 -vt 0.157 0.922 -vt 0.016 0.755 -vt 0.031 0.755 -vt 0.016 0.756 -vt 0.031 0.756 -vt 0.016 0.757 -vt 0.031 0.757 -vt 0.016 0.757 -vt 0.031 0.757 -vt 0.016 0.758 -vt 0.031 0.758 -vt 0.016 0.758 -vt 0.031 0.758 -vt 0.016 0.758 -vt 0.016 0.761 -vt 0.031 0.761 -vt 0.031 0.758 -vt 0.016 0.766 -vt 0.031 0.766 -vt 0.016 0.984 -vt 0.031 0.984 -vt 0.016 0.734 -vt 0.031 0.734 -vt 0.016 0.752 -vt 0.031 0.752 -vt 0.092 0.752 -vt 0.091 0.752 -vt 0.09 0.753 -vt 0.089 0.753 -vt 0.063 0.736 -vt 0.137 0.736 -vt 0.158 0.752 -vt 0.093 0.752 -vt 0.137 0.736 -vt 0.09 0.753 -vt 0.091 0.752 -vt 0.092 0.752 -vt 0.093 0.752 -vt 0.158 0.752 -vt 0.163 0.748 -vt 0.139 0.734 -vt 0.158 0.734 -vt 0.163 0.738 -vt 0.158 0.734 -vt 0.139 0.734 -vt 0.163 0.748 -vt 0.163 0.738 -vt 0.089 0.754 -vt 0.089 0.755 -vt 0.089 0.755 -vt 0.089 0.756 -vt 0.09 0.757 -vt 0.091 0.757 -vt 0.092 0.758 -vt 0.093 0.758 -vt 0.158 0.758 -vt 0.163 0.761 -vt 0.163 0.766 -vt 0.086 0.984 -vt 0.063 0.984 -vt 0.495 0.339 -vt 0.495 0.362 -vt 0.486 0.362 -vt 0.486 0.339 -vt 0.474 0.332 -vt 0.486 0.344 -vt 0.486 0.346 -vt 0.483 0.349 -vt 0.479 0.349 -vt 0.473 0.343 -vt 0.475 0.341 -vt 0.466 0.332 -vt 0.482 0.315 -vt 0.479 0.313 -vt 0.483 0.313 -vt 0.486 0.315 -vt 0.486 0.32 -vt 0.487 0.337 -vt 0.487 0.328 -vt 0.494 0.321 -vt 0.494 0.321 -vt 0.494 0.313 -vt 0.497 0.313 -vt 0.497 0.337 -vt 0.465 0.361 -vt 0.465 0.351 -vt 0.465 0.35 -vt 0.465 0.364 -vt 0.462 0.364 -vt 0.462 0.361 -vt 0.483 0.363 -vt 0.486 0.366 -vt 0.477 0.366 -vt 0.475 0.364 -vt 0.475 0.363 -vt 0.497 0.339 -vt 0.486 0.339 -vt 0.498 0.339 -vt 0.498 0.342 -vt 0.495 0.342 -vt 0.495 0.339 -vt 0.498 0.359 -vt 0.495 0.359 -vt 0.475 0.354 -vt 0.48 0.354 -vt 0.48 0.363 -vt 0.48 0.349 -vt 0.475 0.349 -vt 0.461 0.364 -vt 0.464 0.364 -vt 0.464 0.367 -vt 0.461 0.367 -vt 0.461 0.361 -vt 0.461 0.351 -vt 0.461 0.371 -vt 0.458 0.374 -vt 0.458 0.374 -vt 0.458 0.364 -vt 0.461 0.364 -vt 0.461 0.373 -vt 0.461 0.371 -vt 0.464 0.371 -vt 0.464 0.373 -vt 0.458 0.364 -vt 0.461 0.364 -vt 0.465 0.365 -vt 0.465 0.342 -vt 0.465 0.342 -vt 0.458 0.364 -vt 0.458 0.361 -vt 0.5 0.329 -vt 0.497 0.329 -vt 0.497 0.313 -vt 0.5 0.313 -vt 0.48 0.363 -vt 0.483 0.363 -vt 0.466 0.359 -vt 0.475 0.349 -vt 0.475 0.373 -vt 0.466 0.363 -vt 0.486 0.365 -vt 0.486 0.362 -vt 0.495 0.362 -vt 0.495 0.375 -vt 0.495 0.375 -vt 0.466 0.315 -vt 0.466 0.32 -vt 0.464 0.321 -vt 0.448 0.321 -vt 0.448 0.338 -vt 0.444 0.342 -vt 0.441 0.342 -vt 0.438 0.338 -vt 0.438 0.314 -vt 0.439 0.313 -vt 0.463 0.313 -vt 0.461 0.342 -vt 0.465 0.342 -vt 0.413 0.285 -vt 0.412 0.285 -vt 0.412 0.277 -vt 0.415 0.28 -vt 0.394 0.25 -vt 0.399 0.254 -vt 0.399 0.257 -vt 0.385 0.272 -vt 0.398 0.284 -vt 0.399 0.292 -vt 0.398 0.292 -vt 0.377 0.275 -vt 0.375 0.265 -vt 0.389 0.25 -vt 0.379 0.292 -vt 0.383 0.292 -vt 0.383 0.297 -vt 0.379 0.297 -vt 0.375 0.3 -vt 0.375 0.297 -vt 0.379 0.297 -vt 0.379 0.3 -vt 0.432 0.3 -vt 0.428 0.3 -vt 0.428 0.279 -vt 0.432 0.279 -vt 0.438 0.254 -vt 0.433 0.254 -vt 0.433 0.25 -vt 0.438 0.25 -vt 0.428 0.273 -vt 0.428 0.261 -vt 0.433 0.256 -vt 0.433 0.256 -vt 0.438 0.274 -vt 0.436 0.275 -vt 0.426 0.275 -vt 0.409 0.297 -vt 0.405 0.297 -vt 0.405 0.285 -vt 0.409 0.285 -vt 0.412 0.25 -vt 0.425 0.25 -vt 0.425 0.251 -vt 0.412 0.251 -vt 0.409 0.279 -vt 0.412 0.282 -vt 0.412 0.285 -vt 0.399 0.285 -vt 0.399 0.279 -vt 0.409 0.254 -vt 0.409 0.25 -vt 0.41 0.25 -vt 0.412 0.252 -vt 0.383 0.297 -vt 0.379 0.297 -vt 0.375 0.292 -vt 0.379 0.292 -vt 0.425 0.279 -vt 0.428 0.282 -vt 0.428 0.312 -vt 0.427 0.313 -vt 0.425 0.31 -vt 0.405 0.29 -vt 0.405 0.302 -vt 0.399 0.302 -vt 0.399 0.285 -vt 0.399 0.285 -vt 0.434 0.279 -vt 0.425 0.279 -vt 0.425 0.276 -vt 0.399 0.262 -vt 0.403 0.262 -vt 0.403 0.254 -vt 0.424 0.285 -vt 0.424 0.306 -vt 0.421 0.308 -vt 0.416 0.308 -vt 0.412 0.304 -vt 0.412 0.302 -vt 0.416 0.302 -vt 0.416 0.285 -vt 0.413 0.347 -vt 0.412 0.347 -vt 0.412 0.34 -vt 0.415 0.343 -vt 0.394 0.313 -vt 0.399 0.316 -vt 0.399 0.319 -vt 0.385 0.335 -vt 0.398 0.347 -vt 0.399 0.354 -vt 0.398 0.354 -vt 0.377 0.337 -vt 0.375 0.328 -vt 0.389 0.313 -vt 0.379 0.354 -vt 0.383 0.354 -vt 0.383 0.359 -vt 0.379 0.359 -vt 0.375 0.362 -vt 0.375 0.36 -vt 0.379 0.36 -vt 0.379 0.362 -vt 0.432 0.363 -vt 0.428 0.363 -vt 0.428 0.342 -vt 0.432 0.342 -vt 0.438 0.316 -vt 0.433 0.316 -vt 0.433 0.313 -vt 0.438 0.313 -vt 0.428 0.336 -vt 0.428 0.324 -vt 0.433 0.319 -vt 0.433 0.319 -vt 0.438 0.336 -vt 0.436 0.337 -vt 0.426 0.337 -vt 0.409 0.359 -vt 0.405 0.359 -vt 0.405 0.347 -vt 0.409 0.347 -vt 0.412 0.313 -vt 0.425 0.313 -vt 0.425 0.313 -vt 0.412 0.313 -vt 0.409 0.342 -vt 0.412 0.345 -vt 0.412 0.347 -vt 0.399 0.347 -vt 0.399 0.342 -vt 0.409 0.316 -vt 0.409 0.313 -vt 0.41 0.313 -vt 0.412 0.314 -vt 0.383 0.36 -vt 0.379 0.36 -vt 0.375 0.354 -vt 0.379 0.354 -vt 0.425 0.342 -vt 0.428 0.345 -vt 0.428 0.374 -vt 0.427 0.375 -vt 0.425 0.373 -vt 0.405 0.352 -vt 0.405 0.364 -vt 0.399 0.364 -vt 0.399 0.347 -vt 0.399 0.347 -vt 0.434 0.342 -vt 0.425 0.342 -vt 0.425 0.339 -vt 0.399 0.324 -vt 0.403 0.324 -vt 0.403 0.316 -vt 0.424 0.347 -vt 0.424 0.368 -vt 0.421 0.37 -vt 0.416 0.37 -vt 0.412 0.367 -vt 0.412 0.364 -vt 0.416 0.364 -vt 0.416 0.347 -vt 0.37 0.339 -vt 0.37 0.362 -vt 0.361 0.362 -vt 0.361 0.339 -vt 0.349 0.332 -vt 0.361 0.344 -vt 0.361 0.346 -vt 0.358 0.349 -vt 0.354 0.349 -vt 0.348 0.343 -vt 0.35 0.341 -vt 0.341 0.332 -vt 0.357 0.315 -vt 0.354 0.313 -vt 0.358 0.313 -vt 0.361 0.315 -vt 0.361 0.32 -vt 0.362 0.337 -vt 0.362 0.328 -vt 0.369 0.321 -vt 0.369 0.321 -vt 0.369 0.313 -vt 0.372 0.313 -vt 0.372 0.337 -vt 0.34 0.361 -vt 0.34 0.351 -vt 0.34 0.35 -vt 0.34 0.364 -vt 0.337 0.364 -vt 0.337 0.361 -vt 0.358 0.363 -vt 0.361 0.366 -vt 0.352 0.366 -vt 0.35 0.364 -vt 0.35 0.363 -vt 0.372 0.339 -vt 0.361 0.339 -vt 0.373 0.339 -vt 0.373 0.342 -vt 0.37 0.342 -vt 0.37 0.339 -vt 0.373 0.359 -vt 0.37 0.359 -vt 0.35 0.354 -vt 0.355 0.354 -vt 0.355 0.363 -vt 0.355 0.349 -vt 0.35 0.349 -vt 0.336 0.364 -vt 0.339 0.364 -vt 0.339 0.367 -vt 0.336 0.367 -vt 0.336 0.361 -vt 0.336 0.351 -vt 0.336 0.371 -vt 0.333 0.374 -vt 0.333 0.374 -vt 0.333 0.364 -vt 0.336 0.364 -vt 0.336 0.373 -vt 0.336 0.371 -vt 0.339 0.371 -vt 0.339 0.373 -vt 0.333 0.364 -vt 0.336 0.364 -vt 0.34 0.365 -vt 0.34 0.342 -vt 0.34 0.342 -vt 0.333 0.364 -vt 0.333 0.361 -vt 0.375 0.329 -vt 0.372 0.329 -vt 0.372 0.313 -vt 0.375 0.313 -vt 0.355 0.363 -vt 0.358 0.363 -vt 0.341 0.359 -vt 0.35 0.349 -vt 0.35 0.373 -vt 0.341 0.363 -vt 0.361 0.365 -vt 0.361 0.362 -vt 0.37 0.362 -vt 0.37 0.375 -vt 0.37 0.375 -vt 0.341 0.315 -vt 0.341 0.32 -vt 0.339 0.321 -vt 0.323 0.321 -vt 0.323 0.338 -vt 0.319 0.342 -vt 0.316 0.342 -vt 0.313 0.338 -vt 0.313 0.314 -vt 0.314 0.313 -vt 0.338 0.313 -vt 0.336 0.342 -vt 0.34 0.342 -vt 0.483 0.285 -vt 0.484 0.297 -vt 0.483 0.309 -vt 0.48 0.321 -vt 0.474 0.332 -vt 0.466 0.341 -vt 0.457 0.349 -vt 0.446 0.355 -vt 0.434 0.358 -vt 0.422 0.359 -vt 0.422 0.318 -vt 0.426 0.317 -vt 0.43 0.316 -vt 0.433 0.314 -vt 0.437 0.312 -vt 0.439 0.308 -vt 0.441 0.305 -vt 0.442 0.301 -vt 0.443 0.297 -vt 0.442 0.293 -vt 0.441 0.289 -vt 0.439 0.285 -vt 0.437 0.282 -vt 0.433 0.28 -vt 0.43 0.278 -vt 0.426 0.276 -vt 0.422 0.276 -vt 0.422 0.234 -vt 0.434 0.236 -vt 0.446 0.239 -vt 0.457 0.245 -vt 0.466 0.253 -vt 0.474 0.262 -vt 0.48 0.273 -vt 0.483 0.285 -vt 0.48 0.273 -vt 0.474 0.262 -vt 0.466 0.253 -vt 0.457 0.245 -vt 0.446 0.239 -vt 0.434 0.236 -vt 0.422 0.234 -vt 0.422 0.272 -vt 0.427 0.273 -vt 0.431 0.274 -vt 0.436 0.276 -vt 0.439 0.279 -vt 0.442 0.283 -vt 0.445 0.287 -vt 0.446 0.292 -vt 0.447 0.297 -vt 0.446 0.302 -vt 0.445 0.306 -vt 0.442 0.311 -vt 0.439 0.314 -vt 0.436 0.317 -vt 0.431 0.32 -vt 0.427 0.321 -vt 0.422 0.322 -vt 0.422 0.359 -vt 0.434 0.358 -vt 0.446 0.355 -vt 0.457 0.349 -vt 0.466 0.341 -vt 0.474 0.332 -vt 0.48 0.321 -vt 0.483 0.309 -vt 0.484 0.297 -vt 0.484 0.297 -vt 0.483 0.285 -vt 0.48 0.273 -vt 0.474 0.262 -vt 0.466 0.253 -vt 0.457 0.245 -vt 0.446 0.239 -vt 0.434 0.236 -vt 0.422 0.234 -vt 0.422 0.276 -vt 0.426 0.276 -vt 0.43 0.278 -vt 0.433 0.28 -vt 0.437 0.282 -vt 0.439 0.285 -vt 0.441 0.289 -vt 0.442 0.293 -vt 0.443 0.297 -vt 0.442 0.301 -vt 0.441 0.305 -vt 0.439 0.308 -vt 0.437 0.312 -vt 0.433 0.314 -vt 0.43 0.316 -vt 0.426 0.317 -vt 0.422 0.318 -vt 0.422 0.359 -vt 0.434 0.358 -vt 0.446 0.355 -vt 0.457 0.349 -vt 0.466 0.341 -vt 0.474 0.332 -vt 0.48 0.321 -vt 0.483 0.309 -vt 0.484 0.297 -vt 0.483 0.309 -vt 0.48 0.321 -vt 0.474 0.332 -vt 0.466 0.341 -vt 0.457 0.349 -vt 0.446 0.355 -vt 0.434 0.358 -vt 0.422 0.359 -vt 0.422 0.322 -vt 0.427 0.321 -vt 0.431 0.32 -vt 0.436 0.317 -vt 0.439 0.314 -vt 0.442 0.311 -vt 0.445 0.306 -vt 0.446 0.302 -vt 0.447 0.297 -vt 0.446 0.292 -vt 0.445 0.287 -vt 0.442 0.283 -vt 0.439 0.279 -vt 0.436 0.276 -vt 0.431 0.274 -vt 0.427 0.273 -vt 0.422 0.272 -vt 0.422 0.234 -vt 0.434 0.236 -vt 0.446 0.239 -vt 0.457 0.245 -vt 0.466 0.253 -vt 0.474 0.262 -vt 0.48 0.273 -vt 0.483 0.285 -vt 0.417 0.273 -vt 0.412 0.274 -vt 0.408 0.276 -vt 0.404 0.279 -vt 0.401 0.283 -vt 0.399 0.287 -vt 0.398 0.292 -vt 0.397 0.297 -vt 0.398 0.302 -vt 0.399 0.306 -vt 0.401 0.311 -vt 0.404 0.314 -vt 0.408 0.317 -vt 0.412 0.32 -vt 0.417 0.321 -vt 0.41 0.358 -vt 0.398 0.355 -vt 0.387 0.349 -vt 0.378 0.341 -vt 0.37 0.332 -vt 0.364 0.321 -vt 0.361 0.309 -vt 0.359 0.297 -vt 0.361 0.285 -vt 0.364 0.273 -vt 0.37 0.262 -vt 0.378 0.253 -vt 0.387 0.245 -vt 0.398 0.239 -vt 0.41 0.236 -vt 0.418 0.276 -vt 0.414 0.278 -vt 0.41 0.28 -vt 0.407 0.282 -vt 0.405 0.285 -vt 0.403 0.289 -vt 0.401 0.293 -vt 0.401 0.297 -vt 0.401 0.301 -vt 0.403 0.305 -vt 0.405 0.308 -vt 0.407 0.312 -vt 0.41 0.314 -vt 0.414 0.316 -vt 0.418 0.317 -vt 0.41 0.358 -vt 0.398 0.355 -vt 0.387 0.349 -vt 0.378 0.341 -vt 0.37 0.332 -vt 0.364 0.321 -vt 0.361 0.309 -vt 0.359 0.297 -vt 0.361 0.285 -vt 0.364 0.273 -vt 0.37 0.262 -vt 0.378 0.253 -vt 0.387 0.245 -vt 0.398 0.239 -vt 0.41 0.236 -vt 0.417 0.321 -vt 0.412 0.32 -vt 0.408 0.317 -vt 0.404 0.314 -vt 0.401 0.311 -vt 0.399 0.306 -vt 0.398 0.302 -vt 0.397 0.297 -vt 0.398 0.292 -vt 0.399 0.287 -vt 0.401 0.283 -vt 0.404 0.279 -vt 0.408 0.276 -vt 0.412 0.274 -vt 0.417 0.273 -vt 0.41 0.236 -vt 0.398 0.239 -vt 0.387 0.245 -vt 0.378 0.253 -vt 0.37 0.262 -vt 0.364 0.273 -vt 0.361 0.285 -vt 0.359 0.297 -vt 0.361 0.309 -vt 0.364 0.321 -vt 0.37 0.332 -vt 0.378 0.341 -vt 0.387 0.349 -vt 0.398 0.355 -vt 0.41 0.358 -vt 0.418 0.317 -vt 0.414 0.316 -vt 0.41 0.314 -vt 0.407 0.312 -vt 0.405 0.308 -vt 0.403 0.305 -vt 0.401 0.301 -vt 0.401 0.297 -vt 0.401 0.293 -vt 0.403 0.289 -vt 0.405 0.285 -vt 0.407 0.282 -vt 0.41 0.28 -vt 0.414 0.278 -vt 0.418 0.276 -vt 0.41 0.236 -vt 0.398 0.239 -vt 0.387 0.245 -vt 0.378 0.253 -vt 0.37 0.262 -vt 0.364 0.273 -vt 0.361 0.285 -vt 0.359 0.297 -vt 0.361 0.309 -vt 0.364 0.321 -vt 0.37 0.332 -vt 0.378 0.341 -vt 0.387 0.349 -vt 0.398 0.355 -vt 0.41 0.358 -vt 0.513 0.514 -vt 0.495 0.514 -vt 0.495 0.488 -vt 0.513 0.488 -vt 0.477 0.52 -vt 0.495 0.52 -vt 0.495 0.664 -vt 0.478 0.664 -vt 0.513 0.559 -vt 0.513 0.565 -vt 0.495 0.565 -vt 0.495 0.559 -vt 0.478 0.488 -vt 0.366 0.52 -vt 0.37 0.516 -vt 0.386 0.676 -vt 0.343 0.688 -vt 0.316 0.657 -vt 0.343 0.522 -vt 0.35 0.523 -vt 0.358 0.523 -vt 0.513 0.569 -vt 0.495 0.569 -vt 0.495 0.572 -vt 0.513 0.572 -vt 0.46 0.488 -vt 0.477 0.488 -vt 0.477 0.668 -vt 0.46 0.668 -vt 0.513 0.577 -vt 0.495 0.577 -vt 0.495 0.582 -vt 0.513 0.582 -vt 0.495 0.536 -vt 0.495 0.517 -vt 0.512 0.517 -vt 0.512 0.536 -vt 0.513 0.542 -vt 0.513 0.555 -vt 0.495 0.555 -vt 0.495 0.542 -vt 0.499 0.586 -vt 0.499 0.596 -vt 0.506 0.596 -vt 0.506 0.586 -vt 0.219 0.813 -vt 0.216 0.824 -vt 0.21 0.835 -vt 0.199 0.841 -vt 0.188 0.844 -vt 0.176 0.841 -vt 0.165 0.835 -vt 0.159 0.824 -vt 0.156 0.813 -vt 0.159 0.801 -vt 0.165 0.79 -vt 0.176 0.784 -vt 0.188 0.781 -vt 0.199 0.784 -vt 0.21 0.79 -vt 0.216 0.801 -vt 0.513 0.514 -vt 0.513 0.488 -vt 0.495 0.488 -vt 0.495 0.514 -vt 0.477 0.52 -vt 0.478 0.664 -vt 0.495 0.664 -vt 0.495 0.52 -vt 0.513 0.559 -vt 0.495 0.559 -vt 0.495 0.565 -vt 0.513 0.565 -vt 0.478 0.488 -vt 0.46 0.488 -vt 0.46 0.668 -vt 0.477 0.668 -vt 0.477 0.488 -vt 0.495 0.536 -vt 0.512 0.536 -vt 0.512 0.517 -vt 0.495 0.517 -vt 0.513 0.542 -vt 0.495 0.542 -vt 0.495 0.555 -vt 0.513 0.555 -vt 0.219 0.813 -vt 0.216 0.801 -vt 0.21 0.79 -vt 0.199 0.784 -vt 0.188 0.781 -vt 0.176 0.784 -vt 0.165 0.79 -vt 0.159 0.801 -vt 0.156 0.813 -vt 0.159 0.824 -vt 0.165 0.835 -vt 0.176 0.841 -vt 0.188 0.844 -vt 0.199 0.841 -vt 0.21 0.835 -vt 0.216 0.824 -vt 0.477 0.672 -vt 0.46 0.672 -vt 0.512 0.539 -vt 0.495 0.539 -vt 0.513 0.574 -vt 0.495 0.574 -vt 0.495 0.586 -vt 0.513 0.586 -vt 0.513 0.577 -vt 0.513 0.582 -vt 0.495 0.582 -vt 0.495 0.577 -vt 0.495 0.666 -vt 0.478 0.666 -vt 0.499 0.586 -vt 0.499 0.596 -vt 0.495 0.596 -vt 0.495 0.586 -vt 0.51 0.596 -vt 0.51 0.586 -vt 0.495 0.557 -vt 0.513 0.557 -vt 0.506 0.586 -vt 0.506 0.596 -vt 0.495 0.557 -vt 0.513 0.557 -vt 0.513 0.569 -vt 0.495 0.569 -vt 0.495 0.539 -vt 0.513 0.539 -vt 0.512 0.514 -vt 0.495 0.514 -vt 0.495 0.574 -vt 0.513 0.574 -vt 0.513 0.572 -vt 0.495 0.572 -vt 0.386 0.664 -vt 0.39 0.518 -vt 0.417 0.653 -vt 0.46 0.499 -vt 0.46 0.684 -vt 0.444 0.659 -vt 0.446 0.683 -vt 0.441 0.678 -vt 0.454 0.686 -vt 0.336 0.519 -vt 0.327 0.507 -vt 0.322 0.506 -vt 0.316 0.508 -vt 0.313 0.511 -vt 0.343 0.522 -vt 0.316 0.657 -vt 0.343 0.688 -vt 0.386 0.676 -vt 0.37 0.516 -vt 0.366 0.52 -vt 0.358 0.523 -vt 0.35 0.523 -vt 0.432 0.652 -vt 0.423 0.652 -vt 0.417 0.488 -vt 0.44 0.655 -vt 0.313 0.511 -vt 0.336 0.519 -vt 0.316 0.508 -vt 0.322 0.506 -vt 0.327 0.507 -vt 0.367 0.497 -vt 0.372 0.492 -vt 0.38 0.489 -vt 0.386 0.491 -vt 0.39 0.518 -vt 0.386 0.664 -vt 0.417 0.653 -vt 0.39 0.667 -vt 0.396 0.669 -vt 0.401 0.668 -vt 0.41 0.656 -vt 0.46 0.684 -vt 0.46 0.499 -vt 0.444 0.659 -vt 0.441 0.678 -vt 0.446 0.683 -vt 0.454 0.686 -vt 0.41 0.656 -vt 0.401 0.668 -vt 0.396 0.669 -vt 0.39 0.667 -vt 0.386 0.491 -vt 0.372 0.492 -vt 0.367 0.497 -vt 0.38 0.489 -vt 0.423 0.652 -vt 0.432 0.652 -vt 0.44 0.655 -vt 0.417 0.488 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.395 0.394 -vt 0.418 0.394 -vt 0.418 0.418 -vt 0.395 0.418 -vt 0.391 0.328 -vt 0.391 0.387 -vt 0.359 0.387 -vt 0.359 0.328 -vt 0.328 0.328 -vt 0.328 0.387 -vt 0.297 0.387 -vt 0.297 0.328 -vt 0.328 0.297 -vt 0.359 0.297 -vt 0.422 0.328 -vt 0.422 0.387 -vt 0.422 0.391 -vt 0.422 0.422 -vt 0.391 0.422 -vt 0.391 0.391 -vt 0.297 0.859 -vt 0.297 0.984 -vt 0.422 0.984 -vt 0.422 0.859 -vt 0.297 0.859 -vt 0.422 0.859 -vt 0.422 0.984 -vt 0.297 0.984 -vt 0.438 0.859 -vt 0.453 0.859 -vt 0.453 0.984 -vt 0.438 0.984 -vt 0.438 0.984 -vt 0.453 0.984 -vt 0.453 0.859 -vt 0.438 0.859 -vt 0.422 0.828 -vt 0.422 0.844 -vt 0.297 0.844 -vt 0.297 0.828 -vt 0.297 0.828 -vt 0.297 0.844 -vt 0.422 0.844 -vt 0.422 0.828 -vt 0.031 0.281 -vt 0.031 0.266 -vt 0.125 0.266 -vt 0.125 0.281 -vt 0.016 0.421 -vt 0.016 0.42 -vt 0.016 0.299 -vt 0.016 0.298 -vt 0.017 0.297 -vt 0.018 0.297 -vt 0.019 0.297 -vt 0.02 0.297 -vt 0.021 0.298 -vt 0.022 0.299 -vt 0.022 0.321 -vt 0.022 0.398 -vt 0.022 0.42 -vt 0.021 0.421 -vt 0.02 0.422 -vt 0.019 0.422 -vt 0.018 0.422 -vt 0.017 0.422 -vt 0.031 0.281 -vt 0.125 0.281 -vt 0.125 0.266 -vt 0.031 0.266 -vt 0.135 0.321 -vt 0.135 0.398 -vt 0.141 0.299 -vt 0.141 0.42 -vt 0.14 0.421 -vt 0.139 0.422 -vt 0.138 0.422 -vt 0.137 0.422 -vt 0.136 0.422 -vt 0.135 0.421 -vt 0.135 0.42 -vt 0.135 0.299 -vt 0.135 0.298 -vt 0.136 0.297 -vt 0.137 0.297 -vt 0.138 0.297 -vt 0.139 0.297 -vt 0.14 0.298 -vt 0.719 0.984 -vt 0.719 0.859 -vt 0.734 0.859 -vt 0.734 0.984 -vt 0.703 0.984 -vt 0.578 0.984 -vt 0.578 0.859 -vt 0.703 0.859 -vt 0.719 0.859 -vt 0.719 0.984 -vt 0.734 0.984 -vt 0.734 0.859 -vt 0.578 0.828 -vt 0.703 0.828 -vt 0.703 0.844 -vt 0.578 0.844 -vt 0.703 0.828 -vt 0.578 0.828 -vt 0.578 0.844 -vt 0.703 0.844 -vt 0.406 0.375 -vt 0.397 0.375 -vt 0.384 0.375 -vt 0.375 0.375 -vt 0.375 0.354 -vt 0.377 0.349 -vt 0.382 0.346 -vt 0.387 0.344 -vt 0.394 0.344 -vt 0.399 0.346 -vt 0.404 0.349 -vt 0.406 0.354 -vt 0.444 0.375 -vt 0.453 0.375 -vt 0.453 0.354 -vt 0.451 0.349 -vt 0.446 0.346 -vt 0.441 0.344 -vt 0.434 0.344 -vt 0.429 0.346 -vt 0.424 0.349 -vt 0.422 0.354 -vt 0.422 0.375 -vt 0.431 0.375 -vt 0.406 0.375 -vt 0.397 0.375 -vt 0.384 0.375 -vt 0.375 0.375 -vt 0.375 0.354 -vt 0.377 0.349 -vt 0.382 0.346 -vt 0.387 0.344 -vt 0.394 0.344 -vt 0.399 0.346 -vt 0.404 0.349 -vt 0.406 0.354 -vt 0.444 0.375 -vt 0.453 0.375 -vt 0.453 0.354 -vt 0.451 0.349 -vt 0.446 0.346 -vt 0.441 0.344 -vt 0.434 0.344 -vt 0.429 0.346 -vt 0.424 0.349 -vt 0.422 0.354 -vt 0.422 0.375 -vt 0.431 0.375 -vt 0.406 0.375 -vt 0.397 0.375 -vt 0.384 0.375 -vt 0.375 0.375 -vt 0.375 0.354 -vt 0.377 0.349 -vt 0.382 0.346 -vt 0.387 0.344 -vt 0.394 0.344 -vt 0.399 0.346 -vt 0.404 0.349 -vt 0.406 0.354 -vt 0.444 0.375 -vt 0.453 0.375 -vt 0.453 0.354 -vt 0.451 0.349 -vt 0.446 0.346 -vt 0.441 0.344 -vt 0.434 0.344 -vt 0.429 0.346 -vt 0.424 0.349 -vt 0.422 0.354 -vt 0.422 0.375 -vt 0.431 0.375 -vt 0.406 0.375 -vt 0.397 0.375 -vt 0.384 0.375 -vt 0.375 0.375 -vt 0.375 0.354 -vt 0.377 0.349 -vt 0.382 0.346 -vt 0.387 0.344 -vt 0.394 0.344 -vt 0.399 0.346 -vt 0.404 0.349 -vt 0.406 0.354 -vt 0.444 0.375 -vt 0.453 0.375 -vt 0.453 0.354 -vt 0.451 0.349 -vt 0.446 0.346 -vt 0.441 0.344 -vt 0.434 0.344 -vt 0.429 0.346 -vt 0.424 0.349 -vt 0.422 0.354 -vt 0.422 0.375 -vt 0.431 0.375 -vt 0.344 0.219 -vt 0.344 0.281 -vt 0.313 0.281 -vt 0.313 0.219 -vt 0.438 0.219 -vt 0.438 0.281 -vt 0.406 0.281 -vt 0.406 0.219 -vt 0.375 0.281 -vt 0.375 0.219 -vt 0.344 0.188 -vt 0.375 0.188 -vt 0.438 0.313 -vt 0.406 0.313 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.521 0.348 -vt 0.521 0.32 -vt 0.547 0.32 -vt 0.547 0.348 -vt 0.348 0.394 -vt 0.322 0.394 -vt 0.322 0.32 -vt 0.348 0.32 -vt 0.373 0.32 -vt 0.399 0.32 -vt 0.399 0.394 -vt 0.373 0.394 -vt 0.348 0.394 -vt 0.348 0.32 -vt 0.373 0.32 -vt 0.373 0.394 -vt 0.322 0.32 -vt 0.322 0.422 -vt 0.297 0.422 -vt 0.297 0.32 -vt 0.547 0.32 -vt 0.521 0.32 -vt 0.521 0.172 -vt 0.547 0.172 -vt 0.409 0.32 -vt 0.409 0.172 -vt 0.44 0.246 -vt 0.44 0.32 -vt 0.521 0.172 -vt 0.521 0.246 -vt 0.409 0.32 -vt 0.297 0.32 -vt 0.327 0.246 -vt 0.409 0.246 -vt 0.297 0.172 -vt 0.327 0.172 -vt 0.141 0.953 -vt 0.141 0.969 -vt 0.078 0.969 -vt 0.078 0.953 -vt 0.016 0.969 -vt 0.016 0.953 -vt 0.266 0.953 -vt 0.266 0.969 -vt 0.203 0.969 -vt 0.203 0.953 -vt 0.859 0.984 -vt 0.938 0.984 -vt 0.938 0.906 -vt 0.859 0.906 -vt 0.938 0.859 -vt 0.859 0.859 -vt 0.859 0.781 -vt 0.938 0.781 -vt 0.203 0.922 -vt 0.203 0.938 -vt 0.141 0.938 -vt 0.141 0.922 -vt 0.266 0.922 -vt 0.266 0.938 -vt 0.078 0.922 -vt 0.078 0.938 -vt 0.016 0.938 -vt 0.016 0.922 -vt 0.172 0.547 -vt 0.172 0.625 -vt 0.094 0.625 -vt 0.094 0.547 -vt 0.094 0.625 -vt 0.094 0.703 -vt 0.016 0.703 -vt 0.016 0.625 -vt 0.172 0.625 -vt 0.172 0.703 -vt 0.016 0.625 -vt 0.016 0.547 -vt 0.547 0.344 -vt 0.547 0.359 -vt 0.297 0.359 -vt 0.297 0.344 -vt 0.297 0.391 -vt 0.297 0.375 -vt 0.547 0.375 -vt 0.547 0.391 -vt 0.547 0.406 -vt 0.297 0.406 -vt 0.547 0.344 -vt 0.547 0.359 -vt 0.297 0.359 -vt 0.297 0.344 -vt 0.297 0.391 -vt 0.297 0.375 -vt 0.547 0.375 -vt 0.547 0.391 -vt 0.547 0.406 -vt 0.297 0.406 -vt 0.693 0.655 -vt 0.688 0.656 -vt 0.682 0.655 -vt 0.676 0.652 -vt 0.673 0.647 -vt 0.672 0.641 -vt 0.673 0.635 -vt 0.676 0.63 -vt 0.682 0.626 -vt 0.688 0.625 -vt 0.693 0.626 -vt 0.699 0.63 -vt 0.702 0.635 -vt 0.703 0.641 -vt 0.702 0.647 -vt 0.699 0.652 -vt 0.734 0.656 -vt 0.74 0.655 -vt 0.745 0.652 -vt 0.749 0.647 -vt 0.75 0.641 -vt 0.749 0.635 -vt 0.745 0.63 -vt 0.74 0.626 -vt 0.734 0.625 -vt 0.728 0.626 -vt 0.723 0.63 -vt 0.72 0.635 -vt 0.719 0.641 -vt 0.72 0.647 -vt 0.723 0.652 -vt 0.728 0.655 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.395 0.394 -vt 0.418 0.394 -vt 0.418 0.418 -vt 0.395 0.418 -vt 0.391 0.328 -vt 0.391 0.387 -vt 0.359 0.387 -vt 0.359 0.328 -vt 0.328 0.328 -vt 0.328 0.387 -vt 0.297 0.387 -vt 0.297 0.328 -vt 0.328 0.297 -vt 0.359 0.297 -vt 0.422 0.328 -vt 0.422 0.387 -vt 0.422 0.391 -vt 0.422 0.422 -vt 0.391 0.422 -vt 0.391 0.391 -vt 0.395 0.394 -vt 0.418 0.394 -vt 0.418 0.418 -vt 0.395 0.418 -vt 0.391 0.328 -vt 0.391 0.387 -vt 0.359 0.387 -vt 0.359 0.328 -vt 0.328 0.328 -vt 0.328 0.387 -vt 0.297 0.387 -vt 0.297 0.328 -vt 0.328 0.297 -vt 0.359 0.297 -vt 0.422 0.328 -vt 0.422 0.387 -vt 0.422 0.391 -vt 0.422 0.422 -vt 0.391 0.422 -vt 0.391 0.391 -vt 0.395 0.394 -vt 0.418 0.394 -vt 0.418 0.418 -vt 0.395 0.418 -vt 0.391 0.328 -vt 0.391 0.387 -vt 0.359 0.387 -vt 0.359 0.328 -vt 0.328 0.328 -vt 0.328 0.387 -vt 0.297 0.387 -vt 0.297 0.328 -vt 0.328 0.297 -vt 0.359 0.297 -vt 0.422 0.328 -vt 0.422 0.387 -vt 0.422 0.391 -vt 0.422 0.422 -vt 0.391 0.422 -vt 0.391 0.391 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.5 0.301 -vt 0.5 0.344 -vt 0.469 0.344 -vt 0.469 0.301 -vt 0.456 0.291 -vt 0.462 0.292 -vt 0.467 0.296 -vt 0.438 0.344 -vt 0.438 0.301 -vt 0.438 0.296 -vt 0.44 0.286 -vt 0.45 0.291 -vt 0.406 0.344 -vt 0.406 0.301 -vt 0.5 0.375 -vt 0.469 0.375 -vt 0.393 0.291 -vt 0.404 0.286 -vt 0.406 0.296 -vt 0.406 0.301 -vt 0.375 0.344 -vt 0.375 0.301 -vt 0.377 0.296 -vt 0.381 0.292 -vt 0.388 0.291 -vt 0.469 0.296 -vt 0.5 0.296 -vt 0.469 0.291 -vt 0.5 0.291 -vt 0.406 0.258 -vt 0.438 0.258 -vt 0.438 0.267 -vt 0.406 0.267 -vt 0.406 0.274 -vt 0.438 0.274 -vt 0.806 0.557 -vt 0.785 0.569 -vt 0.765 0.557 -vt 0.765 0.533 -vt 0.785 0.521 -vt 0.806 0.533 -vt 0.806 0.557 -vt 0.806 0.533 -vt 0.785 0.521 -vt 0.765 0.533 -vt 0.765 0.557 -vt 0.785 0.569 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.25 0.781 -vt 0.248 0.793 -vt 0.241 0.803 -vt 0.231 0.81 -vt 0.219 0.813 -vt 0.207 0.81 -vt 0.197 0.803 -vt 0.19 0.793 -vt 0.188 0.781 -vt 0.19 0.769 -vt 0.197 0.759 -vt 0.207 0.752 -vt 0.219 0.75 -vt 0.231 0.752 -vt 0.241 0.759 -vt 0.248 0.769 -vt 0.248 0.793 -vt 0.25 0.781 -vt 0.248 0.769 -vt 0.241 0.759 -vt 0.231 0.752 -vt 0.219 0.75 -vt 0.207 0.752 -vt 0.197 0.759 -vt 0.19 0.769 -vt 0.188 0.781 -vt 0.19 0.793 -vt 0.197 0.803 -vt 0.207 0.81 -vt 0.219 0.813 -vt 0.231 0.81 -vt 0.241 0.803 -vt 0.141 0.953 -vt 0.141 0.969 -vt 0.078 0.969 -vt 0.078 0.953 -vt 0.016 0.969 -vt 0.016 0.953 -vt 0.266 0.953 -vt 0.266 0.969 -vt 0.203 0.969 -vt 0.203 0.953 -vt 0.859 0.984 -vt 0.938 0.984 -vt 0.938 0.906 -vt 0.859 0.906 -vt 0.938 0.859 -vt 0.859 0.859 -vt 0.859 0.781 -vt 0.938 0.781 -vt 0.203 0.922 -vt 0.203 0.938 -vt 0.141 0.938 -vt 0.141 0.922 -vt 0.266 0.922 -vt 0.266 0.938 -vt 0.078 0.922 -vt 0.078 0.938 -vt 0.016 0.938 -vt 0.016 0.922 -vt 0.172 0.547 -vt 0.172 0.625 -vt 0.094 0.625 -vt 0.094 0.547 -vt 0.094 0.625 -vt 0.094 0.703 -vt 0.016 0.703 -vt 0.016 0.625 -vt 0.172 0.625 -vt 0.172 0.703 -vt 0.016 0.625 -vt 0.016 0.547 -vt 0.123 0.918 -vt 0.125 0.906 -vt 0.123 0.894 -vt 0.116 0.884 -vt 0.106 0.877 -vt 0.094 0.875 -vt 0.082 0.877 -vt 0.072 0.884 -vt 0.065 0.894 -vt 0.063 0.906 -vt 0.065 0.918 -vt 0.072 0.928 -vt 0.082 0.935 -vt 0.094 0.938 -vt 0.106 0.935 -vt 0.116 0.928 -vt 0.756 0.546 -vt 0.75 0.547 -vt 0.744 0.546 -vt 0.739 0.542 -vt 0.736 0.537 -vt 0.734 0.531 -vt 0.736 0.525 -vt 0.739 0.52 -vt 0.744 0.517 -vt 0.75 0.516 -vt 0.756 0.517 -vt 0.761 0.52 -vt 0.764 0.525 -vt 0.766 0.531 -vt 0.764 0.537 -vt 0.761 0.542 -vt 0.75 0.547 -vt 0.756 0.546 -vt 0.761 0.542 -vt 0.764 0.537 -vt 0.766 0.531 -vt 0.764 0.525 -vt 0.761 0.52 -vt 0.756 0.517 -vt 0.75 0.516 -vt 0.744 0.517 -vt 0.739 0.52 -vt 0.736 0.525 -vt 0.734 0.531 -vt 0.736 0.537 -vt 0.739 0.542 -vt 0.744 0.546 -vt 0.141 0.953 -vt 0.141 0.969 -vt 0.078 0.969 -vt 0.078 0.953 -vt 0.016 0.969 -vt 0.016 0.953 -vt 0.266 0.953 -vt 0.266 0.969 -vt 0.203 0.969 -vt 0.203 0.953 -vt 0.859 0.984 -vt 0.938 0.984 -vt 0.938 0.906 -vt 0.859 0.906 -vt 0.938 0.859 -vt 0.859 0.859 -vt 0.859 0.781 -vt 0.938 0.781 -vt 0.203 0.922 -vt 0.203 0.938 -vt 0.141 0.938 -vt 0.141 0.922 -vt 0.266 0.922 -vt 0.266 0.938 -vt 0.078 0.922 -vt 0.078 0.938 -vt 0.016 0.938 -vt 0.016 0.922 -vt 0.172 0.547 -vt 0.172 0.625 -vt 0.094 0.625 -vt 0.094 0.547 -vt 0.094 0.625 -vt 0.094 0.703 -vt 0.016 0.703 -vt 0.016 0.625 -vt 0.172 0.625 -vt 0.172 0.703 -vt 0.016 0.625 -vt 0.016 0.547 -vt 0.693 0.655 -vt 0.688 0.656 -vt 0.682 0.655 -vt 0.676 0.652 -vt 0.673 0.647 -vt 0.672 0.641 -vt 0.673 0.635 -vt 0.676 0.63 -vt 0.682 0.626 -vt 0.688 0.625 -vt 0.693 0.626 -vt 0.699 0.63 -vt 0.702 0.635 -vt 0.703 0.641 -vt 0.702 0.647 -vt 0.699 0.652 -vt 0.734 0.656 -vt 0.74 0.655 -vt 0.745 0.652 -vt 0.749 0.647 -vt 0.75 0.641 -vt 0.749 0.635 -vt 0.745 0.63 -vt 0.74 0.626 -vt 0.734 0.625 -vt 0.728 0.626 -vt 0.723 0.63 -vt 0.72 0.635 -vt 0.719 0.641 -vt 0.72 0.647 -vt 0.723 0.652 -vt 0.728 0.655 -vt 0.141 0.953 -vt 0.141 0.969 -vt 0.078 0.969 -vt 0.078 0.953 -vt 0.016 0.969 -vt 0.016 0.953 -vt 0.266 0.953 -vt 0.266 0.969 -vt 0.203 0.969 -vt 0.203 0.953 -vt 0.859 0.984 -vt 0.938 0.984 -vt 0.938 0.906 -vt 0.859 0.906 -vt 0.938 0.859 -vt 0.859 0.859 -vt 0.859 0.781 -vt 0.938 0.781 -vt 0.203 0.922 -vt 0.203 0.938 -vt 0.141 0.938 -vt 0.141 0.922 -vt 0.266 0.922 -vt 0.266 0.938 -vt 0.078 0.922 -vt 0.078 0.938 -vt 0.016 0.938 -vt 0.016 0.922 -vt 0.172 0.547 -vt 0.172 0.625 -vt 0.094 0.625 -vt 0.094 0.547 -vt 0.094 0.625 -vt 0.094 0.703 -vt 0.016 0.703 -vt 0.016 0.625 -vt 0.172 0.625 -vt 0.172 0.703 -vt 0.016 0.625 -vt 0.016 0.547 -vt 0.123 0.918 -vt 0.125 0.906 -vt 0.123 0.894 -vt 0.116 0.884 -vt 0.106 0.877 -vt 0.094 0.875 -vt 0.082 0.877 -vt 0.072 0.884 -vt 0.065 0.894 -vt 0.063 0.906 -vt 0.065 0.918 -vt 0.072 0.928 -vt 0.082 0.935 -vt 0.094 0.938 -vt 0.106 0.935 -vt 0.116 0.928 -vt 0.756 0.546 -vt 0.75 0.547 -vt 0.744 0.546 -vt 0.739 0.542 -vt 0.736 0.537 -vt 0.734 0.531 -vt 0.736 0.525 -vt 0.739 0.52 -vt 0.744 0.517 -vt 0.75 0.516 -vt 0.756 0.517 -vt 0.761 0.52 -vt 0.764 0.525 -vt 0.766 0.531 -vt 0.764 0.537 -vt 0.761 0.542 -vt 0.75 0.547 -vt 0.756 0.546 -vt 0.761 0.542 -vt 0.764 0.537 -vt 0.766 0.531 -vt 0.764 0.525 -vt 0.761 0.52 -vt 0.756 0.517 -vt 0.75 0.516 -vt 0.744 0.517 -vt 0.739 0.52 -vt 0.736 0.525 -vt 0.734 0.531 -vt 0.736 0.537 -vt 0.739 0.542 -vt 0.744 0.546 -vt 0.813 0.563 -vt 0.813 0.625 -vt 0.797 0.625 -vt 0.797 0.563 -vt 0.781 0.625 -vt 0.781 0.563 -vt 0.766 0.625 -vt 0.766 0.563 -vt 0.75 0.625 -vt 0.75 0.563 -vt 0.734 0.625 -vt 0.734 0.563 -vt 0.719 0.625 -vt 0.719 0.563 -vt 0.703 0.625 -vt 0.703 0.563 -vt 0.688 0.625 -vt 0.688 0.563 -vt 0.672 0.625 -vt 0.672 0.563 -vt 0.656 0.625 -vt 0.656 0.563 -vt 0.641 0.625 -vt 0.641 0.563 -vt 0.625 0.625 -vt 0.625 0.563 -vt 0.609 0.625 -vt 0.609 0.563 -vt 0.594 0.625 -vt 0.594 0.563 -vt 0.578 0.625 -vt 0.578 0.563 -vt 0.828 0.563 -vt 0.828 0.625 -vt 0.875 0.719 -vt 0.875 0.672 -vt 0.891 0.672 -vt 0.891 0.719 -vt 0.906 0.672 -vt 0.906 0.719 -vt 0.922 0.672 -vt 0.922 0.719 -vt 0.938 0.672 -vt 0.938 0.719 -vt 0.953 0.672 -vt 0.953 0.719 -vt 0.969 0.672 -vt 0.969 0.719 -vt 0.984 0.672 -vt 0.984 0.719 -vt 0.859 0.672 -vt 0.859 0.625 -vt 0.875 0.625 -vt 0.875 0.672 -vt 0.891 0.625 -vt 0.891 0.672 -vt 0.906 0.625 -vt 0.906 0.672 -vt 0.922 0.625 -vt 0.922 0.672 -vt 0.938 0.625 -vt 0.938 0.672 -vt 0.953 0.625 -vt 0.953 0.672 -vt 0.969 0.625 -vt 0.969 0.672 -vt 0.984 0.625 -vt 0.984 0.672 -vt 0.859 0.719 -vt 0.859 0.672 -vt 0.891 0.628 -vt 0.898 0.626 -vt 0.904 0.622 -vt 0.907 0.616 -vt 0.909 0.609 -vt 0.907 0.603 -vt 0.904 0.597 -vt 0.898 0.593 -vt 0.891 0.591 -vt 0.884 0.593 -vt 0.878 0.597 -vt 0.874 0.603 -vt 0.873 0.609 -vt 0.874 0.616 -vt 0.878 0.622 -vt 0.884 0.626 -vt 0.641 0.703 -vt 0.641 0.453 -vt 0.656 0.453 -vt 0.656 0.703 -vt 0.672 0.453 -vt 0.672 0.703 -vt 0.688 0.453 -vt 0.688 0.703 -vt 0.703 0.453 -vt 0.703 0.703 -vt 0.719 0.453 -vt 0.719 0.703 -vt 0.734 0.453 -vt 0.734 0.703 -vt 0.75 0.453 -vt 0.75 0.703 -vt 0.766 0.453 -vt 0.766 0.703 -vt 0.781 0.453 -vt 0.781 0.703 -vt 0.797 0.453 -vt 0.797 0.703 -vt 0.813 0.453 -vt 0.813 0.703 -vt 0.828 0.453 -vt 0.828 0.703 -vt 0.578 0.703 -vt 0.578 0.453 -vt 0.594 0.453 -vt 0.594 0.703 -vt 0.609 0.453 -vt 0.609 0.703 -vt 0.625 0.453 -vt 0.625 0.703 -vt 0.641 0.703 -vt 0.641 0.453 -vt 0.656 0.453 -vt 0.656 0.703 -vt 0.672 0.453 -vt 0.672 0.703 -vt 0.688 0.453 -vt 0.688 0.703 -vt 0.703 0.453 -vt 0.703 0.703 -vt 0.719 0.453 -vt 0.719 0.703 -vt 0.734 0.453 -vt 0.734 0.703 -vt 0.75 0.453 -vt 0.75 0.703 -vt 0.766 0.453 -vt 0.766 0.703 -vt 0.781 0.453 -vt 0.781 0.703 -vt 0.797 0.453 -vt 0.797 0.703 -vt 0.813 0.453 -vt 0.813 0.703 -vt 0.828 0.453 -vt 0.828 0.703 -vt 0.578 0.703 -vt 0.578 0.453 -vt 0.594 0.453 -vt 0.594 0.703 -vt 0.609 0.453 -vt 0.609 0.703 -vt 0.625 0.453 -vt 0.625 0.703 -vt 0.641 0.703 -vt 0.656 0.703 -vt 0.656 0.453 -vt 0.641 0.453 -vt 0.672 0.703 -vt 0.672 0.453 -vt 0.688 0.703 -vt 0.688 0.453 -vt 0.703 0.703 -vt 0.703 0.453 -vt 0.719 0.703 -vt 0.719 0.453 -vt 0.734 0.703 -vt 0.734 0.453 -vt 0.75 0.703 -vt 0.75 0.453 -vt 0.766 0.703 -vt 0.766 0.453 -vt 0.781 0.703 -vt 0.781 0.453 -vt 0.797 0.703 -vt 0.797 0.453 -vt 0.813 0.703 -vt 0.813 0.453 -vt 0.828 0.703 -vt 0.828 0.453 -vt 0.578 0.703 -vt 0.594 0.703 -vt 0.594 0.453 -vt 0.578 0.453 -vt 0.609 0.703 -vt 0.609 0.453 -vt 0.625 0.703 -vt 0.625 0.453 -vt 0.813 0.672 -vt 0.811 0.666 -vt 0.808 0.661 -vt 0.803 0.657 -vt 0.797 0.656 -vt 0.791 0.657 -vt 0.786 0.661 -vt 0.782 0.666 -vt 0.781 0.672 -vt 0.782 0.678 -vt 0.786 0.683 -vt 0.791 0.686 -vt 0.797 0.688 -vt 0.803 0.686 -vt 0.808 0.683 -vt 0.811 0.678 -vt 0.641 0.703 -vt 0.656 0.703 -vt 0.656 0.453 -vt 0.641 0.453 -vt 0.672 0.703 -vt 0.672 0.453 -vt 0.688 0.703 -vt 0.688 0.453 -vt 0.703 0.703 -vt 0.703 0.453 -vt 0.719 0.703 -vt 0.719 0.453 -vt 0.734 0.703 -vt 0.734 0.453 -vt 0.75 0.703 -vt 0.75 0.453 -vt 0.766 0.703 -vt 0.766 0.453 -vt 0.781 0.703 -vt 0.781 0.453 -vt 0.797 0.703 -vt 0.797 0.453 -vt 0.813 0.703 -vt 0.813 0.453 -vt 0.828 0.703 -vt 0.828 0.453 -vt 0.578 0.703 -vt 0.594 0.703 -vt 0.594 0.453 -vt 0.578 0.453 -vt 0.609 0.703 -vt 0.609 0.453 -vt 0.625 0.703 -vt 0.625 0.453 -vt 0.813 0.672 -vt 0.811 0.666 -vt 0.808 0.661 -vt 0.803 0.657 -vt 0.797 0.656 -vt 0.791 0.657 -vt 0.786 0.661 -vt 0.782 0.666 -vt 0.781 0.672 -vt 0.782 0.678 -vt 0.786 0.683 -vt 0.791 0.686 -vt 0.797 0.688 -vt 0.803 0.686 -vt 0.808 0.683 -vt 0.811 0.678 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.422 0.219 -vt 0.313 0.234 -vt 0.406 0.234 -vt 0.406 0.25 -vt 0.313 0.25 -vt 0.406 0.266 -vt 0.313 0.266 -vt 0.406 0.281 -vt 0.313 0.281 -vt 0.406 0.297 -vt 0.313 0.297 -vt 0.406 0.313 -vt 0.313 0.313 -vt 0.406 0.328 -vt 0.313 0.328 -vt 0.406 0.344 -vt 0.313 0.344 -vt 0.406 0.359 -vt 0.313 0.359 -vt 0.406 0.375 -vt 0.313 0.375 -vt 0.406 0.391 -vt 0.313 0.391 -vt 0.406 0.406 -vt 0.313 0.406 -vt 0.406 0.422 -vt 0.313 0.422 -vt 0.438 0.172 -vt 0.531 0.172 -vt 0.531 0.188 -vt 0.438 0.188 -vt 0.531 0.203 -vt 0.438 0.203 -vt 0.531 0.219 -vt 0.438 0.219 -vt 0.531 0.234 -vt 0.438 0.234 -vt 0.531 0.25 -vt 0.438 0.25 -vt 0.531 0.266 -vt 0.438 0.266 -vt 0.531 0.281 -vt 0.438 0.281 -vt 0.531 0.297 -vt 0.438 0.297 -vt 0.531 0.313 -vt 0.438 0.313 -vt 0.531 0.328 -vt 0.438 0.328 -vt 0.531 0.344 -vt 0.438 0.344 -vt 0.531 0.359 -vt 0.438 0.359 -vt 0.531 0.375 -vt 0.438 0.375 -vt 0.531 0.391 -vt 0.438 0.391 -vt 0.531 0.406 -vt 0.438 0.406 -vt 0.531 0.422 -vt 0.438 0.422 -vt 0.313 0.172 -vt 0.406 0.172 -vt 0.406 0.188 -vt 0.313 0.188 -vt 0.406 0.203 -vt 0.313 0.203 -vt 0.406 0.219 -vt 0.313 0.219 -vt 0.047 0.906 -vt 0.047 0.922 -vt 0.031 0.922 -vt 0.031 0.906 -vt 0.047 0.766 -vt 0.047 0.781 -vt 0.031 0.781 -vt 0.031 0.766 -vt 0.047 0.938 -vt 0.031 0.938 -vt 0.047 0.844 -vt 0.047 0.859 -vt 0.031 0.859 -vt 0.031 0.844 -vt 0.047 0.875 -vt 0.031 0.875 -vt 0.047 0.797 -vt 0.031 0.797 -vt 0.047 0.953 -vt 0.031 0.953 -vt 0.047 0.813 -vt 0.031 0.813 -vt 0.047 0.969 -vt 0.031 0.969 -vt 0.047 0.891 -vt 0.031 0.891 -vt 0.047 0.734 -vt 0.047 0.75 -vt 0.031 0.75 -vt 0.031 0.734 -vt 0.047 0.828 -vt 0.031 0.828 -vt 0.047 0.984 -vt 0.031 0.984 -vt 0.016 0.859 -vt 0.016 0.844 -vt 0.016 0.75 -vt 0.016 0.734 -vt 0.016 0.984 -vt 0.016 0.969 -vt 0.016 0.875 -vt 0.016 0.766 -vt 0.016 0.891 -vt 0.016 0.781 -vt 0.016 0.906 -vt 0.016 0.797 -vt 0.016 0.922 -vt 0.016 0.813 -vt 0.016 0.938 -vt 0.016 0.828 -vt 0.016 0.953 -vt 0.234 0.906 -vt 0.25 0.906 -vt 0.25 0.922 -vt 0.234 0.922 -vt 0.234 0.766 -vt 0.25 0.766 -vt 0.25 0.781 -vt 0.234 0.781 -vt 0.25 0.938 -vt 0.234 0.938 -vt 0.234 0.844 -vt 0.25 0.844 -vt 0.25 0.859 -vt 0.234 0.859 -vt 0.25 0.875 -vt 0.234 0.875 -vt 0.25 0.797 -vt 0.234 0.797 -vt 0.25 0.953 -vt 0.234 0.953 -vt 0.25 0.813 -vt 0.234 0.813 -vt 0.25 0.969 -vt 0.234 0.969 -vt 0.25 0.891 -vt 0.234 0.891 -vt 0.234 0.734 -vt 0.25 0.734 -vt 0.25 0.75 -vt 0.234 0.75 -vt 0.25 0.828 -vt 0.234 0.828 -vt 0.25 0.984 -vt 0.234 0.984 -vt 0.266 0.844 -vt 0.266 0.859 -vt 0.266 0.734 -vt 0.266 0.75 -vt 0.266 0.969 -vt 0.266 0.984 -vt 0.266 0.875 -vt 0.266 0.766 -vt 0.266 0.891 -vt 0.266 0.781 -vt 0.266 0.906 -vt 0.266 0.797 -vt 0.266 0.922 -vt 0.266 0.813 -vt 0.266 0.938 -vt 0.266 0.828 -vt 0.266 0.953 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.641 0.703 -vt 0.641 0.453 -vt 0.656 0.453 -vt 0.656 0.703 -vt 0.672 0.453 -vt 0.672 0.703 -vt 0.688 0.453 -vt 0.688 0.703 -vt 0.703 0.453 -vt 0.703 0.703 -vt 0.719 0.453 -vt 0.719 0.703 -vt 0.734 0.453 -vt 0.734 0.703 -vt 0.75 0.453 -vt 0.75 0.703 -vt 0.766 0.453 -vt 0.766 0.703 -vt 0.781 0.453 -vt 0.781 0.703 -vt 0.797 0.453 -vt 0.797 0.703 -vt 0.813 0.453 -vt 0.813 0.703 -vt 0.828 0.453 -vt 0.828 0.703 -vt 0.578 0.703 -vt 0.578 0.453 -vt 0.594 0.453 -vt 0.594 0.703 -vt 0.609 0.453 -vt 0.609 0.703 -vt 0.811 0.631 -vt 0.813 0.625 -vt 0.811 0.619 -vt 0.808 0.614 -vt 0.803 0.611 -vt 0.797 0.609 -vt 0.791 0.611 -vt 0.786 0.614 -vt 0.782 0.619 -vt 0.781 0.625 -vt 0.782 0.631 -vt 0.786 0.636 -vt 0.791 0.639 -vt 0.797 0.641 -vt 0.803 0.639 -vt 0.808 0.636 -vt 0.625 0.453 -vt 0.625 0.703 -vt 0.813 0.672 -vt 0.811 0.678 -vt 0.808 0.683 -vt 0.803 0.686 -vt 0.797 0.688 -vt 0.791 0.686 -vt 0.786 0.683 -vt 0.782 0.678 -vt 0.781 0.672 -vt 0.782 0.666 -vt 0.786 0.661 -vt 0.791 0.657 -vt 0.797 0.656 -vt 0.803 0.657 -vt 0.808 0.661 -vt 0.811 0.666 -vt 0.156 0.419 -vt 0.156 0.391 -vt 0.172 0.391 -vt 0.172 0.419 -vt 0.172 0.391 -vt 0.156 0.391 -vt 0.156 0.419 -vt 0.172 0.419 -vt 0.028 0.266 -vt 0.025 0.266 -vt 0.025 0.281 -vt 0.028 0.281 -vt 0.156 0.298 -vt 0.156 0.3 -vt 0.172 0.3 -vt 0.172 0.298 -vt 0.025 0.266 -vt 0.025 0.281 -vt 0.022 0.281 -vt 0.022 0.266 -vt 0.022 0.281 -vt 0.022 0.266 -vt 0.156 0.298 -vt 0.156 0.299 -vt 0.172 0.299 -vt 0.172 0.298 -vt 0.138 0.266 -vt 0.134 0.266 -vt 0.134 0.281 -vt 0.138 0.281 -vt 0.172 0.421 -vt 0.156 0.421 -vt 0.156 0.42 -vt 0.172 0.42 -vt 0.156 0.421 -vt 0.172 0.421 -vt 0.172 0.42 -vt 0.156 0.42 -vt 0.028 0.266 -vt 0.028 0.281 -vt 0.156 0.299 -vt 0.172 0.299 -vt 0.128 0.281 -vt 0.128 0.266 -vt 0.131 0.266 -vt 0.131 0.281 -vt 0.019 0.266 -vt 0.019 0.281 -vt 0.156 0.42 -vt 0.172 0.42 -vt 0.128 0.266 -vt 0.125 0.266 -vt 0.125 0.281 -vt 0.128 0.281 -vt 0.156 0.298 -vt 0.172 0.298 -vt 0.131 0.281 -vt 0.131 0.266 -vt 0.031 0.266 -vt 0.031 0.281 -vt 0.156 0.42 -vt 0.172 0.42 -vt 0.019 0.281 -vt 0.019 0.266 -vt 0.134 0.281 -vt 0.134 0.266 -vt 0.138 0.266 -vt 0.138 0.281 -vt 0.172 0.328 -vt 0.156 0.328 -vt 0.156 0.298 -vt 0.156 0.297 -vt 0.172 0.297 -vt 0.172 0.298 -vt 0.156 0.328 -vt 0.156 0.3 -vt 0.172 0.3 -vt 0.172 0.328 -vt 0.156 0.297 -vt 0.172 0.297 -vt 0.016 0.266 -vt 0.016 0.281 -vt 0.016 0.281 -vt 0.016 0.266 -vt 0.141 0.266 -vt 0.141 0.281 -vt 0.156 0.422 -vt 0.172 0.422 -vt 0.375 0.301 -vt 0.406 0.301 -vt 0.406 0.308 -vt 0.375 0.308 -vt 0.375 0.27 -vt 0.406 0.27 -vt 0.406 0.277 -vt 0.375 0.277 -vt 0.375 0.314 -vt 0.406 0.314 -vt 0.406 0.328 -vt 0.375 0.328 -vt 0.375 0.285 -vt 0.406 0.285 -vt 0.406 0.293 -vt 0.375 0.293 -vt 0.375 0.25 -vt 0.406 0.25 -vt 0.406 0.264 -vt 0.375 0.264 -vt 0.375 0.301 -vt 0.406 0.301 -vt 0.406 0.308 -vt 0.375 0.308 -vt 0.375 0.27 -vt 0.406 0.27 -vt 0.406 0.277 -vt 0.375 0.277 -vt 0.375 0.314 -vt 0.406 0.314 -vt 0.406 0.328 -vt 0.375 0.328 -vt 0.375 0.285 -vt 0.406 0.285 -vt 0.406 0.293 -vt 0.375 0.293 -vt 0.375 0.25 -vt 0.406 0.25 -vt 0.406 0.264 -vt 0.375 0.264 -vt 0.375 0.301 -vt 0.406 0.301 -vt 0.406 0.308 -vt 0.375 0.308 -vt 0.375 0.27 -vt 0.406 0.27 -vt 0.406 0.277 -vt 0.375 0.277 -vt 0.375 0.314 -vt 0.406 0.314 -vt 0.406 0.328 -vt 0.375 0.328 -vt 0.375 0.285 -vt 0.406 0.285 -vt 0.406 0.293 -vt 0.375 0.293 -vt 0.375 0.25 -vt 0.406 0.25 -vt 0.406 0.264 -vt 0.375 0.264 -vt 0.375 0.301 -vt 0.406 0.301 -vt 0.406 0.308 -vt 0.375 0.308 -vt 0.375 0.27 -vt 0.406 0.27 -vt 0.406 0.277 -vt 0.375 0.277 -vt 0.375 0.314 -vt 0.406 0.314 -vt 0.406 0.328 -vt 0.375 0.328 -vt 0.375 0.285 -vt 0.406 0.285 -vt 0.406 0.293 -vt 0.375 0.293 -vt 0.375 0.25 -vt 0.406 0.25 -vt 0.406 0.264 -vt 0.375 0.264 -vt 0.641 0.703 -vt 0.641 0.453 -vt 0.656 0.453 -vt 0.656 0.703 -vt 0.672 0.453 -vt 0.672 0.703 -vt 0.688 0.453 -vt 0.688 0.703 -vt 0.703 0.453 -vt 0.703 0.703 -vt 0.719 0.453 -vt 0.719 0.703 -vt 0.734 0.453 -vt 0.734 0.703 -vt 0.75 0.453 -vt 0.75 0.703 -vt 0.766 0.453 -vt 0.766 0.703 -vt 0.781 0.453 -vt 0.781 0.703 -vt 0.797 0.453 -vt 0.797 0.703 -vt 0.813 0.453 -vt 0.813 0.703 -vt 0.828 0.453 -vt 0.828 0.703 -vt 0.578 0.703 -vt 0.578 0.453 -vt 0.594 0.453 -vt 0.594 0.703 -vt 0.609 0.453 -vt 0.609 0.703 -vt 0.811 0.631 -vt 0.813 0.625 -vt 0.811 0.619 -vt 0.808 0.614 -vt 0.803 0.611 -vt 0.797 0.609 -vt 0.791 0.611 -vt 0.786 0.614 -vt 0.782 0.619 -vt 0.781 0.625 -vt 0.782 0.631 -vt 0.786 0.636 -vt 0.791 0.639 -vt 0.797 0.641 -vt 0.803 0.639 -vt 0.808 0.636 -vt 0.625 0.453 -vt 0.625 0.703 -vt 0.813 0.672 -vt 0.811 0.678 -vt 0.808 0.683 -vt 0.803 0.686 -vt 0.797 0.688 -vt 0.791 0.686 -vt 0.786 0.683 -vt 0.782 0.678 -vt 0.781 0.672 -vt 0.782 0.666 -vt 0.786 0.661 -vt 0.791 0.657 -vt 0.797 0.656 -vt 0.803 0.657 -vt 0.808 0.661 -vt 0.811 0.666 -vt 0 0.109 -vt 2 0.109 -vt 2 0.125 -vt 0 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.016 -vt 2 0.016 -vt 2 0.031 -vt 0 0.031 -vt 2 0.047 -vt 0 0.047 -vt 2 0.063 -vt 0 0.063 -vt 2 0.078 -vt 0 0.078 -vt 2 0.094 -vt 0 0.094 -vt 2 0.109 -vt 0 0.109 -vt 2 0.125 -vt 0 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.016 -vt 2 0.016 -vt 2 0.031 -vt 0 0.031 -vt 2 0.047 -vt 0 0.047 -vt 2 0.063 -vt 0 0.063 -vt 2 0.078 -vt 0 0.078 -vt 2 0.094 -vt 0 0.094 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.734 0.594 -vt 0.734 0.563 -vt 0.719 0.594 -vt 0.719 0.563 -vt 0.703 0.594 -vt 0.703 0.563 -vt 0.688 0.594 -vt 0.688 0.563 -vt 0.672 0.594 -vt 0.672 0.563 -vt 0.656 0.594 -vt 0.656 0.563 -vt 0.641 0.594 -vt 0.641 0.563 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0.594 0.594 -vt 0.594 0.563 -vt 0.609 0.563 -vt 0.609 0.594 -vt 0.625 0.563 -vt 0.625 0.594 -vt 0.641 0.563 -vt 0.641 0.594 -vt 0.656 0.563 -vt 0.656 0.594 -vt 0.672 0.563 -vt 0.672 0.594 -vt 0.688 0.563 -vt 0.688 0.594 -vt 0.703 0.563 -vt 0.703 0.594 -vt 0.719 0.563 -vt 0.719 0.594 -vt 0.734 0.563 -vt 0.734 0.594 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0.781 0.563 -vt 0.781 0.594 -vt 0.797 0.563 -vt 0.797 0.594 -vt 0.813 0.563 -vt 0.813 0.594 -vt 0.828 0.563 -vt 0.828 0.594 -vt 0.578 0.703 -vt 0.578 0.688 -vt 0.594 0.688 -vt 0.594 0.703 -vt 0.578 0.672 -vt 0.594 0.672 -vt 0.813 0.609 -vt 0.828 0.609 -vt 0.828 0.672 -vt 0.813 0.672 -vt 0.578 0.609 -vt 0.578 0.594 -vt 0.594 0.609 -vt 0.813 0.703 -vt 0.813 0.688 -vt 0.828 0.688 -vt 0.828 0.703 -vt 0.797 0.609 -vt 0.797 0.672 -vt 0.797 0.703 -vt 0.797 0.688 -vt 0.781 0.609 -vt 0.781 0.672 -vt 0.781 0.703 -vt 0.781 0.688 -vt 0.766 0.609 -vt 0.766 0.672 -vt 0.766 0.703 -vt 0.766 0.688 -vt 0.75 0.609 -vt 0.75 0.672 -vt 0.75 0.703 -vt 0.75 0.688 -vt 0.734 0.609 -vt 0.734 0.672 -vt 0.734 0.703 -vt 0.734 0.688 -vt 0.719 0.609 -vt 0.719 0.672 -vt 0.719 0.703 -vt 0.719 0.688 -vt 0.703 0.609 -vt 0.703 0.672 -vt 0.703 0.703 -vt 0.703 0.688 -vt 0.688 0.609 -vt 0.688 0.672 -vt 0.688 0.703 -vt 0.688 0.688 -vt 0.672 0.609 -vt 0.672 0.672 -vt 0.672 0.703 -vt 0.672 0.688 -vt 0.656 0.609 -vt 0.656 0.672 -vt 0.656 0.703 -vt 0.656 0.688 -vt 0.641 0.609 -vt 0.641 0.672 -vt 0.641 0.703 -vt 0.641 0.688 -vt 0.625 0.609 -vt 0.625 0.672 -vt 0.625 0.703 -vt 0.625 0.688 -vt 0.609 0.609 -vt 0.609 0.672 -vt 0.609 0.703 -vt 0.609 0.688 -vt 0.578 0.563 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 1 0.141 -vt 0 0.141 -vt 0 0.125 -vt 1 0.125 -vt 0 0.109 -vt 1 0.109 -vt 0 0.094 -vt 1 0.094 -vt 0 0.078 -vt 1 0.078 -vt 0 0.063 -vt 1 0.063 -vt 0 0.047 -vt 1 0.047 -vt 0 0.031 -vt 1 0.031 -vt 0 0.016 -vt 1 0.016 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 0.656 0.594 -vt 0.656 0.625 -vt 0.625 0.625 -vt 0.625 0.594 -vt 0.813 0.594 -vt 0.813 0.625 -vt 0.781 0.625 -vt 0.781 0.594 -vt 0.75 0.625 -vt 0.75 0.594 -vt 0.719 0.625 -vt 0.719 0.594 -vt 0.688 0.625 -vt 0.688 0.594 -vt 2 0.141 -vt 0 0.141 -vt 0 0.125 -vt 2 0.125 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 2 0.141 -vt 0 0.141 -vt 0 0.125 -vt 2 0.125 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 2 0.141 -vt 0 0.141 -vt 0 0.125 -vt 2 0.125 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 2 0.141 -vt 0 0.141 -vt 0 0.125 -vt 2 0.125 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.734 0.594 -vt 0.734 0.563 -vt 0.719 0.594 -vt 0.719 0.563 -vt 0.703 0.594 -vt 0.703 0.563 -vt 0.688 0.594 -vt 0.688 0.563 -vt 0.672 0.594 -vt 0.672 0.563 -vt 0.656 0.594 -vt 0.656 0.563 -vt 0.641 0.594 -vt 0.641 0.563 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0 0.047 -vt 2 0.047 -vt 2 0.063 -vt 0 0.063 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 0 0.125 -vt 2 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 0 0.125 -vt 2 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0.813 0.563 -vt 0.813 0.609 -vt 0.797 0.609 -vt 0.797 0.563 -vt 0.781 0.609 -vt 0.781 0.563 -vt 0.766 0.609 -vt 0.766 0.563 -vt 0.75 0.609 -vt 0.75 0.563 -vt 0.734 0.609 -vt 0.734 0.563 -vt 0.719 0.609 -vt 0.719 0.563 -vt 0.703 0.609 -vt 0.703 0.563 -vt 0.688 0.609 -vt 0.688 0.563 -vt 0.672 0.609 -vt 0.672 0.563 -vt 0.656 0.609 -vt 0.656 0.563 -vt 0.641 0.609 -vt 0.641 0.563 -vt 0.625 0.609 -vt 0.625 0.563 -vt 0.609 0.609 -vt 0.609 0.563 -vt 0.594 0.609 -vt 0.594 0.563 -vt 0.578 0.609 -vt 0.578 0.563 -vt 0.828 0.563 -vt 0.828 0.609 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.734 0.594 -vt 0.734 0.563 -vt 0.719 0.594 -vt 0.719 0.563 -vt 0.703 0.594 -vt 0.703 0.563 -vt 0.688 0.594 -vt 0.688 0.563 -vt 0.672 0.594 -vt 0.672 0.563 -vt 0.656 0.594 -vt 0.656 0.563 -vt 0.641 0.594 -vt 0.641 0.563 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0.594 0.594 -vt 0.594 0.563 -vt 0.609 0.563 -vt 0.609 0.594 -vt 0.625 0.563 -vt 0.625 0.594 -vt 0.641 0.563 -vt 0.641 0.594 -vt 0.656 0.563 -vt 0.656 0.594 -vt 0.672 0.563 -vt 0.672 0.594 -vt 0.688 0.563 -vt 0.688 0.594 -vt 0.703 0.563 -vt 0.703 0.594 -vt 0.719 0.563 -vt 0.719 0.594 -vt 0.734 0.563 -vt 0.734 0.594 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0.781 0.563 -vt 0.781 0.594 -vt 0.797 0.563 -vt 0.797 0.594 -vt 0.813 0.563 -vt 0.813 0.594 -vt 0.828 0.563 -vt 0.828 0.594 -vt 0.578 0.703 -vt 0.578 0.688 -vt 0.594 0.688 -vt 0.594 0.703 -vt 0.578 0.672 -vt 0.594 0.672 -vt 0.813 0.609 -vt 0.828 0.609 -vt 0.828 0.672 -vt 0.813 0.672 -vt 0.578 0.609 -vt 0.578 0.594 -vt 0.594 0.609 -vt 0.813 0.703 -vt 0.813 0.688 -vt 0.828 0.688 -vt 0.828 0.703 -vt 0.797 0.609 -vt 0.797 0.672 -vt 0.797 0.703 -vt 0.797 0.688 -vt 0.781 0.609 -vt 0.781 0.672 -vt 0.781 0.703 -vt 0.781 0.688 -vt 0.766 0.609 -vt 0.766 0.672 -vt 0.766 0.703 -vt 0.766 0.688 -vt 0.75 0.609 -vt 0.75 0.672 -vt 0.75 0.703 -vt 0.75 0.688 -vt 0.734 0.609 -vt 0.734 0.672 -vt 0.734 0.703 -vt 0.734 0.688 -vt 0.719 0.609 -vt 0.719 0.672 -vt 0.719 0.703 -vt 0.719 0.688 -vt 0.703 0.609 -vt 0.703 0.672 -vt 0.703 0.703 -vt 0.703 0.688 -vt 0.688 0.609 -vt 0.688 0.672 -vt 0.688 0.703 -vt 0.688 0.688 -vt 0.672 0.609 -vt 0.672 0.672 -vt 0.672 0.703 -vt 0.672 0.688 -vt 0.656 0.609 -vt 0.656 0.672 -vt 0.656 0.703 -vt 0.656 0.688 -vt 0.641 0.609 -vt 0.641 0.672 -vt 0.641 0.703 -vt 0.641 0.688 -vt 0.625 0.609 -vt 0.625 0.672 -vt 0.625 0.703 -vt 0.625 0.688 -vt 0.609 0.609 -vt 0.609 0.672 -vt 0.609 0.703 -vt 0.609 0.688 -vt 0.578 0.563 -vt 0.75 0.563 -vt 0.75 0.594 -vt 0.734 0.594 -vt 0.734 0.563 -vt 0.719 0.594 -vt 0.719 0.563 -vt 0.703 0.594 -vt 0.703 0.563 -vt 0.688 0.594 -vt 0.688 0.563 -vt 0.672 0.594 -vt 0.672 0.563 -vt 0.656 0.594 -vt 0.656 0.563 -vt 0.641 0.594 -vt 0.641 0.563 -vt 0.766 0.563 -vt 0.766 0.594 -vt 0 0.047 -vt 2 0.047 -vt 2 0.063 -vt 0 0.063 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 0 0.125 -vt 2 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0 0.063 -vt 2 0.063 -vt 0 0.047 -vt 2 0.047 -vt 0 0.031 -vt 2 0.031 -vt 0 0.016 -vt 2 0.016 -vt 0 0.125 -vt 2 0.125 -vt 2 0.141 -vt 0 0.141 -vt 0 0.109 -vt 2 0.109 -vt 0 0.094 -vt 2 0.094 -vt 0 0.078 -vt 2 0.078 -vt 0.813 0.563 -vt 0.813 0.609 -vt 0.797 0.609 -vt 0.797 0.563 -vt 0.781 0.609 -vt 0.781 0.563 -vt 0.766 0.609 -vt 0.766 0.563 -vt 0.75 0.609 -vt 0.75 0.563 -vt 0.734 0.609 -vt 0.734 0.563 -vt 0.719 0.609 -vt 0.719 0.563 -vt 0.703 0.609 -vt 0.703 0.563 -vt 0.688 0.609 -vt 0.688 0.563 -vt 0.672 0.609 -vt 0.672 0.563 -vt 0.656 0.609 -vt 0.656 0.563 -vt 0.641 0.609 -vt 0.641 0.563 -vt 0.625 0.609 -vt 0.625 0.563 -vt 0.609 0.609 -vt 0.609 0.563 -vt 0.594 0.609 -vt 0.594 0.563 -vt 0.578 0.609 -vt 0.578 0.563 -vt 0.828 0.563 -vt 0.828 0.609 -vn 0 1 0 -vn 1 0 0 -vn 0 -1 0 -vn -1 0 0 -vn 0 0 1 -vn 0 0 -1 -vn 0 -0.707 -0.707 -vn 0 0.707 -0.707 -vn 0 0.707 0.707 -vn 0 -0.707 0.707 -vn 0 -0.991 0.131 -vn 0 -0.924 0.383 -vn 0 -0.793 0.609 -vn 0 -0.609 0.793 -vn 0 -0.383 0.924 -vn 0 -0.13 0.991 -vn 0 0.131 0.991 -vn 0 0.383 0.924 -vn 0 0.609 0.793 -vn 0 0.793 0.609 -vn 0 0.924 0.383 -vn 0 0.991 0.131 -vn 0 -0.609 0.793 -vn 0 0.609 0.793 -vn 0 0.793 0.609 -vn 0 -0.693 -0.721 -vn -0.793 0 0.609 -vn -0.707 0 0.707 -vn 0.707 0 -0.707 -vn -0.13 0 0.991 -vn -0.991 0 0.131 -vn -0.924 0 0.383 -vn -0.991 0 -0.13 -vn -0.924 0 -0.383 -vn -0.793 0 -0.609 -vn -0.609 0 -0.793 -vn -0.383 0 -0.924 -vn -0.13 0 -0.991 -vn -0.707 0 -0.707 -vn -0.969 0 0.246 -vn -0.383 0 0.924 -vn -0.609 0 0.793 -vn -0.793 0 0.609 -vn -0.707 0.707 0 -vn -0.707 -0.707 0 -vn 0.707 0.707 0 -vn 0.707 -0.707 0 -vn 1 0 0.005 -vn -0.707 -0.5 0.5 -vn 1 0.002 -0.005 -vn 0.707 -0.5 -0.5 -vn -1 0.002 0.005 -vn -1 0 -0.006 -vn 0 -0.001 1 -vn 0.028 0 -1 -vn 0.895 0 0.445 -vn 0.094 0 0.996 -vn 1 0 0.023 -vn -0.714 0 0.7 -vn -0.889 0 -0.459 -vn 0.011 0 1 -vn 0.923 0 0.385 -vn -0.998 0 -0.059 -vn -0.017 0 1 -vn -0.851 0 0.525 -vn 0.559 0 0.829 -vn 0.519 0 0.855 -vn -0.734 0 0.68 -vn 0.593 0 0.805 -vn -0.343 0 0.939 -vn -0.937 0 0.351 -vn 0.707 0 0.707 -vn 0.259 0 -0.966 -vn 0.966 0 -0.259 -vn 0.259 0 0.966 -vn 0.966 0 0.259 -vn -0.924 0.383 0 -vn -0.383 0.924 0 -vn 0.383 0.924 0 -vn 0.924 0.383 0 -vn 0.924 -0.383 0 -vn 0.383 -0.924 0 -vn -0.383 -0.924 0 -vn -0.924 -0.383 0 -vn -0.542 0 -0.84 -vn -0.864 0 -0.504 -vn -0.798 0.331 -0.504 -vn -0.501 0.207 -0.84 -vn -0.611 0.611 -0.504 -vn -0.383 0.383 -0.84 -vn -0.33 0.798 -0.504 -vn -0.207 0.501 -0.84 -vn 0 0.864 -0.504 -vn 0 0.542 -0.84 -vn 0.331 0.798 -0.504 -vn 0.207 0.501 -0.84 -vn 0.611 0.611 -0.504 -vn 0.383 0.383 -0.84 -vn 0.798 0.331 -0.504 -vn 0.501 0.207 -0.84 -vn 0.864 0 -0.504 -vn 0.542 0 -0.84 -vn 0.798 -0.33 -0.504 -vn 0.501 -0.207 -0.84 -vn 0.611 -0.611 -0.504 -vn 0.383 -0.383 -0.84 -vn 0.331 -0.798 -0.504 -vn 0.207 -0.501 -0.84 -vn 0 -0.864 -0.504 -vn 0 -0.542 -0.84 -vn -0.33 -0.798 -0.504 -vn -0.207 -0.501 -0.84 -vn -0.611 -0.611 -0.504 -vn -0.383 -0.383 -0.84 -vn -0.798 -0.33 -0.504 -vn -0.501 -0.207 -0.84 -vn 0.383 0 0.924 -vn 0.924 0 0.383 -vn 0.924 0 -0.383 -vn 0.383 0 -0.924 -vn 0 0.746 0.666 -vn 0.286 0.689 0.666 -vn 0.528 0.528 0.666 -vn 0.689 0.286 0.666 -vn 0.746 0 0.666 -vn 0.689 -0.286 0.666 -vn 0.528 -0.528 0.666 -vn 0.286 -0.689 0.666 -vn 0 -0.746 0.666 -vn -0.285 -0.689 0.666 -vn -0.528 -0.528 0.666 -vn -0.689 -0.285 0.666 -vn -0.746 0 0.666 -vn -0.689 0.286 0.666 -vn -0.528 0.528 0.666 -vn -0.285 0.689 0.666 -vn 0.714 0.686 -0.142 -vn 0.714 -0.686 -0.142 -vn 0.673 -0.686 -0.278 -vn 0.673 0.686 -0.278 -vn -0.278 0.686 -0.672 -vn -0.278 -0.686 -0.672 -vn -0.404 -0.686 -0.605 -vn -0.404 0.686 -0.605 -vn -0.515 0.686 0.515 -vn -0.515 -0.686 0.515 -vn -0.404 -0.686 0.605 -vn -0.404 0.686 0.605 -vn 0.605 0.686 0.404 -vn 0.605 -0.686 0.404 -vn 0.673 -0.686 0.279 -vn 0.673 0.686 0.279 -vn 0.279 0.686 -0.672 -vn 0.279 -0.686 -0.672 -vn 0.142 -0.686 -0.714 -vn 0.142 0.686 -0.714 -vn -0.728 0.686 0 -vn -0.728 -0.686 0 -vn -0.714 -0.686 0.142 -vn -0.714 0.686 0.142 -vn -0.714 0.686 -0.142 -vn -0.714 -0.686 -0.142 -vn 0.142 0.686 0.714 -vn 0.142 -0.686 0.714 -vn 0.279 -0.686 0.673 -vn 0.279 0.686 0.673 -vn 0.605 -0.686 -0.404 -vn 0.605 0.686 -0.404 -vn -0.515 -0.686 -0.515 -vn -0.515 0.686 -0.515 -vn -0.278 -0.686 0.673 -vn -0.278 0.686 0.673 -vn 0.714 -0.686 0.142 -vn 0.714 0.686 0.142 -vn 0 -0.686 -0.728 -vn 0 0.686 -0.728 -vn -0.672 -0.686 0.279 -vn -0.672 0.686 0.279 -vn 0.404 -0.686 0.605 -vn 0.404 0.686 0.605 -vn 0.515 -0.686 -0.515 -vn 0.515 0.686 -0.515 -vn -0.605 -0.686 -0.404 -vn -0.605 0.686 -0.404 -vn -0.142 -0.686 0.714 -vn -0.142 0.686 0.714 -vn 0.728 -0.686 0 -vn 0.728 0.686 0 -vn -0.142 -0.686 -0.714 -vn -0.142 0.686 -0.714 -vn -0.605 -0.686 0.404 -vn -0.605 0.686 0.404 -vn 0.515 -0.686 0.515 -vn 0.515 0.686 0.515 -vn 0.404 -0.686 -0.605 -vn 0.404 0.686 -0.605 -vn -0.672 -0.686 -0.278 -vn -0.672 0.686 -0.278 -vn 0 -0.686 0.728 -vn 0 0.686 0.728 -vn 0 -0.73 -0.684 -vn 0 0.73 -0.684 -vn 0 -0.73 0.684 -vn 0 0.73 0.684 -vn 0.351 -0.4 -0.847 -vn 0 -0.4 -0.916 -vn 0 -0.366 -0.93 -vn 0.356 -0.366 -0.86 -vn -0.648 -0.4 0.648 -vn -0.351 -0.4 0.847 -vn -0.356 -0.366 0.86 -vn -0.658 -0.366 0.658 -vn -0.351 -0.4 -0.847 -vn -0.356 -0.366 -0.86 -vn 0.847 -0.4 0.351 -vn 0.917 -0.4 0 -vn 0.931 -0.366 0 -vn 0.86 -0.366 0.356 -vn 0.847 -0.4 -0.351 -vn 0.86 -0.366 -0.356 -vn 0 -0.4 0.917 -vn 0 -0.366 0.931 -vn -0.648 -0.4 -0.648 -vn -0.658 -0.366 -0.658 -vn 0.351 -0.4 0.847 -vn 0.356 -0.366 0.86 -vn -0.847 -0.4 -0.351 -vn -0.86 -0.366 -0.356 -vn 0.648 -0.4 -0.648 -vn 0.658 -0.366 -0.658 -vn -0.916 -0.4 0 -vn -0.847 -0.4 0.351 -vn -0.86 -0.366 0.356 -vn -0.93 -0.366 0 -vn 0.648 -0.4 0.648 -vn 0.658 -0.366 0.658 -vn 0.746 0.666 0 -vn 0.689 0.666 0.286 -vn -0.689 0.666 0.286 -vn -0.746 0.666 0 -vn -0.689 0.666 -0.285 -vn 0.689 0.666 -0.285 -vn -0.528 0.666 0.528 -vn 0.528 0.666 -0.528 -vn -0.285 0.666 0.689 -vn 0.286 0.666 -0.689 -vn 0 0.666 0.746 -vn 0 0.666 -0.746 -vn 0.286 0.666 0.689 -vn -0.285 0.666 -0.689 -vn 0.528 0.666 0.528 -vn -0.528 0.666 -0.528 -vn 0.351 0.4 -0.847 -vn 0.356 0.366 -0.86 -vn 0 0.366 -0.93 -vn 0 0.4 -0.916 -vn -0.648 0.4 0.648 -vn -0.658 0.366 0.658 -vn -0.356 0.366 0.86 -vn -0.351 0.4 0.847 -vn -0.356 0.366 -0.86 -vn -0.351 0.4 -0.847 -vn 0.847 0.4 0.351 -vn 0.86 0.366 0.356 -vn 0.931 0.366 0 -vn 0.917 0.4 0 -vn 0.86 0.366 -0.356 -vn 0.847 0.4 -0.351 -vn 0 0.366 0.931 -vn 0 0.4 0.917 -vn -0.658 0.366 -0.658 -vn -0.648 0.4 -0.648 -vn 0.356 0.366 0.86 -vn 0.351 0.4 0.847 -vn -0.86 0.366 -0.356 -vn -0.847 0.4 -0.351 -vn 0.658 0.366 -0.658 -vn 0.648 0.4 -0.648 -vn -0.916 0.4 0 -vn -0.93 0.366 0 -vn -0.86 0.366 0.356 -vn -0.847 0.4 0.351 -vn 0.658 0.366 0.658 -vn 0.648 0.4 0.648 -vn 0.689 -0.666 0.286 -vn 0.746 -0.666 0 -vn -0.746 -0.666 0 -vn -0.689 -0.666 0.286 -vn -0.689 -0.666 -0.285 -vn 0.689 -0.666 -0.285 -vn -0.528 -0.666 0.528 -vn 0.528 -0.666 -0.528 -vn -0.285 -0.666 0.689 -vn 0.286 -0.666 -0.689 -vn 0 -0.666 0.746 -vn 0 -0.666 -0.746 -vn 0.286 -0.666 0.689 -vn -0.285 -0.666 -0.689 -vn 0.528 -0.666 0.528 -vn -0.528 -0.666 -0.528 -vn -0.689 -0.666 0.286 -vn -0.286 -0.666 0.689 -vn -0.286 0.666 0.689 -vn 0.286 0.666 0.689 -vn 0.689 0.666 0.286 -vn 0 0.61 0.792 -vn -0.686 0.61 0.396 -vn -0.866 0 0.5 -vn -0.686 0.61 -0.396 -vn -0.866 0 -0.5 -vn 0 0.61 -0.792 -vn 0.686 0.61 -0.396 -vn 0.866 0 -0.5 -vn 0.686 0.61 0.396 -vn 0.866 0 0.5 -vn 0 -0.61 0.792 -vn 0.686 -0.61 0.396 -vn 0.686 -0.61 -0.396 -vn 0 -0.61 -0.792 -vn -0.686 -0.61 -0.396 -vn -0.686 -0.61 0.396 -vn 0.666 0.746 0 -vn -0.666 0.746 0 -vn -0.666 0.689 0.286 -vn 0.666 0.689 0.286 -vn -0.666 0.528 0.528 -vn 0.666 0.528 0.528 -vn -0.666 0.286 0.689 -vn 0.666 0.286 0.689 -vn -0.666 0 0.746 -vn 0.666 0 0.746 -vn -0.666 -0.286 0.689 -vn 0.666 -0.286 0.689 -vn -0.666 -0.528 0.528 -vn 0.666 -0.528 0.528 -vn -0.666 -0.689 0.286 -vn 0.666 -0.689 0.286 -vn -0.666 -0.746 0 -vn 0.666 -0.746 0 -vn -0.666 -0.689 -0.286 -vn 0.666 -0.689 -0.285 -vn -0.666 -0.528 -0.528 -vn 0.666 -0.528 -0.528 -vn -0.666 -0.285 -0.689 -vn 0.666 -0.285 -0.689 -vn -0.666 0 -0.746 -vn 0.666 0 -0.746 -vn -0.666 0.286 -0.689 -vn 0.666 0.286 -0.689 -vn -0.666 0.528 -0.528 -vn 0.666 0.528 -0.528 -vn -0.666 0.689 -0.285 -vn 0.666 0.689 -0.285 -vn 0.096 0.728 -0.679 -vn 0.302 0.302 -0.904 -vn 0.131 0.991 0 -vn 0.302 -0.301 -0.904 -vn 0.096 -0.728 -0.679 -vn 0.131 -0.991 0 -vn -0.656 0.379 -0.653 -vn -0.728 0.096 -0.679 -vn -0.991 0.131 0 -vn -0.866 0.5 0 -vn -0.379 -0.656 -0.653 -vn -0.096 -0.728 -0.679 -vn -0.13 -0.991 0 -vn -0.5 -0.866 0 -vn 0.728 0.096 -0.679 -vn 0.991 0.131 0 -vn 0.991 -0.13 0 -vn 0.728 -0.096 -0.679 -vn -0.991 -0.13 0 -vn -0.728 -0.096 -0.679 -vn 0.5 0.866 0 -vn 0.379 0.656 -0.653 -vn 0.379 -0.656 -0.653 -vn 0.5 -0.866 0 -vn 0.656 0.379 -0.653 -vn 0.866 0.5 0 -vn -0.096 0.728 -0.679 -vn -0.13 0.991 0 -vn 0.866 -0.5 0 -vn 0.656 -0.379 -0.653 -vn -0.656 -0.379 -0.653 -vn -0.866 -0.5 0 -vn -0.379 0.656 -0.653 -vn -0.5 0.866 0 -vn -0.301 -0.301 -0.904 -vn -0.301 0.302 -0.904 -vn -0.666 -0.414 -0.62 -vn 0.666 -0.415 -0.62 -vn 0.666 -0.62 -0.415 -vn -0.666 -0.62 -0.415 -vn -0.666 0.62 -0.415 -vn 0.666 0.62 -0.415 -vn 0.666 0.415 -0.62 -vn -0.666 0.415 -0.62 -vn -0.666 -0.732 -0.146 -vn 0.666 -0.732 -0.146 -vn -0.666 0.146 -0.732 -vn 0.666 0.146 -0.732 -vn 0.666 -0.145 -0.732 -vn -0.666 -0.145 -0.732 -vn 0.666 0.732 -0.146 -vn -0.666 0.732 -0.146 -vn 0.666 -0.146 -0.732 -vn -0.666 -0.689 0.286 -vn -0.689 0.666 0.286 -vn 0.286 -0.666 0.689 -vn 0.689 -0.666 -0.286 -vn 0.689 0.666 -0.286 -vn -0.286 -0.666 -0.689 -vn -0.286 0.666 -0.689 -vn -0.689 -0.666 -0.286 -vn -0.79 0.613 0 -vn -0.73 0.613 0.302 -vn -0.559 0.613 0.559 -vn -0.302 0.613 0.73 -vn 0 0.613 0.79 -vn 0.302 0.613 0.73 -vn 0.559 0.613 0.559 -vn 0.73 0.613 0.302 -vn 0.79 0.613 0 -vn 0.73 0.613 -0.302 -vn 0.559 0.613 -0.559 -vn 0.302 0.613 -0.73 -vn 0 0.613 -0.79 -vn -0.302 0.613 -0.73 -vn -0.559 0.613 -0.559 -vn -0.73 0.613 -0.302 -vn -0.73 -0.613 -0.302 -vn -0.79 -0.613 0 -vn -0.666 -0.693 -0.276 -vn -0.721 -0.693 0 -vn -0.51 0.693 -0.51 -vn -0.666 0.693 -0.276 -vn -0.51 -0.693 -0.51 -vn -0.721 0.693 0 -vn -0.559 -0.613 -0.559 -vn -0.276 0.693 -0.666 -vn -0.276 -0.693 -0.666 -vn -0.302 -0.613 -0.73 -vn 0 0.693 -0.721 -vn 0 -0.693 -0.721 -vn 0 -0.613 -0.79 -vn 0.276 0.693 -0.666 -vn 0.276 -0.693 -0.666 -vn 0.302 -0.613 -0.73 -vn 0.51 0.693 -0.51 -vn 0.51 -0.693 -0.51 -vn 0.559 -0.613 -0.559 -vn 0.666 0.693 -0.276 -vn 0.666 -0.693 -0.276 -vn 0.73 -0.613 -0.302 -vn 0.721 0.693 0 -vn 0.721 -0.693 0 -vn 0.79 -0.613 0 -vn 0.666 0.693 0.276 -vn 0.666 -0.693 0.276 -vn 0.73 -0.613 0.302 -vn 0.51 0.693 0.51 -vn 0.51 -0.693 0.51 -vn 0.559 -0.613 0.559 -vn 0.276 0.693 0.666 -vn 0.276 -0.693 0.666 -vn 0.302 -0.613 0.73 -vn 0 0.693 0.721 -vn 0 -0.693 0.721 -vn 0 -0.613 0.79 -vn -0.276 0.693 0.666 -vn -0.276 -0.693 0.666 -vn -0.302 -0.613 0.73 -vn -0.51 0.693 0.51 -vn -0.51 -0.693 0.51 -vn -0.559 -0.613 0.559 -vn -0.666 0.693 0.276 -vn -0.666 -0.693 0.276 -vn -0.73 -0.613 0.302 -vn 0.689 -0.666 0.286 -vn -0.689 0.666 -0.286 -vn -0.61 0 0.792 -vn -0.61 -0.686 0.396 -vn 0 -0.866 0.5 -vn -0.61 -0.686 -0.396 -vn 0 -0.866 -0.5 -vn -0.61 0 -0.792 -vn -0.61 0.686 -0.396 -vn 0 0.866 -0.5 -vn -0.61 0.686 0.396 -vn 0 0.866 0.5 -vn 0.61 0 0.792 -vn 0.61 0.686 0.396 -vn 0.61 0.686 -0.396 -vn 0.61 0 -0.792 -vn 0.61 -0.686 -0.396 -vn 0.61 -0.686 0.396 -vn 0.666 0.286 0.689 -vn -0.666 0.689 0.286 -vn 0.666 0.689 -0.286 -vn -0.666 0.689 -0.286 -vn 0.666 0.286 -0.689 -vn -0.666 0.286 -0.689 -vn 0.666 -0.286 -0.689 -vn -0.666 -0.689 -0.285 -vn 0.666 -0.285 0.689 -vn -0.666 -0.285 0.689 -vn -0.666 0.286 0.689 -vn 0.666 0.689 0.286 -vn -0.286 -0.689 0.666 -vn 0.689 -0.285 0.666 -vn -0.746 0 -0.666 -vn -0.689 0.286 0.666 -vn -0.689 0.286 -0.666 -vn -0.528 0.528 -0.666 -vn -0.285 0.689 -0.666 -vn 0 0.746 -0.666 -vn 0.286 0.689 -0.666 -vn 0.528 0.528 -0.666 -vn 0.689 0.286 -0.666 -vn 0.746 0 -0.666 -vn 0.689 -0.285 -0.666 -vn 0.528 -0.528 -0.666 -vn 0.286 -0.689 0.666 -vn 0.286 -0.689 -0.666 -vn 0 -0.746 -0.666 -vn -0.286 -0.689 -0.666 -vn -0.528 -0.528 -0.666 -vn -0.689 -0.286 0.666 -vn -0.689 -0.285 -0.666 -vn 0.613 0.79 0 -vn 0.613 0.73 0.302 -vn 0.613 0.559 0.559 -vn 0.613 0.302 0.73 -vn 0.613 0 0.79 -vn 0.613 -0.302 0.73 -vn 0.613 -0.559 0.559 -vn 0.613 -0.73 0.302 -vn 0.613 -0.79 0 -vn 0.613 -0.73 -0.302 -vn 0.613 -0.559 -0.559 -vn 0.613 -0.302 -0.73 -vn 0.613 0 -0.79 -vn 0.613 0.302 -0.73 -vn 0.613 0.559 -0.559 -vn 0.613 0.73 -0.302 -vn -0.613 0.73 -0.302 -vn -0.613 0.79 0 -vn -0.693 0.666 -0.276 -vn -0.693 0.721 0 -vn 0.693 0.51 -0.51 -vn 0.693 0.666 -0.276 -vn -0.693 0.51 -0.51 -vn 0.693 0.721 0 -vn -0.613 0.559 -0.559 -vn 0.693 0.276 -0.666 -vn -0.693 0.276 -0.666 -vn -0.613 0.302 -0.73 -vn 0.693 0 -0.721 -vn -0.693 0 -0.721 -vn -0.613 0 -0.79 -vn 0.693 -0.276 -0.666 -vn -0.693 -0.276 -0.666 -vn -0.613 -0.302 -0.73 -vn 0.693 -0.51 -0.51 -vn -0.693 -0.51 -0.51 -vn -0.613 -0.559 -0.559 -vn 0.693 -0.666 -0.276 -vn -0.693 -0.666 -0.276 -vn -0.613 -0.73 -0.302 -vn 0.693 -0.721 0 -vn -0.693 -0.721 0 -vn -0.613 -0.79 0 -vn 0.693 -0.666 0.276 -vn -0.693 -0.666 0.276 -vn -0.613 -0.73 0.302 -vn 0.693 -0.51 0.51 -vn -0.693 -0.51 0.51 -vn -0.613 -0.559 0.559 -vn 0.693 -0.276 0.666 -vn -0.693 -0.276 0.666 -vn -0.613 -0.302 0.73 -vn 0.693 0 0.721 -vn -0.693 0 0.721 -vn -0.613 0 0.79 -vn 0.693 0.276 0.666 -vn -0.693 0.276 0.666 -vn -0.613 0.302 0.73 -vn 0.693 0.51 0.51 -vn -0.693 0.51 0.51 -vn -0.613 0.559 0.559 -vn 0.693 0.666 0.276 -vn -0.693 0.666 0.276 -vn -0.613 0.73 0.302 -g 1 -s off -f 65/1/1 67/2/1 68/3/1 66/4/1 -f 67/5/2 71/6/2 72/7/2 68/8/2 -f 71/9/3 69/10/3 70/11/3 72/7/3 -f 69/12/4 65/13/4 66/4/4 70/14/4 -f 67/15/5 65/16/5 69/17/5 71/18/5 -f 72/19/6 70/20/6 66/21/6 68/22/6 -f 75/23/1 76/24/1 80/25/1 79/26/1 -f 73/27/3 74/28/3 78/29/3 77/30/3 -f 77/31/4 78/32/4 76/33/4 75/34/4 -f 82/35/1 86/36/1 83/37/1 81/38/1 -f 79/39/6 82/40/6 81/41/6 73/42/6 77/43/6 75/44/6 -f 74/45/5 87/46/5 88/47/5 80/48/5 76/49/5 78/50/5 -f 79/51/4 80/52/4 88/53/4 85/54/4 86/55/4 82/56/4 -f 73/57/2 81/58/2 83/59/2 84/60/2 87/61/2 74/62/2 -f 84/63/1 85/64/1 88/65/1 87/66/1 -f 85/67/5 84/68/5 83/69/5 86/70/5 -f 89/71/2 90/72/2 92/73/2 91/74/2 -f 91/75/3 92/76/3 96/77/3 95/78/3 -f 95/79/4 96/80/4 94/81/4 93/82/4 -f 93/83/1 94/84/1 90/85/1 89/86/1 -f 91/87/6 95/88/6 93/89/6 89/90/6 -f 96/91/5 92/92/5 90/93/5 94/94/5 -f 129/95/3 130/96/3 132/97/3 131/98/3 -f 131/99/4 132/100/4 136/101/4 135/102/4 -f 135/103/1 136/104/1 134/105/1 133/106/1 -f 133/107/2 134/108/2 130/109/2 129/110/2 -f 131/111/6 135/112/6 133/113/6 129/114/6 -f 136/115/5 132/116/5 130/117/5 134/118/5 -f 142/119/3 138/120/3 137/121/3 141/122/3 -f 137/123/6 139/124/6 143/125/6 141/126/6 -f 143/127/2 144/128/2 142/129/2 141/130/2 -f 142/131/5 144/132/5 140/133/5 138/134/5 -f 140/135/1 144/136/1 143/137/1 139/138/1 -f 151/139/3 145/140/3 147/141/3 155/142/3 -f 155/142/5 147/141/5 150/143/5 156/144/5 -f 156/145/1 150/146/1 148/147/1 157/148/1 -f 157/148/6 148/147/6 145/140/6 151/139/6 -f 159/149/6 154/150/6 160/151/6 158/152/6 -f 149/153/1 153/154/1 154/150/1 159/149/1 -f 146/155/5 152/156/5 153/157/5 149/158/5 -f 158/152/3 160/151/3 152/156/3 146/155/3 -f 153/159/1 156/160/1 157/161/1 154/162/1 -f 152/163/5 155/164/5 156/165/5 153/166/5 -f 160/167/3 151/168/3 155/164/3 152/163/3 -f 154/162/6 157/161/6 151/169/6 160/170/6 -f 163/171/4 164/172/4 168/173/4 167/174/4 -f 165/175/2 166/176/2 162/177/2 161/178/2 -f 163/179/6 167/180/6 165/175/6 161/178/6 -f 168/173/5 164/172/5 162/177/5 166/176/5 -f 203/181/4 204/182/4 208/183/4 207/184/4 -f 205/185/2 206/186/2 202/187/2 201/188/2 -f 203/189/6 207/190/6 205/185/6 201/188/6 -f 208/183/5 204/182/5 202/187/5 206/186/5 -f 211/191/4 212/192/4 216/193/4 215/194/4 -f 215/195/1 216/196/1 214/197/1 213/198/1 -f 213/199/2 214/200/2 210/201/2 209/202/2 -f 211/203/6 215/204/6 213/205/6 209/206/6 -f 216/207/5 212/208/5 210/209/5 214/210/5 -f 217/211/3 218/212/3 220/213/3 219/214/3 -f 219/215/4 220/216/4 224/217/4 223/218/4 -f 223/219/1 224/220/1 222/221/1 221/222/1 -f 221/223/2 222/224/2 218/225/2 217/226/2 -f 219/214/6 223/227/6 221/228/6 217/229/6 -f 224/230/5 220/231/5 218/232/5 222/221/5 -f 226/233/6 227/234/6 285/235/6 284/236/6 -f 227/234/7 228/237/7 286/238/7 285/235/7 -f 228/237/6 281/239/6 338/240/6 286/238/6 -f 281/241/8 229/242/8 287/243/8 338/244/8 -f 229/242/1 230/245/1 288/246/1 287/243/1 -f 230/245/9 231/247/9 289/248/9 288/246/9 -f 231/249/5 232/250/5 290/251/5 289/252/5 -f 232/253/10 233/254/10 291/255/10 290/256/10 -f 262/257/5 263/258/5 320/259/5 319/260/5 -f 234/261/10 235/262/10 293/263/10 292/264/10 -f 235/265/5 236/266/5 294/267/5 293/268/5 -f 236/269/9 237/270/9 295/271/9 294/272/9 -f 237/273/5 238/274/5 296/275/5 295/276/5 -f 238/277/10 239/278/10 297/279/10 296/280/10 -f 252/281/1 253/282/1 311/283/1 310/284/1 -f 240/285/11 241/286/11 299/287/11 298/288/11 -f 241/286/12 242/289/12 300/290/12 299/287/12 -f 242/289/13 243/291/13 301/292/13 300/290/13 -f 243/291/14 244/293/14 302/294/14 301/292/14 -f 244/293/15 245/295/15 303/296/15 302/294/15 -f 245/295/16 246/297/16 304/298/16 303/296/16 -f 246/297/17 247/299/17 305/300/17 304/298/17 -f 247/299/18 248/301/18 306/302/18 305/300/18 -f 248/301/19 249/303/19 307/304/19 306/302/19 -f 249/303/20 250/305/20 308/306/20 307/304/20 -f 250/305/21 251/307/21 309/308/21 308/306/21 -f 251/307/22 252/309/22 310/310/22 309/308/22 -f 253/282/9 254/311/9 312/312/9 311/283/9 -f 264/313/3 265/314/3 322/315/3 321/316/3 -f 255/317/9 256/318/9 340/319/9 313/320/9 -f 256/321/1 257/322/1 314/323/1 340/324/1 -f 257/322/8 258/325/8 315/326/8 314/323/8 -f 258/327/6 259/328/6 316/329/6 315/330/6 -f 259/331/7 260/332/7 317/333/7 316/334/7 -f 260/332/3 261/335/3 318/336/3 317/333/3 -f 261/335/10 262/337/10 319/260/10 318/336/10 -f 254/338/5 255/339/5 313/340/5 312/341/5 -f 263/342/10 264/313/10 321/316/10 320/259/10 -f 265/343/11 266/344/11 323/345/11 322/346/11 -f 266/344/12 267/347/12 324/348/12 323/345/12 -f 267/347/13 268/349/13 325/350/13 324/348/13 -f 268/349/23 269/351/23 326/352/23 325/350/23 -f 269/351/15 270/353/15 327/354/15 326/352/15 -f 270/353/16 271/355/16 328/356/16 327/354/16 -f 271/355/17 272/357/17 329/358/17 328/356/17 -f 272/357/18 273/359/18 330/360/18 329/358/18 -f 273/359/24 274/361/24 331/362/24 330/360/24 -f 274/361/25 275/363/25 332/364/25 331/362/25 -f 275/363/21 276/365/21 333/366/21 332/364/21 -f 276/365/22 277/367/22 334/368/22 333/366/22 -f 239/278/3 240/369/3 298/370/3 297/279/3 -f 278/371/9 279/372/9 336/373/9 335/374/9 -f 282/375/26 280/376/26 337/377/26 339/378/26 -f 279/379/5 234/380/5 292/381/5 336/382/5 -f 233/254/3 282/375/3 339/378/3 291/255/3 -f 280/383/6 225/384/6 283/385/6 337/386/6 -f 225/384/8 226/233/8 284/236/8 283/385/8 -f 277/387/1 278/371/1 335/374/1 334/388/1 -f 259/389/4 258/390/4 257/391/4 233/392/4 232/393/4 231/394/4 230/395/4 260/396/4 -f 294/397/2 304/398/2 284/399/2 285/400/2 328/401/2 293/402/2 -f 229/403/4 281/404/4 228/405/4 227/406/4 262/407/4 261/408/4 260/396/4 230/395/4 -f 236/409/4 235/410/4 271/411/4 227/406/4 226/412/4 246/413/4 -f 317/414/2 318/415/2 319/416/2 285/400/2 286/417/2 338/418/2 287/419/2 288/420/2 -f 322/421/2 323/422/2 324/423/2 325/424/2 326/425/2 327/426/2 328/401/2 285/400/2 319/416/2 320/427/2 321/428/2 -f 249/429/4 248/430/4 247/431/4 246/413/4 226/412/4 255/432/4 254/433/4 253/434/4 252/435/4 251/436/4 250/437/4 -f 332/438/2 333/439/2 334/440/2 335/441/2 336/442/2 292/443/2 293/402/2 328/401/2 329/444/2 330/445/2 331/446/2 -f 312/447/2 313/448/2 284/399/2 304/398/2 305/449/2 306/450/2 307/451/2 308/452/2 309/453/2 310/454/2 311/455/2 -f 279/456/4 278/457/4 277/458/4 276/459/4 275/460/4 274/461/4 273/462/4 272/463/4 271/411/4 235/410/4 234/464/4 -f 314/465/2 315/466/2 316/467/2 317/414/2 288/420/2 289/468/2 290/469/2 291/470/2 -f 340/471/2 314/465/2 291/470/2 339/472/2 337/473/2 283/474/2 284/399/2 313/448/2 -f 280/475/4 282/476/4 233/392/4 257/391/4 256/477/4 255/432/4 226/412/4 225/478/4 -f 242/479/4 241/480/4 240/481/4 239/482/4 238/483/4 237/484/4 236/409/4 246/413/4 245/485/4 244/486/4 243/487/4 -f 262/407/4 227/406/4 271/411/4 270/488/4 269/489/4 268/490/4 267/491/4 266/492/4 265/493/4 264/494/4 263/495/4 -f 302/496/2 303/497/2 304/398/2 294/397/2 295/498/2 296/499/2 297/500/2 298/501/2 299/502/2 300/503/2 301/504/2 -f 351/505/3 363/506/3 350/507/3 349/508/3 362/509/3 348/510/3 361/511/3 347/512/3 360/513/3 346/514/3 345/515/3 359/516/3 352/517/3 365/518/3 364/519/3 -f 358/520/27 359/521/27 378/522/27 377/523/27 -f 364/524/5 365/525/5 380/526/5 379/527/5 -f 352/528/6 341/529/6 366/530/6 381/531/6 -f 342/532/6 353/533/6 373/534/6 367/535/6 -f 354/536/4 343/537/4 382/538/4 374/539/4 -f 343/537/28 355/540/28 383/541/28 382/538/28 -f 355/542/5 344/543/5 384/544/5 383/545/5 -f 341/529/29 342/532/29 367/535/29 366/530/29 -f 344/546/30 356/547/30 375/548/30 384/549/30 -f 345/550/31 346/551/31 369/552/31 368/553/31 -f 359/521/32 345/550/32 368/553/32 378/522/32 -f 349/554/6 350/555/6 371/556/6 370/557/6 -f 346/551/33 360/558/33 385/559/33 369/552/33 -f 360/558/34 347/560/34 386/561/34 385/559/34 -f 347/560/35 361/562/35 387/563/35 386/561/35 -f 361/562/36 348/564/36 388/565/36 387/563/36 -f 348/564/37 362/566/37 389/567/37 388/565/37 -f 362/566/38 349/568/38 370/569/38 389/567/38 -f 350/570/39 363/571/39 390/572/39 371/573/39 -f 363/571/4 351/574/4 372/575/4 390/572/4 -f 351/574/40 364/576/40 379/577/40 372/575/40 -f 353/578/39 354/536/39 374/539/39 373/579/39 -f 356/547/41 357/580/41 376/581/41 375/548/41 -f 357/580/42 358/520/42 377/523/42 376/581/42 -f 375/582/1 376/583/1 377/584/1 378/585/1 381/586/1 366/587/1 383/588/1 384/589/1 -f 341/590/3 352/517/3 359/516/3 358/591/3 357/592/3 356/593/3 344/594/3 355/595/3 -f 382/596/1 383/588/1 366/587/1 367/597/1 373/598/1 374/599/1 -f 353/600/3 342/601/3 341/590/3 355/595/3 343/602/3 354/603/3 -f 368/604/1 369/605/1 385/606/1 386/607/1 387/608/1 388/609/1 389/610/1 370/611/1 371/612/1 390/613/1 372/614/1 379/615/1 380/616/1 381/586/1 378/585/1 -f 401/617/3 413/618/3 400/619/3 399/620/3 412/621/3 398/622/3 411/623/3 397/624/3 410/625/3 396/626/3 395/627/3 409/628/3 402/629/3 415/630/3 414/631/3 -f 408/632/43 409/633/43 428/634/43 427/635/43 -f 414/636/5 415/637/5 430/638/5 429/639/5 -f 402/640/6 391/641/6 416/642/6 431/643/6 -f 392/644/6 403/645/6 423/646/6 417/647/6 -f 404/648/4 393/649/4 432/650/4 424/651/4 -f 393/649/28 405/652/28 433/653/28 432/650/28 -f 405/654/5 394/655/5 434/656/5 433/657/5 -f 391/641/29 392/644/29 417/647/29 416/642/29 -f 394/658/30 406/659/30 425/660/30 434/661/30 -f 395/662/31 396/663/31 419/664/31 418/665/31 -f 409/633/32 395/662/32 418/665/32 428/634/32 -f 399/666/6 400/667/6 421/668/6 420/669/6 -f 396/663/33 410/670/33 435/671/33 419/664/33 -f 410/670/34 397/672/34 436/673/34 435/671/34 -f 397/672/35 411/674/35 437/675/35 436/673/35 -f 411/674/36 398/676/36 438/677/36 437/675/36 -f 398/676/37 412/678/37 439/679/37 438/677/37 -f 412/678/38 399/680/38 420/681/38 439/679/38 -f 400/682/39 413/683/39 440/684/39 421/685/39 -f 413/683/4 401/686/4 422/687/4 440/684/4 -f 401/686/40 414/688/40 429/689/40 422/687/40 -f 403/690/39 404/648/39 424/651/39 423/691/39 -f 406/659/41 407/692/41 426/693/41 425/660/41 -f 407/692/42 408/632/42 427/635/42 426/693/42 -f 425/694/1 426/695/1 427/696/1 428/697/1 431/698/1 416/699/1 433/700/1 434/701/1 -f 391/702/3 402/629/3 409/628/3 408/703/3 407/704/3 406/705/3 394/706/3 405/707/3 -f 432/708/1 433/700/1 416/699/1 417/709/1 423/710/1 424/711/1 -f 403/712/3 392/713/3 391/702/3 405/707/3 393/714/3 404/715/3 -f 418/716/1 419/717/1 435/718/1 436/719/1 437/720/1 438/721/1 439/722/1 420/723/1 421/724/1 440/725/1 422/726/1 429/727/1 430/728/1 431/698/1 428/697/1 -f 509/729/2 503/730/2 512/731/2 513/732/2 -f 497/733/6 496/734/6 495/735/6 494/736/6 493/737/6 490/738/6 511/739/6 513/740/6 512/741/6 502/742/6 500/743/6 499/744/6 498/745/6 -f 489/746/3 492/747/3 491/748/3 490/749/3 493/750/3 483/751/3 475/752/3 -f 502/753/44 501/754/44 488/755/44 474/756/44 476/757/44 500/758/44 -f 507/759/7 492/760/7 489/761/7 484/762/7 485/763/7 -f 473/764/45 484/765/45 489/746/45 475/752/45 -f 477/766/46 478/767/46 498/768/46 499/769/46 -f 498/768/2 478/767/2 479/770/2 497/771/2 -f 485/763/7 486/772/7 505/773/7 506/774/7 -f 504/775/6 505/773/6 486/772/6 487/776/6 -f 483/777/47 493/778/47 494/779/47 482/780/47 -f 501/754/1 502/753/1 512/781/1 503/782/1 -f 492/783/29 507/784/29 508/785/29 510/786/29 491/787/29 -f 480/788/46 481/789/46 495/790/46 496/791/46 -f 510/786/2 511/792/2 490/793/2 491/787/2 -f 503/794/48 509/795/48 506/796/48 -f 500/758/1 476/757/1 477/797/1 499/798/1 -f 497/799/1 479/800/1 480/801/1 496/802/1 -f 509/803/6 508/804/6 507/759/6 485/763/6 506/774/6 -f 495/790/2 481/789/2 482/780/2 494/779/2 -f 504/805/2 503/806/2 506/807/2 505/808/2 -f 508/809/1 509/810/1 513/811/1 511/812/1 510/813/1 -f 482/814/5 481/815/5 480/816/5 479/817/5 478/818/5 477/819/5 476/820/5 474/821/5 473/822/5 475/823/5 483/824/5 -f 501/754/8 503/782/8 504/825/8 487/826/8 488/755/8 -f 519/827/49 522/828/49 516/829/49 514/830/49 -f 528/831/5 527/832/5 526/833/5 525/834/5 524/835/5 523/836/5 518/837/5 516/838/5 522/839/5 529/840/5 -f 534/841/29 544/842/29 545/843/29 535/844/29 -f 526/845/46 527/846/46 539/847/46 540/848/46 -f 541/849/1 525/850/1 526/851/1 540/852/1 -f 529/853/47 532/854/47 538/855/47 528/856/47 -f 531/857/3 534/858/3 535/859/3 533/860/3 532/854/3 529/853/3 522/861/3 519/862/3 520/863/3 -f 544/864/6 534/865/6 531/866/6 536/867/6 -f 523/868/44 530/869/44 517/870/44 518/871/44 -f 543/872/46 537/873/46 530/874/46 523/875/46 524/876/46 -f 536/877/29 531/878/29 520/879/29 521/880/29 537/873/29 543/872/29 -f 545/843/2 546/881/2 533/882/2 535/844/2 -f 539/847/2 527/846/2 528/883/2 538/884/2 -f 521/885/6 515/886/6 517/887/6 530/888/6 537/889/6 -f 544/890/1 536/891/1 542/892/1 546/893/1 545/894/1 -f 519/862/45 514/895/45 515/896/45 521/897/45 520/863/45 -f 543/872/50 524/876/50 525/898/50 541/899/50 542/900/50 536/877/50 -f 541/901/6 540/902/6 539/903/6 538/904/6 532/905/6 533/906/6 546/907/6 542/908/6 -f 584/909/51 587/910/51 581/911/51 579/912/51 -f 593/913/6 592/914/6 591/915/6 590/916/6 589/917/6 588/918/6 583/919/6 581/920/6 587/921/6 594/922/6 -f 599/923/28 609/924/28 610/925/28 600/926/28 -f 591/927/44 592/928/44 604/929/44 605/930/44 -f 606/931/1 590/932/1 591/933/1 605/934/1 -f 594/935/45 597/936/45 603/937/45 593/938/45 -f 596/939/3 599/940/3 600/941/3 598/942/3 597/936/3 594/935/3 587/943/3 584/944/3 585/945/3 -f 609/946/5 599/947/5 596/948/5 601/949/5 -f 588/950/46 595/951/46 582/952/46 583/953/46 -f 608/954/44 602/955/44 595/956/44 588/957/44 589/958/44 -f 601/959/28 596/960/28 585/961/28 586/962/28 602/955/28 608/954/28 -f 610/925/4 611/963/4 598/964/4 600/926/4 -f 604/929/4 592/928/4 593/965/4 603/966/4 -f 586/967/5 580/968/5 582/969/5 595/970/5 602/971/5 -f 609/972/1 601/973/1 607/974/1 611/975/1 610/976/1 -f 584/944/47 579/977/47 580/978/47 586/979/47 585/945/47 -f 608/954/52 589/958/52 590/980/52 606/981/52 607/982/52 601/959/52 -f 606/983/5 605/984/5 604/985/5 603/986/5 597/987/5 598/988/5 611/989/5 607/990/5 -f 648/991/4 642/992/4 651/993/4 652/994/4 -f 636/995/5 635/996/5 634/997/5 633/998/5 632/999/5 629/1000/5 650/1001/5 652/1002/5 651/1003/5 641/1004/5 639/1005/5 638/1006/5 637/1007/5 -f 628/1008/3 631/1009/3 630/1010/3 629/1011/3 632/1012/3 622/1013/3 614/1014/3 -f 641/1015/46 640/1016/46 627/1017/46 613/1018/46 615/1019/46 639/1020/46 -f 646/1021/10 631/1022/10 628/1023/10 623/1024/10 624/1025/10 -f 612/1026/47 623/1027/47 628/1008/47 614/1014/47 -f 616/1028/44 617/1029/44 637/1030/44 638/1031/44 -f 637/1030/4 617/1029/4 618/1032/4 636/1033/4 -f 624/1025/10 625/1034/10 644/1035/10 645/1036/10 -f 643/1037/5 644/1035/5 625/1034/5 626/1038/5 -f 622/1039/45 632/1040/45 633/1041/45 621/1042/45 -f 640/1016/1 641/1015/1 651/1043/1 642/1044/1 -f 631/1045/28 646/1046/28 647/1047/28 649/1048/28 630/1049/28 -f 619/1050/44 620/1051/44 634/1052/44 635/1053/44 -f 649/1048/4 650/1054/4 629/1055/4 630/1049/4 -f 642/1056/53 648/1057/53 645/1058/53 -f 639/1020/1 615/1019/1 616/1059/1 638/1060/1 -f 636/1061/1 618/1062/1 619/1063/1 635/1064/1 -f 648/1065/54 647/1066/54 646/1021/54 624/1025/54 645/1036/54 -f 634/1052/4 620/1051/4 621/1042/4 633/1041/4 -f 643/1067/4 642/1068/4 645/1069/4 644/1070/4 -f 647/1071/1 648/1072/1 652/1073/1 650/1074/1 649/1075/1 -f 621/1076/6 620/1077/6 619/1078/6 618/1079/6 617/1080/6 616/1081/6 615/1082/6 613/1083/6 612/1084/6 614/1085/6 622/1086/6 -f 640/1016/9 642/1044/9 643/1087/9 626/1088/9 627/1017/9 -f 656/1089/1 654/1090/1 716/1091/1 714/1092/1 712/1093/1 710/1094/1 708/1095/1 706/1096/1 704/1097/1 702/1098/1 876/1099/1 884/1100/1 900/1101/1 856/1102/1 848/1103/1 852/1104/1 796/1105/1 792/1106/1 788/1107/1 908/1108/1 904/1109/1 832/1110/1 888/1111/1 896/1112/1 840/1113/1 827/1114/1 835/1115/1 670/1116/1 668/1117/1 666/1118/1 664/1119/1 662/1120/1 660/1121/1 658/1122/1 -f 717/1123/3 719/1124/3 720/1125/3 721/1126/3 722/1127/3 723/1128/3 724/1129/3 725/1130/3 833/1131/3 825/1132/3 837/1133/3 893/1134/3 885/1135/3 829/1136/3 901/1137/3 905/1138/3 785/1139/3 789/1140/3 793/1141/3 849/1142/3 845/1143/3 853/1144/3 897/1145/3 881/1146/3 873/1147/3 741/1148/3 742/1149/3 743/1150/3 744/1151/3 745/1152/3 746/1153/3 747/1154/3 748/1155/3 718/1156/3 -f 653/1157/3 655/1158/3 657/1159/3 659/1160/3 661/1161/3 663/1162/3 665/1163/3 667/1164/3 669/1165/3 836/1166/3 828/1167/3 839/1168/3 895/1169/3 887/1170/3 831/1171/3 903/1172/3 907/1173/3 786/1174/3 790/1175/3 794/1176/3 850/1177/3 846/1178/3 854/1179/3 899/1180/3 883/1181/3 875/1182/3 701/1183/3 703/1184/3 705/1185/3 707/1186/3 709/1187/3 711/1188/3 713/1189/3 715/1190/3 -f 749/1191/1 780/1192/1 779/1193/1 778/1194/1 777/1195/1 776/1196/1 775/1197/1 774/1198/1 773/1199/1 874/1200/1 882/1201/1 898/1202/1 855/1203/1 847/1204/1 851/1205/1 795/1206/1 791/1207/1 787/1208/1 906/1209/1 902/1210/1 830/1211/1 886/1212/1 894/1213/1 838/1214/1 826/1215/1 834/1216/1 757/1217/1 756/1218/1 755/1219/1 754/1220/1 753/1221/1 752/1222/1 751/1223/1 750/1224/1 -f 757/1217/1 834/1216/1 858/1225/1 870/1226/1 782/1227/1 866/1228/1 862/1229/1 890/1230/1 842/1231/1 818/1232/1 814/1233/1 822/1234/1 878/1235/1 810/1236/1 802/1237/1 798/1238/1 806/1239/1 874/1200/1 773/1199/1 772/1240/1 771/1241/1 770/1242/1 769/1243/1 768/1244/1 767/1245/1 766/1246/1 765/1247/1 764/1248/1 763/1249/1 762/1250/1 761/1251/1 760/1252/1 759/1253/1 758/1254/1 -f 670/1116/1 835/1115/1 859/1255/1 871/1256/1 783/1257/1 867/1258/1 863/1259/1 891/1260/1 843/1261/1 819/1262/1 815/1263/1 823/1264/1 879/1265/1 811/1266/1 803/1267/1 799/1268/1 807/1269/1 876/1099/1 702/1098/1 700/1270/1 698/1271/1 696/1272/1 694/1273/1 692/1274/1 690/1275/1 688/1276/1 686/1277/1 684/1278/1 682/1279/1 680/1280/1 678/1281/1 676/1282/1 674/1283/1 672/1284/1 -f 741/1148/3 873/1147/3 805/1285/3 797/1286/3 801/1287/3 809/1288/3 877/1289/3 821/1290/3 813/1291/3 817/1292/3 841/1293/3 889/1294/3 861/1295/3 865/1296/3 781/1297/3 869/1298/3 857/1299/3 833/1131/3 725/1130/3 726/1300/3 727/1301/3 728/1302/3 729/1303/3 730/1304/3 731/1305/3 732/1306/3 733/1307/3 734/1308/3 735/1309/3 736/1310/3 737/1311/3 738/1312/3 739/1313/3 740/1314/3 -f 701/1183/3 875/1182/3 808/1315/3 800/1316/3 804/1317/3 812/1318/3 880/1319/3 824/1320/3 816/1321/3 820/1322/3 844/1323/3 892/1324/3 864/1325/3 868/1326/3 784/1327/3 872/1328/3 860/1329/3 836/1166/3 669/1165/3 671/1330/3 673/1331/3 675/1332/3 677/1333/3 679/1334/3 681/1335/3 683/1336/3 685/1337/3 687/1338/3 689/1339/3 691/1340/3 693/1341/3 695/1342/3 697/1343/3 699/1344/3 -f 926/1345/55 930/1346/55 929/1347/55 925/1348/55 -f 928/1349/56 927/1350/56 1036/1351/56 1033/1352/56 -f 1055/1353/57 1058/1354/57 1051/1355/57 1054/1356/57 -f 925/1357/58 929/1347/58 927/1350/58 928/1349/58 -f 1055/1358/3 1056/1359/3 926/1360/3 925/1361/3 928/1362/3 1060/1363/3 1057/1364/3 1058/1365/3 -f 1070/1366/59 1063/1367/59 1062/1368/59 1071/1369/59 -f 930/1370/60 926/1371/60 1018/1372/60 1019/1373/60 -f 1026/1374/61 1027/1375/61 1030/1376/61 1031/1377/61 -f 1023/1378/62 1056/1379/62 1053/1380/62 1022/1381/62 -f 1059/1382/63 1040/1383/63 1037/1384/63 1050/1385/63 -f 1048/1386/64 1045/1387/64 1044/1388/64 1041/1389/64 -f 962/1390/1 947/1391/1 948/1392/1 949/1393/1 950/1394/1 951/1395/1 952/1396/1 953/1397/1 954/1398/1 955/1399/1 956/1400/1 957/1401/1 958/1402/1 959/1403/1 960/1404/1 961/1405/1 -f 980/1406/55 979/1407/55 983/1408/55 984/1409/55 -f 982/1410/56 1042/1411/56 1043/1412/56 981/1413/56 -f 1068/1414/57 1065/1415/57 1064/1416/57 1069/1417/57 -f 979/1418/58 982/1410/58 981/1413/58 983/1408/58 -f 984/1419/60 1028/1420/60 1025/1421/60 980/1422/60 -f 1032/1423/62 1029/1424/62 1066/1425/62 1067/1426/62 -f 1072/1427/63 1061/1428/63 1046/1429/63 1047/1430/63 -f 1016/1431/3 1015/1432/3 1014/1433/3 1013/1434/3 1012/1435/3 1011/1436/3 1010/1437/3 1009/1438/3 1008/1439/3 1007/1440/3 1006/1441/3 1005/1442/3 1004/1443/3 1003/1444/3 1002/1445/3 1001/1446/3 -f 1019/1373/65 1018/1372/65 1017/1447/65 1020/1448/65 -f 1023/1378/66 1022/1381/66 1021/1449/66 1024/1450/66 -f 1027/1375/65 1026/1374/65 1025/1451/65 1028/1452/65 -f 1031/1377/66 1030/1376/66 1029/1453/66 1032/1454/66 -f 1017/1455/61 1024/1456/61 1021/1457/61 1020/1458/61 -f 1033/1352/67 1036/1351/67 1035/1459/67 1034/1460/67 -f 1039/1461/68 1038/1462/68 1037/1463/68 1040/1464/68 -f 1041/1389/67 1044/1388/67 1043/1465/67 1042/1466/67 -f 1047/1430/68 1046/1429/68 1045/1467/68 1048/1468/68 -f 1039/1461/64 1034/1469/64 1035/1470/64 1038/1462/64 -f 1055/1353/69 1054/1356/69 1053/1471/69 1056/1472/69 -f 1057/1473/70 1052/1474/70 1051/1355/70 1058/1354/70 -f 1059/1382/71 1050/1385/71 1049/1475/71 1060/1476/71 -f 1067/1426/69 1066/1425/69 1065/1477/69 1068/1478/69 -f 1069/1417/70 1064/1416/70 1063/1367/70 1070/1366/70 -f 1071/1369/71 1062/1368/71 1061/1479/71 1072/1480/71 -f 1057/1473/59 1060/1481/59 1049/1482/59 1052/1474/59 -f 1036/1483/1 927/1484/1 1049/1485/1 -f 930/1486/1 1019/1487/1 1053/1488/1 -f 1021/1489/1 1022/1490/1 1053/1488/1 1019/1487/1 1020/1491/1 -f 1072/1492/1 1047/1493/1 1048/1494/1 1041/1495/1 1042/1496/1 1071/1497/1 -f 982/1498/1 979/1499/1 980/1500/1 1067/1501/1 1068/1502/1 1069/1503/1 1070/1504/1 1071/1497/1 -f 1051/1505/1 1052/1506/1 1049/1485/1 927/1484/1 929/1507/1 930/1486/1 1053/1488/1 1054/1508/1 -f 928/1362/3 1033/1509/3 1060/1363/3 -f 1059/1510/3 1060/1363/3 1033/1509/3 1034/1511/3 1039/1512/3 1040/1513/3 -f 1023/1514/3 1024/1515/3 1017/1516/3 1018/1517/3 1056/1359/3 -f 1018/1517/3 926/1360/3 1056/1359/3 -f 981/1518/3 1043/1519/3 1062/1520/3 -f 1062/1520/3 1043/1519/3 1044/1521/3 1045/1522/3 1046/1523/3 1061/1524/3 -f 1028/1525/3 984/1526/3 1066/1527/3 -f 1066/1527/3 1029/1528/3 1030/1529/3 1027/1530/3 1028/1525/3 -f 1050/1531/1 1037/1532/1 1038/1533/1 1035/1534/1 1036/1483/1 1049/1485/1 -f 980/1500/1 1025/1535/1 1067/1501/1 -f 1031/1536/1 1032/1537/1 1067/1501/1 1025/1535/1 1026/1538/1 -f 1042/1496/1 982/1498/1 1071/1497/1 -f 1063/1539/3 1064/1540/3 1065/1541/3 1066/1527/3 984/1526/3 983/1542/3 981/1518/3 1062/1520/3 -f 1073/1543/1 1075/1544/1 1077/1545/1 1079/1546/1 1081/1547/1 1083/1548/1 1085/1549/1 1087/1550/1 1089/1551/1 1091/1552/1 1093/1553/1 1095/1554/1 1097/1555/1 1099/1556/1 1101/1557/1 1103/1558/1 -f 1076/1559/3 1074/1560/3 1104/1561/3 1102/1562/3 1100/1563/3 1098/1564/3 1096/1565/3 1094/1566/3 1092/1567/3 1090/1568/3 1088/1569/3 1086/1570/3 1084/1571/3 1082/1572/3 1080/1573/3 1078/1574/3 -f 1108/1575/1 1106/1576/1 1116/1577/1 1114/1578/1 1112/1579/1 1110/1580/1 -f 1120/1581/3 1118/1582/3 1128/1583/3 1126/1584/3 1124/1585/3 1122/1586/3 -f 1132/1587/3 1130/1588/3 1140/1589/3 1138/1590/3 1136/1591/3 1134/1592/3 -f 1144/1593/3 1142/1594/3 1152/1595/3 1150/1596/3 1148/1597/3 1146/1598/3 -f 1156/1599/1 1154/1600/1 1164/1601/1 1162/1602/1 1160/1603/1 1158/1604/1 -f 1168/1605/1 1166/1606/1 1176/1607/1 1174/1608/1 1172/1609/1 1170/1610/1 -f 1187/1611/5 1183/1612/5 1181/1613/5 1185/1614/5 -f 1180/1615/1 1188/1616/1 1186/1617/1 1179/1618/1 -f 1177/1619/3 1182/1620/3 1184/1621/3 1178/1622/3 -f 1178/1623/6 1180/1624/6 1179/1618/6 1177/1619/6 -f 1178/1625/4 1184/1626/4 1188/1616/4 1180/1615/4 -f 1181/1613/10 1183/1612/10 1184/1627/10 1182/1628/10 -f 1183/1612/28 1187/1611/28 1188/1616/28 1184/1626/28 -f 1187/1611/9 1185/1614/9 1186/1629/9 1188/1630/9 -f 1185/1614/72 1181/1613/72 1182/1628/72 1186/1629/72 -f 1179/1618/2 1186/1617/2 1182/1620/2 1177/1619/2 -f 1221/1631/6 1222/1632/6 1223/1633/6 1224/1634/6 -f 1225/1635/5 1228/1636/5 1227/1637/5 1226/1638/5 -f 1223/1639/1 1227/1640/1 1228/1641/1 1224/1642/1 -f 1221/1643/3 1225/1644/3 1226/1645/3 1222/1646/3 -f 1224/1647/2 1228/1648/2 1225/1649/2 1221/1650/2 -f 1222/1651/4 1226/1652/4 1227/1653/4 1223/1654/4 -f 1232/1655/2 1234/1656/2 1236/1657/2 1231/1658/2 -f 1240/1659/6 1238/1660/6 1245/1661/6 1247/1662/6 1248/1663/6 1246/1664/6 1273/1665/6 1275/1666/6 1276/1667/6 1274/1668/6 1233/1669/6 1234/1670/6 1285/1671/6 1287/1672/6 1288/1673/6 1286/1674/6 1237/1675/6 1239/1676/6 -f 1229/1677/4 1230/1678/4 1235/1679/4 1233/1680/4 -f 1233/1669/6 1235/1681/6 1236/1682/6 1234/1670/6 -f 1262/1683/6 1253/1684/6 1255/1685/6 1256/1686/6 1254/1687/6 1289/1688/6 1291/1689/6 1292/1690/6 1290/1691/6 1236/1682/6 1235/1681/6 1269/1692/6 1271/1693/6 1272/1694/6 1270/1695/6 1261/1696/6 1263/1697/6 1264/1698/6 -f 1304/1699/1 1303/1700/1 1307/1701/1 1308/1702/1 -f 1307/1703/5 1306/1704/5 1305/1705/5 1308/1706/5 -f 1302/1707/3 1301/1708/3 1305/1709/3 1306/1710/3 -f 1301/1711/2 1304/1712/2 1308/1713/2 1305/1714/2 -f 1303/1715/4 1302/1716/4 1306/1717/4 1307/1718/4 -f 1312/1719/2 1310/1720/2 1316/1721/2 1314/1722/2 1331/1723/2 1332/1724/2 1327/1725/2 1328/1726/2 1323/1727/2 1324/1728/2 1319/1729/2 1320/1730/2 -f 1309/1731/4 1311/1732/4 1317/1733/4 1318/1734/4 1321/1735/4 1322/1736/4 1325/1737/4 1326/1738/4 1329/1739/4 1330/1740/4 1313/1741/4 1315/1742/4 -f 1336/1743/2 1334/1744/2 1340/1745/2 1338/1746/2 1355/1747/2 1356/1748/2 1351/1749/2 1352/1750/2 1347/1751/2 1348/1752/2 1343/1753/2 1344/1754/2 -f 1333/1755/4 1335/1756/4 1341/1757/4 1342/1758/4 1345/1759/4 1346/1760/4 1349/1761/4 1350/1762/4 1353/1763/4 1354/1764/4 1337/1765/4 1339/1766/4 -f 1360/1767/2 1358/1768/2 1364/1769/2 1362/1770/2 1379/1771/2 1380/1772/2 1375/1773/2 1376/1774/2 1371/1775/2 1372/1776/2 1367/1777/2 1368/1778/2 -f 1357/1779/4 1359/1780/4 1365/1781/4 1366/1782/4 1369/1783/4 1370/1784/4 1373/1785/4 1374/1786/4 1377/1787/4 1378/1788/4 1361/1789/4 1363/1790/4 -f 1384/1791/2 1382/1792/2 1388/1793/2 1386/1794/2 1403/1795/2 1404/1796/2 1399/1797/2 1400/1798/2 1395/1799/2 1396/1800/2 1391/1801/2 1392/1802/2 -f 1381/1803/4 1383/1804/4 1389/1805/4 1390/1806/4 1393/1807/4 1394/1808/4 1397/1809/4 1398/1810/4 1401/1811/4 1402/1812/4 1385/1813/4 1387/1814/4 -f 1405/1815/3 1406/1816/3 1408/1817/3 1407/1818/3 -f 1407/1819/6 1408/1820/6 1412/1821/6 1411/1822/6 -f 1411/1822/1 1412/1821/1 1410/1823/1 1409/1824/1 -f 1407/1825/2 1411/1826/2 1409/1824/2 1405/1815/2 -f 1412/1821/4 1408/1820/4 1406/1827/4 1410/1828/4 -f 1445/1829/1 1447/1830/1 1449/1831/1 1451/1832/1 1453/1833/1 1455/1834/1 1457/1835/1 1459/1836/1 1461/1837/1 1463/1838/1 1465/1839/1 1467/1840/1 1469/1841/1 1471/1842/1 1473/1843/1 1475/1844/1 -f 1448/1845/3 1446/1846/3 1476/1847/3 1474/1848/3 1472/1849/3 1470/1850/3 1468/1851/3 1466/1852/3 1464/1853/3 1462/1854/3 1460/1855/3 1458/1856/3 1456/1857/3 1454/1858/3 1452/1859/3 1450/1860/3 -f 1486/1861/2 1480/1862/2 1477/1863/2 1484/1864/2 -f 1483/1865/2 1485/1866/2 1487/1867/2 1488/1868/2 -f 1478/1869/6 1481/1870/6 1485/1871/6 1483/1872/6 -f 1487/1873/6 1486/1874/6 1484/1875/6 1488/1876/6 -f 1478/1877/4 1479/1878/4 1482/1879/4 1481/1880/4 -f 1482/1881/5 1479/1882/5 1477/1883/5 1480/1884/5 -f 1477/1885/3 1479/1886/3 1488/1887/3 1484/1888/3 -f 1478/1889/3 1483/1890/3 1488/1887/3 1479/1886/3 -f 1481/1891/1 1482/1892/1 1487/1893/1 1485/1894/1 -f 1480/1895/1 1486/1896/1 1487/1893/1 1482/1892/1 -f 1511/1897/6 1489/1898/6 1491/1899/6 1515/1900/6 -f 1515/1900/4 1491/1899/4 1494/1901/4 1516/1902/4 -f 1516/1903/5 1494/1904/5 1492/1905/5 1517/1906/5 -f 1517/1906/2 1492/1905/2 1489/1898/2 1511/1897/2 -f 1490/1907/1 1493/1908/1 1519/1909/1 1518/1910/1 -f 1494/1911/3 1491/1912/3 1489/1913/3 1492/1914/3 -f 1519/1915/2 1514/1916/2 1520/1917/2 1518/1918/2 -f 1493/1919/5 1513/1920/5 1514/1916/5 1519/1915/5 -f 1490/1921/4 1512/1922/4 1513/1923/4 1493/1924/4 -f 1518/1918/6 1520/1917/6 1512/1922/6 1490/1921/6 -f 1513/1925/5 1516/1926/5 1517/1927/5 1514/1928/5 -f 1512/1929/4 1515/1930/4 1516/1931/4 1513/1932/4 -f 1520/1933/6 1511/1934/6 1515/1930/6 1512/1929/6 -f 1514/1928/2 1517/1927/2 1511/1935/2 1520/1936/2 -f 1523/1937/1 1524/1938/1 1528/1939/1 1527/1940/1 -f 1525/1941/3 1526/1942/3 1522/1943/3 1521/1944/3 -f 1523/1945/6 1527/1946/6 1525/1941/6 1521/1944/6 -f 1528/1939/5 1524/1938/5 1522/1943/5 1526/1942/5 -f 1531/1947/1 1532/1948/1 1536/1949/1 1535/1950/1 -f 1533/1951/3 1534/1952/3 1530/1953/3 1529/1954/3 -f 1531/1955/6 1535/1956/6 1533/1951/6 1529/1954/6 -f 1536/1949/5 1532/1948/5 1530/1953/5 1534/1952/5 -f 1540/1957/3 1538/1958/3 1568/1959/3 1566/1960/3 1564/1961/3 1562/1962/3 1560/1963/3 1558/1964/3 1556/1965/3 1554/1966/3 1552/1967/3 1550/1968/3 1548/1969/3 1546/1970/3 1544/1971/3 1542/1972/3 -f 1537/1973/1 1539/1974/1 1541/1975/1 1543/1976/1 1545/1977/1 1547/1978/1 1549/1979/1 1551/1980/1 1553/1981/1 1555/1982/1 1557/1983/1 1559/1984/1 1561/1985/1 1563/1986/1 1565/1987/1 1567/1988/1 -f 1633/1989/1 1635/1990/1 1637/1991/1 1639/1992/1 1641/1993/1 1643/1994/1 1645/1995/1 1647/1996/1 1649/1997/1 1651/1998/1 1653/1999/1 1655/2000/1 1657/2001/1 1659/2002/1 1661/2003/1 1663/2004/1 -f 1636/2005/3 1634/2006/3 1664/2007/3 1662/2008/3 1660/2009/3 1658/2010/3 1656/2011/3 1654/2012/3 1652/2013/3 1650/2014/3 1648/2015/3 1646/2016/3 1644/2017/3 1642/2018/3 1640/2019/3 1638/2020/3 -f 1665/2021/1 1667/2022/1 1669/2023/1 1671/2024/1 1673/2025/1 1675/2026/1 1677/2027/1 1679/2028/1 1681/2029/1 1683/2030/1 1685/2031/1 1687/2032/1 1689/2033/1 1691/2034/1 1693/2035/1 1695/2036/1 -f 1668/2037/3 1666/2038/3 1696/2039/3 1694/2040/3 1692/2041/3 1690/2042/3 1688/2043/3 1686/2044/3 1684/2045/3 1682/2046/3 1680/2047/3 1678/2048/3 1676/2049/3 1674/2050/3 1672/2051/3 1670/2052/3 -f 1707/2053/5 1703/2054/5 1701/2055/5 1705/2056/5 -f 1700/2057/1 1708/2058/1 1706/2059/1 1699/2060/1 -f 1697/2061/3 1702/2062/3 1704/2063/3 1698/2064/3 -f 1698/2065/6 1700/2066/6 1699/2060/6 1697/2061/6 -f 1698/2067/4 1704/2068/4 1708/2058/4 1700/2057/4 -f 1701/2055/10 1703/2054/10 1704/2069/10 1702/2070/10 -f 1703/2054/28 1707/2053/28 1708/2058/28 1704/2068/28 -f 1707/2053/9 1705/2056/9 1706/2071/9 1708/2072/9 -f 1705/2056/72 1701/2055/72 1702/2070/72 1706/2071/72 -f 1699/2060/2 1706/2059/2 1702/2062/2 1697/2061/2 -f 1719/2073/5 1715/2074/5 1713/2075/5 1717/2076/5 -f 1712/2077/1 1720/2078/1 1718/2079/1 1711/2080/1 -f 1709/2081/3 1714/2082/3 1716/2083/3 1710/2084/3 -f 1710/2085/6 1712/2086/6 1711/2080/6 1709/2081/6 -f 1710/2087/4 1716/2088/4 1720/2078/4 1712/2077/4 -f 1713/2075/10 1715/2074/10 1716/2089/10 1714/2090/10 -f 1715/2074/28 1719/2073/28 1720/2078/28 1716/2088/28 -f 1719/2073/9 1717/2076/9 1718/2091/9 1720/2092/9 -f 1717/2076/72 1713/2075/72 1714/2090/72 1718/2091/72 -f 1711/2080/2 1718/2079/2 1714/2082/2 1709/2081/2 -f 1731/2093/5 1727/2094/5 1725/2095/5 1729/2096/5 -f 1724/2097/1 1732/2098/1 1730/2099/1 1723/2100/1 -f 1721/2101/3 1726/2102/3 1728/2103/3 1722/2104/3 -f 1722/2105/6 1724/2106/6 1723/2100/6 1721/2101/6 -f 1722/2107/4 1728/2108/4 1732/2098/4 1724/2097/4 -f 1725/2095/10 1727/2094/10 1728/2109/10 1726/2110/10 -f 1727/2094/28 1731/2093/28 1732/2098/28 1728/2108/28 -f 1731/2093/9 1729/2096/9 1730/2111/9 1732/2112/9 -f 1729/2096/72 1725/2095/72 1726/2110/72 1730/2111/72 -f 1723/2100/2 1730/2099/2 1726/2102/2 1721/2101/2 -f 1736/2113/3 1734/2114/3 1744/2115/3 1742/2116/3 1740/2117/3 1738/2118/3 -f 1748/2119/1 1746/2120/1 1756/2121/1 1754/2122/1 1752/2123/1 1750/2124/1 -f 1760/2125/1 1758/2126/1 1768/2127/1 1766/2128/1 1764/2129/1 1762/2130/1 -f 1772/2131/1 1770/2132/1 1780/2133/1 1778/2134/1 1776/2135/1 1774/2136/1 -f 1784/2137/1 1782/2138/1 1792/2139/1 1790/2140/1 1788/2141/1 1786/2142/1 -f 1796/2143/3 1794/2144/3 1804/2145/3 1802/2146/3 1800/2147/3 1798/2148/3 -f 1808/2149/3 1806/2150/3 1816/2151/3 1814/2152/3 1812/2153/3 1810/2154/3 -f 1820/2155/3 1818/2156/3 1828/2157/3 1826/2158/3 1824/2159/3 1822/2160/3 -f 1832/2161/3 1830/2162/3 1840/2163/3 1838/2164/3 1836/2165/3 1834/2166/3 -f 1844/2167/1 1842/2168/1 1852/2169/1 1850/2170/1 1848/2171/1 1846/2172/1 -f 1856/2173/1 1854/2174/1 1864/2175/1 1862/2176/1 1860/2177/1 1858/2178/1 -f 1868/2179/1 1866/2180/1 1876/2181/1 1874/2182/1 1872/2183/1 1870/2184/1 -f 1880/2185/1 1878/2186/1 1888/2187/1 1886/2188/1 1884/2189/1 1882/2190/1 -f 1892/2191/3 1890/2192/3 1900/2193/3 1898/2194/3 1896/2195/3 1894/2196/3 -f 1904/2197/3 1902/2198/3 1912/2199/3 1910/2200/3 1908/2201/3 1906/2202/3 -f 1916/2203/3 1914/2204/3 1924/2205/3 1922/2206/3 1920/2207/3 1918/2208/3 -f 1928/2209/4 1926/2210/4 1936/2211/4 1934/2212/4 1932/2213/4 1930/2214/4 -f 1940/2215/4 1938/2216/4 1948/2217/4 1946/2218/4 1944/2219/4 1942/2220/4 -f 1952/2221/2 1950/2222/2 1960/2223/2 1958/2224/2 1956/2225/2 1954/2226/2 -f 1964/2227/2 1962/2228/2 1972/2229/2 1970/2230/2 1968/2231/2 1966/2232/2 -f 1976/2233/4 1974/2234/4 1983/2235/4 1982/2236/4 1980/2237/4 1978/2238/4 -f 1975/2239/2 1977/2240/2 1979/2241/2 1981/2242/2 1984/2243/2 1973/2244/2 -f 1988/2245/4 1986/2246/4 1995/2247/4 1994/2248/4 1992/2249/4 1990/2250/4 -f 1987/2251/2 1989/2252/2 1991/2253/2 1993/2254/2 1996/2255/2 1985/2256/2 -f 2000/2257/4 1998/2258/4 2007/2259/4 2006/2260/4 2004/2261/4 2002/2262/4 -f 1999/2263/2 2001/2264/2 2003/2265/2 2005/2266/2 2008/2267/2 1997/2268/2 -f 2012/2269/3 2010/2270/3 2019/2271/3 2018/2272/3 2016/2273/3 2014/2274/3 -f 2011/2275/1 2013/2276/1 2015/2277/1 2017/2278/1 2020/2279/1 2009/2280/1 -f 2024/2281/4 2022/2282/4 2032/2283/4 2030/2284/4 2028/2285/4 2026/2286/4 -f 2036/2287/4 2034/2288/4 2044/2289/4 2042/2290/4 2040/2291/4 2038/2292/4 -f 2048/2293/2 2046/2294/2 2056/2295/2 2054/2296/2 2052/2297/2 2050/2298/2 -f 2060/2299/2 2058/2300/2 2068/2301/2 2066/2302/2 2064/2303/2 2062/2304/2 -f 2072/2305/3 2070/2306/3 2079/2307/3 2078/2308/3 2076/2309/3 2074/2310/3 -f 2071/2311/1 2073/2312/1 2075/2313/1 2077/2314/1 2080/2315/1 2069/2316/1 -f 2084/2317/3 2082/2318/3 2091/2319/3 2090/2320/3 2088/2321/3 2086/2322/3 -f 2083/2323/1 2085/2324/1 2087/2325/1 2089/2326/1 2092/2327/1 2081/2328/1 -f 2096/2329/3 2094/2330/3 2103/2331/3 2102/2332/3 2100/2333/3 2098/2334/3 -f 2095/2335/1 2097/2336/1 2099/2337/1 2101/2338/1 2104/2339/1 2093/2340/1 -f 2113/2341/6 2106/2342/6 2108/2343/6 2122/2344/6 -f 2121/2345/1 2123/2346/1 2124/2347/1 2122/2344/1 2108/2343/1 2107/2348/1 2117/2349/1 2119/2350/1 2120/2351/1 2118/2352/1 -f 2117/2349/5 2107/2348/5 2105/2353/5 2110/2354/5 -f 2108/2343/4 2106/2342/4 2105/2355/4 2107/2356/4 -f 2109/2357/3 2111/2358/3 2112/2359/3 2110/2360/3 2105/2353/3 2106/2361/3 2113/2362/3 2115/2363/3 2116/2364/3 2114/2365/3 -f 2113/2341/73 2122/2344/73 2124/2366/73 2115/2367/73 -f 2115/2367/29 2124/2366/29 2123/2368/29 2116/2369/29 -f 2116/2370/74 2123/2371/74 2121/2372/74 2114/2373/74 -f 2117/2349/75 2110/2354/75 2112/2359/75 2119/2350/75 -f 2119/2350/72 2112/2359/72 2111/2358/72 2120/2351/72 -f 2120/2351/76 2111/2358/76 2109/2374/76 2118/2375/76 -f 2121/2372/2 2118/2375/2 2109/2374/2 2114/2373/2 -f 2128/2376/4 2126/2377/4 2135/2378/4 2134/2379/4 2132/2380/4 2130/2381/4 -f 2127/2382/2 2129/2383/2 2131/2384/2 2133/2385/2 2136/2386/2 2125/2387/2 -f 2137/2388/4 2139/2389/4 2141/2390/4 2143/2391/4 2145/2392/4 2147/2393/4 2149/2394/4 2151/2395/4 2153/2396/4 2155/2397/4 2157/2398/4 2159/2399/4 2161/2400/4 2163/2401/4 2165/2402/4 2167/2403/4 -f 2140/2404/2 2138/2405/2 2168/2406/2 2166/2407/2 2164/2408/2 2162/2409/2 2160/2410/2 2158/2411/2 2156/2412/2 2154/2413/2 2152/2414/2 2150/2415/2 2148/2416/2 2146/2417/2 2144/2418/2 2142/2419/2 -f 2169/2420/4 2171/2421/4 2173/2422/4 2175/2423/4 2177/2424/4 2179/2425/4 2181/2426/4 2183/2427/4 2185/2428/4 2187/2429/4 2189/2430/4 2191/2431/4 2193/2432/4 2195/2433/4 2197/2434/4 2199/2435/4 -f 2172/2436/2 2170/2437/2 2200/2438/2 2198/2439/2 2196/2440/2 2194/2441/2 2192/2442/2 2190/2443/2 2188/2444/2 2186/2445/2 2184/2446/2 2182/2447/2 2180/2448/2 2178/2449/2 2176/2450/2 2174/2451/2 -f 2223/2452/3 2201/2453/3 2203/2454/3 2227/2455/3 -f 2227/2455/4 2203/2454/4 2206/2456/4 2228/2457/4 -f 2228/2458/1 2206/2459/1 2204/2460/1 2229/2461/1 -f 2229/2461/2 2204/2460/2 2201/2453/2 2223/2452/2 -f 2202/2462/6 2205/2463/6 2231/2464/6 2230/2465/6 -f 2206/2466/5 2203/2467/5 2201/2468/5 2204/2469/5 -f 2231/2470/2 2226/2471/2 2232/2472/2 2230/2473/2 -f 2205/2474/1 2225/2475/1 2226/2471/1 2231/2470/1 -f 2202/2476/4 2224/2477/4 2225/2478/4 2205/2479/4 -f 2230/2473/3 2232/2472/3 2224/2477/3 2202/2476/3 -f 2225/2480/1 2228/2481/1 2229/2482/1 2226/2483/1 -f 2224/2484/4 2227/2485/4 2228/2486/4 2225/2487/4 -f 2232/2488/3 2223/2489/3 2227/2485/3 2224/2484/3 -f 2226/2483/2 2229/2482/2 2223/2490/2 2232/2491/2 -f 2261/2492/5 2263/2493/5 2233/2494/5 2235/2495/5 2237/2496/5 2239/2497/5 2241/2498/5 2243/2499/5 2245/2500/5 2247/2501/5 2249/2502/5 2251/2503/5 2253/2504/5 2255/2505/5 2257/2506/5 2259/2507/5 -f 2268/2508/5 2266/2509/5 2296/2510/5 2294/2511/5 2292/2512/5 2290/2513/5 2288/2514/5 2286/2515/5 2284/2516/5 2282/2517/5 2280/2518/5 2278/2519/5 2276/2520/5 2274/2521/5 2272/2522/5 2270/2523/5 -f 2265/2524/6 2267/2525/6 2269/2526/6 2271/2527/6 2273/2528/6 2275/2529/6 2277/2530/6 2279/2531/6 2281/2532/6 2283/2533/6 2285/2534/6 2287/2535/6 2289/2536/6 2291/2537/6 2293/2538/6 2295/2539/6 -f 2319/2540/3 2297/2541/3 2299/2542/3 2323/2543/3 -f 2323/2543/6 2299/2542/6 2302/2544/6 2324/2545/6 -f 2324/2546/1 2302/2547/1 2300/2548/1 2325/2549/1 -f 2325/2549/5 2300/2548/5 2297/2541/5 2319/2540/5 -f 2298/2550/2 2301/2551/2 2327/2552/2 2326/2553/2 -f 2302/2554/4 2299/2555/4 2297/2556/4 2300/2557/4 -f 2327/2558/5 2322/2559/5 2328/2560/5 2326/2561/5 -f 2301/2562/1 2321/2563/1 2322/2559/1 2327/2558/1 -f 2298/2564/6 2320/2565/6 2321/2566/6 2301/2567/6 -f 2326/2561/3 2328/2560/3 2320/2565/3 2298/2564/3 -f 2321/2568/1 2324/2569/1 2325/2570/1 2322/2571/1 -f 2320/2572/6 2323/2573/6 2324/2574/6 2321/2575/6 -f 2328/2576/3 2319/2577/3 2323/2573/3 2320/2572/3 -f 2322/2571/5 2325/2570/5 2319/2578/5 2328/2579/5 -f 2332/2580/4 2330/2581/4 2360/2582/4 2358/2583/4 2356/2584/4 2354/2585/4 2352/2586/4 2350/2587/4 2348/2588/4 2346/2589/4 2344/2590/4 2342/2591/4 2340/2592/4 2338/2593/4 2336/2594/4 2334/2595/4 -f 2329/2596/2 2331/2597/2 2333/2598/2 2335/2599/2 2337/2600/2 2339/2601/2 2341/2602/2 2343/2603/2 2345/2604/2 2347/2605/2 2349/2606/2 2351/2607/2 2353/2608/2 2355/2609/2 2357/2610/2 2359/2611/2 -f 2447/2612/3 2425/2613/3 2427/2614/3 2451/2615/3 -f 2451/2615/4 2427/2614/4 2430/2616/4 2452/2617/4 -f 2452/2618/1 2430/2619/1 2428/2620/1 2453/2621/1 -f 2453/2621/2 2428/2620/2 2425/2613/2 2447/2612/2 -f 2426/2622/6 2429/2623/6 2455/2624/6 2454/2625/6 -f 2430/2626/5 2427/2627/5 2425/2628/5 2428/2629/5 -f 2455/2630/2 2450/2631/2 2456/2632/2 2454/2633/2 -f 2429/2634/1 2449/2635/1 2450/2631/1 2455/2630/1 -f 2426/2636/4 2448/2637/4 2449/2638/4 2429/2639/4 -f 2454/2633/3 2456/2632/3 2448/2637/3 2426/2636/3 -f 2449/2640/1 2452/2641/1 2453/2642/1 2450/2643/1 -f 2448/2644/4 2451/2645/4 2452/2646/4 2449/2647/4 -f 2456/2648/3 2447/2649/3 2451/2645/3 2448/2644/3 -f 2450/2643/2 2453/2642/2 2447/2650/2 2456/2651/2 -f 2485/2652/5 2487/2653/5 2457/2654/5 2459/2655/5 2461/2656/5 2463/2657/5 2465/2658/5 2467/2659/5 2469/2660/5 2471/2661/5 2473/2662/5 2475/2663/5 2477/2664/5 2479/2665/5 2481/2666/5 2483/2667/5 -f 2492/2668/5 2490/2669/5 2520/2670/5 2518/2671/5 2516/2672/5 2514/2673/5 2512/2674/5 2510/2675/5 2508/2676/5 2506/2677/5 2504/2678/5 2502/2679/5 2500/2680/5 2498/2681/5 2496/2682/5 2494/2683/5 -f 2489/2684/6 2491/2685/6 2493/2686/6 2495/2687/6 2497/2688/6 2499/2689/6 2501/2690/6 2503/2691/6 2505/2692/6 2507/2693/6 2509/2694/6 2511/2695/6 2513/2696/6 2515/2697/6 2517/2698/6 2519/2699/6 -s 1 -f 1/2700/4 2/2701/4 4/2702/77 3/2703/77 -f 3/2703/77 4/2702/77 6/2704/44 5/2705/44 -f 5/2705/44 6/2704/44 8/2706/78 7/2707/78 -f 7/2707/78 8/2706/78 10/2708/1 9/2709/1 -f 9/2709/1 10/2708/1 12/2710/79 11/2711/79 -f 11/2711/79 12/2710/79 14/2712/46 13/2713/46 -f 13/2713/46 14/2712/46 16/2714/80 15/2715/80 -f 15/2715/80 16/2714/80 18/2716/2 17/2717/2 -f 17/2717/2 18/2716/2 20/2718/81 19/2719/81 -f 19/2719/81 20/2718/81 22/2720/47 21/2721/47 -f 21/2721/47 22/2720/47 24/2722/82 23/2723/82 -f 23/2723/82 24/2722/82 26/2724/3 25/2725/3 -f 25/2725/3 26/2724/3 28/2726/83 27/2727/83 -f 27/2727/83 28/2726/83 30/2728/45 29/2729/45 -f 29/2729/45 30/2728/45 32/2730/84 31/2731/84 -f 31/2732/84 32/2733/84 2/2701/4 1/2700/4 -f 33/2734/85 34/2735/86 36/2736/87 35/2737/88 -f 35/2737/88 36/2736/87 38/2738/89 37/2739/90 -f 37/2739/90 38/2738/89 40/2740/91 39/2741/92 -f 39/2741/92 40/2740/91 42/2742/93 41/2743/94 -f 41/2743/94 42/2742/93 44/2744/95 43/2745/96 -f 43/2745/96 44/2744/95 46/2746/97 45/2747/98 -f 45/2747/98 46/2746/97 48/2748/99 47/2749/100 -f 47/2750/100 48/2751/99 50/2752/101 49/2753/102 -f 49/2753/102 50/2752/101 52/2754/103 51/2755/104 -f 51/2755/104 52/2754/103 54/2756/105 53/2757/106 -f 53/2757/106 54/2756/105 56/2758/107 55/2759/108 -f 55/2759/108 56/2758/107 58/2760/109 57/2761/110 -f 57/2761/110 58/2760/109 60/2762/111 59/2763/112 -f 59/2763/112 60/2762/111 62/2764/113 61/2765/114 -f 61/2765/114 62/2764/113 64/2766/115 63/2767/116 -f 63/2768/116 64/2769/115 34/2735/86 33/2734/85 -f 33/2770/85 35/2771/88 37/2772/90 39/2773/92 41/2774/94 43/2775/96 45/2776/98 47/2777/100 49/2778/102 51/2779/104 53/2780/106 55/2781/108 57/2782/110 59/2783/112 61/2784/114 63/2785/116 -f 97/2786/4 114/2787/4 120/2788/32 98/2789/32 -f 98/2789/32 120/2788/32 128/2790/28 99/2791/28 -f 99/2791/28 128/2790/28 119/2792/41 100/2793/41 -f 100/2793/41 119/2792/41 127/2794/5 101/2795/5 -f 101/2795/5 127/2794/5 118/2796/117 102/2797/117 -f 102/2797/117 118/2796/117 126/2798/72 103/2799/72 -f 103/2799/72 126/2798/72 121/2800/118 104/2801/118 -f 104/2801/118 121/2800/118 125/2802/2 105/2803/2 -f 105/2803/2 125/2802/2 116/2804/119 106/2805/119 -f 106/2805/119 116/2804/119 124/2806/29 107/2807/29 -f 107/2807/29 124/2806/29 115/2808/120 108/2809/120 -f 108/2809/120 115/2808/120 123/2810/6 109/2811/6 -f 109/2812/6 123/2813/6 117/2814/37 110/2815/37 -f 110/2815/37 117/2814/37 122/2816/39 111/2817/39 -f 111/2817/39 122/2816/39 113/2818/34 112/2819/34 -f 112/2819/34 113/2818/34 114/2787/4 97/2786/4 -f 169/2820/4 186/2821/4 192/2822/34 170/2823/34 -f 170/2823/34 192/2822/34 200/2824/39 171/2825/39 -f 171/2825/39 200/2824/39 191/2826/37 172/2827/37 -f 172/2827/37 191/2826/37 199/2828/6 173/2829/6 -f 173/2829/6 199/2828/6 190/2830/120 174/2831/120 -f 174/2831/120 190/2830/120 198/2832/29 175/2833/29 -f 175/2833/29 198/2832/29 193/2834/119 176/2835/119 -f 176/2835/119 193/2834/119 197/2836/2 177/2837/2 -f 177/2837/2 197/2836/2 188/2838/118 178/2839/118 -f 178/2839/118 188/2838/118 196/2840/72 179/2841/72 -f 179/2841/72 196/2840/72 187/2842/117 180/2843/117 -f 180/2843/117 187/2842/117 195/2844/5 181/2845/5 -f 181/2846/5 195/2847/5 189/2848/41 182/2849/41 -f 182/2849/41 189/2848/41 194/2850/28 183/2851/28 -f 183/2851/28 194/2850/28 185/2852/32 184/2853/32 -f 184/2853/32 185/2852/32 186/2821/4 169/2820/4 -f 441/2854/121 443/2855/122 444/2856/79 442/2857/1 -f 443/2855/122 445/2858/123 446/2859/46 444/2856/79 -f 445/2858/123 447/2860/124 448/2861/80 446/2859/46 -f 447/2860/124 449/2862/125 450/2863/2 448/2861/80 -f 449/2862/125 451/2864/126 452/2865/81 450/2863/2 -f 451/2864/126 453/2866/127 454/2867/47 452/2865/81 -f 453/2866/127 455/2868/128 456/2869/82 454/2867/47 -f 455/2868/128 457/2870/129 458/2871/3 456/2869/82 -f 457/2870/129 459/2872/130 460/2873/83 458/2871/3 -f 459/2872/130 461/2874/131 462/2875/45 460/2873/83 -f 461/2874/131 463/2876/132 464/2877/84 462/2875/45 -f 463/2876/132 465/2878/133 466/2879/4 464/2877/84 -f 465/2880/133 467/2881/134 468/2882/77 466/2883/4 -f 467/2881/134 469/2884/135 470/2885/44 468/2882/77 -f 469/2884/135 471/2886/136 472/2887/78 470/2885/44 -f 471/2886/136 441/2854/121 442/2857/1 472/2887/78 -f 441/2888/121 471/2889/136 469/2890/135 467/2891/134 465/2892/133 463/2893/132 461/2894/131 459/2895/130 457/2896/129 455/2897/128 453/2898/127 451/2899/126 449/2900/125 447/2901/124 445/2902/123 443/2903/122 -f 547/2904/121 549/2905/122 550/2906/79 548/2907/1 -f 549/2905/122 551/2908/123 552/2909/46 550/2906/79 -f 551/2908/123 553/2910/124 554/2911/80 552/2909/46 -f 553/2910/124 555/2912/125 556/2913/2 554/2911/80 -f 555/2912/125 557/2914/126 558/2915/81 556/2913/2 -f 557/2914/126 559/2916/127 560/2917/47 558/2915/81 -f 559/2916/127 561/2918/128 562/2919/82 560/2917/47 -f 561/2918/128 563/2920/129 564/2921/3 562/2919/82 -f 563/2920/129 565/2922/130 566/2923/83 564/2921/3 -f 565/2922/130 567/2924/131 568/2925/45 566/2923/83 -f 567/2924/131 569/2926/132 570/2927/84 568/2925/45 -f 569/2926/132 571/2928/133 572/2929/4 570/2927/84 -f 571/2930/133 573/2931/134 574/2932/77 572/2933/4 -f 573/2931/134 575/2934/135 576/2935/44 574/2932/77 -f 575/2934/135 577/2936/136 578/2937/78 576/2935/44 -f 577/2936/136 547/2904/121 548/2907/1 578/2937/78 -f 547/2938/121 577/2939/136 575/2940/135 573/2941/134 571/2942/133 569/2943/132 567/2944/131 565/2945/130 563/2946/129 561/2947/128 559/2948/127 557/2949/126 555/2950/125 553/2951/124 551/2952/123 549/2953/122 -f 684/2954/137 732/2955/138 731/2956/139 682/2957/140 -f 666/2958/141 723/2959/142 722/2960/143 664/2961/144 -f 710/2962/145 745/2963/146 744/2964/147 708/2965/148 -f 692/2966/149 736/2967/150 735/2968/151 690/2969/152 -f 674/2970/153 727/2971/154 726/2972/155 672/2973/156 -f 654/2974/157 718/2975/158 748/2976/159 716/2977/160 -f 656/2978/161 717/2979/162 718/2975/158 654/2974/157 -f 700/2980/163 740/2981/164 739/2982/165 698/2983/166 -f 682/2957/140 731/2956/139 730/2984/167 680/2985/168 -f 664/2961/144 722/2960/143 721/2986/169 662/2987/170 -f 708/2965/148 744/2964/147 743/2988/171 706/2989/172 -f 690/2969/152 735/2968/151 734/2990/173 688/2991/174 -f 672/2973/156 726/2972/155 725/2992/175 670/2993/176 -f 716/2977/160 748/2976/159 747/2994/177 714/2995/178 -f 698/2983/166 739/2982/165 738/2996/179 696/2997/180 -f 680/2985/168 730/2984/167 729/2998/181 678/2999/182 -f 662/2987/170 721/2986/169 720/3000/183 660/3001/184 -f 706/2989/172 743/2988/171 742/3002/185 704/3003/186 -f 688/2991/174 734/2990/173 733/3004/187 686/3005/188 -f 670/2993/176 725/2992/175 724/3006/189 668/3007/190 -f 714/2995/178 747/2994/177 746/3008/191 712/3009/192 -f 696/2997/180 738/2996/179 737/3010/193 694/3011/194 -f 678/2999/182 729/2998/181 728/3012/195 676/3013/196 -f 660/3001/184 720/3000/183 719/3014/197 658/3015/198 -f 704/3003/186 742/3002/185 741/3016/199 702/3017/200 -f 686/3005/188 733/3004/187 732/2955/138 684/2954/137 -f 668/3007/190 724/3006/189 723/2959/142 666/2958/141 -f 712/3009/192 746/3008/191 745/2963/146 710/2962/145 -f 694/3011/194 737/3010/193 736/2967/150 692/2966/149 -f 676/3013/196 728/3012/195 727/2971/154 674/2970/153 -f 658/3015/198 719/3014/197 717/2979/162 656/2978/161 -f 702/3017/200 741/3016/199 740/2981/164 700/2980/163 -f 665/3018/142 755/3019/141 756/3020/190 667/3021/189 -f 683/3022/138 764/3023/137 765/3024/188 685/3025/187 -f 701/3026/199 773/3027/200 774/3028/186 703/3029/185 -f 657/3030/197 751/3031/198 752/3032/184 659/3033/183 -f 675/3034/195 760/3035/196 761/3036/182 677/3037/181 -f 693/3038/193 769/3039/194 770/3040/180 695/3041/179 -f 711/3042/191 778/3043/192 779/3044/178 713/3045/177 -f 667/3021/189 756/3020/190 757/3046/176 669/3047/175 -f 685/3025/187 765/3024/188 766/3048/174 687/3049/173 -f 703/3029/185 774/3028/186 775/3050/172 705/3051/171 -f 659/3033/183 752/3032/184 753/3052/170 661/3053/169 -f 677/3037/181 761/3036/182 762/3054/168 679/3055/167 -f 695/3041/179 770/3040/180 771/3056/166 697/3057/165 -f 713/3045/177 779/3044/178 780/3058/160 715/3059/159 -f 669/3047/175 757/3046/176 758/3060/156 671/3061/155 -f 687/3049/173 766/3048/174 767/3062/152 689/3063/151 -f 705/3051/171 775/3050/172 776/3064/148 707/3065/147 -f 661/3053/169 753/3052/170 754/3066/144 663/3067/143 -f 679/3055/167 762/3054/168 763/3068/140 681/3069/139 -f 697/3057/165 771/3056/166 772/3070/163 699/3071/164 -f 653/3072/158 749/3073/157 750/3074/161 655/3075/162 -f 715/3059/159 780/3058/160 749/3073/157 653/3072/158 -f 671/3061/155 758/3060/156 759/3076/153 673/3077/154 -f 689/3063/151 767/3062/152 768/3078/149 691/3079/150 -f 707/3065/147 776/3064/148 777/3080/145 709/3081/146 -f 663/3067/143 754/3066/144 755/3019/141 665/3018/142 -f 681/3069/139 763/3068/140 764/3023/137 683/3022/138 -f 699/3071/164 772/3070/163 773/3027/200 701/3026/199 -f 655/3075/162 750/3074/161 751/3031/198 657/3030/197 -f 673/3077/154 759/3076/153 760/3035/196 675/3034/195 -f 691/3079/150 768/3078/149 769/3039/194 693/3038/193 -f 709/3081/146 777/3080/145 778/3043/192 711/3042/191 -f 783/3082/148 784/3083/147 868/3084/146 867/3085/145 -f 867/3085/145 868/3084/146 864/3086/191 863/3087/192 -f 863/3087/192 864/3086/191 892/3088/177 891/3089/178 -f 891/3089/178 892/3088/177 844/3090/159 843/3091/160 -f 843/3091/160 844/3090/159 820/3092/158 819/3093/157 -f 819/3093/157 820/3092/158 816/3094/162 815/3095/161 -f 815/3095/161 816/3094/162 824/3096/197 823/3097/198 -f 823/3097/198 824/3096/197 880/3098/183 879/3099/184 -f 879/3099/184 880/3098/183 812/3100/169 811/3101/170 -f 811/3101/170 812/3100/169 804/3102/143 803/3103/144 -f 803/3103/144 804/3102/143 800/3104/142 799/3105/141 -f 799/3105/141 800/3104/142 808/3106/189 807/3107/190 -f 807/3108/190 808/3109/189 875/3110/201 876/3111/202 -f 876/3111/202 875/3110/201 883/3112/155 884/3113/156 -f 884/3113/156 883/3112/155 899/3114/154 900/3115/153 -f 900/3115/153 899/3114/154 854/3116/195 856/3117/196 -f 856/3117/196 854/3116/195 846/3118/181 848/3119/182 -f 848/3119/182 846/3118/181 850/3120/167 852/3121/168 -f 852/3121/168 850/3120/167 794/3122/139 796/3123/140 -f 796/3123/140 794/3122/139 790/3124/138 792/3125/137 -f 792/3125/137 790/3124/138 786/3126/187 788/3127/188 -f 788/3127/188 786/3126/187 907/3128/173 908/3129/174 -f 908/3129/174 907/3128/173 903/3130/151 904/3131/152 -f 904/3131/152 903/3130/151 831/3132/150 832/3133/149 -f 832/3133/149 831/3132/150 887/3134/193 888/3135/194 -f 888/3135/194 887/3134/193 895/3136/179 896/3137/180 -f 896/3137/180 895/3136/179 839/3138/165 840/3139/166 -f 840/3139/166 839/3138/165 828/3140/164 827/3141/163 -f 827/3142/163 828/3143/164 836/3144/203 835/3145/204 -f 835/3145/204 836/3144/203 860/3146/185 859/3147/186 -f 859/3147/186 860/3146/185 872/3148/171 871/3149/172 -f 871/3149/172 872/3148/171 784/3083/147 783/3082/148 -f 919/3150/205 920/3151/206 942/3152/207 941/3153/208 -f 910/3154/209 911/3155/210 933/3156/211 932/3157/212 -f 920/3151/206 921/3158/213 943/3159/214 942/3152/207 -f 915/3160/215 916/3161/216 938/3162/217 937/3163/218 -f 916/3161/216 917/3164/219 939/3165/220 938/3162/217 -f 911/3155/210 912/3166/221 934/3167/222 933/3156/211 -f 921/3158/213 922/3168/223 944/3169/224 943/3159/214 -f 912/3166/221 913/3170/225 935/3171/226 934/3167/222 -f 922/3168/223 923/3172/227 945/3173/228 944/3169/224 -f 917/3164/219 918/3174/229 940/3175/230 939/3165/220 -f 924/3176/231 909/3177/232 931/3178/233 946/3179/234 -f 918/3174/229 919/3150/205 941/3153/208 940/3175/230 -f 913/3170/225 914/3180/235 936/3181/236 935/3171/226 -f 923/3172/227 924/3182/231 946/3183/234 945/3173/228 -f 914/3180/235 915/3160/215 937/3163/218 936/3181/236 -f 909/3177/232 910/3154/209 932/3157/212 931/3178/233 -f 937/3163/218 938/3162/217 954/3184/237 953/3185/238 -f 946/3179/234 931/3178/233 947/3186/239 962/3187/240 -f 945/3173/228 946/3183/234 962/3188/240 961/3189/241 -f 938/3162/217 939/3165/220 955/3190/242 954/3184/237 -f 931/3178/233 932/3157/212 948/3191/243 947/3186/239 -f 939/3165/220 940/3175/230 956/3192/244 955/3190/242 -f 932/3157/212 933/3156/211 949/3193/245 948/3191/243 -f 940/3175/230 941/3153/208 957/3194/246 956/3192/244 -f 933/3156/211 934/3167/222 950/3195/247 949/3193/245 -f 941/3153/208 942/3152/207 958/3196/248 957/3194/246 -f 934/3167/222 935/3171/226 951/3197/249 950/3195/247 -f 942/3152/207 943/3159/214 959/3198/250 958/3196/248 -f 935/3171/226 936/3181/236 952/3199/251 951/3197/249 -f 943/3159/214 944/3169/224 960/3200/252 959/3198/250 -f 936/3181/236 937/3163/218 953/3185/238 952/3199/251 -f 944/3169/224 945/3173/228 961/3189/241 960/3200/252 -f 973/3201/253 995/3202/254 996/3203/255 974/3204/256 -f 964/3205/257 986/3206/258 987/3207/259 965/3208/260 -f 974/3204/256 996/3203/255 997/3209/261 975/3210/262 -f 969/3211/263 991/3212/264 992/3213/265 970/3214/266 -f 970/3214/266 992/3213/265 993/3215/267 971/3216/268 -f 965/3208/260 987/3207/259 988/3217/269 966/3218/270 -f 975/3210/262 997/3209/261 998/3219/271 976/3220/272 -f 966/3218/270 988/3217/269 989/3221/273 967/3222/274 -f 976/3220/272 998/3219/271 999/3223/275 977/3224/276 -f 971/3216/268 993/3215/267 994/3225/277 972/3226/278 -f 978/3227/279 1000/3228/280 985/3229/281 963/3230/282 -f 972/3226/278 994/3225/277 995/3202/254 973/3201/253 -f 967/3222/274 989/3221/273 990/3231/283 968/3232/284 -f 977/3224/276 999/3223/275 1000/3233/280 978/3234/279 -f 968/3232/284 990/3231/283 991/3212/264 969/3211/263 -f 963/3230/282 985/3229/281 986/3206/258 964/3205/257 -f 991/3212/264 1007/3235/285 1008/3236/286 992/3213/265 -f 1000/3228/280 1016/3237/287 1001/3238/288 985/3229/281 -f 999/3223/275 1015/3239/289 1016/3240/287 1000/3233/280 -f 992/3213/265 1008/3236/286 1009/3241/290 993/3215/267 -f 985/3229/281 1001/3238/288 1002/3242/291 986/3206/258 -f 993/3215/267 1009/3241/290 1010/3243/292 994/3225/277 -f 986/3206/258 1002/3242/291 1003/3244/293 987/3207/259 -f 994/3225/277 1010/3243/292 1011/3245/294 995/3202/254 -f 987/3207/259 1003/3244/293 1004/3246/295 988/3217/269 -f 995/3202/254 1011/3245/294 1012/3247/296 996/3203/255 -f 988/3217/269 1004/3246/295 1005/3248/297 989/3221/273 -f 996/3203/255 1012/3247/296 1013/3249/298 997/3209/261 -f 989/3221/273 1005/3248/297 1006/3250/299 990/3231/283 -f 997/3209/261 1013/3249/298 1014/3251/300 998/3219/271 -f 990/3231/283 1006/3250/299 1007/3235/285 991/3212/264 -f 998/3219/271 1014/3251/300 1015/3239/289 999/3223/275 -f 909/3177/232 963/3230/282 964/3205/257 910/3154/209 -f 910/3154/209 964/3205/257 965/3208/260 911/3155/210 -f 911/3155/210 965/3208/260 966/3218/270 912/3166/221 -f 912/3166/221 966/3218/270 967/3222/274 913/3170/225 -f 913/3170/225 967/3222/274 968/3232/284 914/3180/235 -f 914/3180/235 968/3232/284 969/3211/263 915/3160/215 -f 915/3160/215 969/3211/263 970/3214/266 916/3161/216 -f 916/3161/216 970/3214/266 971/3216/268 917/3164/219 -f 917/3164/219 971/3216/268 972/3226/278 918/3174/229 -f 918/3174/229 972/3226/278 973/3201/253 919/3150/205 -f 919/3150/205 973/3201/253 974/3204/256 920/3151/206 -f 920/3151/206 974/3204/256 975/3210/262 921/3158/213 -f 921/3158/213 975/3210/262 976/3220/272 922/3168/223 -f 922/3168/223 976/3220/272 977/3224/276 923/3172/227 -f 923/3172/227 977/3224/276 978/3234/279 924/3182/231 -f 924/3176/231 978/3227/279 963/3230/282 909/3177/232 -f 1073/3252/240 1074/3253/287 1076/3254/301 1075/3255/239 -f 1075/3255/239 1076/3254/301 1078/3256/291 1077/3257/243 -f 1077/3257/243 1078/3256/291 1080/3258/302 1079/3259/303 -f 1079/3259/303 1080/3258/302 1082/3260/295 1081/3261/247 -f 1081/3261/247 1082/3260/295 1084/3262/297 1083/3263/304 -f 1083/3263/304 1084/3262/297 1086/3264/299 1085/3265/251 -f 1085/3265/251 1086/3264/299 1088/3266/285 1087/3267/305 -f 1087/3267/305 1088/3266/285 1090/3268/286 1089/3269/237 -f 1089/3270/237 1090/3271/286 1092/3272/290 1091/3273/242 -f 1091/3273/242 1092/3272/290 1094/3274/292 1093/3275/244 -f 1093/3275/244 1094/3274/292 1096/3276/294 1095/3277/246 -f 1095/3277/246 1096/3276/294 1098/3278/296 1097/3279/248 -f 1097/3279/248 1098/3278/296 1100/3280/298 1099/3281/250 -f 1099/3281/250 1100/3280/298 1102/3282/300 1101/3283/252 -f 1101/3283/252 1102/3282/300 1104/3284/289 1103/3285/241 -f 1103/3285/241 1104/3284/289 1074/3286/287 1073/3287/240 -f 1105/3288/5 1106/3289/306 1108/3290/307 1107/3291/308 -f 1107/3292/308 1108/3293/307 1110/3294/309 1109/3295/310 -f 1109/3295/310 1110/3294/309 1112/3296/311 1111/3297/6 -f 1111/3297/6 1112/3296/311 1114/3298/312 1113/3299/313 -f 1113/3299/313 1114/3298/312 1116/3300/314 1115/3301/315 -f 1115/3301/315 1116/3300/314 1106/3289/306 1105/3288/5 -f 1117/3302/5 1118/3303/316 1120/3304/317 1119/3305/315 -f 1119/3306/315 1120/3307/317 1122/3308/318 1121/3309/313 -f 1121/3309/313 1122/3308/318 1124/3310/319 1123/3311/6 -f 1123/3311/6 1124/3310/319 1126/3312/320 1125/3313/310 -f 1125/3313/310 1126/3312/320 1128/3314/321 1127/3315/308 -f 1127/3315/308 1128/3314/321 1118/3303/316 1117/3302/5 -f 1129/3316/5 1130/3317/316 1132/3318/317 1131/3319/315 -f 1131/3320/315 1132/3321/317 1134/3322/318 1133/3323/313 -f 1133/3323/313 1134/3322/318 1136/3324/319 1135/3325/6 -f 1135/3325/6 1136/3324/319 1138/3326/320 1137/3327/310 -f 1137/3327/310 1138/3326/320 1140/3328/321 1139/3329/308 -f 1139/3329/308 1140/3328/321 1130/3317/316 1129/3316/5 -f 1141/3330/5 1142/3331/316 1144/3332/317 1143/3333/315 -f 1143/3334/315 1144/3335/317 1146/3336/318 1145/3337/313 -f 1145/3337/313 1146/3336/318 1148/3338/319 1147/3339/6 -f 1147/3339/6 1148/3338/319 1150/3340/320 1149/3341/310 -f 1149/3341/310 1150/3340/320 1152/3342/321 1151/3343/308 -f 1151/3343/308 1152/3342/321 1142/3331/316 1141/3330/5 -f 1153/3344/5 1154/3345/306 1156/3346/307 1155/3347/308 -f 1155/3348/308 1156/3349/307 1158/3350/309 1157/3351/310 -f 1157/3351/310 1158/3350/309 1160/3352/311 1159/3353/6 -f 1159/3353/6 1160/3352/311 1162/3354/312 1161/3355/313 -f 1161/3355/313 1162/3354/312 1164/3356/314 1163/3357/315 -f 1163/3357/315 1164/3356/314 1154/3345/306 1153/3344/5 -f 1165/3358/5 1166/3359/306 1168/3360/307 1167/3361/308 -f 1167/3362/308 1168/3363/307 1170/3364/309 1169/3365/310 -f 1169/3365/310 1170/3364/309 1172/3366/311 1171/3367/6 -f 1171/3367/6 1172/3366/311 1174/3368/312 1173/3369/313 -f 1173/3369/313 1174/3368/312 1176/3370/314 1175/3371/315 -f 1175/3371/315 1176/3370/314 1166/3359/306 1165/3358/5 -f 1189/3372/322 1190/3373/323 1192/3374/324 1191/3375/325 -f 1191/3375/325 1192/3374/324 1194/3376/326 1193/3377/327 -f 1193/3377/327 1194/3376/326 1196/3378/328 1195/3379/329 -f 1195/3379/329 1196/3378/328 1198/3380/330 1197/3381/331 -f 1197/3381/331 1198/3380/330 1200/3382/332 1199/3383/333 -f 1199/3383/333 1200/3382/332 1202/3384/334 1201/3385/335 -f 1201/3385/335 1202/3384/334 1204/3386/336 1203/3387/337 -f 1203/3387/337 1204/3386/336 1206/3388/338 1205/3389/339 -f 1205/3389/339 1206/3388/338 1208/3390/340 1207/3391/341 -f 1207/3391/341 1208/3390/340 1210/3392/342 1209/3393/343 -f 1209/3393/343 1210/3392/342 1212/3394/344 1211/3395/345 -f 1211/3395/345 1212/3394/344 1214/3396/346 1213/3397/347 -f 1213/3398/347 1214/3399/346 1216/3400/348 1215/3401/349 -f 1215/3401/349 1216/3400/348 1218/3402/350 1217/3403/351 -f 1192/3404/324 1190/3405/323 1220/3406/352 1218/3407/350 1216/3408/348 1214/3409/346 1212/3410/344 1210/3411/342 1208/3412/340 1206/3413/338 1204/3414/336 1202/3415/334 1200/3416/332 1198/3417/330 1196/3418/328 1194/3419/326 -f 1217/3403/351 1218/3402/350 1220/3420/352 1219/3421/353 -f 1219/3421/353 1220/3420/352 1190/3373/323 1189/3372/322 -f 1189/3422/322 1191/3423/325 1193/3424/327 1195/3425/329 1197/3426/331 1199/3427/333 1201/3428/335 1203/3429/337 1205/3430/339 1207/3431/341 1209/3432/343 1211/3433/345 1213/3434/347 1215/3435/349 1217/3436/351 1219/3437/353 -f 1285/3438/354 1234/3439/355 1232/3440/46 1298/3441/356 -f 1231/3442/47 1236/3443/357 1290/3444/358 1293/3445/359 -f 1275/3446/360 1273/3447/361 1278/3448/362 1280/3449/363 -f 1271/3450/364 1269/3451/365 1282/3452/366 1284/3453/367 -f 1286/3454/368 1297/3455/369 1242/3456/370 1237/3457/371 -f 1249/3458/372 1278/3448/362 1273/3447/361 1246/3459/373 -f 1247/3460/364 1245/3461/365 1250/3462/366 1252/3463/367 -f 1263/3464/360 1261/3465/361 1266/3466/362 1268/3467/363 -f 1260/3468/374 1255/3469/375 1253/3470/354 1258/3471/356 -f 1240/3472/376 1243/3473/377 1241/3474/359 1238/3475/358 -f 1297/3455/369 1286/3454/368 1288/3476/378 1299/3477/379 -f 1250/3462/366 1245/3461/365 1238/3475/358 1241/3474/359 -f 1258/3471/356 1253/3470/354 1262/3478/380 1265/3479/381 -f 1296/3480/382 1291/3481/383 1289/3482/371 1294/3483/370 -f 1246/3459/373 1248/3484/384 1251/3485/385 1249/3458/372 -f 1287/3486/375 1285/3438/354 1298/3441/356 1300/3487/374 -f 1272/3488/384 1271/3489/364 1284/3490/367 1283/3491/385 -f 1262/3478/380 1264/3492/386 1267/3493/387 1265/3479/381 -f 1281/3494/372 1266/3466/362 1261/3465/361 1270/3495/373 -f 1299/3477/379 1288/3476/378 1287/3496/375 1300/3497/374 -f 1293/3445/359 1290/3444/358 1292/3498/376 1295/3499/377 -f 1237/3457/371 1242/3456/370 1244/3500/382 1239/3501/383 -f 1270/3495/373 1272/3488/384 1283/3491/385 1281/3494/372 -f 1257/3502/369 1254/3503/368 1256/3504/378 1259/3505/379 -f 1230/3506/45 1282/3452/366 1269/3451/365 1235/3507/388 -f 1276/3508/386 1275/3509/360 1280/3510/363 1279/3511/387 -f 1233/3512/389 1274/3513/380 1277/3514/381 1229/3515/44 -f 1254/3503/368 1257/3502/369 1294/3483/370 1289/3482/371 -f 1264/3492/386 1263/3516/360 1268/3517/363 1267/3493/387 -f 1248/3484/384 1247/3518/364 1252/3519/367 1251/3485/385 -f 1239/3501/383 1244/3500/382 1243/3520/377 1240/3521/376 -f 1259/3505/379 1256/3504/378 1255/3522/375 1260/3523/374 -f 1274/3513/380 1276/3508/386 1279/3511/387 1277/3514/381 -f 1295/3499/377 1292/3498/376 1291/3524/383 1296/3525/382 -f 1326/3526/390 1327/3527/391 1332/3528/392 1329/3529/393 -f 1318/3530/394 1319/3531/395 1324/3532/396 1321/3533/397 -f 1330/3534/398 1331/3535/399 1314/3536/47 1313/3537/45 -f 1322/3538/400 1323/3539/401 1328/3540/402 1325/3541/403 -f 1311/3542/44 1312/3543/46 1320/3544/404 1317/3545/405 -f 1319/3531/395 1318/3530/394 1317/3545/405 1320/3544/404 -f 1323/3539/401 1322/3538/400 1321/3533/397 1324/3532/396 -f 1327/3527/391 1326/3526/390 1325/3541/403 1328/3540/402 -f 1331/3535/399 1330/3534/398 1329/3529/393 1332/3528/392 -f 1350/3546/390 1351/3547/391 1356/3548/392 1353/3549/393 -f 1342/3550/394 1343/3551/395 1348/3552/396 1345/3553/397 -f 1354/3554/398 1355/3555/399 1338/3556/47 1337/3557/45 -f 1346/3558/400 1347/3559/401 1352/3560/406 1349/3561/403 -f 1335/3562/44 1336/3563/46 1344/3564/404 1341/3565/405 -f 1343/3551/395 1342/3550/394 1341/3565/405 1344/3564/404 -f 1347/3559/401 1346/3558/400 1345/3553/397 1348/3552/396 -f 1351/3547/391 1350/3546/390 1349/3561/403 1352/3560/406 -f 1355/3555/399 1354/3554/398 1353/3549/393 1356/3548/392 -f 1374/3566/390 1375/3567/391 1380/3568/392 1377/3569/393 -f 1366/3570/394 1367/3571/395 1372/3572/396 1369/3573/397 -f 1378/3574/398 1379/3575/399 1362/3576/47 1361/3577/45 -f 1370/3578/400 1371/3579/401 1376/3580/402 1373/3581/403 -f 1359/3582/44 1360/3583/46 1368/3584/404 1365/3585/405 -f 1367/3571/395 1366/3570/394 1365/3585/405 1368/3584/404 -f 1371/3579/401 1370/3578/400 1369/3573/397 1372/3572/396 -f 1375/3567/391 1374/3566/390 1373/3581/403 1376/3580/402 -f 1379/3575/399 1378/3574/398 1377/3569/393 1380/3568/392 -f 1398/3586/390 1399/3587/391 1404/3588/392 1401/3589/393 -f 1390/3590/394 1391/3591/395 1396/3592/396 1393/3593/397 -f 1402/3594/398 1403/3595/399 1386/3596/47 1385/3597/45 -f 1394/3598/400 1395/3599/401 1400/3600/402 1397/3601/403 -f 1383/3602/44 1384/3603/46 1392/3604/404 1389/3605/405 -f 1391/3591/395 1390/3590/394 1389/3605/405 1392/3604/404 -f 1395/3599/401 1394/3598/400 1393/3593/397 1396/3592/396 -f 1399/3587/391 1398/3586/390 1397/3601/403 1400/3600/402 -f 1403/3595/399 1402/3594/398 1401/3589/393 1404/3588/392 -f 1413/3606/322 1414/3607/323 1416/3608/324 1415/3609/325 -f 1415/3609/325 1416/3608/324 1418/3610/326 1417/3611/327 -f 1417/3611/327 1418/3610/326 1420/3612/328 1419/3613/329 -f 1419/3613/329 1420/3612/328 1422/3614/330 1421/3615/331 -f 1421/3615/331 1422/3614/330 1424/3616/332 1423/3617/333 -f 1423/3617/333 1424/3616/332 1426/3618/334 1425/3619/335 -f 1425/3619/335 1426/3618/334 1428/3620/407 1427/3621/337 -f 1427/3621/337 1428/3620/407 1430/3622/338 1429/3623/339 -f 1429/3623/339 1430/3622/338 1432/3624/340 1431/3625/341 -f 1431/3625/341 1432/3624/340 1434/3626/342 1433/3627/343 -f 1433/3627/343 1434/3626/342 1436/3628/344 1435/3629/345 -f 1435/3629/345 1436/3628/344 1438/3630/346 1437/3631/347 -f 1437/3632/347 1438/3633/346 1440/3634/348 1439/3635/349 -f 1439/3635/349 1440/3634/348 1442/3636/350 1441/3637/351 -f 1416/3638/324 1414/3639/323 1444/3640/352 1442/3641/350 1440/3642/348 1438/3643/346 1436/3644/344 1434/3645/342 1432/3646/340 1430/3647/338 1428/3648/407 1426/3649/334 1424/3650/332 1422/3651/330 1420/3652/328 1418/3653/326 -f 1441/3637/351 1442/3636/350 1444/3654/352 1443/3655/353 -f 1443/3655/353 1444/3654/352 1414/3607/323 1413/3606/322 -f 1413/3656/322 1415/3657/325 1417/3658/327 1419/3659/329 1421/3660/331 1423/3661/333 1425/3662/335 1427/3663/337 1429/3664/339 1431/3665/341 1433/3666/343 1435/3667/345 1437/3668/347 1439/3669/349 1441/3670/351 1443/3671/353 -f 1445/3672/240 1446/3673/287 1448/3674/301 1447/3675/408 -f 1447/3675/408 1448/3674/301 1450/3676/291 1449/3677/243 -f 1449/3678/243 1450/3679/291 1452/3680/302 1451/3681/303 -f 1451/3681/303 1452/3680/302 1454/3682/295 1453/3683/247 -f 1453/3683/247 1454/3682/295 1456/3684/409 1455/3685/304 -f 1455/3685/304 1456/3684/409 1458/3686/299 1457/3687/251 -f 1457/3687/251 1458/3686/299 1460/3688/285 1459/3689/305 -f 1459/3689/305 1460/3688/285 1462/3690/286 1461/3691/237 -f 1461/3691/237 1462/3690/286 1464/3692/410 1463/3693/411 -f 1463/3693/411 1464/3692/410 1466/3694/292 1465/3695/244 -f 1465/3696/244 1466/3697/292 1468/3698/294 1467/3699/246 -f 1467/3699/246 1468/3698/294 1470/3700/296 1469/3701/248 -f 1469/3701/248 1470/3700/296 1472/3702/412 1471/3703/413 -f 1471/3703/413 1472/3702/412 1474/3704/300 1473/3705/252 -f 1473/3705/252 1474/3704/300 1476/3706/414 1475/3707/241 -f 1475/3707/241 1476/3706/414 1446/3673/287 1445/3672/240 -f 1495/3708/4 1496/3709/4 1498/3710/28 1497/3711/28 -f 1497/3711/28 1498/3710/28 1500/3712/5 1499/3713/5 -f 1499/3713/5 1500/3712/5 1502/3714/72 1501/3715/72 -f 1501/3715/72 1502/3714/72 1504/3716/2 1503/3717/2 -f 1503/3717/2 1504/3716/2 1506/3718/29 1505/3719/29 -f 1505/3719/29 1506/3718/29 1508/3720/6 1507/3721/6 -f 1507/3721/6 1508/3720/6 1510/3722/39 1509/3723/39 -f 1509/3724/39 1510/3725/39 1496/3709/4 1495/3708/4 -f 1572/3726/415 1538/3727/287 1540/3728/288 1573/3729/416 -f 1573/3729/416 1540/3728/288 1542/3730/291 1577/3731/417 -f 1577/3731/417 1542/3730/291 1544/3732/293 1581/3733/418 -f 1581/3733/418 1544/3732/293 1546/3734/295 1585/3735/419 -f 1585/3735/419 1546/3734/295 1548/3736/409 1589/3737/420 -f 1589/3737/420 1548/3736/409 1550/3738/299 1593/3739/421 -f 1593/3739/421 1550/3738/299 1552/3740/285 1597/3741/422 -f 1597/3741/422 1552/3740/285 1554/3742/286 1601/3743/423 -f 1601/3743/423 1554/3742/286 1556/3744/290 1605/3745/424 -f 1605/3745/424 1556/3744/290 1558/3746/292 1609/3747/425 -f 1609/3747/425 1558/3746/292 1560/3748/294 1613/3749/426 -f 1613/3749/426 1560/3748/294 1562/3750/296 1617/3751/427 -f 1617/3751/427 1562/3750/296 1564/3752/298 1621/3753/428 -f 1621/3753/428 1564/3752/298 1566/3754/300 1625/3755/429 -f 1625/3755/429 1566/3754/300 1568/3756/289 1629/3757/430 -f 1567/3758/241 1632/3759/431 1569/3760/432 1537/3761/240 -f 1632/3759/431 1631/3762/433 1570/3763/434 1569/3760/432 -f 1626/3764/435 1630/3765/436 1631/3766/433 1627/3767/437 -f 1630/3768/436 1629/3769/430 1572/3726/415 1571/3770/438 -f 1565/3771/252 1628/3772/439 1632/3773/431 1567/3774/241 -f 1628/3772/439 1627/3767/437 1631/3766/433 1632/3773/431 -f 1622/3775/440 1626/3764/435 1627/3767/437 1623/3776/441 -f 1626/3764/435 1625/3755/429 1629/3757/430 1630/3765/436 -f 1563/3777/413 1624/3778/442 1628/3772/439 1565/3771/252 -f 1624/3778/442 1623/3776/441 1627/3767/437 1628/3772/439 -f 1618/3779/443 1622/3775/440 1623/3776/441 1619/3780/444 -f 1622/3775/440 1621/3753/428 1625/3755/429 1626/3764/435 -f 1561/3781/248 1620/3782/445 1624/3778/442 1563/3777/413 -f 1620/3782/445 1619/3780/444 1623/3776/441 1624/3778/442 -f 1614/3783/446 1618/3779/443 1619/3780/444 1615/3784/447 -f 1618/3779/443 1617/3751/427 1621/3753/428 1622/3775/440 -f 1559/3785/246 1616/3786/448 1620/3782/445 1561/3781/248 -f 1616/3786/448 1615/3784/447 1619/3780/444 1620/3782/445 -f 1610/3787/449 1614/3783/446 1615/3784/447 1611/3788/450 -f 1614/3783/446 1613/3749/426 1617/3751/427 1618/3779/443 -f 1557/3789/244 1612/3790/451 1616/3786/448 1559/3785/246 -f 1612/3790/451 1611/3788/450 1615/3784/447 1616/3786/448 -f 1606/3791/452 1610/3787/449 1611/3788/450 1607/3792/453 -f 1610/3787/449 1609/3747/425 1613/3749/426 1614/3783/446 -f 1555/3793/242 1608/3794/454 1612/3790/451 1557/3789/244 -f 1608/3794/454 1607/3792/453 1611/3788/450 1612/3790/451 -f 1602/3795/455 1606/3791/452 1607/3792/453 1603/3796/456 -f 1606/3791/452 1605/3745/424 1609/3747/425 1610/3787/449 -f 1553/3797/237 1604/3798/457 1608/3794/454 1555/3793/242 -f 1604/3798/457 1603/3796/456 1607/3792/453 1608/3794/454 -f 1598/3799/458 1602/3795/455 1603/3796/456 1599/3800/459 -f 1602/3795/455 1601/3743/423 1605/3745/424 1606/3791/452 -f 1551/3801/238 1600/3802/460 1604/3798/457 1553/3797/237 -f 1600/3802/460 1599/3800/459 1603/3796/456 1604/3798/457 -f 1594/3803/461 1598/3799/458 1599/3800/459 1595/3804/462 -f 1598/3799/458 1597/3741/422 1601/3743/423 1602/3795/455 -f 1549/3805/251 1596/3806/463 1600/3802/460 1551/3801/238 -f 1596/3806/463 1595/3804/462 1599/3800/459 1600/3802/460 -f 1590/3807/464 1594/3803/461 1595/3804/462 1591/3808/465 -f 1594/3803/461 1593/3739/421 1597/3741/422 1598/3799/458 -f 1547/3809/249 1592/3810/466 1596/3806/463 1549/3805/251 -f 1592/3810/466 1591/3808/465 1595/3804/462 1596/3806/463 -f 1586/3811/467 1590/3807/464 1591/3808/465 1587/3812/468 -f 1590/3807/464 1589/3737/420 1593/3739/421 1594/3803/461 -f 1545/3813/247 1588/3814/469 1592/3810/466 1547/3809/249 -f 1588/3814/469 1587/3812/468 1591/3808/465 1592/3810/466 -f 1582/3815/470 1586/3811/467 1587/3812/468 1583/3816/471 -f 1586/3811/467 1585/3735/419 1589/3737/420 1590/3807/464 -f 1543/3817/245 1584/3818/472 1588/3814/469 1545/3813/247 -f 1584/3818/472 1583/3816/471 1587/3812/468 1588/3814/469 -f 1578/3819/473 1582/3815/470 1583/3816/471 1579/3820/474 -f 1582/3815/470 1581/3733/418 1585/3735/419 1586/3811/467 -f 1541/3821/243 1580/3822/475 1584/3818/472 1543/3817/245 -f 1580/3822/475 1579/3820/474 1583/3816/471 1584/3818/472 -f 1574/3823/476 1578/3819/473 1579/3820/474 1575/3824/477 -f 1578/3819/473 1577/3731/417 1581/3733/418 1582/3815/470 -f 1539/3825/408 1576/3826/478 1580/3822/475 1541/3821/243 -f 1576/3826/478 1575/3824/477 1579/3820/474 1580/3822/475 -f 1570/3763/434 1571/3770/438 1574/3823/476 1575/3824/477 -f 1574/3823/476 1573/3729/416 1577/3731/417 1578/3819/473 -f 1537/3761/240 1569/3760/432 1576/3826/478 1539/3825/408 -f 1569/3760/432 1570/3763/434 1575/3824/477 1576/3826/478 -f 1629/3769/430 1568/3827/289 1538/3727/287 1572/3726/415 -f 1571/3770/438 1572/3726/415 1573/3729/416 1574/3823/476 -f 1630/3768/436 1571/3770/438 1570/3763/434 1631/3762/433 -f 1633/3828/240 1634/3829/287 1636/3830/288 1635/3831/408 -f 1635/3831/408 1636/3830/288 1638/3832/291 1637/3833/243 -f 1637/3833/243 1638/3832/291 1640/3834/302 1639/3835/303 -f 1639/3835/303 1640/3834/302 1642/3836/295 1641/3837/247 -f 1641/3837/247 1642/3836/295 1644/3838/409 1643/3839/304 -f 1643/3839/304 1644/3838/409 1646/3840/299 1645/3841/251 -f 1645/3841/251 1646/3840/299 1648/3842/479 1647/3843/305 -f 1647/3843/305 1648/3842/479 1650/3844/286 1649/3845/237 -f 1649/3846/237 1650/3847/286 1652/3848/410 1651/3849/242 -f 1651/3849/242 1652/3848/410 1654/3850/292 1653/3851/244 -f 1653/3851/244 1654/3850/292 1656/3852/294 1655/3853/246 -f 1655/3853/246 1656/3852/294 1658/3854/296 1657/3855/248 -f 1657/3855/248 1658/3854/296 1660/3856/412 1659/3857/250 -f 1659/3857/250 1660/3856/412 1662/3858/300 1661/3859/252 -f 1661/3859/252 1662/3858/300 1664/3860/414 1663/3861/480 -f 1663/3861/480 1664/3860/414 1634/3862/287 1633/3863/240 -f 1665/3864/240 1666/3865/287 1668/3866/301 1667/3867/239 -f 1667/3867/239 1668/3866/301 1670/3868/291 1669/3869/243 -f 1669/3869/243 1670/3868/291 1672/3870/302 1671/3871/303 -f 1671/3871/303 1672/3870/302 1674/3872/295 1673/3873/247 -f 1673/3873/247 1674/3872/295 1676/3874/409 1675/3875/304 -f 1675/3875/304 1676/3874/409 1678/3876/299 1677/3877/251 -f 1677/3877/251 1678/3876/299 1680/3878/479 1679/3879/305 -f 1679/3879/305 1680/3878/479 1682/3880/286 1681/3881/237 -f 1681/3882/237 1682/3883/286 1684/3884/410 1683/3885/411 -f 1683/3885/411 1684/3884/410 1686/3886/292 1685/3887/244 -f 1685/3887/244 1686/3886/292 1688/3888/294 1687/3889/246 -f 1687/3889/246 1688/3888/294 1690/3890/296 1689/3891/248 -f 1689/3891/248 1690/3890/296 1692/3892/412 1691/3893/413 -f 1691/3893/413 1692/3892/412 1694/3894/300 1693/3895/252 -f 1693/3895/252 1694/3894/300 1696/3896/289 1695/3897/241 -f 1695/3897/241 1696/3896/289 1666/3898/287 1665/3899/240 -f 1733/3900/5 1734/3901/316 1736/3902/317 1735/3903/315 -f 1735/3904/315 1736/3905/317 1738/3906/318 1737/3907/313 -f 1737/3907/313 1738/3906/318 1740/3908/319 1739/3909/6 -f 1739/3909/6 1740/3908/319 1742/3910/320 1741/3911/310 -f 1741/3911/310 1742/3910/320 1744/3912/321 1743/3913/308 -f 1743/3913/308 1744/3912/321 1734/3901/316 1733/3900/5 -f 1745/3914/5 1746/3915/306 1748/3916/307 1747/3917/308 -f 1747/3918/308 1748/3919/307 1750/3920/309 1749/3921/310 -f 1749/3921/310 1750/3920/309 1752/3922/311 1751/3923/6 -f 1751/3923/6 1752/3922/311 1754/3924/312 1753/3925/313 -f 1753/3925/313 1754/3924/312 1756/3926/314 1755/3927/315 -f 1755/3927/315 1756/3926/314 1746/3915/306 1745/3914/5 -f 1757/3928/5 1758/3929/306 1760/3930/307 1759/3931/308 -f 1759/3932/308 1760/3933/307 1762/3934/309 1761/3935/310 -f 1761/3935/310 1762/3934/309 1764/3936/311 1763/3937/6 -f 1763/3937/6 1764/3936/311 1766/3938/312 1765/3939/313 -f 1765/3939/313 1766/3938/312 1768/3940/314 1767/3941/315 -f 1767/3941/315 1768/3940/314 1758/3929/306 1757/3928/5 -f 1769/3942/5 1770/3943/306 1772/3944/307 1771/3945/308 -f 1771/3946/308 1772/3947/307 1774/3948/309 1773/3949/310 -f 1773/3949/310 1774/3948/309 1776/3950/311 1775/3951/6 -f 1775/3951/6 1776/3950/311 1778/3952/312 1777/3953/313 -f 1777/3953/313 1778/3952/312 1780/3954/314 1779/3955/315 -f 1779/3955/315 1780/3954/314 1770/3943/306 1769/3942/5 -f 1781/3956/5 1782/3957/306 1784/3958/307 1783/3959/308 -f 1783/3960/308 1784/3961/307 1786/3962/309 1785/3963/310 -f 1785/3963/310 1786/3962/309 1788/3964/311 1787/3965/6 -f 1787/3965/6 1788/3964/311 1790/3966/312 1789/3967/313 -f 1789/3967/313 1790/3966/312 1792/3968/314 1791/3969/315 -f 1791/3969/315 1792/3968/314 1782/3957/306 1781/3956/5 -f 1793/3970/5 1794/3971/316 1796/3972/317 1795/3973/315 -f 1795/3974/315 1796/3975/317 1798/3976/318 1797/3977/313 -f 1797/3977/313 1798/3976/318 1800/3978/319 1799/3979/6 -f 1799/3979/6 1800/3978/319 1802/3980/320 1801/3981/310 -f 1801/3981/310 1802/3980/320 1804/3982/321 1803/3983/308 -f 1803/3983/308 1804/3982/321 1794/3971/316 1793/3970/5 -f 1805/3984/5 1806/3985/316 1808/3986/317 1807/3987/315 -f 1807/3988/315 1808/3989/317 1810/3990/318 1809/3991/313 -f 1809/3991/313 1810/3990/318 1812/3992/319 1811/3993/6 -f 1811/3993/6 1812/3992/319 1814/3994/320 1813/3995/310 -f 1813/3995/310 1814/3994/320 1816/3996/321 1815/3997/308 -f 1815/3997/308 1816/3996/321 1806/3985/316 1805/3984/5 -f 1817/3998/5 1818/3999/316 1820/4000/317 1819/4001/315 -f 1819/4002/315 1820/4003/317 1822/4004/318 1821/4005/313 -f 1821/4005/313 1822/4004/318 1824/4006/319 1823/4007/6 -f 1823/4007/6 1824/4006/319 1826/4008/320 1825/4009/310 -f 1825/4009/310 1826/4008/320 1828/4010/321 1827/4011/308 -f 1827/4011/308 1828/4010/321 1818/3999/316 1817/3998/5 -f 1829/4012/5 1830/4013/316 1832/4014/317 1831/4015/315 -f 1831/4016/315 1832/4017/317 1834/4018/318 1833/4019/313 -f 1833/4019/313 1834/4018/318 1836/4020/319 1835/4021/6 -f 1835/4021/6 1836/4020/319 1838/4022/320 1837/4023/310 -f 1837/4023/310 1838/4022/320 1840/4024/321 1839/4025/308 -f 1839/4025/308 1840/4024/321 1830/4013/316 1829/4012/5 -f 1841/4026/5 1842/4027/306 1844/4028/307 1843/4029/308 -f 1843/4030/308 1844/4031/307 1846/4032/309 1845/4033/310 -f 1845/4033/310 1846/4032/309 1848/4034/311 1847/4035/6 -f 1847/4035/6 1848/4034/311 1850/4036/312 1849/4037/313 -f 1849/4037/313 1850/4036/312 1852/4038/314 1851/4039/315 -f 1851/4039/315 1852/4038/314 1842/4027/306 1841/4026/5 -f 1853/4040/5 1854/4041/306 1856/4042/307 1855/4043/308 -f 1855/4044/308 1856/4045/307 1858/4046/309 1857/4047/310 -f 1857/4047/310 1858/4046/309 1860/4048/311 1859/4049/6 -f 1859/4049/6 1860/4048/311 1862/4050/312 1861/4051/313 -f 1861/4051/313 1862/4050/312 1864/4052/314 1863/4053/315 -f 1863/4053/315 1864/4052/314 1854/4041/306 1853/4040/5 -f 1865/4054/5 1866/4055/306 1868/4056/307 1867/4057/308 -f 1867/4058/308 1868/4059/307 1870/4060/309 1869/4061/310 -f 1869/4061/310 1870/4060/309 1872/4062/311 1871/4063/6 -f 1871/4063/6 1872/4062/311 1874/4064/312 1873/4065/313 -f 1873/4065/313 1874/4064/312 1876/4066/314 1875/4067/315 -f 1875/4067/315 1876/4066/314 1866/4055/306 1865/4054/5 -f 1877/4068/5 1878/4069/306 1880/4070/307 1879/4071/308 -f 1879/4072/308 1880/4073/307 1882/4074/309 1881/4075/310 -f 1881/4075/310 1882/4074/309 1884/4076/311 1883/4077/6 -f 1883/4077/6 1884/4076/311 1886/4078/312 1885/4079/313 -f 1885/4079/313 1886/4078/312 1888/4080/314 1887/4081/315 -f 1887/4081/315 1888/4080/314 1878/4069/306 1877/4068/5 -f 1889/4082/5 1890/4083/316 1892/4084/317 1891/4085/315 -f 1891/4086/315 1892/4087/317 1894/4088/318 1893/4089/313 -f 1893/4089/313 1894/4088/318 1896/4090/319 1895/4091/6 -f 1895/4091/6 1896/4090/319 1898/4092/320 1897/4093/310 -f 1897/4093/310 1898/4092/320 1900/4094/321 1899/4095/308 -f 1899/4095/308 1900/4094/321 1890/4083/316 1889/4082/5 -f 1901/4096/5 1902/4097/316 1904/4098/317 1903/4099/315 -f 1903/4100/315 1904/4101/317 1906/4102/318 1905/4103/313 -f 1905/4103/313 1906/4102/318 1908/4104/319 1907/4105/6 -f 1907/4105/6 1908/4104/319 1910/4106/320 1909/4107/310 -f 1909/4107/310 1910/4106/320 1912/4108/321 1911/4109/308 -f 1911/4109/308 1912/4108/321 1902/4097/316 1901/4096/5 -f 1913/4110/5 1914/4111/316 1916/4112/317 1915/4113/315 -f 1915/4114/315 1916/4115/317 1918/4116/318 1917/4117/313 -f 1917/4117/313 1918/4116/318 1920/4118/319 1919/4119/6 -f 1919/4119/6 1920/4118/319 1922/4120/320 1921/4121/310 -f 1921/4121/310 1922/4120/320 1924/4122/321 1923/4123/308 -f 1923/4123/308 1924/4122/321 1914/4111/316 1913/4110/5 -f 1925/4124/5 1926/4125/481 1928/4126/482 1927/4127/483 -f 1927/4128/483 1928/4129/482 1930/4130/484 1929/4131/485 -f 1929/4131/485 1930/4130/484 1932/4132/486 1931/4133/6 -f 1931/4133/6 1932/4132/486 1934/4134/487 1933/4135/488 -f 1933/4135/488 1934/4134/487 1936/4136/489 1935/4137/490 -f 1935/4137/490 1936/4136/489 1926/4125/481 1925/4124/5 -f 1937/4138/5 1938/4139/481 1940/4140/482 1939/4141/483 -f 1939/4142/483 1940/4143/482 1942/4144/484 1941/4145/485 -f 1941/4145/485 1942/4144/484 1944/4146/486 1943/4147/6 -f 1943/4147/6 1944/4146/486 1946/4148/487 1945/4149/488 -f 1945/4149/488 1946/4148/487 1948/4150/489 1947/4151/490 -f 1947/4151/490 1948/4150/489 1938/4139/481 1937/4138/5 -f 1949/4152/5 1950/4153/491 1952/4154/492 1951/4155/490 -f 1951/4156/490 1952/4157/492 1954/4158/493 1953/4159/488 -f 1953/4159/488 1954/4158/493 1956/4160/494 1955/4161/6 -f 1955/4161/6 1956/4160/494 1958/4162/495 1957/4163/485 -f 1957/4163/485 1958/4162/495 1960/4164/496 1959/4165/483 -f 1959/4165/483 1960/4164/496 1950/4153/491 1949/4152/5 -f 1961/4166/5 1962/4167/491 1964/4168/492 1963/4169/490 -f 1963/4170/490 1964/4171/492 1966/4172/493 1965/4173/488 -f 1965/4173/488 1966/4172/493 1968/4174/494 1967/4175/6 -f 1967/4175/6 1968/4174/494 1970/4176/495 1969/4177/485 -f 1969/4177/485 1970/4176/495 1972/4178/496 1971/4179/483 -f 1971/4179/483 1972/4178/496 1962/4167/491 1961/4166/5 -f 1973/4180/491 1974/4181/481 1976/4182/482 1975/4183/496 -f 1975/4184/496 1976/4185/482 1978/4186/484 1977/4187/495 -f 1977/4187/495 1978/4186/484 1980/4188/486 1979/4189/494 -f 1979/4189/494 1980/4188/486 1982/4190/487 1981/4191/493 -f 1981/4191/493 1982/4190/487 1983/4192/489 1984/4193/492 -f 1984/4193/492 1983/4192/489 1974/4181/481 1973/4180/491 -f 1985/4194/491 1986/4195/481 1988/4196/482 1987/4197/496 -f 1987/4198/496 1988/4199/482 1990/4200/484 1989/4201/495 -f 1989/4201/495 1990/4200/484 1992/4202/486 1991/4203/494 -f 1991/4203/494 1992/4202/486 1994/4204/487 1993/4205/493 -f 1993/4205/493 1994/4204/487 1995/4206/489 1996/4207/492 -f 1996/4207/492 1995/4206/489 1986/4195/481 1985/4194/491 -f 1997/4208/491 1998/4209/481 2000/4210/482 1999/4211/496 -f 1999/4212/496 2000/4213/482 2002/4214/484 2001/4215/495 -f 2001/4215/495 2002/4214/484 2004/4216/486 2003/4217/494 -f 2003/4217/494 2004/4216/486 2006/4218/487 2005/4219/493 -f 2005/4219/493 2006/4218/487 2007/4220/489 2008/4221/492 -f 2008/4221/492 2007/4220/489 1998/4209/481 1997/4208/491 -f 2009/4222/306 2010/4223/316 2012/4224/317 2011/4225/314 -f 2011/4226/314 2012/4227/317 2014/4228/318 2013/4229/312 -f 2013/4229/312 2014/4228/318 2016/4230/319 2015/4231/311 -f 2015/4231/311 2016/4230/319 2018/4232/320 2017/4233/309 -f 2017/4233/309 2018/4232/320 2019/4234/321 2020/4235/307 -f 2020/4235/307 2019/4234/321 2010/4223/316 2009/4222/306 -f 2021/4236/5 2022/4237/481 2024/4238/482 2023/4239/483 -f 2023/4240/483 2024/4241/482 2026/4242/484 2025/4243/485 -f 2025/4243/485 2026/4242/484 2028/4244/486 2027/4245/6 -f 2027/4245/6 2028/4244/486 2030/4246/487 2029/4247/488 -f 2029/4247/488 2030/4246/487 2032/4248/489 2031/4249/490 -f 2031/4249/490 2032/4248/489 2022/4237/481 2021/4236/5 -f 2033/4250/5 2034/4251/481 2036/4252/482 2035/4253/483 -f 2035/4254/483 2036/4255/482 2038/4256/484 2037/4257/485 -f 2037/4257/485 2038/4256/484 2040/4258/486 2039/4259/6 -f 2039/4259/6 2040/4258/486 2042/4260/487 2041/4261/488 -f 2041/4261/488 2042/4260/487 2044/4262/489 2043/4263/490 -f 2043/4263/490 2044/4262/489 2034/4251/481 2033/4250/5 -f 2045/4264/5 2046/4265/491 2048/4266/492 2047/4267/490 -f 2047/4268/490 2048/4269/492 2050/4270/493 2049/4271/488 -f 2049/4271/488 2050/4270/493 2052/4272/494 2051/4273/6 -f 2051/4273/6 2052/4272/494 2054/4274/495 2053/4275/485 -f 2053/4275/485 2054/4274/495 2056/4276/496 2055/4277/483 -f 2055/4277/483 2056/4276/496 2046/4265/491 2045/4264/5 -f 2057/4278/5 2058/4279/491 2060/4280/492 2059/4281/490 -f 2059/4282/490 2060/4283/492 2062/4284/493 2061/4285/488 -f 2061/4285/488 2062/4284/493 2064/4286/494 2063/4287/6 -f 2063/4287/6 2064/4286/494 2066/4288/495 2065/4289/485 -f 2065/4289/485 2066/4288/495 2068/4290/496 2067/4291/483 -f 2067/4291/483 2068/4290/496 2058/4279/491 2057/4278/5 -f 2069/4292/306 2070/4293/316 2072/4294/317 2071/4295/314 -f 2071/4296/314 2072/4297/317 2074/4298/318 2073/4299/312 -f 2073/4299/312 2074/4298/318 2076/4300/319 2075/4301/311 -f 2075/4301/311 2076/4300/319 2078/4302/320 2077/4303/309 -f 2077/4303/309 2078/4302/320 2079/4304/321 2080/4305/307 -f 2080/4305/307 2079/4304/321 2070/4293/316 2069/4292/306 -f 2081/4306/306 2082/4307/316 2084/4308/317 2083/4309/314 -f 2083/4310/314 2084/4311/317 2086/4312/318 2085/4313/312 -f 2085/4313/312 2086/4312/318 2088/4314/319 2087/4315/311 -f 2087/4315/311 2088/4314/319 2090/4316/320 2089/4317/309 -f 2089/4317/309 2090/4316/320 2091/4318/321 2092/4319/307 -f 2092/4319/307 2091/4318/321 2082/4307/316 2081/4306/306 -f 2093/4320/306 2094/4321/316 2096/4322/317 2095/4323/314 -f 2095/4324/314 2096/4325/317 2098/4326/318 2097/4327/312 -f 2097/4327/312 2098/4326/318 2100/4328/319 2099/4329/311 -f 2099/4329/311 2100/4328/319 2102/4330/320 2101/4331/309 -f 2101/4331/309 2102/4330/320 2103/4332/321 2104/4333/307 -f 2104/4333/307 2103/4332/321 2094/4321/316 2093/4320/306 -f 2125/4334/491 2126/4335/481 2128/4336/482 2127/4337/496 -f 2127/4338/496 2128/4339/482 2130/4340/484 2129/4341/495 -f 2129/4341/495 2130/4340/484 2132/4342/486 2131/4343/494 -f 2131/4343/494 2132/4342/486 2134/4344/487 2133/4345/493 -f 2133/4345/493 2134/4344/487 2135/4346/489 2136/4347/492 -f 2136/4347/492 2135/4346/489 2126/4335/481 2125/4334/491 -f 2137/4348/338 2138/4349/339 2140/4350/337 2139/4351/336 -f 2139/4351/336 2140/4350/337 2142/4352/335 2141/4353/334 -f 2141/4353/334 2142/4352/335 2144/4354/333 2143/4355/332 -f 2143/4355/332 2144/4354/333 2146/4356/331 2145/4357/330 -f 2145/4357/330 2146/4356/331 2148/4358/497 2147/4359/328 -f 2147/4359/328 2148/4358/497 2150/4360/327 2149/4361/326 -f 2149/4361/326 2150/4360/327 2152/4362/325 2151/4363/498 -f 2151/4363/498 2152/4362/325 2154/4364/322 2153/4365/323 -f 2153/4366/323 2154/4367/322 2156/4368/499 2155/4369/500 -f 2155/4369/500 2156/4368/499 2158/4370/351 2157/4371/350 -f 2157/4371/350 2158/4370/351 2160/4372/501 2159/4373/502 -f 2159/4373/502 2160/4372/501 2162/4374/347 2161/4375/346 -f 2161/4375/346 2162/4374/347 2164/4376/503 2163/4377/344 -f 2163/4377/344 2164/4376/503 2166/4378/343 2165/4379/342 -f 2165/4379/342 2166/4378/343 2168/4380/341 2167/4381/504 -f 2167/4381/504 2168/4380/341 2138/4382/339 2137/4383/338 -f 2169/4384/338 2170/4385/339 2172/4386/337 2171/4387/407 -f 2171/4387/407 2172/4386/337 2174/4388/335 2173/4389/334 -f 2173/4389/334 2174/4388/335 2176/4390/505 2175/4391/506 -f 2175/4391/506 2176/4390/505 2178/4392/331 2177/4393/330 -f 2177/4393/330 2178/4392/331 2180/4394/329 2179/4395/507 -f 2179/4395/507 2180/4394/329 2182/4396/327 2181/4397/326 -f 2181/4397/326 2182/4396/327 2184/4398/508 2183/4399/324 -f 2183/4399/324 2184/4398/508 2186/4400/322 2185/4401/323 -f 2185/4402/323 2186/4403/322 2188/4404/353 2187/4405/352 -f 2187/4405/352 2188/4404/353 2190/4406/351 2189/4407/350 -f 2189/4407/350 2190/4406/351 2192/4408/501 2191/4409/502 -f 2191/4409/502 2192/4408/501 2194/4410/347 2193/4411/346 -f 2193/4411/346 2194/4410/347 2196/4412/345 2195/4413/344 -f 2195/4413/344 2196/4412/345 2198/4414/343 2197/4415/342 -f 2197/4415/342 2198/4414/343 2200/4416/341 2199/4417/504 -f 2199/4417/504 2200/4416/341 2170/4418/339 2169/4419/338 -f 2207/4420/4 2208/4421/4 2210/4422/44 2209/4423/44 -f 2209/4423/44 2210/4422/44 2212/4424/1 2211/4425/1 -f 2211/4425/1 2212/4424/1 2214/4426/46 2213/4427/46 -f 2213/4427/46 2214/4426/46 2216/4428/2 2215/4429/2 -f 2215/4429/2 2216/4428/2 2218/4430/47 2217/4431/47 -f 2217/4431/47 2218/4430/47 2220/4432/3 2219/4433/3 -f 2219/4433/3 2220/4432/3 2222/4434/45 2221/4435/45 -f 2221/4436/45 2222/4437/45 2208/4421/4 2207/4420/4 -f 2238/4438/77 2237/4439/134 2235/4440/135 2236/4441/44 -f 2240/4442/4 2239/4443/133 2237/4439/134 2238/4438/77 -f 2242/4444/84 2241/4445/132 2239/4443/133 2240/4442/4 -f 2244/4446/45 2243/4447/131 2241/4448/132 2242/4449/84 -f 2246/4450/83 2245/4451/509 2243/4447/131 2244/4446/45 -f 2248/4452/3 2247/4453/129 2245/4451/509 2246/4450/83 -f 2250/4454/82 2249/4455/128 2247/4453/129 2248/4452/3 -f 2252/4456/47 2251/4457/127 2249/4455/128 2250/4454/82 -f 2254/4458/81 2253/4459/510 2251/4457/127 2252/4456/47 -f 2256/4460/2 2255/4461/125 2253/4459/510 2254/4458/81 -f 2258/4462/80 2257/4463/124 2255/4461/125 2256/4460/2 -f 2260/4464/46 2259/4465/123 2257/4466/124 2258/4467/80 -f 2262/4468/79 2261/4469/122 2259/4465/123 2260/4464/46 -f 2264/4470/1 2263/4471/121 2261/4469/122 2262/4468/79 -f 2234/4472/78 2233/4473/136 2263/4471/121 2264/4470/1 -f 2236/4441/44 2235/4440/135 2233/4473/136 2234/4472/78 -f 2265/4474/511 2266/4475/133 2268/4476/512 2267/4477/513 -f 2267/4477/513 2268/4476/512 2270/4478/135 2269/4479/514 -f 2269/4479/514 2270/4478/135 2272/4480/136 2271/4481/515 -f 2271/4481/515 2272/4480/136 2274/4482/121 2273/4483/516 -f 2273/4483/516 2274/4482/121 2276/4484/122 2275/4485/517 -f 2275/4485/517 2276/4484/122 2278/4486/123 2277/4487/518 -f 2277/4487/518 2278/4486/123 2280/4488/124 2279/4489/519 -f 2279/4489/519 2280/4488/124 2282/4490/125 2281/4491/520 -f 2281/4491/520 2282/4490/125 2284/4492/126 2283/4493/521 -f 2283/4493/521 2284/4492/126 2286/4494/127 2285/4495/522 -f 2285/4495/522 2286/4494/127 2288/4496/523 2287/4497/524 -f 2287/4497/524 2288/4496/523 2290/4498/129 2289/4499/525 -f 2289/4499/525 2290/4498/129 2292/4500/130 2291/4501/526 -f 2291/4501/526 2292/4500/130 2294/4502/131 2293/4503/527 -f 2293/4503/527 2294/4502/131 2296/4504/528 2295/4505/529 -f 2295/4506/529 2296/4507/528 2266/4475/133 2265/4474/511 -f 2303/4508/6 2304/4509/6 2306/4510/8 2305/4511/8 -f 2305/4511/8 2306/4510/8 2308/4512/1 2307/4513/1 -f 2307/4513/1 2308/4512/1 2310/4514/9 2309/4515/9 -f 2309/4515/9 2310/4514/9 2312/4516/5 2311/4517/5 -f 2311/4517/5 2312/4516/5 2314/4518/10 2313/4519/10 -f 2313/4519/10 2314/4518/10 2316/4520/3 2315/4521/3 -f 2315/4521/3 2316/4520/3 2318/4522/7 2317/4523/7 -f 2317/4524/7 2318/4525/7 2304/4509/6 2303/4508/6 -f 2364/4526/530 2330/4527/323 2332/4528/324 2365/4529/531 -f 2365/4529/531 2332/4528/324 2334/4530/326 2369/4531/532 -f 2369/4531/532 2334/4530/326 2336/4532/507 2373/4533/533 -f 2373/4533/533 2336/4532/507 2338/4534/330 2377/4535/534 -f 2377/4535/534 2338/4534/330 2340/4536/506 2381/4537/535 -f 2381/4537/535 2340/4536/506 2342/4538/334 2385/4539/536 -f 2385/4539/536 2342/4538/334 2344/4540/407 2389/4541/537 -f 2389/4541/537 2344/4540/407 2346/4542/338 2393/4543/538 -f 2393/4543/538 2346/4542/338 2348/4544/504 2397/4545/539 -f 2397/4545/539 2348/4544/504 2350/4546/342 2401/4547/540 -f 2401/4547/540 2350/4546/342 2352/4548/344 2405/4549/541 -f 2405/4549/541 2352/4548/344 2354/4550/346 2409/4551/542 -f 2409/4551/542 2354/4550/346 2356/4552/502 2413/4553/543 -f 2413/4553/543 2356/4552/502 2358/4554/350 2417/4555/544 -f 2417/4555/544 2358/4554/350 2360/4556/352 2421/4557/545 -f 2359/4558/353 2424/4559/546 2361/4560/547 2329/4561/322 -f 2424/4559/546 2423/4562/548 2362/4563/549 2361/4560/547 -f 2418/4564/550 2422/4565/551 2423/4566/548 2419/4567/552 -f 2422/4568/551 2421/4569/545 2364/4526/530 2363/4570/553 -f 2357/4571/351 2420/4572/554 2424/4573/546 2359/4574/353 -f 2420/4572/554 2419/4567/552 2423/4566/548 2424/4573/546 -f 2414/4575/555 2418/4564/550 2419/4567/552 2415/4576/556 -f 2418/4564/550 2417/4555/544 2421/4557/545 2422/4565/551 -f 2355/4577/501 2416/4578/557 2420/4572/554 2357/4571/351 -f 2416/4578/557 2415/4576/556 2419/4567/552 2420/4572/554 -f 2410/4579/558 2414/4575/555 2415/4576/556 2411/4580/559 -f 2414/4575/555 2413/4553/543 2417/4555/544 2418/4564/550 -f 2353/4581/347 2412/4582/560 2416/4578/557 2355/4577/501 -f 2412/4582/560 2411/4580/559 2415/4576/556 2416/4578/557 -f 2406/4583/561 2410/4579/558 2411/4580/559 2407/4584/562 -f 2410/4579/558 2409/4551/542 2413/4553/543 2414/4575/555 -f 2351/4585/345 2408/4586/563 2412/4582/560 2353/4581/347 -f 2408/4586/563 2407/4584/562 2411/4580/559 2412/4582/560 -f 2402/4587/564 2406/4583/561 2407/4584/562 2403/4588/565 -f 2406/4583/561 2405/4549/541 2409/4551/542 2410/4579/558 -f 2349/4589/343 2404/4590/566 2408/4586/563 2351/4585/345 -f 2404/4590/566 2403/4588/565 2407/4584/562 2408/4586/563 -f 2398/4591/567 2402/4587/564 2403/4588/565 2399/4592/568 -f 2402/4587/564 2401/4547/540 2405/4549/541 2406/4583/561 -f 2347/4593/341 2400/4594/569 2404/4590/566 2349/4589/343 -f 2400/4594/569 2399/4592/568 2403/4588/565 2404/4590/566 -f 2394/4595/570 2398/4591/567 2399/4592/568 2395/4596/571 -f 2398/4591/567 2397/4545/539 2401/4547/540 2402/4587/564 -f 2345/4597/339 2396/4598/572 2400/4594/569 2347/4593/341 -f 2396/4598/572 2395/4596/571 2399/4592/568 2400/4594/569 -f 2390/4599/573 2394/4595/570 2395/4596/571 2391/4600/574 -f 2394/4595/570 2393/4543/538 2397/4545/539 2398/4591/567 -f 2343/4601/337 2392/4602/575 2396/4598/572 2345/4597/339 -f 2392/4602/575 2391/4600/574 2395/4596/571 2396/4598/572 -f 2386/4603/576 2390/4599/573 2391/4600/574 2387/4604/577 -f 2390/4599/573 2389/4541/537 2393/4543/538 2394/4595/570 -f 2341/4605/335 2388/4606/578 2392/4602/575 2343/4601/337 -f 2388/4606/578 2387/4604/577 2391/4600/574 2392/4602/575 -f 2382/4607/579 2386/4603/576 2387/4604/577 2383/4608/580 -f 2386/4603/576 2385/4539/536 2389/4541/537 2390/4599/573 -f 2339/4609/505 2384/4610/581 2388/4606/578 2341/4605/335 -f 2384/4610/581 2383/4608/580 2387/4604/577 2388/4606/578 -f 2378/4611/582 2382/4607/579 2383/4608/580 2379/4612/583 -f 2382/4607/579 2381/4537/535 2385/4539/536 2386/4603/576 -f 2337/4613/331 2380/4614/584 2384/4610/581 2339/4609/505 -f 2380/4614/584 2379/4612/583 2383/4608/580 2384/4610/581 -f 2374/4615/585 2378/4611/582 2379/4612/583 2375/4616/586 -f 2378/4611/582 2377/4535/534 2381/4537/535 2382/4607/579 -f 2335/4617/329 2376/4618/587 2380/4614/584 2337/4613/331 -f 2376/4618/587 2375/4616/586 2379/4612/583 2380/4614/584 -f 2370/4619/588 2374/4615/585 2375/4616/586 2371/4620/589 -f 2374/4615/585 2373/4533/533 2377/4535/534 2378/4611/582 -f 2333/4621/327 2372/4622/590 2376/4618/587 2335/4617/329 -f 2372/4622/590 2371/4620/589 2375/4616/586 2376/4618/587 -f 2366/4623/591 2370/4619/588 2371/4620/589 2367/4624/592 -f 2370/4619/588 2369/4531/532 2373/4533/533 2374/4615/585 -f 2331/4625/325 2368/4626/593 2372/4622/590 2333/4621/327 -f 2368/4626/593 2367/4624/592 2371/4620/589 2372/4622/590 -f 2362/4563/549 2363/4570/553 2366/4623/591 2367/4624/592 -f 2366/4623/591 2365/4529/531 2369/4531/532 2370/4619/588 -f 2329/4561/322 2361/4560/547 2368/4626/593 2331/4625/325 -f 2361/4560/547 2362/4563/549 2367/4624/592 2368/4626/593 -f 2421/4569/545 2360/4627/352 2330/4527/323 2364/4526/530 -f 2363/4570/553 2364/4526/530 2365/4529/531 2366/4623/591 -f 2422/4568/551 2363/4570/553 2362/4563/549 2423/4562/548 -f 2431/4628/4 2432/4629/4 2434/4630/44 2433/4631/44 -f 2433/4631/44 2434/4630/44 2436/4632/1 2435/4633/1 -f 2435/4633/1 2436/4632/1 2438/4634/46 2437/4635/46 -f 2437/4635/46 2438/4634/46 2440/4636/2 2439/4637/2 -f 2439/4637/2 2440/4636/2 2442/4638/47 2441/4639/47 -f 2441/4639/47 2442/4638/47 2444/4640/3 2443/4641/3 -f 2443/4641/3 2444/4640/3 2446/4642/45 2445/4643/45 -f 2445/4644/45 2446/4645/45 2432/4629/4 2431/4628/4 -f 2462/4646/77 2461/4647/134 2459/4648/135 2460/4649/44 -f 2464/4650/4 2463/4651/133 2461/4647/134 2462/4646/77 -f 2466/4652/84 2465/4653/132 2463/4651/133 2464/4650/4 -f 2468/4654/45 2467/4655/131 2465/4656/132 2466/4657/84 -f 2470/4658/83 2469/4659/509 2467/4655/131 2468/4654/45 -f 2472/4660/3 2471/4661/129 2469/4659/509 2470/4658/83 -f 2474/4662/82 2473/4663/128 2471/4661/129 2472/4660/3 -f 2476/4664/47 2475/4665/127 2473/4663/128 2474/4662/82 -f 2478/4666/81 2477/4667/510 2475/4665/127 2476/4664/47 -f 2480/4668/2 2479/4669/125 2477/4667/510 2478/4666/81 -f 2482/4670/80 2481/4671/124 2479/4669/125 2480/4668/2 -f 2484/4672/46 2483/4673/123 2481/4674/124 2482/4675/80 -f 2486/4676/79 2485/4677/122 2483/4673/123 2484/4672/46 -f 2488/4678/1 2487/4679/121 2485/4677/122 2486/4676/79 -f 2458/4680/78 2457/4681/136 2487/4679/121 2488/4678/1 -f 2460/4649/44 2459/4648/135 2457/4681/136 2458/4680/78 -f 2489/4682/511 2490/4683/133 2492/4684/512 2491/4685/513 -f 2491/4685/513 2492/4684/512 2494/4686/135 2493/4687/514 -f 2493/4687/514 2494/4686/135 2496/4688/136 2495/4689/515 -f 2495/4689/515 2496/4688/136 2498/4690/121 2497/4691/516 -f 2497/4691/516 2498/4690/121 2500/4692/122 2499/4693/517 -f 2499/4693/517 2500/4692/122 2502/4694/123 2501/4695/518 -f 2501/4695/518 2502/4694/123 2504/4696/124 2503/4697/519 -f 2503/4697/519 2504/4696/124 2506/4698/125 2505/4699/520 -f 2505/4699/520 2506/4698/125 2508/4700/126 2507/4701/521 -f 2507/4701/521 2508/4700/126 2510/4702/127 2509/4703/522 -f 2509/4703/522 2510/4702/127 2512/4704/523 2511/4705/524 -f 2511/4705/524 2512/4704/523 2514/4706/129 2513/4707/525 -f 2513/4707/525 2514/4706/129 2516/4708/130 2515/4709/526 -f 2515/4709/526 2516/4708/130 2518/4710/131 2517/4711/527 -f 2517/4711/527 2518/4710/131 2520/4712/528 2519/4713/529 -f 2519/4714/529 2520/4715/528 2490/4683/133 2489/4682/511 -v -0.333 -0.044 0.107 -v -0.333 0.039 0.107 -v -0.331 -0.044 0.086 -v -0.331 0.039 0.086 -v -0.325 -0.044 0.066 -v -0.325 0.039 0.066 -v -0.315 -0.044 0.048 -v -0.315 0.039 0.048 -v -0.302 -0.044 0.032 -v -0.302 0.039 0.032 -v -0.286 -0.044 0.018 -v -0.286 0.039 0.018 -v -0.267 -0.044 0.009 -v -0.267 0.039 0.009 -v -0.247 -0.044 0.003 -v -0.247 0.039 0.003 -v -0.227 -0.044 0.001 -v -0.227 0.039 0.001 -v -0.206 -0.044 0.003 -v -0.206 0.039 0.003 -v -0.186 -0.044 0.009 -v -0.186 0.039 0.009 -v -0.168 -0.044 0.018 -v -0.168 0.039 0.018 -v -0.152 -0.044 0.032 -v -0.152 0.039 0.032 -v -0.138 -0.044 0.048 -v -0.138 0.039 0.048 -v -0.129 -0.044 0.066 -v -0.129 0.039 0.066 -v -0.123 -0.044 0.086 -v -0.123 0.039 0.086 -v -0.121 -0.044 0.107 -v -0.121 0.039 0.107 -v -0.123 -0.044 0.127 -v -0.123 0.039 0.127 -v -0.129 -0.044 0.147 -v -0.129 0.039 0.147 -v -0.138 -0.044 0.166 -v -0.138 0.039 0.166 -v -0.152 -0.044 0.182 -v -0.152 0.039 0.182 -v -0.168 -0.044 0.195 -v -0.168 0.039 0.195 -v -0.186 -0.044 0.205 -v -0.186 0.039 0.205 -v -0.206 -0.044 0.211 -v -0.206 0.039 0.211 -v -0.227 -0.044 0.213 -v -0.227 0.039 0.213 -v -0.247 -0.044 0.211 -v -0.247 0.039 0.211 -v -0.267 -0.044 0.205 -v -0.267 0.039 0.205 -v -0.286 -0.044 0.195 -v -0.286 0.039 0.195 -v -0.302 -0.044 0.182 -v -0.302 0.039 0.182 -v -0.315 -0.044 0.166 -v -0.315 0.039 0.166 -v -0.325 -0.044 0.147 -v -0.325 0.039 0.147 -v -0.331 -0.044 0.127 -v -0.331 0.039 0.127 -v -0.025 0.002 -0.12 -v -0.026 0.001 -0.121 -v -0.04 0.001 -0.079 -v -0.134 0.001 0.147 -v -0.039 0.002 -0.079 -v -0.132 0.002 0.147 -v -0.037 0.002 -0.078 -v -0.13 0.002 0.147 -v -0.035 0.001 -0.077 -v -0.129 0.001 0.147 -v -0.035 -0.001 -0.077 -v -0.129 -0.001 0.147 -v -0.037 -0.002 -0.078 -v -0.13 -0.002 0.147 -v -0.039 -0.002 -0.079 -v -0.132 -0.002 0.147 -v -0.04 -0.001 -0.079 -v -0.134 -0.001 0.147 -v -0.023 0.002 -0.119 -v -0.022 0.001 -0.119 -v -0.022 -0.001 -0.119 -v -0.023 -0.002 -0.119 -v -0.025 -0.002 -0.12 -v -0.026 -0.001 -0.121 -v -0.012 -0.001 -0.172 -v -0.012 0.001 -0.172 -v -0.011 -0.002 -0.171 -v -0.009 -0.002 -0.17 -v -0.008 -0.001 -0.17 -v -0.008 0.001 -0.17 -v -0.009 0.002 -0.17 -v -0.011 0.002 -0.171 -v -0.004 -0.001 -0.219 -v -0.004 0.001 -0.219 -v -0.002 -0.002 -0.218 -v 0 -0.002 -0.218 -v 0.001 -0.001 -0.218 -v 0.001 0.001 -0.218 -v 0 0.002 -0.218 -v -0.002 0.002 -0.218 -v -0.002 -0.001 -0.263 -v -0.002 0.001 -0.263 -v 0 -0.003 -0.263 -v 0.002 -0.003 -0.263 -v 0.004 -0.001 -0.263 -v 0.004 0.001 -0.263 -v 0.002 0.003 -0.263 -v 0 0.003 -0.263 -vt 0 0.5 -vt 1 0.5 -vt 1 0.563 -vt 0 0.563 -vt 1 0.625 -vt 0 0.625 -vt 1 0.688 -vt 0 0.688 -vt 1 0.75 -vt 0 0.75 -vt 1 0.813 -vt 0 0.813 -vt 1 0.875 -vt 0 0.875 -vt 1 0.938 -vt 0 0.938 -vt 1 1 -vt 0 1 -vt 0 0 -vt 1 0 -vt 1 0.063 -vt 0 0.063 -vt 1 0.125 -vt 0 0.125 -vt 1 0.188 -vt 0 0.188 -vt 1 0.25 -vt 0 0.25 -vt 1 0.313 -vt 0 0.313 -vt 1 0.375 -vt 0 0.375 -vt 1 0.438 -vt 0 0.438 -vt 1 0.5 -vt 0 0.5 -vt 1 0.563 -vt 0 0.563 -vt 1 0.625 -vt 0 0.625 -vt 1 0.688 -vt 0 0.688 -vt 1 0.75 -vt 0 0.75 -vt 1 0.813 -vt 0 0.813 -vt 1 0.875 -vt 0 0.875 -vt 1 0.938 -vt 0 0.938 -vt 1 1 -vt 0 1 -vt 0 0 -vt 1 0 -vt 1 0.063 -vt 0 0.063 -vt 1 0.125 -vt 0 0.125 -vt 1 0.188 -vt 0 0.188 -vt 1 0.25 -vt 0 0.25 -vt 1 0.313 -vt 0 0.313 -vt 1 0.375 -vt 0 0.375 -vt 1 0.438 -vt 0 0.438 -vt 0.5 0.188 -vt 0.563 0.125 -vt 0.563 0.188 -vt 0.5 0.25 -vt 0.563 0.188 -vt 0.563 0.25 -vt 0.563 0.25 -vt 0.5 0.688 -vt 0.5 0.25 -vt 0.5 0.188 -vt 0.563 0.125 -vt 0.5 0.25 -vt 0.563 0.188 -vt 0.563 0.25 -vt 0.5 0.25 -vt 0.563 0.25 -vt 0.563 0.25 -vt 0.5 0.688 -vt 0.5 0.25 -vt 0.5 0.188 -vt 0.563 0.125 -vt 0.563 0.188 -vt 0.5 0.188 -vt 0.563 0.188 -vt 0.563 0.688 -vt 0.5 0.125 -vt 0.563 0.125 -vt 0.563 0.25 -vt 0.563 0.688 -vt 0.5 0.125 -vt 0.563 0.063 -vt 0.563 0.125 -vt 0.563 0.125 -vt 0.5 0.188 -vt 0.5 0.125 -vt 0.5 0.188 -vt 0.563 0.688 -vt 0.5 0.188 -vt 0.563 0.188 -vt 0.563 0.688 -vt 0.5 0.25 -vt 0.5 0.125 -vt 0.563 0.125 -vt 0.563 0.188 -vt 0.5 0.125 -vt 0.563 0.125 -vt 0.5 0.063 -vt 0.563 0.063 -vt 0.5 0.063 -vt 0.563 0.063 -vt 0.5 0.063 -vt 0.563 0.063 -vt 0.5 0.125 -vt 0.563 0.063 -vt 0.5 0.125 -vt 0.563 0.063 -vt 0.5 0.063 -vt 0.563 0 -vt 0.5 0 -vt 0.563 0 -vt 0.5 0 -vt 0.563 0 -vt 0.5 0 -vt 0.563 0 -vt 0.5 0.063 -vt 0.563 0 -vt 0.5 0.063 -vt 0.563 0 -vt 0.563 0.688 -vt 0.563 0.688 -vt 0.5 0.125 -vt 0.5 0.688 -vt 0.5 0.688 -vt 0.5 0.063 -vt 0.5 0 -vt 0.563 0 -vt 0.563 0.188 -vt 0.563 0.25 -vt 0.5 0.25 -vt 0.563 0.688 -vt 0.5 0.688 -vt 0.563 0.063 -vt 0.5 0.688 -vt 0.5 0.688 -vt 0.5 0.063 -vt 0.5 0 -vt 0.563 0.063 -vt 0.563 0 -vt 0.5 0.25 -vt 0.5 0.188 -vt 0.563 0.25 -vt 0.563 0.688 -vt 0.5 0.688 -vt 0.5 0 -vt 0.5 0 -vt 0.5 0 -vn -1 0 0 -vn -0.981 0 -0.195 -vn -0.924 0 -0.383 -vn -0.831 0 -0.556 -vn -0.707 0 -0.707 -vn -0.556 0 -0.831 -vn -0.383 0 -0.924 -vn -0.195 0 -0.981 -vn 0 0 -1 -vn 0.195 0 -0.981 -vn 0.383 0 -0.924 -vn 0.556 0 -0.831 -vn 0.707 0 -0.707 -vn 0.831 0 -0.556 -vn 0.924 0 -0.383 -vn 0.981 0 -0.195 -vn 1 0 0 -vn 0.981 0 0.195 -vn 0.924 0 0.383 -vn 0.831 0 0.556 -vn 0.707 0 0.707 -vn 0.556 0 0.831 -vn 0.383 0 0.924 -vn 0.195 0 0.981 -vn 0 0 1 -vn -0.195 0 0.981 -vn -0.383 0 0.924 -vn -0.556 0 0.831 -vn -0.707 0 0.707 -vn -0.831 0 0.556 -vn -0.924 0 0.383 -vn -0.981 0 0.195 -vn -0.869 -0.417 -0.264 -vn -0.336 -0.938 -0.078 -vn -0.33 -0.939 -0.101 -vn 0.329 -0.936 0.123 -vn 0.872 -0.412 0.265 -vn 0.852 -0.417 0.318 -vn -0.849 0.424 -0.316 -vn -0.456 0.87 -0.187 -vn -0.316 0.941 -0.118 -vn 0.34 -0.935 0.103 -vn 0.89 -0.407 0.205 -vn 0.872 0.412 0.265 -vn 0.852 0.417 0.318 -vn -0.849 -0.424 -0.316 -vn -0.316 -0.941 -0.118 -vn 0.329 0.936 0.123 -vn 0.845 0.402 0.352 -vn -0.869 0.417 -0.264 -vn -0.887 -0.415 -0.202 -vn 0.34 0.935 0.103 -vn 0.89 0.407 0.205 -vn 0.354 0.932 0.08 -vn 0.845 -0.402 0.352 -vn 0.909 0.401 0.112 -vn 0.354 -0.932 0.08 -vn -0.456 -0.87 -0.187 -vn -0.33 0.939 -0.101 -vn -0.874 -0.328 -0.359 -vn -0.336 0.938 -0.078 -vn -0.887 0.415 -0.202 -vn -0.905 0.412 -0.1 -vn -0.905 -0.412 -0.1 -vn -0.344 0.938 -0.034 -vn 0.368 0.929 0.048 -vn 0.909 -0.401 0.112 -vn -0.344 -0.938 -0.034 -vn 0.928 0.367 0.058 -vn -0.926 0.375 -0.041 -vn -0.926 -0.375 -0.041 -vn -0.382 0.924 -0.007 -vn 0.405 0.914 0.036 -vn 0.368 -0.928 0.048 -vn 0.928 -0.367 0.058 -vn -0.382 -0.924 -0.007 -vn -0.874 0.328 -0.359 -vn 0.28 0.953 0.116 -vn 0.28 -0.953 0.116 -vn 0.405 -0.914 0.036 -g 2 -s 1 -f 2521/4716/594 2522/4717/594 2524/4718/595 2523/4719/595 -f 2523/4719/595 2524/4718/595 2526/4720/596 2525/4721/596 -f 2525/4721/596 2526/4720/596 2528/4722/597 2527/4723/597 -f 2527/4723/597 2528/4722/597 2530/4724/598 2529/4725/598 -f 2529/4725/598 2530/4724/598 2532/4726/599 2531/4727/599 -f 2531/4727/599 2532/4726/599 2534/4728/600 2533/4729/600 -f 2533/4729/600 2534/4728/600 2536/4730/601 2535/4731/601 -f 2535/4731/601 2536/4730/601 2538/4732/602 2537/4733/602 -f 2537/4734/602 2538/4735/602 2540/4736/603 2539/4737/603 -f 2539/4737/603 2540/4736/603 2542/4738/604 2541/4739/604 -f 2541/4739/604 2542/4738/604 2544/4740/605 2543/4741/605 -f 2543/4741/605 2544/4740/605 2546/4742/606 2545/4743/606 -f 2545/4743/606 2546/4742/606 2548/4744/607 2547/4745/607 -f 2547/4745/607 2548/4744/607 2550/4746/608 2549/4747/608 -f 2549/4747/608 2550/4746/608 2552/4748/609 2551/4749/609 -f 2551/4749/609 2552/4748/609 2554/4750/610 2553/4751/610 -f 2553/4751/610 2554/4750/610 2556/4752/611 2555/4753/611 -f 2555/4753/611 2556/4752/611 2558/4754/612 2557/4755/612 -f 2557/4755/612 2558/4754/612 2560/4756/613 2559/4757/613 -f 2559/4757/613 2560/4756/613 2562/4758/614 2561/4759/614 -f 2561/4759/614 2562/4758/614 2564/4760/615 2563/4761/615 -f 2563/4761/615 2564/4760/615 2566/4762/616 2565/4763/616 -f 2565/4763/616 2566/4762/616 2568/4764/617 2567/4765/617 -f 2567/4765/617 2568/4764/617 2570/4766/618 2569/4767/618 -f 2569/4768/618 2570/4769/618 2572/4770/619 2571/4771/619 -f 2571/4771/619 2572/4770/619 2574/4772/620 2573/4773/620 -f 2573/4773/620 2574/4772/620 2576/4774/621 2575/4775/621 -f 2575/4775/621 2576/4774/621 2578/4776/622 2577/4777/622 -f 2577/4777/622 2578/4776/622 2580/4778/623 2579/4779/623 -f 2579/4779/623 2580/4778/623 2582/4780/624 2581/4781/624 -f 2581/4781/624 2582/4780/624 2584/4782/625 2583/4783/625 -f 2583/4783/625 2584/4782/625 2522/4717/594 2521/4716/594 -f 2608/4784/626 2611/4785/627 2607/4786/628 -f 2597/4787/629 2605/4788/630 2595/4789/631 -f 2587/4790/632 2590/4791/633 2589/4792/634 -f 2606/4793/635 2613/4794/636 2605/4788/630 -f 2595/4795/631 2604/4796/637 2593/4797/638 -f 2601/4798/639 2607/4786/628 2599/4799/640 -f 2591/4800/641 2594/4801/642 2593/4802/638 -f 2586/4803/643 2609/4804/644 2608/4805/626 -f 2591/4800/641 2604/4806/637 2603/4807/645 -f 2594/4808/642 2595/4795/631 2593/4797/638 -f 2603/4807/645 2614/4809/646 2615/4810/647 -f 2601/4811/639 2586/4803/643 2608/4805/626 -f 2596/4812/648 2597/4787/629 2595/4789/631 -f 2613/4813/636 2622/4814/649 2614/4815/646 -f 2612/4816/650 2607/4817/628 2611/4818/627 -f 2605/4819/630 2614/4815/646 2604/4796/637 -f 2600/4820/651 2601/4798/639 2599/4799/640 -f 2587/4790/632 2585/4821/652 2586/4822/643 -f 2602/4823/653 2587/4824/632 2601/4811/639 -f 2615/4825/647 2616/4826/654 2585/4827/652 -f 2586/4822/643 2616/4828/654 2610/4829/655 -f 2609/4804/644 2618/4830/656 2617/4831/657 -f 2610/4829/655 2624/4832/658 2618/4833/656 -f 2615/4810/647 2622/4834/649 2623/4835/659 -f 2612/4836/650 2621/4837/660 2613/4794/636 -f 2609/4838/644 2619/4839/661 2611/4785/627 -f 2621/4840/660 2630/4841/662 2622/4814/649 -f 2617/4831/657 2626/4842/663 2625/4843/664 -f 2618/4833/656 2632/4844/665 2626/4845/663 -f 2623/4835/659 2630/4846/662 2631/4847/666 -f 2620/4848/667 2629/4849/668 2621/4837/660 -f 2617/4850/657 2627/4851/669 2619/4839/661 -f 2608/4784/626 2609/4838/644 2611/4785/627 -f 2597/4787/629 2606/4793/635 2605/4788/630 -f 2587/4790/632 2588/4852/670 2590/4791/633 -f 2606/4793/635 2612/4836/650 2613/4794/636 -f 2595/4795/631 2605/4819/630 2604/4796/637 -f 2601/4798/639 2608/4784/626 2607/4786/628 -f 2591/4800/641 2592/4853/671 2594/4801/642 -f 2586/4803/643 2610/4854/655 2609/4804/644 -f 2591/4800/641 2593/4802/638 2604/4806/637 -f 2594/4808/642 2596/4855/648 2595/4795/631 -f 2603/4807/645 2604/4806/637 2614/4809/646 -f 2601/4811/639 2587/4824/632 2586/4803/643 -f 2596/4812/648 2598/4856/672 2597/4787/629 -f 2613/4813/636 2621/4840/660 2622/4814/649 -f 2619/4857/661 2627/4858/669 2628/4859/673 -f 2612/4816/650 2606/4860/635 2607/4817/628 -f 2606/4860/635 2597/4861/629 2599/4862/640 -f 2607/4817/628 2606/4860/635 2599/4862/640 -f 2597/4861/629 2598/4863/672 2599/4862/640 -f 2598/4863/672 2600/4864/651 2599/4862/640 -f 2619/4857/661 2628/4859/673 2620/4865/667 -f 2611/4818/627 2619/4857/661 2620/4865/667 -f 2611/4818/627 2620/4865/667 2612/4816/650 -f 2605/4819/630 2613/4813/636 2614/4815/646 -f 2600/4820/651 2602/4866/653 2601/4798/639 -f 2587/4790/632 2589/4792/634 2585/4821/652 -f 2602/4823/653 2588/4867/670 2587/4824/632 -f 2623/4868/659 2631/4869/666 2624/4870/658 -f 2631/4869/666 2632/4871/665 2624/4870/658 -f 2591/4872/641 2603/4873/645 2589/4874/634 -f 2603/4873/645 2615/4825/647 2585/4827/652 -f 2590/4875/633 2592/4876/671 2589/4874/634 -f 2592/4876/671 2591/4872/641 2589/4874/634 -f 2615/4825/647 2623/4868/659 2616/4826/654 -f 2623/4868/659 2624/4870/658 2616/4826/654 -f 2585/4827/652 2589/4874/634 2603/4873/645 -f 2586/4822/643 2585/4821/652 2616/4828/654 -f 2609/4804/644 2610/4854/655 2618/4830/656 -f 2610/4829/655 2616/4828/654 2624/4832/658 -f 2615/4810/647 2614/4809/646 2622/4834/649 -f 2612/4836/650 2620/4848/667 2621/4837/660 -f 2609/4838/644 2617/4850/657 2619/4839/661 -f 2621/4840/660 2629/4877/668 2630/4841/662 -f 2617/4831/657 2618/4830/656 2626/4842/663 -f 2618/4833/656 2624/4832/658 2632/4844/665 -f 2623/4835/659 2622/4834/649 2630/4846/662 -f 2620/4848/667 2628/4878/673 2629/4849/668 -f 2617/4850/657 2625/4879/664 2627/4851/669 diff --git a/mods/homedecor_modpack/computer/models/computer_laptop.obj b/mods/homedecor_modpack/computer/models/computer_laptop.obj deleted file mode 100644 index 871a4b1b..00000000 --- a/mods/homedecor_modpack/computer/models/computer_laptop.obj +++ /dev/null @@ -1,119 +0,0 @@ -v -0.34 0.023 0.335 -v -0.34 0.013 0.362 -v 0.332 0.023 0.335 -v 0.332 -0.433 0.183 -v 0.332 0.013 0.363 -v -0.34 -0.5 -0.313 -v -0.34 -0.433 -0.313 -v 0.332 -0.5 -0.313 -v -0.34 -0.5 0.183 -v 0.332 -0.5 0.183 -v -0.34 -0.433 0.183 -v -0.34 -0.433 0.21 -v 0.332 -0.433 0.21 -v 0.332 -0.5 0.21 -v -0.34 -0.5 0.21 -v -0.32 -0.418 0.195 -v -0.32 -0.001 0.334 -v 0.312 -0.418 0.195 -v -0.34 -0.433 -0.159 -v 0.332 -0.433 -0.313 -v 0.312 -0.001 0.334 -v 0.332 -0.433 -0.159 -vt 0.683 0.005 -vt 0.683 0.021 -vt 0.31 0.005 -vt 0.044 0.009 -vt 0.31 0.021 -vt 0.753 0.12 -vt 0.81 0.12 -vt 0.753 0.598 -vt 0.857 0.982 -vt 0.746 0.982 -vt 0.857 0.831 -vt 0.948 0.009 -vt 0.878 0.982 -vt 0.878 0.831 -vt 0.984 0.982 -vt 0.863 0.831 -vt 0.863 0.982 -vt 0.728 0.491 -vt 0.728 0.99 -vt 0.011 0.491 -vt 0.832 0.13 -vt 0.982 0.13 -vt 0.832 0.79 -vt 0.758 0.755 -vt 0.758 0.813 -vt 0.756 0.753 -vt 0.799 0.813 -vt 0.756 0.815 -vt 0.799 0.755 -vt 0.8 0.815 -vt 0.708 0.114 -vt 0.708 0.471 -vt 0.006 0.114 -vt 0.346 0.099 -vt 0.497 0.033 -vt 0.497 0.099 -vt 0.991 0.099 -vt 0.838 0.033 -vt 0.991 0.033 -vt 0.008 0.009 -vt 0.013 0.023 -vt 0.984 0.01 -vt 0.943 0.023 -vt 0.049 0.023 -vt 0.81 0.598 -vt 0.746 0.831 -vt 0.984 0.831 -vt 0.011 0.99 -vt 0.982 0.79 -vt 0.8 0.753 -vt 0.006 0.471 -vt 0.008 0.099 -vt 0.008 0.033 -vt 0.498 0.099 -vt 0.498 0.033 -vt 0.979 0.024 -s off -f 1/1 2/2 3/3 -f 4/4 3/3 5/5 -f 6/6 7/7 8/8 -f 9/9 6/10 10/11 -f 1/1 11/12 2/2 -f 12/13 13/14 2/15 -f 13/14 12/13 14/16 -f 9/9 10/11 15/17 -f 16/18 17/19 18/20 -f 7/21 19/22 20/23 -f 21/24 17/25 3/26 -f 16/27 1/28 17/25 -f 18/29 21/24 3/26 -f 16/27 18/29 11/30 -f 19/31 11/32 22/33 -f 22/34 8/35 20/36 -f 6/37 19/38 7/39 -f 10/40 4/4 14/41 -f 11/12 9/42 12/43 -f 2/2 5/5 3/3 -f 13/44 4/4 5/5 -f 7/7 20/45 8/8 -f 6/10 8/46 10/11 -f 11/12 12/43 2/2 -f 13/14 5/47 2/15 -f 12/13 15/17 14/16 -f 10/11 14/16 15/17 -f 17/19 21/48 18/20 -f 19/22 22/49 20/23 -f 17/25 1/28 3/26 -f 11/30 1/28 16/27 -f 4/50 18/29 3/26 -f 18/29 4/50 11/30 -f 11/32 4/51 22/33 -f 4/52 10/53 8/35 -f 22/34 4/52 8/35 -f 9/54 11/55 6/37 -f 11/55 19/38 6/37 -f 4/4 13/44 14/41 -f 9/42 15/56 12/43 diff --git a/mods/homedecor_modpack/computer/models/computer_laptop_closed.obj b/mods/homedecor_modpack/computer/models/computer_laptop_closed.obj deleted file mode 100644 index f3d7db05..00000000 --- a/mods/homedecor_modpack/computer/models/computer_laptop_closed.obj +++ /dev/null @@ -1,133 +0,0 @@ -v 0.332 -0.433 0.183 -v -0.34 -0.5 -0.313 -v -0.34 -0.433 -0.313 -v 0.332 -0.5 -0.313 -v -0.34 -0.5 0.183 -v 0.332 -0.5 0.183 -v -0.34 -0.433 0.183 -v -0.34 -0.433 0.21 -v 0.332 -0.433 0.21 -v 0.332 -0.5 0.21 -v -0.34 -0.5 0.21 -v -0.34 -0.433 -0.159 -v 0.332 -0.433 -0.313 -v 0.332 -0.433 -0.159 -v -0.339 -0.432 -0.313 -v -0.339 -0.401 -0.312 -v 0.331 -0.432 -0.313 -v 0.331 -0.432 0.207 -v 0.331 -0.401 -0.312 -v -0.339 -0.432 0.207 -v -0.339 -0.405 0.197 -v 0.331 -0.405 0.197 -v -0.319 -0.425 0.187 -v -0.319 -0.425 -0.288 -v 0.311 -0.425 0.187 -v 0.311 -0.425 -0.288 -vt 0.753 0.12 -vt 0.81 0.12 -vt 0.753 0.598 -vt 0.857 0.982 -vt 0.746 0.982 -vt 0.857 0.831 -vt 0.878 0.831 -vt 0.878 0.982 -vt 0.863 0.831 -vt 0.863 0.982 -vt 0.858 0.829 -vt 0.886 0.829 -vt 0.858 0.95 -vt 0.936 0.853 -vt 0.936 0.923 -vt 0.798 0.853 -vt 0.346 0.099 -vt 0.497 0.033 -vt 0.497 0.099 -vt 0.991 0.099 -vt 0.838 0.033 -vt 0.991 0.033 -vt 0.008 0.009 -vt 0.044 0.009 -vt 0.013 0.023 -vt 0.948 0.009 -vt 0.984 0.01 -vt 0.943 0.023 -vt 0.81 0.598 -vt 0.746 0.831 -vt 0.886 0.95 -vt 0.912 0.963 -vt 0.786 0.838 -vt 0.886 0.908 -vt 0.922 0.84 -vt 0.798 0.923 -vt 0.008 0.099 -vt 0.008 0.033 -vt 0.498 0.099 -vt 0.498 0.033 -vt 0.049 0.023 -vt 0.979 0.024 -vt 0.683 0.005 -vt 0.683 0.021 -vt 0.31 0.005 -vt 0.31 0.021 -vt 0.984 0.982 -vt 0.922 0.868 -vt 0.922 0.952 -vt 0.802 0.868 -vt 0.758 0.755 -vt 0.758 0.813 -vt 0.756 0.753 -vt 0.799 0.813 -vt 0.756 0.815 -vt 0.799 0.755 -vt 0.8 0.815 -vt 0.984 0.831 -vt 0.802 0.952 -vt 0.8 0.753 -vt 0.896 0.949 -vt 0.904 0.849 -vt 0.888 0.925 -vt 0.811 0.85 -s off -f 2/1 3/2 4/3 -f 5/4 2/5 6/6 -f 9/7 8/8 10/9 -f 5/4 6/6 11/10 -f 3/11 12/12 13/13 -f 12/14 7/15 14/16 -f 14/17 4/18 13/19 -f 2/20 12/21 3/22 -f 6/23 1/24 10/25 -f 7/26 5/27 8/28 -f 3/2 13/29 4/3 -f 2/5 4/30 6/6 -f 8/8 11/10 10/9 -f 6/6 10/9 11/10 -f 12/12 14/31 13/13 -f 8/32 9/33 1/34 7/35 -f 7/15 1/36 14/16 -f 1/37 6/38 4/18 -f 14/17 1/37 4/18 -f 5/39 7/40 2/20 -f 7/40 12/21 2/20 -f 1/24 9/41 10/25 -f 5/27 11/42 8/28 -f 15/43 16/44 17/45 -f 18/24 17/45 19/46 -f 15/43 20/26 16/44 -f 21/8 22/7 16/47 -f 23/48 24/49 25/50 -f 26/51 24/52 17/53 -f 23/54 15/55 24/52 -f 25/56 26/51 17/53 -f 23/54 25/56 20/57 -f 16/44 19/46 17/45 -f 22/41 18/24 19/46 -f 20/26 21/28 16/44 -f 22/7 19/58 16/47 -f 24/49 26/59 25/50 -f 24/52 15/55 17/53 -f 20/57 15/55 23/54 -f 18/60 25/56 17/53 -f 25/56 18/60 20/57 -f 21/61 20/62 18/63 22/64 diff --git a/mods/homedecor_modpack/computer/models/computer_monitor.obj b/mods/homedecor_modpack/computer/models/computer_monitor.obj deleted file mode 100644 index 09711d56..00000000 --- a/mods/homedecor_modpack/computer/models/computer_monitor.obj +++ /dev/null @@ -1,1606 +0,0 @@ -v 0.428 0.168 0.091 -v -0.394 0.168 0.091 -v 0.428 -0.358 0.045 -v -0.394 -0.358 0.045 -vt 1 1 -vt 0 1 -vt 0 0 -vt 1 0 -g 1 -s off -f 1/1 2/2 4/3 3/4 -v 0.084 -0.281 0.085 -v -0.048 -0.281 0.085 -v -0.048 -0.471 0.112 -v 0.084 -0.471 0.112 -v -0.048 -0.363 0.047 -v -0.048 -0.471 0.047 -v 0.084 -0.363 0.047 -v 0.084 -0.471 0.047 -v 0.455 0.187 0.077 -v 0.455 0.184 0.112 -v -0.421 0.184 0.112 -v -0.421 0.187 0.077 -v 0.455 -0.374 0.028 -v 0.455 -0.377 0.063 -v -0.421 -0.377 0.063 -v -0.421 -0.374 0.028 -v 0.173 -0.49 -0.038 -v 0.173 -0.49 0.197 -v 0.173 -0.5 0.197 -v 0.173 -0.5 -0.038 -v -0.137 -0.49 -0.038 -v -0.137 -0.5 -0.038 -v -0.137 -0.49 0.197 -v -0.137 -0.5 0.197 -v 0.398 0.145 0.133 -v -0.364 0.145 0.133 -v 0.398 -0.343 0.09 -v -0.364 -0.343 0.09 -v 0.428 0.17 0.076 -v -0.394 0.17 0.076 -v 0.428 -0.357 0.03 -v -0.394 -0.357 0.03 -v 0.428 0.168 0.091 -v -0.394 0.168 0.091 -v 0.428 -0.358 0.045 -v -0.394 -0.358 0.045 -vt 0.253 0.008 -vt 0.5 0.008 -vt 0.5 0.255 -vt 0.253 0.255 -vt 0.747 0.008 -vt 0.747 0.255 -vt 0.995 0.008 -vt 0.995 0.255 -vt 0.005 0.008 -vt 0.005 0.255 -vt 0 0 -vt 1 0 -vt 1 1 -vt 0 1 -vt 0.005 0.502 -vt 0.253 0.502 -vt 0.253 0.75 -vt 0.005 0.75 -vt 0.747 0.502 -vt 0.995 0.502 -vt 0.995 0.75 -vt 0.747 0.75 -vt 0.5 0.502 -vt 0.5 0.75 -vt 0.5 0.997 -vt 0.253 0.997 -g 2 -s off -f 5/5 6/6 7/7 8/8 -f 6/6 9/9 10/10 7/7 -f 9/9 11/11 12/12 10/10 -f 11/13 5/5 8/8 12/14 -f 15/15 14/16 29/17 30/18 -f 16/15 15/16 19/17 20/18 -f 13/15 14/16 15/17 16/18 -f 17/15 13/16 33/17 35/18 -f 20/15 19/16 18/17 17/18 -f 14/15 13/16 17/17 18/18 -f 21/19 22/20 23/21 24/22 -f 25/23 21/24 24/25 26/26 -f 27/27 25/23 26/26 28/28 -f 22/20 27/27 28/28 23/21 -f 12/14 8/8 22/20 21/19 -f 10/10 12/12 21/24 25/23 -f 7/7 10/10 25/23 27/27 -f 8/8 7/7 27/27 22/20 -f 28/28 26/29 24/30 23/21 -f 30/15 29/16 31/17 32/18 -f 18/15 19/16 32/17 31/18 -f 14/15 18/16 31/17 29/18 -f 19/15 15/16 30/17 32/18 -f 35/15 33/16 37/17 39/18 -f 16/15 20/16 36/17 34/18 -f 20/15 17/16 35/17 36/18 -f 13/15 16/16 34/17 33/18 -f 34/15 36/16 40/17 38/18 -f 36/15 35/16 39/17 40/18 -f 33/15 34/16 38/17 37/18 -v -0.391 -0.48 -0.268 -v -0.415 -0.48 -0.271 -v -0.415 -0.484 -0.271 -v -0.391 -0.484 -0.268 -v -0.41 -0.48 -0.319 -v -0.41 -0.484 -0.319 -v -0.387 -0.48 -0.317 -v -0.387 -0.484 -0.317 -v -0.364 -0.48 -0.266 -v -0.387 -0.48 -0.268 -v -0.387 -0.484 -0.268 -v -0.364 -0.484 -0.266 -v -0.383 -0.48 -0.316 -v -0.383 -0.484 -0.316 -v -0.359 -0.48 -0.314 -v -0.359 -0.484 -0.314 -v -0.262 -0.472 -0.346 -v -0.286 -0.472 -0.346 -v -0.286 -0.496 -0.346 -v -0.262 -0.496 -0.346 -v -0.286 -0.472 -0.399 -v -0.286 -0.496 -0.399 -v -0.262 -0.472 -0.399 -v -0.262 -0.496 -0.399 -v -0.262 -0.472 -0.289 -v -0.286 -0.472 -0.289 -v -0.286 -0.496 -0.289 -v -0.262 -0.496 -0.289 -v -0.286 -0.472 -0.343 -v -0.286 -0.496 -0.343 -v -0.262 -0.472 -0.343 -v -0.262 -0.496 -0.343 -v -0.262 -0.472 -0.261 -v -0.286 -0.472 -0.261 -v -0.286 -0.496 -0.261 -v -0.262 -0.496 -0.261 -v -0.286 -0.472 -0.285 -v -0.286 -0.496 -0.285 -v -0.262 -0.472 -0.285 -v -0.262 -0.496 -0.285 -v -0.234 -0.472 -0.375 -v -0.258 -0.472 -0.375 -v -0.258 -0.496 -0.375 -v -0.234 -0.496 -0.375 -v -0.258 -0.472 -0.399 -v -0.258 -0.496 -0.399 -v -0.234 -0.472 -0.399 -v -0.234 -0.496 -0.399 -v -0.177 -0.472 -0.375 -v -0.229 -0.472 -0.375 -v -0.229 -0.496 -0.375 -v -0.177 -0.496 -0.375 -v -0.229 -0.472 -0.399 -v -0.229 -0.496 -0.399 -v -0.177 -0.472 -0.399 -v -0.177 -0.496 -0.399 -v -0.176 -0.472 -0.346 -v -0.2 -0.472 -0.346 -v -0.2 -0.496 -0.346 -v -0.176 -0.496 -0.346 -v -0.2 -0.472 -0.37 -v -0.2 -0.496 -0.37 -v -0.176 -0.472 -0.37 -v -0.176 -0.496 -0.37 -v -0.206 -0.472 -0.346 -v -0.229 -0.472 -0.346 -v -0.229 -0.496 -0.346 -v -0.206 -0.496 -0.346 -v -0.229 -0.472 -0.37 -v -0.229 -0.496 -0.37 -v -0.206 -0.472 -0.37 -v -0.206 -0.496 -0.37 -v -0.234 -0.472 -0.346 -v -0.258 -0.472 -0.346 -v -0.258 -0.496 -0.346 -v -0.234 -0.496 -0.346 -v -0.258 -0.472 -0.37 -v -0.258 -0.496 -0.37 -v -0.234 -0.472 -0.37 -v -0.234 -0.496 -0.37 -v -0.234 -0.472 -0.319 -v -0.258 -0.472 -0.319 -v -0.258 -0.496 -0.319 -v -0.234 -0.496 -0.319 -v -0.258 -0.472 -0.343 -v -0.258 -0.496 -0.343 -v -0.234 -0.472 -0.343 -v -0.234 -0.496 -0.343 -v -0.206 -0.472 -0.319 -v -0.229 -0.472 -0.319 -v -0.229 -0.496 -0.319 -v -0.206 -0.496 -0.319 -v -0.229 -0.472 -0.343 -v -0.229 -0.496 -0.343 -v -0.206 -0.472 -0.343 -v -0.206 -0.496 -0.343 -v -0.176 -0.472 -0.319 -v -0.2 -0.472 -0.319 -v -0.2 -0.496 -0.319 -v -0.176 -0.496 -0.319 -v -0.2 -0.472 -0.343 -v -0.2 -0.496 -0.343 -v -0.176 -0.472 -0.343 -v -0.176 -0.496 -0.343 -v -0.176 -0.472 -0.261 -v -0.2 -0.472 -0.261 -v -0.2 -0.496 -0.261 -v -0.176 -0.496 -0.261 -v -0.2 -0.472 -0.285 -v -0.2 -0.496 -0.285 -v -0.176 -0.472 -0.285 -v -0.176 -0.496 -0.285 -v -0.206 -0.472 -0.261 -v -0.229 -0.472 -0.261 -v -0.229 -0.496 -0.261 -v -0.206 -0.496 -0.261 -v -0.229 -0.472 -0.285 -v -0.229 -0.496 -0.285 -v -0.206 -0.472 -0.285 -v -0.206 -0.496 -0.285 -v -0.234 -0.472 -0.261 -v -0.258 -0.472 -0.261 -v -0.258 -0.496 -0.261 -v -0.234 -0.496 -0.261 -v -0.258 -0.472 -0.285 -v -0.258 -0.496 -0.285 -v -0.234 -0.472 -0.285 -v -0.234 -0.496 -0.285 -v -0.234 -0.472 -0.289 -v -0.258 -0.472 -0.289 -v -0.258 -0.496 -0.289 -v -0.234 -0.496 -0.289 -v -0.258 -0.472 -0.313 -v -0.258 -0.496 -0.313 -v -0.234 -0.472 -0.313 -v -0.234 -0.496 -0.313 -v -0.206 -0.472 -0.289 -v -0.229 -0.472 -0.289 -v -0.229 -0.496 -0.289 -v -0.206 -0.496 -0.289 -v -0.229 -0.472 -0.313 -v -0.229 -0.496 -0.313 -v -0.206 -0.472 -0.313 -v -0.206 -0.496 -0.313 -v -0.176 -0.472 -0.289 -v -0.2 -0.472 -0.289 -v -0.2 -0.496 -0.289 -v -0.176 -0.496 -0.289 -v -0.2 -0.472 -0.313 -v -0.2 -0.496 -0.313 -v -0.176 -0.472 -0.313 -v -0.176 -0.496 -0.313 -v -0.1 -0.472 -0.348 -v -0.124 -0.472 -0.348 -v -0.124 -0.496 -0.348 -v -0.1 -0.496 -0.348 -v -0.124 -0.472 -0.372 -v -0.124 -0.496 -0.372 -v -0.1 -0.472 -0.372 -v -0.1 -0.496 -0.372 -v -0.128 -0.472 -0.375 -v -0.152 -0.472 -0.375 -v -0.152 -0.496 -0.375 -v -0.128 -0.496 -0.375 -v -0.152 -0.472 -0.399 -v -0.152 -0.496 -0.399 -v -0.128 -0.472 -0.399 -v -0.128 -0.496 -0.399 -v -0.1 -0.472 -0.375 -v -0.124 -0.472 -0.375 -v -0.124 -0.496 -0.375 -v -0.1 -0.496 -0.375 -v -0.124 -0.472 -0.399 -v -0.124 -0.496 -0.399 -v -0.1 -0.472 -0.399 -v -0.1 -0.496 -0.399 -v -0.07 -0.472 -0.375 -v -0.094 -0.472 -0.375 -v -0.094 -0.496 -0.375 -v -0.07 -0.496 -0.375 -v -0.094 -0.472 -0.399 -v -0.094 -0.496 -0.399 -v -0.07 -0.472 -0.399 -v -0.07 -0.496 -0.399 -v -0.07 -0.472 -0.289 -v -0.094 -0.472 -0.289 -v -0.094 -0.496 -0.289 -v -0.07 -0.496 -0.289 -v -0.094 -0.472 -0.313 -v -0.094 -0.496 -0.313 -v -0.07 -0.472 -0.313 -v -0.07 -0.496 -0.313 -v -0.1 -0.472 -0.289 -v -0.124 -0.472 -0.289 -v -0.124 -0.496 -0.289 -v -0.1 -0.496 -0.289 -v -0.124 -0.472 -0.313 -v -0.124 -0.496 -0.313 -v -0.1 -0.472 -0.313 -v -0.1 -0.496 -0.313 -v -0.128 -0.472 -0.289 -v -0.152 -0.472 -0.289 -v -0.152 -0.496 -0.289 -v -0.128 -0.496 -0.289 -v -0.152 -0.472 -0.313 -v -0.152 -0.496 -0.313 -v -0.128 -0.472 -0.313 -v -0.128 -0.496 -0.313 -v -0.128 -0.472 -0.261 -v -0.152 -0.472 -0.261 -v -0.152 -0.496 -0.261 -v -0.128 -0.496 -0.261 -v -0.152 -0.472 -0.285 -v -0.152 -0.496 -0.285 -v -0.128 -0.472 -0.285 -v -0.128 -0.496 -0.285 -v -0.1 -0.472 -0.261 -v -0.124 -0.472 -0.261 -v -0.124 -0.496 -0.261 -v -0.1 -0.496 -0.261 -v -0.124 -0.472 -0.285 -v -0.124 -0.496 -0.285 -v -0.1 -0.472 -0.285 -v -0.1 -0.496 -0.285 -v -0.07 -0.472 -0.261 -v -0.094 -0.472 -0.261 -v -0.094 -0.496 -0.261 -v -0.07 -0.496 -0.261 -v -0.094 -0.472 -0.285 -v -0.094 -0.496 -0.285 -v -0.07 -0.472 -0.285 -v -0.07 -0.496 -0.285 -v -0.07 -0.472 -0.223 -v -0.094 -0.472 -0.223 -v -0.094 -0.496 -0.223 -v -0.07 -0.496 -0.223 -v -0.094 -0.472 -0.246 -v -0.094 -0.496 -0.246 -v -0.07 -0.472 -0.246 -v -0.07 -0.496 -0.246 -v -0.1 -0.472 -0.223 -v -0.124 -0.472 -0.223 -v -0.124 -0.496 -0.223 -v -0.1 -0.496 -0.223 -v -0.124 -0.472 -0.246 -v -0.124 -0.496 -0.246 -v -0.1 -0.472 -0.246 -v -0.1 -0.496 -0.246 -v -0.128 -0.472 -0.223 -v -0.152 -0.472 -0.223 -v -0.152 -0.496 -0.223 -v -0.128 -0.496 -0.223 -v -0.152 -0.472 -0.246 -v -0.152 -0.496 -0.246 -v -0.128 -0.472 -0.246 -v -0.128 -0.496 -0.246 -v 0.065 -0.472 -0.223 -v 0.041 -0.472 -0.223 -v 0.041 -0.495 -0.223 -v 0.065 -0.495 -0.223 -v 0.041 -0.472 -0.247 -v 0.041 -0.495 -0.247 -v 0.065 -0.472 -0.247 -v 0.065 -0.495 -0.247 -v -0.021 -0.472 -0.223 -v -0.045 -0.472 -0.223 -v -0.045 -0.496 -0.223 -v -0.021 -0.496 -0.223 -v -0.045 -0.472 -0.246 -v -0.045 -0.496 -0.246 -v -0.021 -0.472 -0.246 -v -0.021 -0.496 -0.246 -v 0.007 -0.472 -0.223 -v -0.017 -0.472 -0.223 -v -0.017 -0.496 -0.223 -v 0.007 -0.496 -0.223 -v -0.017 -0.472 -0.246 -v -0.017 -0.496 -0.246 -v 0.007 -0.472 -0.246 -v 0.007 -0.496 -0.246 -v 0.037 -0.472 -0.223 -v 0.013 -0.472 -0.223 -v 0.013 -0.496 -0.223 -v 0.037 -0.496 -0.223 -v 0.013 -0.472 -0.246 -v 0.013 -0.496 -0.246 -v 0.037 -0.472 -0.246 -v 0.037 -0.496 -0.246 -v 0.172 -0.472 -0.223 -v 0.148 -0.472 -0.223 -v 0.148 -0.496 -0.223 -v 0.172 -0.496 -0.223 -v 0.148 -0.472 -0.246 -v 0.148 -0.496 -0.246 -v 0.172 -0.472 -0.246 -v 0.172 -0.496 -0.246 -v 0.142 -0.472 -0.223 -v 0.118 -0.472 -0.223 -v 0.118 -0.496 -0.223 -v 0.142 -0.496 -0.223 -v 0.118 -0.472 -0.246 -v 0.118 -0.496 -0.246 -v 0.142 -0.472 -0.246 -v 0.142 -0.496 -0.246 -v 0.114 -0.472 -0.223 -v 0.09 -0.472 -0.223 -v 0.09 -0.496 -0.223 -v 0.114 -0.496 -0.223 -v 0.09 -0.472 -0.246 -v 0.09 -0.496 -0.246 -v 0.114 -0.472 -0.246 -v 0.114 -0.496 -0.246 -v 0.2 -0.472 -0.223 -v 0.176 -0.472 -0.223 -v 0.176 -0.495 -0.223 -v 0.2 -0.495 -0.223 -v 0.176 -0.472 -0.247 -v 0.176 -0.495 -0.247 -v 0.2 -0.472 -0.247 -v 0.2 -0.495 -0.247 -v 0.332 -0.472 -0.223 -v 0.308 -0.472 -0.223 -v 0.308 -0.495 -0.223 -v 0.332 -0.495 -0.223 -v 0.308 -0.472 -0.247 -v 0.308 -0.495 -0.247 -v 0.332 -0.472 -0.247 -v 0.332 -0.495 -0.247 -v 0.246 -0.472 -0.223 -v 0.222 -0.472 -0.223 -v 0.222 -0.496 -0.223 -v 0.246 -0.496 -0.223 -v 0.222 -0.472 -0.246 -v 0.222 -0.496 -0.246 -v 0.246 -0.472 -0.246 -v 0.246 -0.496 -0.246 -v 0.274 -0.472 -0.223 -v 0.25 -0.472 -0.223 -v 0.25 -0.496 -0.223 -v 0.274 -0.496 -0.223 -v 0.25 -0.472 -0.246 -v 0.25 -0.496 -0.246 -v 0.274 -0.472 -0.246 -v 0.274 -0.496 -0.246 -v 0.303 -0.472 -0.223 -v 0.279 -0.472 -0.223 -v 0.279 -0.496 -0.223 -v 0.303 -0.496 -0.223 -v 0.279 -0.472 -0.246 -v 0.279 -0.496 -0.246 -v 0.303 -0.472 -0.246 -v 0.303 -0.496 -0.246 -v 0.399 -0.472 -0.222 -v 0.375 -0.472 -0.222 -v 0.375 -0.495 -0.222 -v 0.399 -0.495 -0.222 -v 0.375 -0.472 -0.246 -v 0.375 -0.495 -0.246 -v 0.399 -0.472 -0.246 -v 0.399 -0.495 -0.246 -v -0.007 -0.471 -0.374 -v -0.045 -0.471 -0.374 -v -0.045 -0.495 -0.374 -v -0.007 -0.495 -0.374 -v -0.045 -0.471 -0.399 -v -0.045 -0.495 -0.399 -v -0.007 -0.471 -0.399 -v -0.007 -0.495 -0.399 -v 0.031 -0.471 -0.374 -v 0 -0.471 -0.374 -v 0 -0.495 -0.374 -v 0.031 -0.495 -0.374 -v 0 -0.471 -0.399 -v 0 -0.495 -0.399 -v 0.031 -0.471 -0.399 -v 0.031 -0.495 -0.399 -v 0.068 -0.471 -0.374 -v 0.036 -0.471 -0.374 -v 0.036 -0.495 -0.374 -v 0.068 -0.495 -0.374 -v 0.036 -0.471 -0.399 -v 0.036 -0.495 -0.399 -v 0.068 -0.471 -0.399 -v 0.068 -0.495 -0.399 -v 0.105 -0.471 -0.374 -v 0.073 -0.471 -0.374 -v 0.073 -0.495 -0.374 -v 0.105 -0.495 -0.374 -v 0.073 -0.471 -0.399 -v 0.073 -0.495 -0.399 -v 0.105 -0.471 -0.399 -v 0.105 -0.495 -0.399 -v 0.293 -0.471 -0.374 -v 0.11 -0.471 -0.374 -v 0.11 -0.495 -0.374 -v 0.293 -0.495 -0.374 -v 0.11 -0.471 -0.399 -v 0.11 -0.495 -0.399 -v 0.293 -0.471 -0.399 -v 0.293 -0.495 -0.399 -v 0.327 -0.471 -0.374 -v 0.298 -0.471 -0.374 -v 0.298 -0.495 -0.374 -v 0.327 -0.495 -0.374 -v 0.298 -0.471 -0.399 -v 0.298 -0.495 -0.399 -v 0.327 -0.471 -0.399 -v 0.327 -0.495 -0.399 -v 0.312 -0.472 -0.261 -v 0.288 -0.472 -0.261 -v 0.288 -0.496 -0.261 -v 0.312 -0.496 -0.261 -v 0.288 -0.472 -0.285 -v 0.288 -0.496 -0.285 -v 0.312 -0.472 -0.285 -v 0.312 -0.496 -0.285 -v 0.282 -0.472 -0.261 -v 0.258 -0.472 -0.261 -v 0.258 -0.496 -0.261 -v 0.282 -0.496 -0.261 -v 0.258 -0.472 -0.285 -v 0.258 -0.496 -0.285 -v 0.282 -0.472 -0.285 -v 0.282 -0.496 -0.285 -v 0.254 -0.472 -0.261 -v 0.23 -0.472 -0.261 -v 0.23 -0.496 -0.261 -v 0.254 -0.496 -0.261 -v 0.23 -0.472 -0.285 -v 0.23 -0.496 -0.285 -v 0.254 -0.472 -0.285 -v 0.254 -0.496 -0.285 -v 0.223 -0.472 -0.261 -v 0.199 -0.472 -0.261 -v 0.199 -0.496 -0.261 -v 0.223 -0.496 -0.261 -v 0.199 -0.472 -0.285 -v 0.199 -0.496 -0.285 -v 0.223 -0.472 -0.285 -v 0.223 -0.496 -0.285 -v 0.195 -0.472 -0.261 -v 0.171 -0.472 -0.261 -v 0.171 -0.496 -0.261 -v 0.195 -0.496 -0.261 -v 0.171 -0.472 -0.285 -v 0.171 -0.496 -0.285 -v 0.195 -0.472 -0.285 -v 0.195 -0.496 -0.285 -v 0.165 -0.472 -0.261 -v 0.141 -0.472 -0.261 -v 0.141 -0.496 -0.261 -v 0.165 -0.496 -0.261 -v 0.141 -0.472 -0.285 -v 0.141 -0.496 -0.285 -v 0.165 -0.472 -0.285 -v 0.165 -0.496 -0.285 -v 0.136 -0.472 -0.261 -v 0.112 -0.472 -0.261 -v 0.112 -0.496 -0.261 -v 0.136 -0.496 -0.261 -v 0.112 -0.472 -0.285 -v 0.112 -0.496 -0.285 -v 0.136 -0.472 -0.285 -v 0.136 -0.496 -0.285 -v 0.104 -0.472 -0.261 -v 0.08 -0.472 -0.261 -v 0.08 -0.496 -0.261 -v 0.104 -0.496 -0.261 -v 0.08 -0.472 -0.285 -v 0.08 -0.496 -0.285 -v 0.104 -0.472 -0.285 -v 0.104 -0.496 -0.285 -v 0.075 -0.472 -0.261 -v 0.051 -0.472 -0.261 -v 0.051 -0.496 -0.261 -v 0.075 -0.496 -0.261 -v 0.051 -0.472 -0.285 -v 0.051 -0.496 -0.285 -v 0.075 -0.472 -0.285 -v 0.075 -0.496 -0.285 -v 0.045 -0.472 -0.261 -v 0.021 -0.472 -0.261 -v 0.021 -0.496 -0.261 -v 0.045 -0.496 -0.261 -v 0.021 -0.472 -0.285 -v 0.021 -0.496 -0.285 -v 0.045 -0.472 -0.285 -v 0.045 -0.496 -0.285 -v 0.014 -0.472 -0.261 -v -0.046 -0.472 -0.261 -v -0.046 -0.496 -0.261 -v 0.014 -0.496 -0.261 -v -0.046 -0.472 -0.285 -v -0.046 -0.496 -0.285 -v 0.014 -0.472 -0.285 -v 0.014 -0.496 -0.285 -v -0.019 -0.472 -0.29 -v -0.046 -0.472 -0.29 -v -0.046 -0.496 -0.29 -v -0.019 -0.496 -0.29 -v -0.046 -0.472 -0.313 -v -0.046 -0.472 -0.342 -v -0.046 -0.496 -0.342 -v -0.046 -0.496 -0.313 -v -0.019 -0.472 -0.342 -v -0.019 -0.496 -0.342 -v -0.019 -0.496 -0.313 -v -0.019 -0.472 -0.313 -v -0.013 -0.472 -0.313 -v -0.013 -0.496 -0.313 -v -0.013 -0.496 -0.29 -v -0.013 -0.472 -0.29 -v 0.02 -0.472 -0.346 -v -0.046 -0.472 -0.346 -v -0.046 -0.496 -0.346 -v 0.02 -0.496 -0.346 -v -0.046 -0.472 -0.37 -v -0.046 -0.496 -0.37 -v 0.02 -0.472 -0.37 -v 0.02 -0.496 -0.37 -v 0.009 -0.472 -0.318 -v -0.015 -0.472 -0.318 -v -0.015 -0.496 -0.318 -v 0.009 -0.496 -0.318 -v -0.015 -0.472 -0.342 -v -0.015 -0.496 -0.342 -v 0.009 -0.472 -0.342 -v 0.009 -0.496 -0.342 -v 0.014 -0.472 -0.289 -v -0.01 -0.472 -0.289 -v -0.01 -0.496 -0.289 -v 0.014 -0.496 -0.289 -v -0.01 -0.472 -0.313 -v -0.01 -0.496 -0.313 -v 0.014 -0.472 -0.313 -v 0.014 -0.496 -0.313 -v 0.042 -0.472 -0.289 -v 0.018 -0.472 -0.289 -v 0.018 -0.496 -0.289 -v 0.042 -0.496 -0.289 -v 0.018 -0.472 -0.313 -v 0.018 -0.496 -0.313 -v 0.042 -0.472 -0.313 -v 0.042 -0.496 -0.313 -v 0.037 -0.472 -0.318 -v 0.013 -0.472 -0.318 -v 0.013 -0.496 -0.318 -v 0.037 -0.496 -0.318 -v 0.013 -0.472 -0.342 -v 0.013 -0.496 -0.342 -v 0.037 -0.472 -0.342 -v 0.037 -0.496 -0.342 -v 0.049 -0.472 -0.346 -v 0.025 -0.472 -0.346 -v 0.025 -0.496 -0.346 -v 0.049 -0.496 -0.346 -v 0.025 -0.472 -0.37 -v 0.025 -0.496 -0.37 -v 0.049 -0.472 -0.37 -v 0.049 -0.496 -0.37 -v 0.077 -0.472 -0.346 -v 0.053 -0.472 -0.346 -v 0.053 -0.496 -0.346 -v 0.077 -0.496 -0.346 -v 0.053 -0.472 -0.37 -v 0.053 -0.496 -0.37 -v 0.077 -0.472 -0.37 -v 0.077 -0.496 -0.37 -v 0.065 -0.472 -0.318 -v 0.041 -0.472 -0.318 -v 0.041 -0.496 -0.318 -v 0.065 -0.496 -0.318 -v 0.041 -0.472 -0.342 -v 0.041 -0.496 -0.342 -v 0.065 -0.472 -0.342 -v 0.065 -0.496 -0.342 -v 0.07 -0.472 -0.289 -v 0.046 -0.472 -0.289 -v 0.046 -0.496 -0.289 -v 0.07 -0.496 -0.289 -v 0.046 -0.472 -0.313 -v 0.046 -0.496 -0.313 -v 0.07 -0.472 -0.313 -v 0.07 -0.496 -0.313 -v 0.098 -0.472 -0.289 -v 0.074 -0.472 -0.289 -v 0.074 -0.496 -0.289 -v 0.098 -0.496 -0.289 -v 0.074 -0.472 -0.313 -v 0.074 -0.496 -0.313 -v 0.098 -0.472 -0.313 -v 0.098 -0.496 -0.313 -v 0.093 -0.472 -0.318 -v 0.069 -0.472 -0.318 -v 0.069 -0.496 -0.318 -v 0.093 -0.496 -0.318 -v 0.069 -0.472 -0.342 -v 0.069 -0.496 -0.342 -v 0.093 -0.472 -0.342 -v 0.093 -0.496 -0.342 -v 0.105 -0.472 -0.346 -v 0.081 -0.472 -0.346 -v 0.081 -0.496 -0.346 -v 0.105 -0.496 -0.346 -v 0.081 -0.472 -0.37 -v 0.081 -0.496 -0.37 -v 0.105 -0.472 -0.37 -v 0.105 -0.496 -0.37 -v 0.133 -0.472 -0.346 -v 0.11 -0.472 -0.346 -v 0.11 -0.496 -0.346 -v 0.133 -0.496 -0.346 -v 0.11 -0.472 -0.37 -v 0.11 -0.496 -0.37 -v 0.133 -0.472 -0.37 -v 0.133 -0.496 -0.37 -v 0.121 -0.472 -0.318 -v 0.097 -0.472 -0.318 -v 0.097 -0.496 -0.318 -v 0.121 -0.496 -0.318 -v 0.097 -0.472 -0.342 -v 0.097 -0.496 -0.342 -v 0.121 -0.472 -0.342 -v 0.121 -0.496 -0.342 -v 0.126 -0.472 -0.289 -v 0.102 -0.472 -0.289 -v 0.102 -0.496 -0.289 -v 0.126 -0.496 -0.289 -v 0.102 -0.472 -0.313 -v 0.102 -0.496 -0.313 -v 0.126 -0.472 -0.313 -v 0.126 -0.496 -0.313 -v 0.155 -0.472 -0.289 -v 0.132 -0.472 -0.289 -v 0.132 -0.496 -0.289 -v 0.155 -0.496 -0.289 -v 0.132 -0.472 -0.313 -v 0.132 -0.496 -0.313 -v 0.155 -0.472 -0.313 -v 0.155 -0.496 -0.313 -v 0.151 -0.472 -0.318 -v 0.127 -0.472 -0.318 -v 0.127 -0.496 -0.318 -v 0.151 -0.496 -0.318 -v 0.127 -0.472 -0.342 -v 0.127 -0.496 -0.342 -v 0.151 -0.472 -0.342 -v 0.151 -0.496 -0.342 -v 0.163 -0.472 -0.346 -v 0.139 -0.472 -0.346 -v 0.139 -0.496 -0.346 -v 0.163 -0.496 -0.346 -v 0.139 -0.472 -0.37 -v 0.139 -0.496 -0.37 -v 0.163 -0.472 -0.37 -v 0.163 -0.496 -0.37 -v 0.192 -0.472 -0.346 -v 0.168 -0.472 -0.346 -v 0.168 -0.496 -0.346 -v 0.192 -0.496 -0.346 -v 0.168 -0.472 -0.37 -v 0.168 -0.496 -0.37 -v 0.192 -0.472 -0.37 -v 0.192 -0.496 -0.37 -v 0.18 -0.472 -0.318 -v 0.156 -0.472 -0.318 -v 0.156 -0.496 -0.318 -v 0.18 -0.496 -0.318 -v 0.156 -0.472 -0.342 -v 0.156 -0.496 -0.342 -v 0.18 -0.472 -0.342 -v 0.18 -0.496 -0.342 -v 0.185 -0.472 -0.289 -v 0.161 -0.472 -0.289 -v 0.161 -0.496 -0.289 -v 0.185 -0.496 -0.289 -v 0.161 -0.472 -0.313 -v 0.161 -0.496 -0.313 -v 0.185 -0.472 -0.313 -v 0.185 -0.496 -0.313 -v 0.214 -0.472 -0.289 -v 0.19 -0.472 -0.289 -v 0.19 -0.496 -0.289 -v 0.214 -0.496 -0.289 -v 0.19 -0.472 -0.313 -v 0.19 -0.496 -0.313 -v 0.214 -0.472 -0.313 -v 0.214 -0.496 -0.313 -v 0.209 -0.472 -0.318 -v 0.185 -0.472 -0.318 -v 0.185 -0.496 -0.318 -v 0.209 -0.496 -0.318 -v 0.185 -0.472 -0.342 -v 0.185 -0.496 -0.342 -v 0.209 -0.472 -0.342 -v 0.209 -0.496 -0.342 -v 0.221 -0.472 -0.346 -v 0.197 -0.472 -0.346 -v 0.197 -0.496 -0.346 -v 0.221 -0.496 -0.346 -v 0.197 -0.472 -0.37 -v 0.197 -0.496 -0.37 -v 0.221 -0.472 -0.37 -v 0.221 -0.496 -0.37 -v 0.252 -0.472 -0.346 -v 0.228 -0.472 -0.346 -v 0.228 -0.496 -0.346 -v 0.252 -0.496 -0.346 -v 0.228 -0.472 -0.37 -v 0.228 -0.496 -0.37 -v 0.252 -0.472 -0.37 -v 0.252 -0.496 -0.37 -v 0.24 -0.472 -0.318 -v 0.216 -0.472 -0.318 -v 0.216 -0.496 -0.318 -v 0.24 -0.496 -0.318 -v 0.216 -0.472 -0.342 -v 0.216 -0.496 -0.342 -v 0.24 -0.472 -0.342 -v 0.24 -0.496 -0.342 -v 0.245 -0.472 -0.289 -v 0.221 -0.472 -0.289 -v 0.221 -0.496 -0.289 -v 0.245 -0.496 -0.289 -v 0.221 -0.472 -0.313 -v 0.221 -0.496 -0.313 -v 0.245 -0.472 -0.313 -v 0.245 -0.496 -0.313 -v 0.274 -0.472 -0.289 -v 0.25 -0.472 -0.289 -v 0.25 -0.496 -0.289 -v 0.274 -0.496 -0.289 -v 0.25 -0.472 -0.313 -v 0.25 -0.496 -0.313 -v 0.274 -0.472 -0.313 -v 0.274 -0.496 -0.313 -v 0.269 -0.472 -0.318 -v 0.245 -0.472 -0.318 -v 0.245 -0.496 -0.318 -v 0.269 -0.496 -0.318 -v 0.245 -0.472 -0.342 -v 0.245 -0.496 -0.342 -v 0.269 -0.472 -0.342 -v 0.269 -0.496 -0.342 -v 0.281 -0.472 -0.346 -v 0.257 -0.472 -0.346 -v 0.257 -0.496 -0.346 -v 0.281 -0.496 -0.346 -v 0.257 -0.472 -0.37 -v 0.257 -0.496 -0.37 -v 0.281 -0.472 -0.37 -v 0.281 -0.496 -0.37 -v 0.311 -0.472 -0.346 -v 0.287 -0.472 -0.346 -v 0.287 -0.496 -0.346 -v 0.311 -0.496 -0.346 -v 0.287 -0.472 -0.37 -v 0.287 -0.496 -0.37 -v 0.311 -0.472 -0.37 -v 0.311 -0.496 -0.37 -v 0.299 -0.472 -0.318 -v 0.275 -0.472 -0.318 -v 0.275 -0.496 -0.318 -v 0.299 -0.496 -0.318 -v 0.275 -0.472 -0.342 -v 0.275 -0.496 -0.342 -v 0.299 -0.472 -0.342 -v 0.299 -0.496 -0.342 -v 0.303 -0.472 -0.289 -v 0.28 -0.472 -0.289 -v 0.28 -0.496 -0.289 -v 0.303 -0.496 -0.289 -v 0.28 -0.472 -0.313 -v 0.28 -0.496 -0.313 -v 0.303 -0.472 -0.313 -v 0.303 -0.496 -0.313 -v 0.332 -0.472 -0.289 -v 0.308 -0.472 -0.289 -v 0.308 -0.496 -0.289 -v 0.332 -0.496 -0.289 -v 0.308 -0.472 -0.313 -v 0.308 -0.496 -0.313 -v 0.332 -0.472 -0.313 -v 0.332 -0.496 -0.313 -v 0.327 -0.472 -0.318 -v 0.303 -0.472 -0.318 -v 0.303 -0.496 -0.318 -v 0.327 -0.496 -0.318 -v 0.303 -0.472 -0.342 -v 0.303 -0.496 -0.342 -v 0.327 -0.472 -0.342 -v 0.327 -0.496 -0.342 -v 0.339 -0.472 -0.346 -v 0.315 -0.472 -0.346 -v 0.315 -0.496 -0.346 -v 0.339 -0.496 -0.346 -v 0.315 -0.472 -0.37 -v 0.315 -0.496 -0.37 -v 0.339 -0.472 -0.37 -v 0.339 -0.496 -0.37 -v 0.367 -0.472 -0.346 -v 0.343 -0.472 -0.346 -v 0.343 -0.496 -0.346 -v 0.367 -0.496 -0.346 -v 0.343 -0.472 -0.37 -v 0.343 -0.496 -0.37 -v 0.367 -0.472 -0.37 -v 0.367 -0.496 -0.37 -v 0.355 -0.472 -0.318 -v 0.331 -0.472 -0.318 -v 0.331 -0.496 -0.318 -v 0.355 -0.496 -0.318 -v 0.331 -0.472 -0.342 -v 0.331 -0.496 -0.342 -v 0.355 -0.472 -0.342 -v 0.355 -0.496 -0.342 -v 0.36 -0.472 -0.289 -v 0.336 -0.472 -0.289 -v 0.336 -0.496 -0.289 -v 0.36 -0.496 -0.289 -v 0.336 -0.472 -0.313 -v 0.336 -0.496 -0.313 -v 0.36 -0.472 -0.313 -v 0.36 -0.496 -0.313 -v 0.34 -0.472 -0.261 -v 0.316 -0.472 -0.261 -v 0.316 -0.495 -0.261 -v 0.34 -0.495 -0.261 -v 0.316 -0.472 -0.285 -v 0.316 -0.495 -0.285 -v 0.34 -0.472 -0.285 -v 0.34 -0.495 -0.285 -v 0.371 -0.472 -0.261 -v 0.347 -0.472 -0.261 -v 0.347 -0.495 -0.261 -v 0.371 -0.495 -0.261 -v 0.347 -0.472 -0.285 -v 0.347 -0.495 -0.285 -v 0.371 -0.472 -0.285 -v 0.371 -0.495 -0.285 -v 0.36 -0.471 -0.374 -v 0.331 -0.471 -0.374 -v 0.331 -0.495 -0.374 -v 0.36 -0.495 -0.374 -v 0.331 -0.471 -0.399 -v 0.331 -0.495 -0.399 -v 0.36 -0.471 -0.399 -v 0.36 -0.495 -0.399 -v 0.399 -0.472 -0.261 -v 0.375 -0.472 -0.261 -v 0.375 -0.495 -0.261 -v 0.399 -0.495 -0.261 -v 0.375 -0.472 -0.285 -v 0.375 -0.495 -0.285 -v 0.399 -0.472 -0.285 -v 0.399 -0.495 -0.285 -v 0.4 -0.471 -0.289 -v 0.363 -0.471 -0.289 -v 0.363 -0.495 -0.289 -v 0.4 -0.495 -0.289 -v 0.363 -0.471 -0.313 -v 0.363 -0.495 -0.313 -v 0.4 -0.471 -0.313 -v 0.4 -0.495 -0.313 -v 0.4 -0.471 -0.318 -v 0.358 -0.471 -0.318 -v 0.358 -0.495 -0.318 -v 0.4 -0.495 -0.318 -v 0.358 -0.471 -0.342 -v 0.358 -0.495 -0.342 -v 0.4 -0.471 -0.342 -v 0.4 -0.495 -0.342 -v 0.4 -0.471 -0.346 -v 0.371 -0.471 -0.346 -v 0.371 -0.495 -0.346 -v 0.4 -0.495 -0.346 -v 0.371 -0.471 -0.37 -v 0.371 -0.495 -0.37 -v 0.4 -0.471 -0.37 -v 0.4 -0.495 -0.37 -v 0.4 -0.471 -0.374 -v 0.363 -0.471 -0.374 -v 0.363 -0.495 -0.374 -v 0.4 -0.495 -0.374 -v 0.363 -0.471 -0.398 -v 0.363 -0.495 -0.398 -v 0.4 -0.471 -0.398 -v 0.4 -0.495 -0.398 -vt 0 0 -vt 1 0 -vt 1 1 -vt 0 1 -g 3 -s off -f 41/31 42/32 43/33 44/34 -f 42/31 45/32 46/33 43/34 -f 45/31 47/32 48/33 46/34 -f 47/31 41/32 44/33 48/34 -f 42/33 41/34 47/31 45/32 -f 49/31 50/32 51/33 52/34 -f 50/31 53/32 54/33 51/34 -f 53/31 55/32 56/33 54/34 -f 55/31 49/32 52/33 56/34 -f 55/31 53/32 50/33 49/34 -f 57/31 58/32 59/33 60/34 -f 58/31 61/32 62/33 59/34 -f 61/31 63/32 64/33 62/34 -f 63/31 57/32 60/33 64/34 -f 63/31 61/32 58/33 57/34 -f 65/31 66/32 67/33 68/34 -f 66/31 69/32 70/33 67/34 -f 69/31 71/32 72/33 70/34 -f 71/31 65/32 68/33 72/34 -f 71/31 69/32 66/33 65/34 -f 73/31 74/32 75/33 76/34 -f 74/31 77/32 78/33 75/34 -f 77/31 79/32 80/33 78/34 -f 79/31 73/32 76/33 80/34 -f 79/31 77/32 74/33 73/34 -f 81/31 82/32 83/33 84/34 -f 82/31 85/32 86/33 83/34 -f 85/31 87/32 88/33 86/34 -f 87/31 81/32 84/33 88/34 -f 87/31 85/32 82/33 81/34 -f 89/31 90/32 91/33 92/34 -f 90/31 93/32 94/33 91/34 -f 93/31 95/32 96/33 94/34 -f 95/31 89/32 92/33 96/34 -f 95/31 93/32 90/33 89/34 -f 97/31 98/32 99/33 100/34 -f 98/31 101/32 102/33 99/34 -f 101/31 103/32 104/33 102/34 -f 103/31 97/32 100/33 104/34 -f 103/31 101/32 98/33 97/34 -f 105/31 106/32 107/33 108/34 -f 106/31 109/32 110/33 107/34 -f 109/31 111/32 112/33 110/34 -f 111/31 105/32 108/33 112/34 -f 111/31 109/32 106/33 105/34 -f 113/31 114/32 115/33 116/34 -f 114/31 117/32 118/33 115/34 -f 117/31 119/32 120/33 118/34 -f 119/31 113/32 116/33 120/34 -f 119/31 117/32 114/33 113/34 -f 121/31 122/32 123/33 124/34 -f 122/31 125/32 126/33 123/34 -f 125/31 127/32 128/33 126/34 -f 127/31 121/32 124/33 128/34 -f 127/31 125/32 122/33 121/34 -f 129/31 130/32 131/33 132/34 -f 130/31 133/32 134/33 131/34 -f 133/31 135/32 136/33 134/34 -f 135/31 129/32 132/33 136/34 -f 135/31 133/32 130/33 129/34 -f 137/31 138/32 139/33 140/34 -f 138/31 141/32 142/33 139/34 -f 141/31 143/32 144/33 142/34 -f 143/31 137/32 140/33 144/34 -f 143/31 141/32 138/33 137/34 -f 145/31 146/32 147/33 148/34 -f 146/31 149/32 150/33 147/34 -f 149/31 151/32 152/33 150/34 -f 151/31 145/32 148/33 152/34 -f 151/31 149/32 146/33 145/34 -f 153/31 154/32 155/33 156/34 -f 154/31 157/32 158/33 155/34 -f 157/31 159/32 160/33 158/34 -f 159/31 153/32 156/33 160/34 -f 159/31 157/32 154/33 153/34 -f 161/31 162/32 163/33 164/34 -f 162/31 165/32 166/33 163/34 -f 165/31 167/32 168/33 166/34 -f 167/31 161/32 164/33 168/34 -f 167/31 165/32 162/33 161/34 -f 169/31 170/32 171/33 172/34 -f 170/31 173/32 174/33 171/34 -f 173/31 175/32 176/33 174/34 -f 175/31 169/32 172/33 176/34 -f 175/31 173/32 170/33 169/34 -f 177/31 178/32 179/33 180/34 -f 178/31 181/32 182/33 179/34 -f 181/31 183/32 184/33 182/34 -f 183/31 177/32 180/33 184/34 -f 183/31 181/32 178/33 177/34 -f 185/31 186/32 187/33 188/34 -f 186/31 189/32 190/33 187/34 -f 189/31 191/32 192/33 190/34 -f 191/31 185/32 188/33 192/34 -f 191/31 189/32 186/33 185/34 -f 193/31 194/32 195/33 196/34 -f 194/31 197/32 198/33 195/34 -f 197/31 199/32 200/33 198/34 -f 199/31 193/32 196/33 200/34 -f 199/31 197/32 194/33 193/34 -f 201/31 202/32 203/33 204/34 -f 202/31 205/32 206/33 203/34 -f 205/31 207/32 208/33 206/34 -f 207/31 201/32 204/33 208/34 -f 207/31 205/32 202/33 201/34 -f 209/31 210/32 211/33 212/34 -f 210/31 213/32 214/33 211/34 -f 213/31 215/32 216/33 214/34 -f 215/31 209/32 212/33 216/34 -f 215/31 213/32 210/33 209/34 -f 217/31 218/32 219/33 220/34 -f 218/31 221/32 222/33 219/34 -f 221/31 223/32 224/33 222/34 -f 223/31 217/32 220/33 224/34 -f 223/31 221/32 218/33 217/34 -f 225/31 226/32 227/33 228/34 -f 226/31 229/32 230/33 227/34 -f 229/31 231/32 232/33 230/34 -f 231/31 225/32 228/33 232/34 -f 231/31 229/32 226/33 225/34 -f 233/31 234/32 235/33 236/34 -f 234/31 237/32 238/33 235/34 -f 237/31 239/32 240/33 238/34 -f 239/31 233/32 236/33 240/34 -f 239/31 237/32 234/33 233/34 -f 241/31 242/32 243/33 244/34 -f 242/31 245/32 246/33 243/34 -f 245/31 247/32 248/33 246/34 -f 247/31 241/32 244/33 248/34 -f 247/31 245/32 242/33 241/34 -f 249/31 250/32 251/33 252/34 -f 250/31 253/32 254/33 251/34 -f 253/31 255/32 256/33 254/34 -f 255/31 249/32 252/33 256/34 -f 255/31 253/32 250/33 249/34 -f 257/31 258/32 259/33 260/34 -f 258/31 261/32 262/33 259/34 -f 261/31 263/32 264/33 262/34 -f 263/31 257/32 260/33 264/34 -f 263/31 261/32 258/33 257/34 -f 265/31 266/32 267/33 268/34 -f 266/31 269/32 270/33 267/34 -f 269/31 271/32 272/33 270/34 -f 271/31 265/32 268/33 272/34 -f 271/31 269/32 266/33 265/34 -f 273/31 274/32 275/33 276/34 -f 274/31 277/32 278/33 275/34 -f 277/31 279/32 280/33 278/34 -f 279/31 273/32 276/33 280/34 -f 279/31 277/32 274/33 273/34 -f 281/31 282/32 283/33 284/34 -f 282/31 285/32 286/33 283/34 -f 285/31 287/32 288/33 286/34 -f 287/31 281/32 284/33 288/34 -f 287/31 285/32 282/33 281/34 -f 289/31 290/32 291/33 292/34 -f 290/31 293/32 294/33 291/34 -f 293/31 295/32 296/33 294/34 -f 295/31 289/32 292/33 296/34 -f 295/31 293/32 290/33 289/34 -f 297/31 298/32 299/33 300/34 -f 298/31 301/32 302/33 299/34 -f 301/31 303/32 304/33 302/34 -f 303/31 297/32 300/33 304/34 -f 303/31 301/32 298/33 297/34 -f 305/31 306/32 307/33 308/34 -f 306/31 309/32 310/33 307/34 -f 309/31 311/32 312/33 310/34 -f 311/31 305/32 308/33 312/34 -f 311/31 309/32 306/33 305/34 -f 313/31 314/32 315/33 316/34 -f 314/31 317/32 318/33 315/34 -f 317/31 319/32 320/33 318/34 -f 319/31 313/32 316/33 320/34 -f 319/31 317/32 314/33 313/34 -f 321/31 322/32 323/33 324/34 -f 322/31 325/32 326/33 323/34 -f 325/31 327/32 328/33 326/34 -f 327/31 321/32 324/33 328/34 -f 327/31 325/32 322/33 321/34 -f 329/31 330/32 331/33 332/34 -f 330/31 333/32 334/33 331/34 -f 333/31 335/32 336/33 334/34 -f 335/31 329/32 332/33 336/34 -f 335/31 333/32 330/33 329/34 -f 337/31 338/32 339/33 340/34 -f 338/31 341/32 342/33 339/34 -f 341/31 343/32 344/33 342/34 -f 343/31 337/32 340/33 344/34 -f 343/31 341/32 338/33 337/34 -f 345/31 346/32 347/33 348/34 -f 346/31 349/32 350/33 347/34 -f 349/31 351/32 352/33 350/34 -f 351/31 345/32 348/33 352/34 -f 351/31 349/32 346/33 345/34 -f 353/31 354/32 355/33 356/34 -f 354/31 357/32 358/33 355/34 -f 357/31 359/32 360/33 358/34 -f 359/31 353/32 356/33 360/34 -f 359/31 357/32 354/33 353/34 -f 361/31 362/32 363/33 364/34 -f 362/31 365/32 366/33 363/34 -f 365/31 367/32 368/33 366/34 -f 367/31 361/32 364/33 368/34 -f 367/31 365/32 362/33 361/34 -f 369/31 370/32 371/33 372/34 -f 370/31 373/32 374/33 371/34 -f 373/31 375/32 376/33 374/34 -f 375/31 369/32 372/33 376/34 -f 375/31 373/32 370/33 369/34 -f 377/31 378/32 379/33 380/34 -f 378/31 381/32 382/33 379/34 -f 381/31 383/32 384/33 382/34 -f 383/31 377/32 380/33 384/34 -f 383/31 381/32 378/33 377/34 -f 385/31 386/32 387/33 388/34 -f 386/31 389/32 390/33 387/34 -f 389/31 391/32 392/33 390/34 -f 391/31 385/32 388/33 392/34 -f 391/31 389/32 386/33 385/34 -f 393/31 394/32 395/33 396/34 -f 394/31 397/32 398/33 395/34 -f 397/31 399/32 400/33 398/34 -f 399/31 393/32 396/33 400/34 -f 399/31 397/32 394/33 393/34 -f 401/31 402/32 403/33 404/34 -f 402/31 405/32 406/33 403/34 -f 405/31 407/32 408/33 406/34 -f 407/31 401/32 404/33 408/34 -f 407/31 405/32 402/33 401/34 -f 409/31 410/32 411/33 412/34 -f 410/31 413/32 414/33 411/34 -f 413/31 415/32 416/33 414/34 -f 415/31 409/32 412/33 416/34 -f 415/31 413/32 410/33 409/34 -f 417/31 418/32 419/33 420/34 -f 418/31 421/32 422/33 419/34 -f 421/31 423/32 424/33 422/34 -f 423/31 417/32 420/33 424/34 -f 423/31 421/32 418/33 417/34 -f 425/31 426/32 427/33 428/34 -f 426/31 429/32 430/33 427/34 -f 429/31 431/32 432/33 430/34 -f 431/31 425/32 428/33 432/34 -f 431/31 429/32 426/33 425/34 -f 433/31 434/32 435/33 436/34 -f 434/31 437/32 438/33 435/34 -f 437/31 439/32 440/33 438/34 -f 439/31 433/32 436/33 440/34 -f 439/31 437/32 434/33 433/34 -f 441/31 442/32 443/33 444/34 -f 442/31 445/32 446/33 443/34 -f 445/31 447/32 448/33 446/34 -f 447/31 441/32 444/33 448/34 -f 447/31 445/32 442/33 441/34 -f 449/31 450/32 451/33 452/34 -f 450/31 453/32 454/33 451/34 -f 453/31 455/32 456/33 454/34 -f 455/31 449/32 452/33 456/34 -f 455/31 453/32 450/33 449/34 -f 457/31 458/32 459/33 460/34 -f 458/31 461/32 462/33 459/34 -f 461/31 463/32 464/33 462/34 -f 463/31 457/32 460/33 464/34 -f 463/31 461/32 458/33 457/34 -f 465/31 466/32 467/33 468/34 -f 466/31 469/32 470/33 467/34 -f 469/31 471/32 472/33 470/34 -f 471/31 465/32 468/33 472/34 -f 471/31 469/32 466/33 465/34 -f 473/31 474/32 475/33 476/34 -f 474/31 477/32 478/33 475/34 -f 477/31 479/32 480/33 478/34 -f 479/31 473/32 476/33 480/34 -f 479/31 477/32 474/33 473/34 -f 481/31 482/32 483/33 484/34 -f 482/31 485/32 486/33 483/34 -f 485/31 487/32 488/33 486/34 -f 487/31 481/32 484/33 488/34 -f 487/31 485/32 482/33 481/34 -f 489/31 490/32 491/33 492/34 -f 490/31 493/32 494/33 491/34 -f 493/31 495/32 496/33 494/34 -f 495/31 489/32 492/33 496/34 -f 495/31 493/32 490/33 489/34 -f 497/31 498/32 499/33 500/34 -f 498/31 501/32 502/33 499/34 -f 501/31 503/32 504/33 502/34 -f 503/31 497/32 500/33 504/34 -f 503/31 501/32 498/33 497/34 -f 505/31 506/32 507/33 508/34 -f 506/31 509/32 510/33 507/34 -f 509/31 511/32 512/33 510/34 -f 511/31 505/32 508/33 512/34 -f 511/31 509/32 506/33 505/34 -f 513/31 514/32 515/33 516/34 -f 514/31 517/32 518/33 515/34 -f 517/31 519/32 520/33 518/34 -f 519/31 513/32 516/33 520/34 -f 519/31 517/32 514/33 513/34 -f 521/31 522/32 523/33 524/34 -f 522/31 525/32 526/33 523/34 -f 525/31 527/32 528/33 526/34 -f 527/31 521/32 524/33 528/34 -f 527/31 525/32 522/33 521/34 -f 529/31 530/32 531/33 532/34 -f 530/31 533/32 534/33 531/34 -f 533/31 535/32 536/33 534/34 -f 535/31 529/32 532/33 536/34 -f 535/31 533/32 530/33 529/34 -f 537/31 538/32 539/33 540/34 -f 541/31 542/32 543/33 544/34 -f 542/31 545/32 546/33 543/34 -f 547/31 548/32 549/33 550/34 -f 548/31 541/32 538/33 537/34 -f 538/31 541/32 544/33 539/34 -f 545/31 548/32 547/33 546/34 -f 545/31 542/32 541/33 548/34 -f 540/31 547/32 550/33 551/34 -f 548/31 537/32 552/33 549/34 -f 549/31 552/32 551/33 550/34 -f 537/31 540/32 551/33 552/34 -f 553/31 554/32 555/33 556/34 -f 554/31 557/32 558/33 555/34 -f 557/31 559/32 560/33 558/34 -f 559/31 553/32 556/33 560/34 -f 559/31 557/32 554/33 553/34 -f 561/31 562/32 563/33 564/34 -f 562/31 565/32 566/33 563/34 -f 565/31 567/32 568/33 566/34 -f 567/31 561/32 564/33 568/34 -f 567/31 565/32 562/33 561/34 -f 569/31 570/32 571/33 572/34 -f 570/31 573/32 574/33 571/34 -f 573/31 575/32 576/33 574/34 -f 575/31 569/32 572/33 576/34 -f 575/31 573/32 570/33 569/34 -f 577/31 578/32 579/33 580/34 -f 578/31 581/32 582/33 579/34 -f 581/31 583/32 584/33 582/34 -f 583/31 577/32 580/33 584/34 -f 583/31 581/32 578/33 577/34 -f 585/31 586/32 587/33 588/34 -f 586/31 589/32 590/33 587/34 -f 589/31 591/32 592/33 590/34 -f 591/31 585/32 588/33 592/34 -f 591/31 589/32 586/33 585/34 -f 593/31 594/32 595/33 596/34 -f 594/31 597/32 598/33 595/34 -f 597/31 599/32 600/33 598/34 -f 599/31 593/32 596/33 600/34 -f 599/31 597/32 594/33 593/34 -f 601/31 602/32 603/33 604/34 -f 602/31 605/32 606/33 603/34 -f 605/31 607/32 608/33 606/34 -f 607/31 601/32 604/33 608/34 -f 607/31 605/32 602/33 601/34 -f 609/31 610/32 611/33 612/34 -f 610/31 613/32 614/33 611/34 -f 613/31 615/32 616/33 614/34 -f 615/31 609/32 612/33 616/34 -f 615/31 613/32 610/33 609/34 -f 617/31 618/32 619/33 620/34 -f 618/31 621/32 622/33 619/34 -f 621/31 623/32 624/33 622/34 -f 623/31 617/32 620/33 624/34 -f 623/31 621/32 618/33 617/34 -f 625/31 626/32 627/33 628/34 -f 626/31 629/32 630/33 627/34 -f 629/31 631/32 632/33 630/34 -f 631/31 625/32 628/33 632/34 -f 631/31 629/32 626/33 625/34 -f 633/31 634/32 635/33 636/34 -f 634/31 637/32 638/33 635/34 -f 637/31 639/32 640/33 638/34 -f 639/31 633/32 636/33 640/34 -f 639/31 637/32 634/33 633/34 -f 641/31 642/32 643/33 644/34 -f 642/31 645/32 646/33 643/34 -f 645/31 647/32 648/33 646/34 -f 647/31 641/32 644/33 648/34 -f 647/31 645/32 642/33 641/34 -f 649/31 650/32 651/33 652/34 -f 650/31 653/32 654/33 651/34 -f 653/31 655/32 656/33 654/34 -f 655/31 649/32 652/33 656/34 -f 655/31 653/32 650/33 649/34 -f 657/31 658/32 659/33 660/34 -f 658/31 661/32 662/33 659/34 -f 661/31 663/32 664/33 662/34 -f 663/31 657/32 660/33 664/34 -f 663/31 661/32 658/33 657/34 -f 665/31 666/32 667/33 668/34 -f 666/31 669/32 670/33 667/34 -f 669/31 671/32 672/33 670/34 -f 671/31 665/32 668/33 672/34 -f 671/31 669/32 666/33 665/34 -f 673/31 674/32 675/33 676/34 -f 674/31 677/32 678/33 675/34 -f 677/31 679/32 680/33 678/34 -f 679/31 673/32 676/33 680/34 -f 679/31 677/32 674/33 673/34 -f 681/31 682/32 683/33 684/34 -f 682/31 685/32 686/33 683/34 -f 685/31 687/32 688/33 686/34 -f 687/31 681/32 684/33 688/34 -f 687/31 685/32 682/33 681/34 -f 689/31 690/32 691/33 692/34 -f 690/31 693/32 694/33 691/34 -f 693/31 695/32 696/33 694/34 -f 695/31 689/32 692/33 696/34 -f 695/31 693/32 690/33 689/34 -f 697/31 698/32 699/33 700/34 -f 698/31 701/32 702/33 699/34 -f 701/31 703/32 704/33 702/34 -f 703/31 697/32 700/33 704/34 -f 703/31 701/32 698/33 697/34 -f 705/31 706/32 707/33 708/34 -f 706/31 709/32 710/33 707/34 -f 709/31 711/32 712/33 710/34 -f 711/31 705/32 708/33 712/34 -f 711/31 709/32 706/33 705/34 -f 713/31 714/32 715/33 716/34 -f 714/31 717/32 718/33 715/34 -f 717/31 719/32 720/33 718/34 -f 719/31 713/32 716/33 720/34 -f 719/31 717/32 714/33 713/34 -f 721/31 722/32 723/33 724/34 -f 722/31 725/32 726/33 723/34 -f 725/31 727/32 728/33 726/34 -f 727/31 721/32 724/33 728/34 -f 727/31 725/32 722/33 721/34 -f 729/31 730/32 731/33 732/34 -f 730/31 733/32 734/33 731/34 -f 733/31 735/32 736/33 734/34 -f 735/31 729/32 732/33 736/34 -f 735/31 733/32 730/33 729/34 -f 737/31 738/32 739/33 740/34 -f 738/31 741/32 742/33 739/34 -f 741/31 743/32 744/33 742/34 -f 743/31 737/32 740/33 744/34 -f 743/31 741/32 738/33 737/34 -f 745/31 746/32 747/33 748/34 -f 746/31 749/32 750/33 747/34 -f 749/31 751/32 752/33 750/34 -f 751/31 745/32 748/33 752/34 -f 751/31 749/32 746/33 745/34 -f 753/31 754/32 755/33 756/34 -f 754/31 757/32 758/33 755/34 -f 757/31 759/32 760/33 758/34 -f 759/31 753/32 756/33 760/34 -f 759/31 757/32 754/33 753/34 -f 761/31 762/32 763/33 764/34 -f 762/31 765/32 766/33 763/34 -f 765/31 767/32 768/33 766/34 -f 767/31 761/32 764/33 768/34 -f 767/31 765/32 762/33 761/34 -f 769/31 770/32 771/33 772/34 -f 770/31 773/32 774/33 771/34 -f 773/31 775/32 776/33 774/34 -f 775/31 769/32 772/33 776/34 -f 775/31 773/32 770/33 769/34 -f 777/31 778/32 779/33 780/34 -f 778/31 781/32 782/33 779/34 -f 781/31 783/32 784/33 782/34 -f 783/31 777/32 780/33 784/34 -f 783/31 781/32 778/33 777/34 -f 785/31 786/32 787/33 788/34 -f 786/31 789/32 790/33 787/34 -f 789/31 791/32 792/33 790/34 -f 791/31 785/32 788/33 792/34 -f 791/31 789/32 786/33 785/34 -f 793/31 794/32 795/33 796/34 -f 794/31 797/32 798/33 795/34 -f 797/31 799/32 800/33 798/34 -f 799/31 793/32 796/33 800/34 -f 799/31 797/32 794/33 793/34 -f 801/31 802/32 803/33 804/34 -f 802/31 805/32 806/33 803/34 -f 805/31 807/32 808/33 806/34 -f 807/31 801/32 804/33 808/34 -f 807/31 805/32 802/33 801/34 -f 809/31 810/32 811/33 812/34 -f 810/31 813/32 814/33 811/34 -f 813/31 815/32 816/33 814/34 -f 815/31 809/32 812/33 816/34 -f 815/31 813/32 810/33 809/34 -f 817/31 818/32 819/33 820/34 -f 818/31 821/32 822/33 819/34 -f 821/31 823/32 824/33 822/34 -f 823/31 817/32 820/33 824/34 -f 823/31 821/32 818/33 817/34 -f 825/31 826/32 827/33 828/34 -f 826/31 829/32 830/33 827/34 -f 829/31 831/32 832/33 830/34 -f 831/31 825/32 828/33 832/34 -f 831/31 829/32 826/33 825/34 -f 833/31 834/32 835/33 836/34 -f 834/31 837/32 838/33 835/34 -f 837/31 839/32 840/33 838/34 -f 839/31 833/32 836/33 840/34 -f 839/31 837/32 834/33 833/34 -f 841/31 842/32 843/33 844/34 -f 842/31 845/32 846/33 843/34 -f 845/31 847/32 848/33 846/34 -f 847/31 841/32 844/33 848/34 -f 847/31 845/32 842/33 841/34 -f 849/31 850/32 851/33 852/34 -f 850/31 853/32 854/33 851/34 -f 853/31 855/32 856/33 854/34 -f 855/31 849/32 852/33 856/34 -f 855/31 853/32 850/33 849/34 -f 857/31 858/32 859/33 860/34 -f 858/31 861/32 862/33 859/34 -f 861/31 863/32 864/33 862/34 -f 863/31 857/32 860/33 864/34 -f 863/31 861/32 858/33 857/34 -f 865/31 866/32 867/33 868/34 -f 866/31 869/32 870/33 867/34 -f 869/31 871/32 872/33 870/34 -f 871/31 865/32 868/33 872/34 -f 871/31 869/32 866/33 865/34 -f 873/31 874/32 875/33 876/34 -f 874/31 877/32 878/33 875/34 -f 877/31 879/32 880/33 878/34 -f 879/31 873/32 876/33 880/34 -f 879/31 877/32 874/33 873/34 -f 881/31 882/32 883/33 884/34 -f 882/31 885/32 886/33 883/34 -f 885/31 887/32 888/33 886/34 -f 887/31 881/32 884/33 888/34 -f 887/31 885/32 882/33 881/34 -f 889/31 890/32 891/33 892/34 -f 890/31 893/32 894/33 891/34 -f 893/31 895/32 896/33 894/34 -f 895/31 889/32 892/33 896/34 -f 895/31 893/32 890/33 889/34 -f 897/31 898/32 899/33 900/34 -f 898/31 901/32 902/33 899/34 -f 901/31 903/32 904/33 902/34 -f 903/31 897/32 900/33 904/34 -f 903/31 901/32 898/33 897/34 -f 905/31 906/32 907/33 908/34 -f 906/31 909/32 910/33 907/34 -f 909/31 911/32 912/33 910/34 -f 911/31 905/32 908/33 912/34 -f 911/31 909/32 906/33 905/34 -f 913/31 914/32 915/33 916/34 -f 914/31 917/32 918/33 915/34 -f 917/31 919/32 920/33 918/34 -f 919/31 913/32 916/33 920/34 -f 919/31 917/32 914/33 913/34 -f 921/31 922/32 923/33 924/34 -f 922/31 925/32 926/33 923/34 -f 925/31 927/32 928/33 926/34 -f 927/31 921/32 924/33 928/34 -f 927/31 925/32 922/33 921/34 -v -0.412 -0.5 -0.385 -v -0.347 -0.5 -0.38 -v -0.361 -0.5 -0.26 -v -0.419 -0.5 -0.265 -v -0.412 -0.48 -0.384 -v -0.419 -0.482 -0.265 -v -0.361 -0.482 -0.26 -v -0.347 -0.48 -0.378 -v -0.413 -0.485 -0.388 -v -0.345 -0.485 -0.382 -v -0.359 -0.485 -0.258 -v -0.421 -0.485 -0.264 -v -0.413 -0.493 -0.387 -v -0.42 -0.493 -0.264 -v -0.346 -0.493 -0.381 -v -0.36 -0.493 -0.259 -v -0.307 -0.475 -0.21 -v -0.307 -0.479 -0.416 -v -0.307 -0.5 -0.416 -v -0.307 -0.5 -0.21 -v 0.42 -0.5 -0.21 -v 0.42 -0.5 -0.416 -v 0.42 -0.479 -0.416 -v 0.42 -0.475 -0.21 -vt 0 0 -vt 1 0 -vt 1 1 -vt 0 1 -g 4 -s off -f 929/35 930/36 931/37 932/38 -f 933/35 934/36 935/37 936/38 -f 937/35 933/36 936/37 938/38 -f 938/35 936/36 935/37 939/38 -f 939/35 935/36 934/37 940/38 -f 941/35 929/36 932/37 942/38 -f 929/35 941/36 943/37 930/38 -f 941/35 937/36 938/37 943/38 -f 930/35 943/36 944/37 931/38 -f 943/35 938/36 939/37 944/38 -f 931/35 944/36 942/37 932/38 -f 944/35 939/36 940/37 942/38 -f 933/35 937/36 940/37 934/38 -f 937/35 941/36 942/37 940/38 -f 945/35 946/36 947/37 948/38 -f 949/35 948/36 947/37 950/38 -f 951/35 946/36 945/37 952/38 -f 946/35 951/36 950/37 947/38 -f 952/35 945/36 948/37 949/38 -f 951/35 952/36 949/37 950/38 diff --git a/mods/homedecor_modpack/computer/models/computer_tower.obj b/mods/homedecor_modpack/computer/models/computer_tower.obj deleted file mode 100644 index e5a6f9fd..00000000 --- a/mods/homedecor_modpack/computer/models/computer_tower.obj +++ /dev/null @@ -1,28 +0,0 @@ -v -0.183 -0.5 0.45 -v -0.183 -0.5 -0.35 -v 0.183 -0.5 -0.35 -v 0.183 -0.5 0.45 -v -0.183 0.336 0.45 -v 0.183 0.336 0.45 -v 0.183 0.336 -0.35 -v -0.183 0.336 -0.35 -vt 1 0.75 -vt 0.5 0.75 -vt 0.5 0.5 -vt 1 0.5 -vt 0.5 1 -vt 1 1 -vt 0.5 0 -vt 0 0.5 -vt 0 0 -vt 0.25 1 -vt 0.25 0.5 -vt 1 0 -vt 0 1 -s off -f 1/1 2/2 3/3 4/4 -f 5/5 6/2 7/1 8/6 -f 1/7 5/3 8/8 2/9 -f 2/3 8/5 7/10 3/11 -f 3/12 7/4 6/3 4/7 -f 5/13 1/8 4/11 6/10 diff --git a/mods/homedecor_modpack/computer/models/tetris_arcade.obj b/mods/homedecor_modpack/computer/models/tetris_arcade.obj deleted file mode 100644 index beeb62cc..00000000 --- a/mods/homedecor_modpack/computer/models/tetris_arcade.obj +++ /dev/null @@ -1,136 +0,0 @@ -v -0.45 1.3 -0.45 -v -0.45 1.3 -0.5 -v 0.45 1.3 -0.5 -v 0.45 1.3 -0.45 -v -0.45 1.5 -0.45 -v -0.45 1.5 -0.5 -v 0.45 1.5 -0.5 -v 0.45 1.5 -0.45 -v 0.45 -0.495 -0.5 -v 0.45 0.305 -0.5 -v -0.45 -0.495 -0.5 -v -0.45 0.305 -0.5 -v 0.45 -0.498 0.5 -v 0.45 -0.498 -0.5 -v 0.5 -0.498 -0.5 -v 0.5 -0.498 0.5 -v 0.45 1.499 0.5 -v 0.45 1.499 -0.5 -v 0.5 1.499 -0.5 -v 0.5 1.499 0.5 -v 0.5 -0.5 -0.5 -v 0.5 -0.5 0.5 -v -0.5 -0.5 0.5 -v -0.5 -0.5 -0.5 -v 0.5 1.5 -0.5 -v -0.5 1.5 -0.5 -v -0.5 1.5 0.5 -v 0.5 1.5 0.5 -v -0.5 -0.498 0.5 -v -0.5 -0.498 -0.5 -v -0.45 -0.498 -0.5 -v -0.45 -0.498 0.5 -v -0.5 1.499 0.5 -v -0.5 1.499 -0.5 -v -0.45 1.499 -0.5 -v -0.45 1.499 0.5 -v 0.45 0.305 -0.5 -v 0.45 0.474 -0.137 -v -0.45 0.305 -0.5 -v -0.45 0.474 -0.137 -v 0.45 0.473 -0.138 -v 0.45 0.614 -0.087 -v -0.45 0.473 -0.138 -v -0.45 0.614 -0.087 -v 0.45 0.611 -0.085 -v 0.45 1.399 0.054 -v -0.45 0.611 -0.085 -v -0.45 1.399 0.054 -v 0.45 1.395 0.055 -v 0.45 1.495 0.055 -v -0.45 1.395 0.055 -v -0.45 1.495 0.055 -vt 0.25 0.745 -vt 0.25 0.516 -vt 0.495 0.516 -vt 0.495 0.745 -vt 0.5 0.745 -vt 0.25 0.745 -vt 0.25 0.693 -vt 0.5 0.693 -vt 0.245 1 -vt 0 1 -vt 0 0.926 -vt 0.245 0.926 -vt 0 0.985 -vt 0.246 0.985 -vt 0.247 1 -vt 0.255 0.396 -vt 0.255 0.252 -vt 0.49 0.252 -vt 0.49 0.396 -vt 0.747 0.252 -vt 1.001 0.252 -vt 1 0.749 -vt 0.748 0.749 -vt 0.971 0.251 -vt 0.999 0.251 -vt 1 0.749 -vt 0.972 0.749 -vt 0.25 0.75 -vt 0 0.75 -vt 0.001 0.252 -vt 0.25 0.252 -vt 0.742 0.745 -vt 0.501 0.745 -vt 0.501 0.255 -vt 0.742 0.255 -vt 0.952 0.253 -vt 1 0.253 -vt 1 0.749 -vt 0.952 0.749 -vt 1 0.749 -vt 0.745 0.749 -vt 0.745 0.251 -vt 1.001 0.251 -vt 0.256 0.485 -vt 0.255 0.402 -vt 0.495 0.401 -vt 0.495 0.485 -vt 0.261 0.516 -vt 0.261 0.485 -vt 0.494 0.485 -vt 0.494 0.516 -vt 0 0.745 -vt 0 0.703 -vt 0.246 0.704 -vt 0.246 0.745 -vt 0.25 0.25 -vt 0 0.25 -vt 0 0 -vt 0.25 0 -vt 0.25 0.75 -vt 0.25 1 -vt 0 0.75 -vt 1 0.25 -vt 1 0.75 -vt 0.75 0.75 -vt 0.75 0.25 -s off -f 46/1 45/2 47/3 48/4 -f 6/5 7/6 3/7 2/8 -f 8/9 5/10 1/11 4/12 -f 1/10 2/13 3/14 4/15 -f 10/16 9/17 11/18 12/19 -f 17/20 18/21 14/22 13/23 -f 18/24 19/25 15/26 14/27 -f 19/28 20/29 16/30 15/31 -f 33/32 34/33 30/34 29/35 -f 34/36 35/37 31/38 30/39 -f 35/40 36/41 32/42 31/43 -f 38/44 37/45 39/46 40/47 -f 42/48 41/49 43/50 44/51 -f 50/52 49/53 51/54 52/55 -f 21/56 22/57 23/58 24/59 -f 25/60 26/61 27/10 28/62 -f 22/63 28/64 27/65 23/66 diff --git a/mods/homedecor_modpack/computer/printers.lua b/mods/homedecor_modpack/computer/printers.lua deleted file mode 100644 index efeac68f..00000000 --- a/mods/homedecor_modpack/computer/printers.lua +++ /dev/null @@ -1,61 +0,0 @@ --- Printers of some kind or another - -local S = minetest.get_translator("computer") - -minetest.register_node("computer:printer", { - 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"}, - paramtype = "light", - paramtype2 = "facedir", - walkable = true, - groups = {snappy=3}, - sound = default.node_sound_wood_defaults(), - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375}, - {-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375}, - {-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375}, - {0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375}, - {-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375}, - {-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375}, - {-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5}, - {-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0} - }, - }, -}) - --- "bedflinger" style 3D Printer (Prusa i3 or equivalent) - -local cbox = { - type = "fixed", - fixed = {-0.25, -0.25, -0.5, 0.3, 0.3, 0.25 } -} - -minetest.register_node("computer:3dprinter_bedflinger", { - description = S('3D Printer ("bedflinger")'), - inventory_image = "computer_3dprinter_bedflinger_inv.png", - tiles = { - { name = "computer_3dprinter_bedflinger.png", color = 0xffffffff }, - "computer_3dprinter_filament.png" - }, - paramtype = "light", - walkable = true, - groups = {snappy=3, ud_param2_colorable = 1}, - sound = default.node_sound_wood_defaults(), - drawtype = "mesh", - mesh = "computer_3dprinter_bedflinger.obj", - paramtype2 = "colorwallmounted", - palette = "unifieddyes_palette_colorwallmounted.png", - selection_box = cbox, - collision_box = cbox, - after_place_node = function(pos, placer, itemstack, pointed_thing) - unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - end, - on_dig = unifieddyes.on_dig, - on_rotate = unifieddyes.fix_after_screwdriver_nsew, -}) - diff --git a/mods/homedecor_modpack/computer/recipes.lua b/mods/homedecor_modpack/computer/recipes.lua deleted file mode 100644 index f8828760..00000000 --- a/mods/homedecor_modpack/computer/recipes.lua +++ /dev/null @@ -1,141 +0,0 @@ --- Copyright (C) 2012-2013 Diego Martínez - -minetest.register_craft({ - output = "computer:shefriendSOO", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:slaystation", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:vanio", - recipe = { - { "basic_materials:plastic_sheet", "", "" }, - { "default:glass", "", "" }, - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:specter", - recipe = { - { "", "", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:slaystation2", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:admiral64", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "group:wood", "group:wood", "group:wood" } - } -}) - -minetest.register_craft({ - output = "computer:admiral128", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" } - } -}) - -minetest.register_craft({ - output = "computer:wee", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:copper_ingot", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:piepad", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" } - } -}) - ---new stuff - -minetest.register_craft({ - output = "computer:monitor", - recipe = { - { "basic_materials:plastic_sheet", "default:glass","" }, - { "basic_materials:plastic_sheet", "default:glass","" }, - { "basic_materials:plastic_sheet", "default:mese_crystal_fragment", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:router", - recipe = { - { "default:steel_ingot","","" }, - { "default:steel_ingot" ,"basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, - { "default:mese_crystal_fragment","basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:tower", - recipe = { - { "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:printer", - recipe = { - { "basic_materials:plastic_sheet", "default:steel_ingot","" }, - { "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "default:coal_lump", "basic_materials:plastic_sheet" } - } -}) - -minetest.register_craft({ - output = "computer:printer", - recipe = { - { "basic_materials:plastic_sheet", "default:steel_ingot","" }, - { "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" }, - { "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet", } - } -}) - -minetest.register_craft({ - output = "computer:server", - recipe = { - { "computer:tower", "computer:tower", "computer:tower", }, - { "computer:tower", "computer:tower", "computer:tower" }, - { "computer:tower", "computer:tower", "computer:tower" } - } -}) - -minetest.register_craft({ - output = "computer:tetris_arcade", - recipe = { - { "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet", }, - { "dye:black", "default:glass", "dye:black" }, - { "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" } - } -}) diff --git a/mods/homedecor_modpack/computer/tetris.lua b/mods/homedecor_modpack/computer/tetris.lua deleted file mode 100644 index c8031c3b..00000000 --- a/mods/homedecor_modpack/computer/tetris.lua +++ /dev/null @@ -1,290 +0,0 @@ -local S = minetest.get_translator("computer") - -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} } }, - - { { x = {0, 0, 1, 1}, y = {0, 1, 1, 2} }, - { x = {1, 2, 0, 1}, y = {0, 0, 1, 1} } }, - - { { x = {1, 0, 1, 0}, y = {0, 1, 1, 2} }, - { x = {0, 1, 1, 2}, y = {0, 0, 1, 1} } }, - - { { x = {1, 2, 1, 1}, y = {0, 0, 1, 2} }, - { x = {0, 1, 2, 2}, y = {1, 1, 1, 2} }, - { x = {1, 1, 0, 1}, y = {0, 1, 2, 2} }, - { x = {0, 0, 1, 2}, y = {0, 1, 1, 1} } }, - - { { x = {1, 1, 1, 2}, y = {0, 1, 2, 2} }, - { x = {0, 1, 2, 0}, y = {1, 1, 1, 2} }, - { x = {0, 1, 1, 1}, y = {0, 0, 1, 2} }, - { x = {0, 1, 2, 2}, y = {1, 1, 1, 0} } }, - - { { x = {1, 0, 1, 2}, y = {0, 1, 1, 1} }, - { x = {1, 1, 1, 2}, y = {0, 1, 2, 1} }, - { x = {0, 1, 2, 1}, y = {1, 1, 1, 2} }, - { x = {0, 1, 1, 1}, y = {1, 0, 1, 2} } } } - -local colors = { "computer_cyan.png", "computer_magenta.png", "computer_red.png", - "computer_blue.png", "computer_green.png", "computer_orange.png", "computer_yellow.png" } - -local background = "image[0,0;3.55,6.66;computer_black.png]" -local buttons = "button[3,4.5;0.6,0.6;left;<]" - .."button[3.6,4.5;0.6,0.6;rotateleft;"..minetest.formspec_escape(S("L")).."]" - .."button[4.2,4.5;0.6,0.6;down;v]" - .."button[4.2,5.3;0.6,0.6;drop;V]" - .."button[4.8,4.5;0.6,0.6;rotateright;"..minetest.formspec_escape(S("R")).."]" - .."button[5.4,4.5;0.6,0.6;right;>]" - .."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 -local sizex, sizey, size = 0.29, 0.29, 0.31 - -local comma = "," -local semi = ";" -local close = "]" - -local concat = table.concat -local insert = table.insert - -local draw_shape = function(id, x, y, rot, posx, posy) - local d = shapes[id][rot] - local scr = {} - local ins = #scr - - for i=1,4 do - local tmp = { "image[", - (d.x[i]+x)*sizex+posx, comma, - (d.y[i]+y)*sizey+posy, semi, - size, comma, size, semi, - colors[id], close } - - ins = ins + 1 - scr[ins] = concat(tmp) - end - - return concat(scr) -end - -local function step(pos, fields) - local meta = minetest.get_meta(pos) - local t = minetest.deserialize(meta:get_string("tetris")) - - local function new_game(p) - local nex = math.random(7) - - t = { - board = {}, - boardstring = "", - previewstring = draw_shape(nex, 0, 0, 1, 4, 1), - score = 0, - cur = math.random(7), - nex = nex, - x=4, y=0, rot=1 - } - - local timer = minetest.get_node_timer(p) - timer:set(0.3, 0) - end - - local function update_boardstring() - local scr = {} - local ins = #scr - - for i, line in pairs(t.board) do - for _, tile in pairs(line) do - local tmp = { "image[", - tile[1]*sizex+boardx, comma, - i*sizey+boardy, semi, - size, comma, size, semi, - colors[tile[2]], close } - - ins = ins + 1 - scr[ins] = concat(tmp) - end - end - - t.boardstring = concat(scr) - end - - local function add() - local d = shapes[t.cur][t.rot] - - for i=1,4 do - local l = d.y[i] + t.y - if not t.board[l] then t.board[l] = {} end - insert(t.board[l], {d.x[i] + t.x, t.cur}) - end - end - - local function scroll(l) - for i=l, 1, -1 do - t.board[i] = t.board[i-1] or {} - end - end - - local function check_lines() - for i, line in pairs(t.board) do - if #line >= 10 then - scroll(i) - t.score = t.score + 20 - end - end - end - - local function check_position(x, y, rot) - local d = shapes[t.cur][rot] - - 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 - end - - for _, tile in pairs(t.board[ cy ] or {}) do - if tile[1] == cx then return false end - end - end - - return true - end - - local function stuck() - if check_position(t.x, t.y+1, t.rot) then return false end - return true - end - - local function tick() - if stuck() then - if t.y <= 0 then - return false end - add() - check_lines() - update_boardstring() - t.cur, t.nex = t.nex, math.random(7) - t.x, t.y, t.rot = 4, 0, 1 - t.previewstring = draw_shape(t.nex, 0, 0, 1, 4.1, 0.6) - else - t.y = t.y + 1 - end - return true - end - - local function move(dx, dy) - local newx, newy = t.x+dx, t.y+dy - if not check_position(newx, newy, t.rot) then return end - t.x, t.y = newx, newy - end - - local function rotate(dr) - local no = #(shapes[t.cur]) - local newrot = (t.rot+dr) % no - - if newrot<1 then newrot = newrot+no end - if not check_position(t.x, t.y, newrot) then return end - t.rot = newrot - end - - local function key() - if fields.left then - move(-1, 0) - end - if fields.rotateleft then - rotate(-1) - end - if fields.down then - t.score = t.score + 1 - move(0, 1) - end - if fields.drop then - while not stuck() do - t.score = t.score + 2 - move(0, 1) - end - end - if fields.rotateright then - rotate(1) - end - if fields.right then - move(1, 0) - end - end - - local run = true - - if fields then - if fields.new then - new_game(pos) - elseif t then - key(fields) - end - elseif t then - run = tick() - end - - if t then - 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;"..S("Next...").."]label[3.8,2.7;"..S("Score: "), - t.score, close, buttons } - - - meta:set_string("formspec", concat(scr) - ..default.gui_bg..default.gui_bg_img..default.gui_slots) - meta:set_string("tetris", minetest.serialize(t)) - end - - return run -end - -minetest.register_node("computer:tetris_arcade", { - description=S("Tetris Arcade"), - drawtype = "mesh", - mesh = "tetris_arcade.obj", - tiles = {"tetris_arcade.png"}, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy=3}, - on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5} - }, - collision_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5} - }, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - 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) - return step(pos, nil) - end, - on_receive_fields = function(pos, formanme, fields, sender) - step(pos, fields) - end, - on_place = function(itemstack, placer, pointed_thing) - local pos = pointed_thing.above - if minetest.is_protected(pos, placer:get_player_name()) or - minetest.is_protected({x=pos.x, y=pos.y+1, z=pos.z}, placer:get_player_name()) then - 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(), S("No room for place the Arcade!")) - return itemstack - end - local dir = placer:get_look_dir() - local node = {name="computer:tetris_arcade", param1=0, param2 = minetest.dir_to_facedir(dir)} - minetest.set_node(pos, node) - itemstack:take_item() - return itemstack - end -}) diff --git a/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger.png b/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger.png deleted file mode 100644 index 6559d24e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger_inv.png b/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger_inv.png deleted file mode 100644 index ce5e9fc6..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_3dprinter_bedflinger_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_3dprinter_filament.png b/mods/homedecor_modpack/computer/textures/computer_3dprinter_filament.png deleted file mode 100644 index 621716c0..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_3dprinter_filament.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_ad128_inv.png b/mods/homedecor_modpack/computer/textures/computer_ad128_inv.png deleted file mode 100644 index 51131eea..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_ad128_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_ad64_inv.png b/mods/homedecor_modpack/computer/textures/computer_ad64_inv.png deleted file mode 100644 index 589d8dc2..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_ad64_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_bk.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_bk.png deleted file mode 100644 index de81cdd7..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_bt.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_bt.png deleted file mode 100644 index 81e59f12..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_ft.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_ft.png deleted file mode 100644 index de81cdd7..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_lt.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_lt.png deleted file mode 100644 index 45fdec2b..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_rt.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_rt.png deleted file mode 100644 index b8c3b9ae..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral128_tp.png b/mods/homedecor_modpack/computer/textures/computer_admiral128_tp.png deleted file mode 100644 index a6ccebb5..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral128_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_bk.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_bk.png deleted file mode 100644 index e8a34af0..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_bt.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_bt.png deleted file mode 100644 index aaf6fbd2..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_ft.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_ft.png deleted file mode 100644 index e8a34af0..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_lt.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_lt.png deleted file mode 100644 index 5f7df424..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_rt.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_rt.png deleted file mode 100644 index 75666e4c..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_admiral64_tp.png b/mods/homedecor_modpack/computer/textures/computer_admiral64_tp.png deleted file mode 100644 index dc1ad6d4..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_admiral64_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_black.png b/mods/homedecor_modpack/computer/textures/computer_black.png deleted file mode 100644 index 89f59675..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_black.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_blue.png b/mods/homedecor_modpack/computer/textures/computer_blue.png deleted file mode 100644 index 1391f76e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_blue.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_computer_front_old.png b/mods/homedecor_modpack/computer/textures/computer_computer_front_old.png deleted file mode 100644 index 1ff7156e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_computer_front_old.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_computer_top_old.png b/mods/homedecor_modpack/computer/textures/computer_computer_top_old.png deleted file mode 100644 index fefff2db..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_computer_top_old.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_cyan.png b/mods/homedecor_modpack/computer/textures/computer_cyan.png deleted file mode 100644 index 1ca297c2..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_cyan.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_green.png b/mods/homedecor_modpack/computer/textures/computer_green.png deleted file mode 100644 index 64aeef53..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_green.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_bk.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_bk.png deleted file mode 100644 index 8f26efd8..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_bt.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_bt.png deleted file mode 100644 index 624a5502..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_ft.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_ft.png deleted file mode 100644 index b816650f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_lt.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_lt.png deleted file mode 100644 index 304eb216..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_rt.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_rt.png deleted file mode 100644 index e8a5c44f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_hueg_box_tp.png b/mods/homedecor_modpack/computer/textures/computer_hueg_box_tp.png deleted file mode 100644 index 8a58851c..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_hueg_box_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_laptop.png b/mods/homedecor_modpack/computer/textures/computer_laptop.png deleted file mode 100644 index ee07d713..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_laptop.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_laptop_inv.png b/mods/homedecor_modpack/computer/textures/computer_laptop_inv.png deleted file mode 100644 index 9dd50328..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_laptop_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_magenta.png b/mods/homedecor_modpack/computer/textures/computer_magenta.png deleted file mode 100644 index 0d433773..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_magenta.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_monitor_inv.png b/mods/homedecor_modpack/computer/textures/computer_monitor_inv.png deleted file mode 100644 index 8fbcd1d3..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_monitor_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_orange.png b/mods/homedecor_modpack/computer/textures/computer_orange.png deleted file mode 100644 index c372e8bf..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_orange.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_piepad_inv.png b/mods/homedecor_modpack/computer/textures/computer_piepad_inv.png deleted file mode 100644 index 87aa21a8..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_piepad_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_piepad_inv_off.png b/mods/homedecor_modpack/computer/textures/computer_piepad_inv_off.png deleted file mode 100644 index 0609803d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_piepad_inv_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_b.png b/mods/homedecor_modpack/computer/textures/computer_printer_b.png deleted file mode 100644 index 4cbdd645..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_b.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_bt.png b/mods/homedecor_modpack/computer/textures/computer_printer_bt.png deleted file mode 100644 index 2f9948c1..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_f.png b/mods/homedecor_modpack/computer/textures/computer_printer_f.png deleted file mode 100644 index 63846016..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_f.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_inv.png b/mods/homedecor_modpack/computer/textures/computer_printer_inv.png deleted file mode 100644 index e692ff65..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_l.png b/mods/homedecor_modpack/computer/textures/computer_printer_l.png deleted file mode 100644 index 47555a6f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_l.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_r.png b/mods/homedecor_modpack/computer/textures/computer_printer_r.png deleted file mode 100644 index 9f5b487b..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_r.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_printer_t.png b/mods/homedecor_modpack/computer/textures/computer_printer_t.png deleted file mode 100644 index a7b24ec1..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_printer_t.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_ps1_inv.png b/mods/homedecor_modpack/computer/textures/computer_ps1_inv.png deleted file mode 100644 index 417fae7a..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_ps1_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_ps2_inv.png b/mods/homedecor_modpack/computer/textures/computer_ps2_inv.png deleted file mode 100644 index 791bc695..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_ps2_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_red.png b/mods/homedecor_modpack/computer/textures/computer_red.png deleted file mode 100644 index bda3f2bc..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_red.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_b.png b/mods/homedecor_modpack/computer/textures/computer_router_b.png deleted file mode 100644 index dd8d736a..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_b.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_bt.png b/mods/homedecor_modpack/computer/textures/computer_router_bt.png deleted file mode 100644 index 3cf2cfbd..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_f.png b/mods/homedecor_modpack/computer/textures/computer_router_f.png deleted file mode 100644 index 844e155c..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_f.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_f_animated.png b/mods/homedecor_modpack/computer/textures/computer_router_f_animated.png deleted file mode 100644 index 75c71291..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_f_animated.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_inv.png b/mods/homedecor_modpack/computer/textures/computer_router_inv.png deleted file mode 100644 index 262f793d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_l.png b/mods/homedecor_modpack/computer/textures/computer_router_l.png deleted file mode 100644 index b028a826..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_l.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_r.png b/mods/homedecor_modpack/computer/textures/computer_router_r.png deleted file mode 100644 index 25c7b1de..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_r.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_router_t.png b/mods/homedecor_modpack/computer/textures/computer_router_t.png deleted file mode 100644 index 10dfdf28..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_router_t.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_bt.png b/mods/homedecor_modpack/computer/textures/computer_server_bt.png deleted file mode 100644 index aac403db..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_f_off.png b/mods/homedecor_modpack/computer/textures/computer_server_f_off.png deleted file mode 100644 index e0c306de..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_f_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_f_on.png b/mods/homedecor_modpack/computer/textures/computer_server_f_on.png deleted file mode 100644 index 449a438a..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_f_on.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_inv.png b/mods/homedecor_modpack/computer/textures/computer_server_inv.png deleted file mode 100644 index eb98c78c..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_l.png b/mods/homedecor_modpack/computer/textures/computer_server_l.png deleted file mode 100644 index e8435627..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_l.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_r.png b/mods/homedecor_modpack/computer/textures/computer_server_r.png deleted file mode 100644 index 5fe79095..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_r.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_server_t.png b/mods/homedecor_modpack/computer/textures/computer_server_t.png deleted file mode 100644 index aac403db..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_server_t.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bk.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bk.png deleted file mode 100644 index 17398fee..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bt.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bt.png deleted file mode 100644 index d953dd41..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft.png deleted file mode 100644 index 99ac982d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft_off.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft_off.png deleted file mode 100644 index 563b37f2..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_ft_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_lt.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_lt.png deleted file mode 100644 index 7954711e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_rt.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_rt.png deleted file mode 100644 index f3f59ff6..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_tp.png b/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_tp.png deleted file mode 100644 index 725f7980..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_shefriendSOO_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_bk.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_bk.png deleted file mode 100644 index 870834d5..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_bt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_bt.png deleted file mode 100644 index 9e24636f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft.png deleted file mode 100644 index 211ea48f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft_off.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft_off.png deleted file mode 100644 index 646b6865..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_ft_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_lt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_lt.png deleted file mode 100644 index 9b47e20b..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_rt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_rt.png deleted file mode 100644 index 3549d51f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation2_tp.png b/mods/homedecor_modpack/computer/textures/computer_slaystation2_tp.png deleted file mode 100644 index 96e254d3..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation2_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_bk.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_bk.png deleted file mode 100644 index 48dc1b7d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_bt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_bt.png deleted file mode 100644 index 041a9d64..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_ft.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_ft.png deleted file mode 100644 index a4822252..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_lt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_lt.png deleted file mode 100644 index 924d32b0..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_rt.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_rt.png deleted file mode 100644 index 2787425f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_tp.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_tp.png deleted file mode 100644 index 2b2dfb17..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_slaystation_tp_off.png b/mods/homedecor_modpack/computer/textures/computer_slaystation_tp_off.png deleted file mode 100644 index 3742a6cf..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_slaystation_tp_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_bk.png b/mods/homedecor_modpack/computer/textures/computer_specter_bk.png deleted file mode 100644 index 71191b3d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_bt.png b/mods/homedecor_modpack/computer/textures/computer_specter_bt.png deleted file mode 100644 index ffd46bd5..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_ft.png b/mods/homedecor_modpack/computer/textures/computer_specter_ft.png deleted file mode 100644 index 8d8748fd..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_inv.png b/mods/homedecor_modpack/computer/textures/computer_specter_inv.png deleted file mode 100644 index 30b5de98..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_lt.png b/mods/homedecor_modpack/computer/textures/computer_specter_lt.png deleted file mode 100644 index 47e1707d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_rt.png b/mods/homedecor_modpack/computer/textures/computer_specter_rt.png deleted file mode 100644 index 36fe829e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_specter_tp.png b/mods/homedecor_modpack/computer/textures/computer_specter_tp.png deleted file mode 100644 index 5bd80cf3..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_specter_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_back.png b/mods/homedecor_modpack/computer/textures/computer_spectre_back.png deleted file mode 100644 index bfc82498..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_back.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_bottom.png b/mods/homedecor_modpack/computer/textures/computer_spectre_bottom.png deleted file mode 100644 index f657f89f..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_bottom.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_front.png b/mods/homedecor_modpack/computer/textures/computer_spectre_front.png deleted file mode 100644 index 577fd48d..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_front.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_left.png b/mods/homedecor_modpack/computer/textures/computer_spectre_left.png deleted file mode 100644 index 36bb1e49..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_left.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_right.png b/mods/homedecor_modpack/computer/textures/computer_spectre_right.png deleted file mode 100644 index 36fe829e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_right.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_spectre_top.png b/mods/homedecor_modpack/computer/textures/computer_spectre_top.png deleted file mode 100644 index 4c79c64a..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_spectre_top.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_tower.png b/mods/homedecor_modpack/computer/textures/computer_tower.png deleted file mode 100644 index 06e6df75..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_tower.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_tower_inv.png b/mods/homedecor_modpack/computer/textures/computer_tower_inv.png deleted file mode 100644 index 8b99a1fc..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_tower_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_bk.png b/mods/homedecor_modpack/computer/textures/computer_wee_bk.png deleted file mode 100644 index 89cd1efb..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_bk.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_bt.png b/mods/homedecor_modpack/computer/textures/computer_wee_bt.png deleted file mode 100644 index 923706b9..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_bt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_ft.png b/mods/homedecor_modpack/computer/textures/computer_wee_ft.png deleted file mode 100644 index f98b3eb1..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_ft.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_ft_off.png b/mods/homedecor_modpack/computer/textures/computer_wee_ft_off.png deleted file mode 100644 index db70dd41..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_ft_off.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_lt.png b/mods/homedecor_modpack/computer/textures/computer_wee_lt.png deleted file mode 100644 index a34a3615..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_lt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_rt.png b/mods/homedecor_modpack/computer/textures/computer_wee_rt.png deleted file mode 100644 index a34a3615..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_rt.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wee_tp.png b/mods/homedecor_modpack/computer/textures/computer_wee_tp.png deleted file mode 100644 index a16e9e20..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wee_tp.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_wii_inv.png b/mods/homedecor_modpack/computer/textures/computer_wii_inv.png deleted file mode 100644 index 362a7bc7..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_wii_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/computer_yellow.png b/mods/homedecor_modpack/computer/textures/computer_yellow.png deleted file mode 100644 index 77e3d480..00000000 Binary files a/mods/homedecor_modpack/computer/textures/computer_yellow.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/homedecor_plastic_base.png b/mods/homedecor_modpack/computer/textures/homedecor_plastic_base.png deleted file mode 100644 index 510af8ee..00000000 Binary files a/mods/homedecor_modpack/computer/textures/homedecor_plastic_base.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/homedecor_plastic_base_inv.png b/mods/homedecor_modpack/computer/textures/homedecor_plastic_base_inv.png deleted file mode 100644 index 414c902e..00000000 Binary files a/mods/homedecor_modpack/computer/textures/homedecor_plastic_base_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/homedecor_plastic_sheeting.png b/mods/homedecor_modpack/computer/textures/homedecor_plastic_sheeting.png deleted file mode 100644 index 232d27bd..00000000 Binary files a/mods/homedecor_modpack/computer/textures/homedecor_plastic_sheeting.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/monitor_display.png b/mods/homedecor_modpack/computer/textures/monitor_display.png deleted file mode 100644 index 77f5ec9c..00000000 Binary files a/mods/homedecor_modpack/computer/textures/monitor_display.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/monitor_plastic.png b/mods/homedecor_modpack/computer/textures/monitor_plastic.png deleted file mode 100644 index 9e2d9240..00000000 Binary files a/mods/homedecor_modpack/computer/textures/monitor_plastic.png and /dev/null differ diff --git a/mods/homedecor_modpack/computer/textures/tetris_arcade.png b/mods/homedecor_modpack/computer/textures/tetris_arcade.png deleted file mode 100644 index 5f7267b9..00000000 Binary files a/mods/homedecor_modpack/computer/textures/tetris_arcade.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_common/furnaces.lua b/mods/homedecor_modpack/homedecor_common/furnaces.lua index e68764ce..86e54015 100644 --- a/mods/homedecor_modpack/homedecor_common/furnaces.lua +++ b/mods/homedecor_modpack/homedecor_common/furnaces.lua @@ -26,11 +26,12 @@ local function make_formspec(furnacedef, percent) local h = math.ceil(furnacedef.output_slots / furnacedef.output_width) return "size["..math.max(8, 6 + w)..",9]".. - "image[2,2;1,1;"..fire.."]".. - "list[current_name;fuel;2,3;1,1;]".. - "list[current_name;src;2,1;1,1;]".. - "list[current_name;dst;5,1;"..w..","..h..";]".. - "list[current_player;main;0,5;8,4;]".. + "image[2.75,1.5;1,1;"..fire.."]".. + "list[current_name;fuel;2.75,2.5;1,1;]".. + "list[current_name;src;2.75,0.5;1,1;]".. + "list[current_name;dst;4.75,0.96;"..w..","..h..";]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. "listring[current_name;dst]".. "listring[current_player;main]".. "listring[current_name;src]".. diff --git a/mods/homedecor_modpack/homedecor_gastronomy/init.lua b/mods/homedecor_modpack/homedecor_gastronomy/init.lua index 9d92a169..4cc18b66 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/init.lua +++ b/mods/homedecor_modpack/homedecor_gastronomy/init.lua @@ -103,111 +103,6 @@ homedecor.register("wine_rack", { sounds = default.node_sound_defaults(), }) -homedecor.register("beer_tap", { - description = S("Beer tap"), - mesh = "homedecor_beer_taps.obj", - tiles = { - "homedecor_generic_metal_bright.png", - { name = "homedecor_generic_metal.png", color = homedecor.color_black } - }, - inventory_image = "homedecor_beertap_inv.png", - groups = { snappy=3 }, - walkable = false, - selection_box = { - type = "fixed", - fixed = { -0.25, -0.5, -0.4375, 0.25, 0.235, 0 } - }, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - local inv = clicker:get_inventory() - - local wieldname = itemstack:get_name() - if wieldname == "vessels:drinking_glass" then - if inv:room_for_item("main", "homedecor:beer_mug 1") then - itemstack:take_item() - clicker:set_wielded_item(itemstack) - inv:add_item("main", "homedecor:beer_mug 1") - minetest.chat_send_player(clicker:get_player_name(), - S("Ahh, a frosty cold beer - look in your inventory for it!")) - else - minetest.chat_send_player(clicker:get_player_name(), - S("No room in your inventory to add a beer mug!")) - end - end - end -}) - -minetest.register_craft({ - output = "homedecor:beer_tap", - recipe = { - { "group:stick","default:steel_ingot","group:stick" }, - { "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" }, - { "default:steel_ingot","default:steel_ingot","default:steel_ingot" } - }, -}) - -local beer_cbox = { - type = "fixed", - fixed = { -5/32, -8/16, -9/32 , 7/32, -2/16, 1/32 } -} - -homedecor.register("beer_mug", { - description = S("Beer mug"), - drawtype = "mesh", - mesh = "homedecor_beer_mug.obj", - tiles = { "homedecor_beer_mug.png" }, - inventory_image = "homedecor_beer_mug_inv.png", - groups = { snappy=3, oddly_breakable_by_hand=3 }, - walkable = false, - sounds = default.node_sound_glass_defaults(), - selection_box = beer_cbox, - on_use = function(itemstack, user, pointed_thing) - if not creative.is_enabled_for(user:get_player_name()) then - minetest.do_item_eat(2, "vessels:drinking_glass 1", itemstack, user, pointed_thing) - return itemstack - end - end -}) - -local svm_cbox = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5} -} - -homedecor.register("soda_machine", { - description = S("Soda vending machine"), - mesh = "homedecor_soda_machine.obj", - tiles = {"homedecor_soda_machine.png"}, - groups = {snappy=3}, - selection_box = svm_cbox, - collision_box = svm_cbox, - expand = { top="placeholder" }, - sounds = default.node_sound_wood_defaults(), - on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - local playername = clicker:get_player_name() - local wielditem = clicker:get_wielded_item() - local wieldname = wielditem:get_name() - local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} } - local fdir = node.param2 - local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] } - if wieldname == "currency:minegeld_cent_25" then - minetest.spawn_item(pos_drop, "homedecor:soda_can") - minetest.sound_play("insert_coin", { - pos=pos, max_hear_distance = 5 - }) - if not creative.is_enabled_for(playername) then - wielditem:take_item() - clicker:set_wielded_item(wielditem) - return wielditem - end - else - minetest.chat_send_player(playername, S("Please insert a coin in the machine.")) - end - end -}) - -minetest.register_alias("homedecor:coin", "currency:minegeld_cent_25") - -- coffee! -- coffee! -- coffee! @@ -326,12 +221,6 @@ minetest.register_abm({ -- crafting -minetest.register_craftitem(":homedecor:soda_can", { - description = S("Soda Can"), - inventory_image = "homedecor_soda_can.png", - on_use = minetest.item_eat(2), -}) - minetest.register_craft( { output = "homedecor:bottle_green", recipe = { @@ -363,14 +252,6 @@ minetest.register_craft({ }, }) -minetest.register_craft({ - output = "homedecor:beer_tap", - recipe = { - { "group:stick","default:steel_ingot","group:stick" }, - { "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" }, - { "default:steel_ingot","default:steel_ingot","default:steel_ingot" } - }, -}) minetest.register_craft({ type = "shapeless", @@ -414,11 +295,3 @@ minetest.register_craft({ }, }) -minetest.register_craft({ - output = "homedecor:soda_machine", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "dye:red", "default:steel_ingot"}, - {"default:steel_ingot", "default:copperblock", "default:steel_ingot"}, - }, -}) diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.de.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.de.tr index 5f898e24..2a00d01f 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.de.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.de.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=Ahh ein kühles Bier – sehen Sie in Ihrem Inventar nach! -Beer mug=Bierkrug -Beer tap=Bierzapfhahn Brown bottle=Braune Flasche Coffee Maker=Kaffeemaschine Cutlery set=Besteckset @@ -13,9 +9,5 @@ Four brown bottles=Vier braune Flaschen Four green bottles=Vier grüne Flaschen Four misc brown/green bottles=Vier gemischte braune/grüne Flaschen Green bottle=Grüne Flasche -No room in your inventory to add a beer mug!=Kein Platz im Inventar für einen Bierkrug! -Please insert a coin in the machine.=Bitte Münze in Automaten einwerfen. -Soda Can=Limodose -Soda vending machine=Limoautomat Toaster=Toaster Wine rack=Weinregal diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.es.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.es.tr index 13145440..1624badd 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.es.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.es.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=¡Ah, una cerveza fría! La encontrarás en tu inventario. -Beer mug=Jarra de cerveza -Beer tap=Grifo de cerveza Brown bottle=Botella marrón Coffee Maker=Cafetera Cutlery set=Cubertería @@ -13,9 +9,5 @@ Four brown bottles=Cuatro botellas marrones Four green bottles=Cuatro botellas verdes Four misc brown/green bottles=Cuatro botellas verdes/marrones Green bottle=Botella verde -No room in your inventory to add a beer mug!=¡No hay lugar para tomar una jarra de cerveza! -Please insert a coin in the machine.=Por favor introduzca una moneda en la máquina. -Soda Can=Lata de refresco -Soda vending machine=Máquina expendedora de refrescos Toaster=Tostador Wine rack=Estantería de vino diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.fr.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.fr.tr index 4d721142..af7a8146 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.fr.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.fr.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=Ahh, une bière bien fraîche - regardez dans votre inventaire ! -Beer mug=Pinte de bière -Beer tap=Pompe à bière Brown bottle=Bouteille marron Coffee Maker=Cafetière Cutlery set=Couverts @@ -13,9 +9,5 @@ Four brown bottles=Quatre bouteilles marrons Four green bottles=Quatre bouteilles vertes Four misc brown/green bottles=Quatre bouteilles marrons et vertes Green bottle=Bouteille verte -No room in your inventory to add a beer mug!=Pas de place dans votre inventaire pour ajouter une pinte de bière ! -Please insert a coin in the machine.=Veuillez insérer une pièce dans la machine. -Soda Can=Canette de soda -Soda vending machine=Distributeur de boissons Toaster=Grille-pain Wine rack=Casier à bouteilles diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.it.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.it.tr index 57c1c9eb..76cc2f2c 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.it.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.it.tr @@ -13,9 +13,5 @@ Four brown bottles= Four green bottles= Four misc brown/green bottles= Green bottle= -No room in your inventory to add a beer mug!= -Please insert a coin in the machine.= -Soda Can= -Soda vending machine= Toaster= Wine rack= diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ms.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ms.tr index ac687728..c9995578 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ms.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ms.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=Ahh, bir sejuk dingin - cari dalam inventori anda! -Beer mug=Kole Bir -Beer tap=Paip Bir Brown bottle=Botol Perang Coffee Maker=Alat Pembuat Kopi Cutlery set=Set Kutleri @@ -13,9 +9,5 @@ Four brown bottles=Empat Botol Perang Four green bottles=Empat Botol Hijau Four misc brown/green bottles=Empat Botol Pelbagai Warna Green bottle=Botol Hijau -No room in your inventory to add a beer mug!=Tiada ruang dalam inventori anda untuk menambah kole bir! -Please insert a coin in the machine.=Sila masukkan duit syiling ke dalam mesin. -Soda Can=Tin Soda -Soda vending machine=Mesin Soda Layan Diri Toaster=Pembakar Roti Wine rack=Rak Wain diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt.tr index 4a7541a5..4329dfd1 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=Ahh, uma cerveja bem gelada - procure por ela em seu inventário! -Beer mug=Caneca de cerveja -Beer tap=Torneira de cerveja Brown bottle=Garrafa marrom Coffee Maker=Cafeteira Cutlery set=Conjunto de Talheres @@ -13,9 +9,5 @@ Four brown bottles=Quatro garrafas marrons Four green bottles=Quatro garrafas verdes Four misc brown/green bottles=Quatro garrafas mescladas verde/marrom Green bottle=Garrafa verde -No room in your inventory to add a beer mug!=Sem espaço no inventário para colocar uma caneca de cerveja -Please insert a coin in the machine.=Por favor insira uma moeda na máquina. -Soda Can=Lata de Refrigerante -Soda vending machine=Máquina de refrigerante Toaster=Torradeira Wine rack=Prateleira de Vinho diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt_BR.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt_BR.tr index 4a7541a5..4329dfd1 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt_BR.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.pt_BR.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=Ahh, uma cerveja bem gelada - procure por ela em seu inventário! -Beer mug=Caneca de cerveja -Beer tap=Torneira de cerveja Brown bottle=Garrafa marrom Coffee Maker=Cafeteira Cutlery set=Conjunto de Talheres @@ -13,9 +9,5 @@ Four brown bottles=Quatro garrafas marrons Four green bottles=Quatro garrafas verdes Four misc brown/green bottles=Quatro garrafas mescladas verde/marrom Green bottle=Garrafa verde -No room in your inventory to add a beer mug!=Sem espaço no inventário para colocar uma caneca de cerveja -Please insert a coin in the machine.=Por favor insira uma moeda na máquina. -Soda Can=Lata de Refrigerante -Soda vending machine=Máquina de refrigerante Toaster=Torradeira Wine rack=Prateleira de Vinho diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ru.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ru.tr index 05739f42..e7d34abb 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ru.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.ru.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=О, холодное пиво! Ищи его в инвентаре! -Beer mug=Пивная кружка -Beer tap=Пивной кран Brown bottle=Коричневая бутылка Coffee Maker=Кофеварка Cutlery set=Набор столовых приборов @@ -13,9 +9,5 @@ Four brown bottles=Четыре коричневых бутылки Four green bottles=Четыре зелёных бутылки Four misc brown/green bottles=Четыре разные коричневые/зелёные Green bottle=Зелёная бутылка -No room in your inventory to add a beer mug!=В инвентаре нет места для пивной кружки! -Please insert a coin in the machine.=Вставьте монету в автомат. -Soda Can=Банка газировки -Soda vending machine=Автомат с газировкой Toaster=Тостер Wine rack=Винный шкаф diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.zh_CN.tr b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.zh_CN.tr index 81d50889..7f0fe40c 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.zh_CN.tr +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/homedecor_gastronomy.zh_CN.tr @@ -1,11 +1,7 @@ # textdomain: homedecor_gastronomy - ### init.lua ### -Ahh, a frosty cold beer - look in your inventory for it!=啊,一杯冰凉的啤酒-看看你的库存吧! -Beer mug=啤酒杯 -Beer tap=啤酒龙头 Brown bottle=棕色瓶子 Coffee Maker=咖啡机 Cutlery set=餐具套装 @@ -13,9 +9,5 @@ Four brown bottles=四个棕色瓶子 Four green bottles=四个绿色瓶子 Four misc brown/green bottles=四个其他棕色/绿色瓶子 Green bottle=绿瓶 -No room in your inventory to add a beer mug!=你的库存里没有地方放啤酒杯! -Please insert a coin in the machine.=请在机器里放一枚硬币。 -Soda Can=易拉罐 -Soda vending machine=汽水自动售货机 Toaster=烤面包机 Wine rack=酒架 diff --git a/mods/homedecor_modpack/homedecor_gastronomy/locale/template.txt b/mods/homedecor_modpack/homedecor_gastronomy/locale/template.txt index 57c1c9eb..76cc2f2c 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/locale/template.txt +++ b/mods/homedecor_modpack/homedecor_gastronomy/locale/template.txt @@ -13,9 +13,5 @@ Four brown bottles= Four green bottles= Four misc brown/green bottles= Green bottle= -No room in your inventory to add a beer mug!= -Please insert a coin in the machine.= -Soda Can= -Soda vending machine= Toaster= Wine rack= diff --git a/mods/homedecor_modpack/homedecor_gastronomy/mod.conf b/mods/homedecor_modpack/homedecor_gastronomy/mod.conf index d6eb82ba..b81ba2a7 100644 --- a/mods/homedecor_modpack/homedecor_gastronomy/mod.conf +++ b/mods/homedecor_modpack/homedecor_gastronomy/mod.conf @@ -1,4 +1,4 @@ name = homedecor_gastronomy description = Homedecor mod: gastronomy depends = homedecor_common, default, basic_materials, dye, creative -optional_depends = currency, bucket, screwdriver +optional_depends = bucket, screwdriver diff --git a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_mug.obj b/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_mug.obj deleted file mode 100644 index 0fb09080..00000000 --- a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_mug.obj +++ /dev/null @@ -1,418 +0,0 @@ -v -0.201 -0.271 -0.101 -v 0.027 -0.5 0.014 -v 0.078 -0.5 -0.007 -v -0.214 -0.263 -0.113 -v 0.117 -0.5 -0.046 -v 0.138 -0.5 -0.097 -v -0.202 -0.214 -0.137 -v 0.138 -0.5 -0.152 -v 0.117 -0.5 -0.202 -v -0.191 -0.231 -0.149 -v 0.078 -0.5 -0.241 -v 0.027 -0.5 -0.262 -v -0.18 -0.247 -0.137 -v -0.027 -0.5 -0.262 -v -0.078 -0.5 -0.241 -v -0.18 -0.247 -0.113 -v -0.117 -0.5 -0.202 -v -0.138 -0.5 -0.152 -v -0.191 -0.231 -0.101 -v -0.138 -0.5 -0.097 -v -0.117 -0.5 -0.046 -v -0.202 -0.214 -0.113 -v -0.078 -0.5 -0.007 -v -0.027 -0.5 0.014 -v -0.183 -0.176 -0.137 -v 0.024 -0.167 -0.003 -v 0.069 -0.167 -0.022 -v -0.175 -0.198 -0.149 -v 0.103 -0.167 -0.056 -v 0.121 -0.167 -0.1 -v -0.167 -0.221 -0.137 -v 0.121 -0.167 -0.148 -v 0.103 -0.167 -0.193 -v -0.167 -0.221 -0.113 -v 0.069 -0.167 -0.227 -v 0.024 -0.167 -0.245 -v -0.175 -0.198 -0.101 -v -0.024 -0.167 -0.245 -v -0.069 -0.167 -0.227 -v -0.183 -0.176 -0.113 -v -0.103 -0.167 -0.193 -v -0.121 -0.167 -0.148 -v -0.16 -0.151 -0.137 -v -0.121 -0.167 -0.1 -v -0.103 -0.167 -0.056 -v -0.156 -0.178 -0.149 -v -0.069 -0.167 -0.022 -v -0.024 -0.167 -0.003 -v -0.151 -0.204 -0.137 -v 0.027 -0.125 0.014 -v 0.078 -0.125 -0.007 -v -0.151 -0.204 -0.113 -v 0.117 -0.125 -0.046 -v 0.138 -0.125 -0.097 -v -0.156 -0.178 -0.101 -v 0.138 -0.125 -0.152 -v 0.117 -0.125 -0.202 -v -0.16 -0.151 -0.113 -v 0.078 -0.125 -0.241 -v 0.027 -0.125 -0.262 -v -0.134 -0.143 -0.137 -v -0.027 -0.125 -0.262 -v -0.078 -0.125 -0.241 -v -0.134 -0.171 -0.149 -v -0.117 -0.125 -0.202 -v -0.138 -0.125 -0.152 -v -0.134 -0.198 -0.137 -v -0.138 -0.125 -0.097 -v -0.117 -0.125 -0.046 -v -0.134 -0.198 -0.113 -v -0.078 -0.125 -0.007 -v -0.027 -0.125 0.014 -v -0.134 -0.171 -0.101 -v 0.024 -0.125 -0.003 -v 0.069 -0.125 -0.022 -v -0.134 -0.143 -0.113 -v 0.103 -0.125 -0.056 -v 0.121 -0.125 -0.1 -v -0.134 -0.49 -0.137 -v 0.121 -0.125 -0.148 -v 0.103 -0.125 -0.193 -v -0.134 -0.462 -0.149 -v 0.069 -0.125 -0.227 -v 0.024 -0.125 -0.245 -v -0.134 -0.434 -0.137 -v -0.024 -0.125 -0.245 -v -0.069 -0.125 -0.227 -v -0.134 -0.434 -0.113 -v -0.103 -0.125 -0.193 -v -0.121 -0.125 -0.148 -v -0.134 -0.462 -0.101 -v -0.121 -0.125 -0.1 -v -0.103 -0.125 -0.056 -v -0.134 -0.49 -0.113 -v -0.069 -0.125 -0.022 -v -0.024 -0.125 -0.003 -v -0.188 -0.28 -0.113 -v -0.188 -0.28 -0.137 -v -0.201 -0.271 -0.149 -v -0.214 -0.263 -0.137 -v -0.218 -0.316 -0.113 -v -0.204 -0.316 -0.101 -v -0.191 -0.316 -0.113 -v -0.191 -0.316 -0.137 -v -0.204 -0.316 -0.149 -v -0.218 -0.316 -0.137 -v -0.214 -0.37 -0.113 -v -0.201 -0.361 -0.101 -v -0.188 -0.353 -0.113 -v -0.188 -0.353 -0.137 -v -0.201 -0.361 -0.149 -v -0.214 -0.37 -0.137 -v -0.202 -0.419 -0.113 -v -0.191 -0.402 -0.101 -v -0.18 -0.386 -0.113 -v -0.18 -0.386 -0.137 -v -0.191 -0.402 -0.149 -v -0.202 -0.419 -0.137 -v -0.183 -0.457 -0.113 -v -0.175 -0.434 -0.101 -v -0.167 -0.412 -0.113 -v -0.167 -0.412 -0.137 -v -0.175 -0.434 -0.149 -v -0.183 -0.457 -0.137 -v -0.16 -0.482 -0.113 -v -0.156 -0.455 -0.101 -v -0.151 -0.429 -0.113 -v -0.151 -0.429 -0.137 -v -0.156 -0.455 -0.149 -v -0.16 -0.482 -0.137 -vt 0.156 0.219 -vt 0.156 0.188 -vt 0.219 0.188 -vt 0.219 0.219 -vt 0.466 0.406 -vt 0.537 0.406 -vt 0.603 0.433 -vt 0.654 0.484 -vt 0.681 0.55 -vt 0.681 0.621 -vt 0.654 0.687 -vt 0.603 0.738 -vt 0.537 0.765 -vt 0.466 0.765 -vt 0.4 0.738 -vt 0.349 0.687 -vt 0.322 0.621 -vt 0.322 0.55 -vt 0.349 0.484 -vt 0.4 0.433 -vt 0.625 0.906 -vt 0.688 0.906 -vt 0.688 0.938 -vt 0.625 0.938 -vt 0.938 0.906 -vt 1 0.906 -vt 1 0.938 -vt 0.938 0.938 -vt 0.25 0.906 -vt 0.313 0.906 -vt 0.313 0.938 -vt 0.25 0.938 -vt 0.563 0.906 -vt 0.563 0.938 -vt 0.875 0.906 -vt 0.875 0.938 -vt 0.188 0.906 -vt 0.188 0.938 -vt 0.813 0.906 -vt 0.813 0.938 -vt 0.438 0.906 -vt 0.5 0.906 -vt 0.5 0.938 -vt 0.438 0.938 -vt 0.125 0.906 -vt 0.125 0.938 -vt 0.75 0.906 -vt 0.75 0.938 -vt 0.375 0.906 -vt 0.375 0.938 -vt 0.063 0.906 -vt 0.063 0.938 -vt 0 0.906 -vt 0 0.938 -vt 0.281 0.313 -vt 0.281 0.281 -vt 0.344 0.281 -vt 0.344 0.313 -vt 0.094 0.219 -vt 0.156 0.25 -vt 0.094 0.25 -vt 0.375 1 -vt 0.313 1 -vt 0.281 0.25 -vt 0.344 0.25 -vt 0.156 0.313 -vt 0.156 0.281 -vt 0.219 0.281 -vt 0.219 0.313 -vt 0.531 0.188 -vt 0.594 0.188 -vt 0.594 0.219 -vt 0.531 0.219 -vt 0.656 0.188 -vt 0.656 0.219 -vt 0.094 0.188 -vt 0.219 0.25 -vt 0.125 0.406 -vt 0.188 0.406 -vt 0.688 1 -vt 0.625 1 -vt 0.938 0.406 -vt 1 0.406 -vt 0.063 1 -vt 0.125 1 -vt 0.375 0.406 -vt 0.438 0.406 -vt 0.688 0.406 -vt 0.75 0.406 -vt 0.938 1 -vt 0.875 1 -vt 0.25 0.406 -vt 0.188 1 -vt 0.094 0.344 -vt 0.094 0.313 -vt 0.156 0.344 -vt 0.5 0.406 -vt 0.813 0.406 -vt 0.438 1 -vt 0.219 0.156 -vt 0.281 0.156 -vt 0.281 0.188 -vt 0.75 1 -vt 0.031 0.25 -vt 0.031 0.219 -vt 0.563 0.406 -vt 0 0.406 -vt 0.063 0.406 -vt 1 1 -vt 0.344 0.188 -vt 0.344 0.156 -vt 0.406 0.156 -vt 0.406 0.188 -vt 0.313 0.406 -vt 0.625 0.406 -vt 0.25 1 -vt 0.406 0.344 -vt 0.406 0.313 -vt 0.469 0.313 -vt 0.469 0.344 -vt 0.875 0.406 -vt 0.469 0.156 -vt 0.469 0.188 -vt 0.5 1 -vt 0.813 1 -vt 0.406 0.281 -vt 0.406 0.25 -vt 0.563 1 -vt 0 1 -vt 0.219 0.344 -vt 0.531 0.313 -vt 0.531 0.281 -vt 0.594 0.281 -vt 0.594 0.313 -vt 0.469 0.281 -vt 0.469 0.25 -vt 0.531 0.25 -vt 0.281 0.344 -vt 0.594 0.25 -vt 0.281 0.219 -vt 0.344 0.219 -vt 0.031 0.156 -vt 0.094 0.156 -vt 0.031 0.188 -vt 0.813 0.373 -vt 0.756 0.35 -vt 0.713 0.306 -vt 0.689 0.249 -vt 0.689 0.188 -vt 0.713 0.131 -vt 0.756 0.088 -vt 0.813 0.064 -vt 0.874 0.064 -vt 0.931 0.088 -vt 0.975 0.131 -vt 0.998 0.188 -vt 0.998 0.249 -vt 0.975 0.306 -vt 0.931 0.35 -vt 0.874 0.373 -vt 0.156 0.156 -vt 0.656 0.25 -vt 0.031 0.313 -vt 0.031 0.281 -vt 0.094 0.281 -vt 0.656 0.281 -vt 0.656 0.313 -vt 0.406 0.219 -vt 0.469 0.219 -vt 0.031 0.344 -vt 0.656 0.344 -vt 0.594 0.344 -vt 0.531 0.344 -vt 0.531 0.156 -vt 0.594 0.156 -vt 0.344 0.344 -vt 0.656 0.156 -s 1 -f 120/1 121/2 115/3 114/4 -f 2/5 24/6 23/7 21/8 20/9 18/10 17/11 15/12 14/13 12/14 11/15 9/16 8/17 6/18 5/19 3/20 -f 51/21 53/22 77/23 75/24 -f 59/25 60/26 84/27 83/28 -f 66/29 68/30 92/31 90/32 -f 50/33 51/21 75/24 74/34 -f 57/35 59/25 83/28 81/36 -f 65/37 66/29 90/32 89/38 -f 56/39 57/35 81/36 80/40 -f 71/41 72/42 96/43 95/44 -f 63/45 65/37 89/38 87/46 -f 54/47 56/39 80/40 78/48 -f 69/49 71/41 95/44 93/50 -f 62/51 63/45 87/46 86/52 -f 53/22 54/47 78/48 77/23 -f 60/53 62/51 86/52 84/54 -f 111/55 112/56 106/57 105/58 -f 72/42 50/33 74/34 96/43 -f 126/59 120/1 119/60 125/61 -f 45/62 44/63 92/31 93/50 -f 106/57 112/56 107/64 101/65 -f 123/66 124/67 118/68 117/69 -f 34/70 52/71 55/72 37/73 -f 55/72 52/71 70/74 73/75 -f 126/59 127/76 121/2 120/1 -f 112/56 118/68 113/77 107/64 -f 15/78 17/79 65/37 63/45 -f 29/80 27/81 75/24 77/23 -f 11/82 12/83 60/26 59/25 -f 38/84 86/52 87/46 39/85 -f 21/86 23/87 71/41 69/49 -f 5/88 6/89 54/47 53/22 -f 35/90 33/91 81/36 83/28 -f 17/79 18/92 66/29 65/37 -f 41/93 39/85 87/46 89/38 -f 128/94 129/95 123/66 122/96 -f 23/87 24/97 72/42 71/41 -f 6/89 8/98 56/39 54/47 -f 47/99 45/62 93/50 95/44 -f 115/3 116/100 110/101 109/102 -f 30/103 29/80 77/23 78/48 -f 94/104 91/105 126/59 125/61 -f 24/97 2/106 50/33 72/42 -f 12/107 14/108 62/51 60/53 -f 36/109 35/90 83/28 84/27 -f 103/110 104/111 98/112 97/113 -f 18/92 20/114 68/30 66/29 -f 2/106 3/115 51/21 50/33 -f 42/116 41/93 89/38 90/32 -f 98/117 99/118 10/119 13/120 -f 8/98 9/121 57/35 56/39 -f 97/113 98/112 13/122 16/123 -f 48/124 47/99 95/44 96/43 -f 32/125 30/103 78/48 80/40 -f 100/126 106/57 101/65 4/127 -f 14/108 15/78 63/45 62/51 -f 118/68 112/56 111/55 117/69 -f 26/128 48/124 96/43 74/34 -f 38/84 36/129 84/54 86/52 -f 20/114 21/86 69/49 68/30 -f 122/96 123/66 117/69 116/130 -f 3/115 5/88 53/22 51/21 -f 44/63 42/116 90/32 92/31 -f 27/81 26/128 74/34 75/24 -f 28/131 25/132 43/133 46/134 -f 9/121 11/82 59/25 57/35 -f 33/91 32/125 80/40 81/36 -f 25/132 7/135 22/136 40/137 -f 116/130 117/69 111/55 110/138 -f 40/137 37/73 55/72 58/139 -f 107/64 108/140 102/141 101/65 -f 105/58 106/57 100/126 99/118 -f 43/133 25/132 40/137 58/139 -f 85/142 128/143 127/76 88/144 -f 26/145 27/146 29/147 30/148 32/149 33/150 35/151 36/152 38/153 39/154 41/155 42/156 44/157 45/158 47/159 48/160 -f 68/30 69/49 93/50 92/31 -f 127/76 128/143 122/161 121/2 -f 55/72 73/75 76/162 58/139 -f 99/118 100/126 7/135 10/119 -f 82/163 79/164 130/165 129/95 -f 119/60 120/1 114/4 113/77 -f 118/68 124/67 119/60 113/77 -f 43/133 61/166 64/167 46/134 -f 10/119 7/135 25/132 28/131 -f 130/165 124/67 123/66 129/95 -f 4/127 1/168 19/169 22/136 -f 124/67 130/165 125/61 119/60 -f 61/166 43/133 58/139 76/162 -f 110/101 104/111 103/110 109/102 -f 108/140 109/102 103/110 102/141 -f 88/144 127/76 126/59 91/105 -f 97/113 16/123 19/169 1/168 -f 82/163 129/95 128/94 85/170 -f 19/169 16/123 34/70 37/73 -f 19/169 37/73 40/137 22/136 -f 46/134 64/167 67/171 49/172 -f 114/4 108/140 107/64 113/77 -f 115/3 109/102 108/140 114/4 -f 101/65 102/141 1/168 4/127 -f 10/119 28/131 31/173 13/120 -f 16/123 13/122 31/174 34/70 -f 102/141 103/110 97/113 1/168 -f 31/174 49/175 52/71 34/70 -f 111/55 105/58 104/176 110/138 -f 7/135 100/126 4/127 22/136 -f 122/161 116/100 115/3 121/2 -f 105/58 99/118 98/117 104/176 -f 31/173 28/131 46/134 49/172 -f 130/165 79/164 94/104 125/61 -f 52/71 49/175 67/177 70/74 diff --git a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_taps.obj b/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_taps.obj deleted file mode 100644 index af856ccb..00000000 --- a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_beer_taps.obj +++ /dev/null @@ -1,1195 +0,0 @@ -v -0.25 -0.5 0 -v -0.25 -0.5 -0.5 -v 0.25 -0.5 -0.5 -v 0.25 -0.5 0 -v -0.25 -0.469 0 -v -0.25 -0.469 -0.5 -v 0.25 -0.469 -0.5 -v 0.25 -0.469 0 -v 0 -0.469 -0.187 -v 0 0.125 -0.187 -v 0.044 -0.469 -0.169 -v 0.044 0.125 -0.169 -v 0.063 -0.469 -0.125 -v 0.063 0.125 -0.125 -v 0.044 -0.469 -0.081 -v 0.044 0.125 -0.081 -v 0 -0.469 -0.062 -v 0 0.125 -0.062 -v -0.044 -0.469 -0.081 -v -0.044 0.125 -0.081 -v -0.062 -0.469 -0.125 -v -0.062 0.125 -0.125 -v -0.044 -0.469 -0.169 -v -0.044 0.125 -0.169 -v 0.031 0.145 -0.125 -v 0 0.148 -0.125 -v -0.176 0.063 -0.143 -v 0.176 0.063 -0.143 -v -0.176 0.05 -0.138 -v 0.176 0.05 -0.138 -v -0.176 0.044 -0.125 -v 0.176 0.044 -0.125 -v -0.176 0.05 -0.112 -v 0.176 0.05 -0.112 -v -0.176 0.063 -0.107 -v 0.176 0.063 -0.107 -v -0.176 0.075 -0.112 -v 0.176 0.075 -0.112 -v -0.176 0.081 -0.125 -v 0.176 0.081 -0.125 -v -0.176 0.075 -0.138 -v 0.176 0.075 -0.138 -v 0.022 0.145 -0.103 -v 0 0.145 -0.094 -v -0.022 0.145 -0.103 -v -0.031 0.145 -0.125 -v -0.022 0.145 -0.147 -v 0 0.145 -0.156 -v 0.022 0.145 -0.147 -v 0.195 0.034 -0.094 -v 0.195 0.034 -0.271 -v 0.216 0.042 -0.094 -v 0.216 0.042 -0.271 -v 0.224 0.063 -0.094 -v 0.224 0.063 -0.271 -v 0.216 0.083 -0.094 -v 0.216 0.083 -0.271 -v 0.195 0.092 -0.094 -v 0.195 0.092 -0.271 -v 0.175 0.083 -0.094 -v 0.175 0.083 -0.271 -v 0.166 0.063 -0.094 -v 0.166 0.063 -0.271 -v 0.175 0.042 -0.094 -v 0.175 0.042 -0.271 -v 0.216 0.122 -0.271 -v 0.195 0.122 -0.28 -v 0.195 0.411 -0.269 -v 0.209 0.411 -0.263 -v 0.214 0.411 -0.25 -v 0.209 0.411 -0.237 -v 0.195 0.411 -0.231 -v 0.182 0.411 -0.237 -v 0.176 0.411 -0.25 -v 0.182 0.411 -0.263 -v 0.225 0.122 -0.25 -v 0.216 0.122 -0.229 -v 0.195 0.122 -0.22 -v 0.174 0.122 -0.229 -v 0.165 0.122 -0.25 -v 0.174 0.122 -0.271 -v 0.163 0.316 -0.283 -v 0.149 0.316 -0.25 -v 0.195 0.316 -0.296 -v 0.163 0.316 -0.217 -v 0.195 0.316 -0.204 -v 0.228 0.316 -0.217 -v 0.241 0.316 -0.25 -v 0.228 0.316 -0.283 -v 0.177 0.179 -0.268 -v 0.17 0.179 -0.25 -v 0.195 0.391 -0.286 -v 0.177 0.179 -0.232 -v 0.195 0.179 -0.224 -v 0.214 0.179 -0.232 -v 0.221 0.179 -0.25 -v 0.214 0.179 -0.268 -v 0.195 0.083 -0.269 -v 0.17 0.391 -0.275 -v 0.16 0.391 -0.25 -v 0.195 0.179 -0.276 -v 0.209 0.083 -0.263 -v 0.17 0.391 -0.225 -v 0.214 0.083 -0.25 -v 0.195 0.391 -0.214 -v 0.209 0.083 -0.237 -v 0.22 0.391 -0.225 -v 0.195 0.083 -0.231 -v 0.231 0.391 -0.25 -v 0.182 0.083 -0.237 -v 0.22 0.391 -0.275 -v 0.177 0.083 -0.25 -v 0.182 0.083 -0.263 -v 0.195 0.063 -0.083 -v 0.195 0.048 -0.086 -v 0.206 0.052 -0.086 -v 0.21 0.063 -0.086 -v 0.206 0.073 -0.086 -v 0.195 0.077 -0.086 -v 0.185 0.073 -0.086 -v 0.181 0.063 -0.086 -v 0.185 0.052 -0.086 -v 0.195 0.248 -0.293 -v 0.165 0.248 -0.28 -v 0.152 0.248 -0.25 -v 0.165 0.248 -0.22 -v 0.195 0.248 -0.207 -v 0.226 0.248 -0.22 -v 0.238 0.248 -0.25 -v 0.226 0.248 -0.28 -v -0.195 0.034 -0.094 -v -0.195 0.034 -0.271 -v -0.175 0.042 -0.094 -v -0.175 0.042 -0.271 -v -0.166 0.063 -0.094 -v -0.166 0.063 -0.271 -v -0.175 0.083 -0.094 -v -0.175 0.083 -0.271 -v -0.195 0.092 -0.094 -v -0.195 0.092 -0.271 -v -0.216 0.083 -0.094 -v -0.216 0.083 -0.271 -v -0.224 0.063 -0.094 -v -0.224 0.063 -0.271 -v -0.216 0.042 -0.094 -v -0.216 0.042 -0.271 -v -0.174 0.122 -0.271 -v -0.195 0.122 -0.28 -v -0.195 0.411 -0.269 -v -0.182 0.411 -0.263 -v -0.176 0.411 -0.25 -v -0.182 0.411 -0.237 -v -0.195 0.411 -0.231 -v -0.209 0.411 -0.237 -v -0.185 0.052 -0.283 -v -0.214 0.411 -0.25 -v -0.195 0.048 -0.283 -v -0.209 0.411 -0.263 -v -0.165 0.122 -0.25 -v -0.174 0.122 -0.229 -v -0.195 0.122 -0.22 -v -0.216 0.122 -0.229 -v -0.225 0.122 -0.25 -v -0.216 0.122 -0.271 -v -0.228 0.316 -0.283 -v -0.241 0.316 -0.25 -v -0.195 0.316 -0.296 -v -0.206 0.052 -0.283 -v -0.228 0.316 -0.217 -v -0.21 0.063 -0.283 -v -0.195 0.316 -0.204 -v -0.206 0.073 -0.283 -v -0.163 0.316 -0.217 -v -0.195 0.077 -0.283 -v -0.149 0.316 -0.25 -v -0.185 0.073 -0.283 -v -0.163 0.316 -0.283 -v -0.181 0.063 -0.283 -v 0.206 0.052 -0.283 -v 0.195 0.048 -0.283 -v -0.213 0.179 -0.268 -v -0.221 0.179 -0.25 -v -0.195 0.391 -0.286 -v 0.185 0.052 -0.283 -v -0.213 0.179 -0.232 -v 0.181 0.063 -0.283 -v -0.195 0.179 -0.224 -v 0.185 0.073 -0.283 -v -0.177 0.179 -0.232 -v 0.195 0.077 -0.283 -v -0.17 0.179 -0.25 -v 0.206 0.073 -0.283 -v -0.177 0.179 -0.268 -v 0.21 0.063 -0.283 -v -0.195 0.083 -0.269 -v 0.195 0.063 -0.285 -v -0.22 0.391 -0.275 -v -0.231 0.391 -0.25 -v -0.195 0.179 -0.276 -v -0.182 0.083 -0.263 -v -0.22 0.391 -0.225 -v -0.177 0.083 -0.25 -v -0.195 0.391 -0.214 -v -0.182 0.083 -0.237 -v -0.17 0.391 -0.225 -v -0.195 0.083 -0.231 -v -0.16 0.391 -0.25 -v -0.209 0.083 -0.237 -v -0.17 0.391 -0.275 -v -0.214 0.083 -0.25 -v -0.195 0.063 -0.285 -v -0.209 0.083 -0.263 -v -0.195 0.063 -0.083 -v -0.195 0.048 -0.086 -v -0.185 0.052 -0.086 -v -0.181 0.063 -0.086 -v -0.185 0.073 -0.086 -v -0.195 0.077 -0.086 -v -0.206 0.073 -0.086 -v -0.21 0.063 -0.086 -v -0.206 0.052 -0.086 -v -0.195 0.248 -0.293 -v -0.226 0.248 -0.28 -v -0.238 0.248 -0.25 -v -0.226 0.248 -0.22 -v -0.195 0.248 -0.207 -v -0.165 0.248 -0.22 -v -0.152 0.248 -0.25 -v -0.165 0.248 -0.28 -v 0.194 -0.062 -0.244 -v 0.207 -0.064 -0.239 -v 0.213 -0.066 -0.227 -v 0.207 -0.069 -0.214 -v 0.194 -0.07 -0.208 -v 0.181 -0.069 -0.213 -v 0.176 -0.066 -0.226 -v 0.181 -0.063 -0.239 -v 0.216 0.027 -0.233 -v 0.224 0.027 -0.213 -v 0.216 0.027 -0.193 -v 0.195 0.027 -0.184 -v 0.175 0.027 -0.193 -v 0.167 0.027 -0.213 -v 0.195 0.027 -0.241 -v 0.175 0.027 -0.233 -v 0.208 -0.037 -0.233 -v 0.213 -0.039 -0.221 -v 0.208 -0.042 -0.208 -v 0.195 -0.043 -0.202 -v 0.182 -0.042 -0.208 -v 0.176 -0.039 -0.22 -v 0.195 0.063 -0.241 -v 0.182 -0.036 -0.233 -v 0.216 0.063 -0.233 -v 0.224 0.063 -0.213 -v 0.216 0.063 -0.193 -v 0.195 0.063 -0.184 -v 0.175 0.063 -0.193 -v 0.167 0.063 -0.213 -v 0.195 -0.035 -0.238 -v 0.175 0.063 -0.233 -v -0.196 -0.062 -0.244 -v -0.183 -0.064 -0.239 -v -0.178 -0.066 -0.227 -v -0.183 -0.069 -0.214 -v -0.196 -0.07 -0.208 -v -0.209 -0.069 -0.213 -v -0.215 -0.066 -0.226 -v -0.209 -0.063 -0.239 -v -0.175 0.027 -0.233 -v -0.167 0.027 -0.213 -v -0.175 0.027 -0.193 -v -0.195 0.027 -0.184 -v -0.216 0.027 -0.193 -v -0.224 0.027 -0.213 -v -0.195 0.027 -0.241 -v -0.216 0.027 -0.233 -v -0.183 -0.037 -0.233 -v -0.178 -0.039 -0.221 -v -0.183 -0.042 -0.208 -v -0.196 -0.043 -0.202 -v -0.209 -0.042 -0.208 -v -0.214 -0.039 -0.22 -v -0.195 0.063 -0.241 -v -0.209 -0.036 -0.233 -v -0.175 0.063 -0.233 -v -0.167 0.063 -0.213 -v -0.175 0.063 -0.193 -v -0.195 0.063 -0.184 -v -0.216 0.063 -0.193 -v -0.224 0.063 -0.213 -v -0.196 -0.035 -0.238 -v -0.216 0.063 -0.233 -vt 0.438 0 -vt 0.438 0.5 -vt 0.375 0.5 -vt 0.375 0 -vt 0.813 0.563 -vt 0.188 0.563 -vt 0.188 0.5 -vt 0.813 0.5 -vt 0.563 0.5 -vt 0.563 0 -vt 0.625 0 -vt 0.625 0.5 -vt 0.188 0 -vt 0.813 0 -vt 0.813 0.063 -vt 0.188 0.063 -vt 1 0 -vt 1 0.5 -vt 0.5 0.5 -vt 0.5 0 -vt 0 0.5 -vt 0 0 -vt 0.688 0 -vt 0.688 1 -vt 0.625 1 -vt 0.563 1 -vt 0.5 1 -vt 0.438 1 -vt 0.375 1 -vt 0.313 1 -vt 0.313 0 -vt 0.545 0.892 -vt 0.563 0.937 -vt 0.532 0.937 -vt 0.522 0.914 -vt 0.75 0 -vt 0.75 1 -vt 0.25 1 -vt 0.25 0 -vt 0.437 0.937 -vt 0.455 0.892 -vt 0.478 0.914 -vt 0.468 0.937 -vt 0.5 0.905 -vt 0.5 0.937 -vt 0.688 0.313 -vt 0.75 0.313 -vt 0.5 0.874 -vt 0.875 0.313 -vt 0.875 1 -vt 0.813 1 -vt 0.813 0.313 -vt 0.455 0.981 -vt 0.478 0.959 -vt 0.5 0.968 -vt 0.545 0.981 -vt 0.522 0.959 -vt 0.938 0.313 -vt 0.938 1 -vt 1 0.313 -vt 1 1 -vt 0.5 0.313 -vt 0.563 0.313 -vt 0.882 0.893 -vt 0.882 0.904 -vt 0.868 0.898 -vt 0.625 0.313 -vt 0.907 0.843 -vt 0.905 0.778 -vt 0.922 0.78 -vt 0.918 0.841 -vt 0.938 0.563 -vt 1 0.563 -vt 1 0.625 -vt 0.938 0.625 -vt 1 0.688 -vt 0.938 0.688 -vt 1 0.75 -vt 0.938 0.75 -vt 1 0.813 -vt 0.938 0.813 -vt 1 0.875 -vt 0.938 0.875 -vt 1 0.938 -vt 0.938 0.938 -vt 0.874 0.911 -vt 0.938 0.5 -vt 0.88 0.872 -vt 0.896 0.887 -vt 0.874 0.885 -vt 0.615 0.911 -vt 0.575 0.911 -vt 0.576 0.891 -vt 0.615 0.898 -vt 0.469 0.558 -vt 0.449 0.558 -vt 0.449 0.545 -vt 0.469 0.533 -vt 0.813 0.914 -vt 0.773 0.922 -vt 0.772 0.901 -vt 0.812 0.901 -vt 0.469 0.631 -vt 0.45 0.619 -vt 0.45 0.606 -vt 0.468 0.606 -vt 0.773 0.881 -vt 0.813 0.888 -vt 0.45 0.593 -vt 0.469 0.582 -vt 0.964 0.647 -vt 0.924 0.653 -vt 0.924 0.631 -vt 0.963 0.633 -vt 0.469 0.679 -vt 0.451 0.668 -vt 0.45 0.655 -vt 0.468 0.655 -vt 0.962 0.818 -vt 0.923 0.826 -vt 0.923 0.805 -vt 0.962 0.805 -vt 0.451 0.642 -vt 0.923 0.785 -vt 0.962 0.792 -vt 0.924 0.613 -vt 0.964 0.622 -vt 0.561 0.72 -vt 0.542 0.712 -vt 0.542 0.698 -vt 0.561 0.694 -vt 0.674 0.887 -vt 0.674 0.901 -vt 0.664 0.911 -vt 0.649 0.911 -vt 0.639 0.901 -vt 0.639 0.887 -vt 0.649 0.877 -vt 0.664 0.877 -vt 0.449 0.571 -vt 0.643 0.926 -vt 0.67 0.926 -vt 0.615 0.924 -vt 0.576 0.932 -vt 0.156 0.75 -vt 0.169 0.719 -vt 0.185 0.734 -vt 0.178 0.75 -vt 0.169 0.781 -vt 0.185 0.766 -vt 0.201 0.794 -vt 0.201 0.772 -vt 0.232 0.781 -vt 0.216 0.766 -vt 0.245 0.75 -vt 0.223 0.75 -vt 0.232 0.719 -vt 0.216 0.734 -vt 0.201 0.706 -vt 0.201 0.728 -vt 0.863 0.911 -vt 0.855 0.903 -vt 0.855 0.893 -vt 0.863 0.885 -vt 0.858 0.872 -vt 0.843 0.887 -vt 0.843 0.909 -vt 0.858 0.924 -vt 0.88 0.924 -vt 0.896 0.909 -vt 0.798 0.849 -vt 0.798 0.86 -vt 0.785 0.855 -vt 0 0.563 -vt 0.063 0.563 -vt 0.063 0.625 -vt 0 0.625 -vt 0.063 0.688 -vt 0 0.688 -vt 0.063 0.75 -vt 0 0.75 -vt 0.063 0.813 -vt 0 0.813 -vt 0.063 0.875 -vt 0 0.875 -vt 0.063 0.938 -vt 0 0.938 -vt 0.791 0.868 -vt 0.063 0.5 -vt 0.063 1 -vt 0 1 -vt 0.797 0.829 -vt 0.813 0.844 -vt 0.791 0.842 -vt 0.755 0.75 -vt 0.768 0.719 -vt 0.784 0.734 -vt 0.777 0.75 -vt 0.541 0.911 -vt 0.501 0.911 -vt 0.502 0.891 -vt 0.541 0.899 -vt 0.469 0.509 -vt 0.449 0.509 -vt 0.449 0.496 -vt 0.469 0.485 -vt 0.768 0.781 -vt 0.784 0.766 -vt 0.746 0.911 -vt 0.707 0.918 -vt 0.706 0.898 -vt 0.745 0.898 -vt 0.561 0.645 -vt 0.542 0.634 -vt 0.541 0.621 -vt 0.56 0.621 -vt 0.707 0.878 -vt 0.746 0.885 -vt 0.542 0.608 -vt 0.561 0.597 -vt 0.963 0.859 -vt 0.924 0.865 -vt 0.923 0.843 -vt 0.963 0.845 -vt 0.542 0.683 -vt 0.542 0.67 -vt 0.559 0.669 -vt 0.799 0.794 -vt 0.799 0.772 -vt 0.962 0.777 -vt 0.923 0.764 -vt 0.962 0.764 -vt 0.542 0.657 -vt 0.923 0.744 -vt 0.962 0.751 -vt 0.924 0.826 -vt 0.963 0.834 -vt 0.469 0.706 -vt 0.45 0.697 -vt 0.45 0.683 -vt 0.469 0.679 -vt 0.931 0.882 -vt 0.931 0.896 -vt 0.921 0.906 -vt 0.906 0.906 -vt 0.896 0.896 -vt 0.896 0.882 -vt 0.906 0.872 -vt 0.921 0.872 -vt 0.449 0.522 -vt 0.9 0.921 -vt 0.927 0.921 -vt 0.541 0.924 -vt 0.502 0.932 -vt 0.831 0.781 -vt 0.815 0.766 -vt 0.844 0.75 -vt 0.822 0.75 -vt 0.831 0.719 -vt 0.815 0.734 -vt 0.799 0.706 -vt 0.799 0.728 -vt 0.201 0.75 -vt 0.799 0.75 -vt 0.78 0.868 -vt 0.772 0.86 -vt 0.772 0.849 -vt 0.78 0.842 -vt 0.775 0.829 -vt 0.759 0.844 -vt 0.759 0.865 -vt 0.775 0.881 -vt 0.797 0.881 -vt 0.813 0.865 -vt 0.522 0.796 -vt 0.521 0.857 -vt 0.501 0.857 -vt 0.509 0.795 -vt 0.921 0.515 -vt 0.924 0.577 -vt 0.904 0.579 -vt 0.908 0.513 -vt 0.535 0.795 -vt 0.541 0.857 -vt 0.894 0.846 -vt 0.883 0.778 -vt 0.863 0.64 -vt 0.863 0.71 -vt 0.843 0.709 -vt 0.85 0.641 -vt 0.876 0.64 -vt 0.883 0.709 -vt 0.883 0.579 -vt 0.895 0.511 -vt 0.913 0.487 -vt 0.9 0.485 -vt 0.876 0.614 -vt 0.863 0.613 -vt 0.85 0.614 -vt 0.899 0.872 -vt 0.912 0.869 -vt 0.535 0.769 -vt 0.522 0.77 -vt 0.925 0.611 -vt 0.905 0.613 -vt 0.906 0.744 -vt 0.923 0.746 -vt 0.521 0.891 -vt 0.501 0.891 -vt 0.541 0.891 -vt 0.925 0.489 -vt 0.884 0.744 -vt 0.863 0.744 -vt 0.843 0.743 -vt 0.883 0.743 -vt 0.509 0.769 -vt 0.885 0.613 -vt 0.923 0.868 -vt 0.867 0.843 -vt 0.865 0.778 -vt 0.882 0.78 -vt 0.878 0.841 -vt 0.596 0.796 -vt 0.596 0.857 -vt 0.575 0.857 -vt 0.583 0.795 -vt 0.879 0.515 -vt 0.882 0.577 -vt 0.861 0.579 -vt 0.866 0.513 -vt 0.609 0.795 -vt 0.616 0.857 -vt 0.853 0.846 -vt 0.843 0.778 -vt 0.903 0.64 -vt 0.903 0.71 -vt 0.883 0.709 -vt 0.89 0.641 -vt 0.916 0.64 -vt 0.924 0.709 -vt 0.841 0.579 -vt 0.853 0.511 -vt 0.871 0.487 -vt 0.858 0.485 -vt 0.916 0.614 -vt 0.903 0.613 -vt 0.89 0.614 -vt 0.858 0.872 -vt 0.872 0.869 -vt 0.61 0.769 -vt 0.597 0.77 -vt 0.883 0.611 -vt 0.863 0.613 -vt 0.866 0.744 -vt 0.883 0.746 -vt 0.596 0.891 -vt 0.575 0.891 -vt 0.616 0.891 -vt 0.883 0.489 -vt 0.844 0.744 -vt 0.903 0.744 -vt 0.883 0.743 -vt 0.924 0.743 -vt 0.584 0.769 -vt 0.843 0.613 -vt 0.883 0.868 -vt 0.284 0.528 -vt 0.28 0.275 -vt 0.33 0.274 -vt 0.331 0.527 -vt 0.811 0.527 -vt 0.81 0.274 -vt 0.88 0.275 -vt 0.877 0.528 -vt 0.764 0.528 -vt 0.76 0.275 -vt 0.451 0.527 -vt 0.45 0.274 -vt 0.52 0.275 -vt 0.517 0.528 -vt 0.404 0.528 -vt 0.4 0.275 -vt 0.691 0.527 -vt 0.69 0.274 -vt 0.757 0.528 -vt 0.644 0.528 -vt 0.64 0.275 -vt 0.397 0.528 -vt 0.339 0.99 -vt 0.343 0.781 -vt 0.382 0.781 -vt 0.385 0.991 -vt 0.667 0.991 -vt 0.675 0.781 -vt 0.703 0.781 -vt 0.699 0.99 -vt 0.742 0.781 -vt 0.745 0.991 -vt 0.427 0.991 -vt 0.435 0.781 -vt 0.463 0.781 -vt 0.459 0.99 -vt 0.502 0.781 -vt 0.505 0.991 -vt 0.787 0.991 -vt 0.795 0.781 -vt 0.823 0.781 -vt 0.819 0.99 -vt 0.819 0 -vt 0.873 0.001 -vt 0.3 0.001 -vt 0.339 0 -vt 0.78 0.001 -vt 0.459 0 -vt 0.513 0.001 -vt 0.42 0.001 -vt 0.862 0.781 -vt 0.865 0.991 -vt 0.699 0 -vt 0.753 0.001 -vt 0.307 0.991 -vt 0.315 0.781 -vt 0.66 0.001 -vt 0.393 0.001 -vt 0.159 0.525 -vt 0.16 0.273 -vt 0.21 0.276 -vt 0.205 0.528 -vt 0.112 0.467 -vt 0.109 0.719 -vt 0.039 0.714 -vt 0.046 0.462 -vt 0.159 0.469 -vt 0.159 0.721 -vt 0.571 0.527 -vt 0.57 0.274 -vt 0.637 0.528 -vt 0.524 0.528 -vt 0.948 0.463 -vt 0.95 0.716 -vt 0.88 0.716 -vt 0.882 0.463 -vt 0.994 0.461 -vt 1 0.714 -vt 0.28 0.282 -vt 0.271 0.534 -vt 0.202 0.992 -vt 0.211 0.783 -vt 0.25 0.786 -vt 0.248 0.996 -vt 0.278 0.79 -vt 0.28 1 -vt 0.938 0 -vt 0.935 0.209 -vt 0.895 0.209 -vt 0.892 0 -vt 0.547 0.991 -vt 0.555 0.781 -vt 0.583 0.781 -vt 0.579 0.99 -vt 0.622 0.781 -vt 0.625 0.991 -vt 0.144 0.005 -vt 0.132 0.214 -vt 0.104 0.212 -vt 0.112 0.003 -vt 0.095 0.993 -vt 0.041 0.989 -vt 0.187 0 -vt 0.225 0.002 -vt 0.133 0.995 -vt 0.579 0 -vt 0.633 0.001 -vt 0.54 0.001 -vt 0.065 0.209 -vt 0.067 0 -vt 0.942 0.99 -vt 0.888 0.99 -vt 0.17 0.99 -vt 0.183 0.781 -vt 0.981 0.989 -vt 0.28 0.007 -vt 0.963 0.208 -vt 0 0.457 -vt 0.037 0.206 -vn -0.577 0.577 0.577 -vn -0.577 0.577 -0.577 -vn -0.577 -0.577 -0.577 -vn -0.577 -0.577 0.577 -vn 0.577 0.577 -0.577 -vn 0.577 -0.577 -0.577 -vn 0.577 0.577 0.577 -vn 0.577 -0.577 0.577 -vn 0 0 -1 -vn 0 0.441 -0.898 -vn 0.635 0.441 -0.635 -vn 0.707 0 -0.707 -vn 0.898 0.441 0 -vn 1 0 0 -vn 0.635 0.441 0.635 -vn 0.707 0 0.707 -vn 0 0.441 0.898 -vn 0 0 1 -vn -0.635 0.441 0.635 -vn -0.707 0 0.707 -vn -0.898 0.441 0 -vn -1 0 0 -vn 0.381 0.925 0 -vn 0.269 0.925 0.269 -vn -0.707 0 -0.707 -vn -0.635 0.441 -0.635 -vn -0.269 0.925 0.269 -vn -0.381 0.925 0 -vn 0 0.925 0.381 -vn 0 1 0 -vn 0 -0.707 -0.707 -vn 0 -1 0 -vn -0.269 0.925 -0.269 -vn 0 0.925 -0.381 -vn 0 -0.707 0.707 -vn 0.269 0.925 -0.269 -vn 0 0.707 0.707 -vn 0 -0.378 0.926 -vn 0.267 -0.267 0.926 -vn 0 0.707 -0.707 -vn -0.998 -0.068 0.013 -vn -0.997 -0.072 0.009 -vn -0.711 -0.037 -0.702 -vn -0.718 0.04 -0.695 -vn 0 -0.886 0.464 -vn 0 -0.919 -0.395 -vn 0.65 -0.65 -0.395 -vn 0.626 -0.626 0.464 -vn 0.919 0 -0.395 -vn 0.886 0 0.464 -vn 0.65 0.65 -0.395 -vn 0.626 0.626 0.464 -vn 0 0.919 -0.395 -vn 0 0.886 0.464 -vn -0.65 0.65 -0.395 -vn -0.626 0.626 0.464 -vn -0.919 0 -0.395 -vn -0.886 0 0.464 -vn 0.378 0 0.926 -vn -0.626 -0.626 0.464 -vn -0.65 -0.65 -0.395 -vn -0.267 -0.267 0.926 -vn 0.962 -0.275 0 -vn 0.995 -0.098 0 -vn 0.704 -0.098 0.704 -vn 0.68 -0.275 0.68 -vn 0 0.383 -0.924 -vn 0 0.865 -0.502 -vn 0.355 0.865 -0.355 -vn 0.653 0.383 -0.653 -vn 0 -0.098 0.995 -vn 0 -0.275 0.962 -vn 0.502 0.865 0 -vn 0.924 0.383 0 -vn -0.704 -0.098 0.704 -vn -0.68 -0.275 0.68 -vn 0.355 0.865 0.355 -vn 0.653 0.383 0.653 -vn -0.995 -0.098 0 -vn -0.962 -0.275 0 -vn 0 0.865 0.502 -vn 0 0.383 0.924 -vn -0.68 -0.275 -0.68 -vn -0.704 -0.098 -0.704 -vn 0 -0.098 -0.995 -vn 0 -0.275 -0.962 -vn -0.355 0.865 0.355 -vn -0.653 0.383 0.653 -vn 0.704 -0.098 -0.704 -vn 0.68 -0.275 -0.68 -vn -0.502 0.865 0 -vn -0.924 0.383 0 -vn -0.355 0.865 -0.355 -vn -0.653 0.383 -0.653 -vn 0.326 -0.326 -0.887 -vn 0.461 0 -0.887 -vn 0.326 0.326 -0.887 -vn 0 0.461 -0.887 -vn -0.326 0.326 -0.887 -vn -0.461 0 -0.887 -vn -0.326 -0.326 -0.887 -vn 0 -0.461 -0.887 -vn 0.267 0.267 0.926 -vn 0 0.378 0.926 -vn -0.267 0.267 0.926 -vn -0.378 0 0.926 -vn -0.006 0.079 -0.997 -vn -0.001 -0.024 -1 -vn 0.71 -0.042 -0.703 -vn 0.709 0.026 -0.705 -vn 0.997 -0.079 0.006 -vn 0.996 -0.088 -0.002 -vn -0.692 -0.181 0.699 -vn -0.698 -0.107 0.708 -vn 0.006 -0.233 0.972 -vn 0.002 -0.123 0.992 -vn 0.7 -0.195 0.687 -vn 0.701 -0.112 0.705 -vn 1 -0.013 -0.011 -vn 0.712 -0.161 0.683 -vn 0.008 -0.214 0.977 -vn -0.702 -0.142 0.698 -vn -1 0.013 0.011 -vn -0.712 0.161 -0.683 -vn -0.007 0.214 -0.977 -vn 0.702 0.142 -0.698 -vn -0.7 -0.141 -0.7 -vn -0.706 0.047 -0.706 -vn 0 0.047 -0.999 -vn 0 -0.141 -0.99 -vn -0.99 -0.141 0 -vn -0.999 0.047 0 -vn -0.7 -0.141 0.7 -vn -0.706 0.047 0.706 -vn 0 -0.141 0.99 -vn 0 0.047 0.999 -vn 0.7 -0.141 0.7 -vn 0.706 0.047 0.706 -vn 0.99 -0.141 0 -vn 0.999 0.047 0 -vn 0.7 -0.141 -0.7 -vn 0.706 0.047 -0.706 -vn 0 -0.091 -0.996 -vn 0.704 -0.091 -0.704 -vn 0.996 -0.091 0 -vn 0.704 -0.091 0.704 -vn 0 -0.091 0.996 -vn -0.704 -0.091 0.704 -vn -0.996 -0.091 0 -vn -0.704 -0.091 -0.704 -g 1 -s 1 -f 5/1/1 6/2/2 2/3/3 1/4/4 -f 6/5/2 7/6/5 3/7/6 2/8/3 -f 7/9/5 8/10/7 4/11/8 3/12/6 -f 8/13/7 5/14/1 1/15/4 4/16/8 -f 1/17/4 2/18/3 3/19/6 4/20/8 -f 8/20/7 7/19/5 6/21/2 5/22/1 -f 9/23/9 10/24/10 12/25/11 11/11/12 -f 11/11/12 12/25/11 14/26/13 13/10/14 -f 13/10/14 14/26/13 16/27/15 15/20/16 -f 15/20/16 16/27/15 18/28/17 17/1/18 -f 17/1/18 18/28/17 20/29/19 19/4/20 -f 19/4/20 20/29/19 22/30/21 21/31/22 -f 16/32/15 14/33/13 25/34/23 43/35/24 -f 23/36/25 24/37/26 10/24/10 9/23/9 -f 21/31/22 22/30/21 24/38/26 23/39/25 -f 22/40/21 20/41/19 45/42/27 46/43/28 -f 44/44/29 43/35/24 26/45/30 -f 27/24/9 28/46/9 30/47/31 29/37/31 -f 20/41/19 18/48/17 44/44/29 45/42/27 -f 45/42/27 44/44/29 26/45/30 -f 29/49/31 30/50/31 32/51/32 31/52/32 -f 10/27/10 24/53/26 47/54/33 48/55/34 -f 46/43/28 45/42/27 26/45/30 -f 31/52/32 32/51/32 34/37/35 33/47/35 -f 14/33/13 12/56/11 49/57/36 25/34/23 -f 47/54/33 46/43/28 26/45/30 -f 33/50/35 34/49/35 36/58/18 35/59/18 -f 12/56/11 10/27/10 48/55/34 49/57/36 -f 48/55/34 47/54/33 26/45/30 -f 35/59/18 36/58/18 38/60/37 37/61/37 -f 25/34/23 49/57/36 26/45/30 -f 49/57/36 48/55/34 26/45/30 -f 37/27/37 38/62/37 40/63/30 39/26/30 -f 115/64/38 116/65/39 114/66/18 -f 41/25/40 42/67/40 28/46/9 27/24/9 -f 39/26/30 40/63/30 42/67/40 41/25/40 -f 24/53/26 22/40/21 46/43/28 47/54/33 -f 43/35/24 25/34/23 26/45/30 -f 251/68/41 243/69/42 245/70/43 253/71/44 -f 18/48/17 16/32/15 43/35/24 44/44/29 -f 50/72/45 51/73/46 53/74/47 52/75/48 -f 52/75/48 53/74/47 55/76/49 54/77/50 -f 54/77/50 55/76/49 57/78/51 56/79/52 -f 56/79/52 57/78/51 59/80/53 58/81/54 -f 58/81/54 59/80/53 61/82/55 60/83/56 -f 60/83/56 61/82/55 63/84/57 62/85/58 -f 116/65/39 117/86/59 114/66/18 -f 64/87/60 65/18/61 51/73/46 50/72/45 -f 62/85/58 63/84/57 65/61/61 64/59/60 -f 64/88/60 50/89/45 115/64/38 122/90/62 -f 104/91/63 76/92/64 77/93/65 106/94/66 -f 92/95/67 68/96/68 69/97/69 111/98/70 -f 106/99/66 77/100/65 78/101/71 108/102/72 -f 111/103/70 69/104/69 70/105/73 109/106/74 -f 108/102/72 78/101/71 79/107/75 110/108/76 -f 109/106/74 70/105/73 71/109/77 107/110/78 -f 110/111/76 79/112/75 80/113/79 112/114/80 -f 107/115/78 71/116/77 72/117/81 105/118/82 -f 113/119/83 81/120/84 67/121/85 98/122/86 -f 105/118/82 72/117/81 73/123/87 103/103/88 -f 98/122/86 67/121/85 66/124/89 102/125/90 -f 112/114/80 80/113/79 81/126/84 113/127/83 -f 103/128/88 73/129/87 74/130/91 100/131/92 -f 69/132/69 68/133/68 75/134/93 74/135/91 73/136/87 72/137/81 71/138/77 70/139/73 -f 99/110/94 75/140/93 68/96/68 92/95/67 -f 100/141/92 74/135/91 75/134/93 99/142/94 -f 102/143/90 66/144/89 76/92/64 104/91/63 -f 55/145/49 53/146/47 179/147/95 194/148/96 -f 57/149/51 55/145/49 194/148/96 192/150/97 -f 59/151/53 57/149/51 192/150/97 190/152/98 -f 61/153/55 59/151/53 190/152/98 188/154/99 -f 63/155/57 61/153/55 188/154/99 186/156/100 -f 65/157/61 63/155/57 186/156/100 184/158/101 -f 51/159/46 65/157/61 184/158/101 180/160/102 -f 117/86/59 118/161/103 114/66/18 -f 118/161/103 119/162/104 114/66/18 -f 119/162/104 120/163/105 114/66/18 -f 120/163/105 121/164/106 114/66/18 -f 121/164/106 122/90/62 114/66/18 -f 122/90/62 115/64/38 114/66/18 -f 62/165/58 64/88/60 122/90/62 121/164/106 -f 60/166/56 62/165/58 121/164/106 120/163/105 -f 58/167/54 60/166/56 120/163/105 119/162/104 -f 56/168/52 58/167/54 119/162/104 118/161/103 -f 54/169/50 56/168/52 118/161/103 117/86/59 -f 52/170/48 54/169/50 117/86/59 116/65/39 -f 50/89/45 52/170/48 116/65/39 115/64/38 -f 214/171/38 215/172/39 213/173/18 -f 131/174/45 132/175/46 134/176/47 133/177/48 -f 133/177/48 134/176/47 136/178/49 135/179/50 -f 135/179/50 136/178/49 138/180/51 137/181/52 -f 137/181/52 138/180/51 140/182/53 139/183/54 -f 139/183/54 140/182/53 142/184/55 141/185/56 -f 141/185/56 142/184/55 144/186/57 143/187/58 -f 215/172/39 216/188/59 213/173/18 -f 145/21/60 146/189/61 132/175/46 131/174/45 -f 143/187/58 144/186/57 146/190/61 145/191/60 -f 145/192/60 131/193/45 214/171/38 221/194/62 -f 136/195/49 134/196/47 155/197/95 178/198/96 -f 202/199/63 159/200/64 160/201/65 204/202/66 -f 183/203/67 149/204/68 150/205/69 209/206/70 -f 138/207/51 136/195/49 178/198/96 176/208/97 -f 204/209/66 160/210/65 161/211/71 206/212/72 -f 209/213/70 150/214/69 151/215/73 207/216/74 -f 206/212/72 161/211/71 162/217/75 208/218/76 -f 207/216/74 151/215/73 152/219/77 205/220/78 -f 208/221/76 162/222/75 163/223/79 210/224/80 -f 205/131/78 152/225/77 153/226/81 203/227/82 -f 140/228/53 138/207/51 176/208/97 174/229/98 -f 212/230/83 164/124/84 148/231/85 195/232/86 -f 203/227/82 153/226/81 154/233/87 201/213/88 -f 195/232/86 148/231/85 147/234/89 200/235/90 -f 210/224/80 163/223/79 164/236/84 212/237/83 -f 201/238/88 154/239/87 156/240/91 198/241/92 -f 150/242/69 149/243/68 158/244/93 156/245/91 154/246/87 153/247/81 152/248/77 151/249/73 -f 197/98/94 158/250/93 149/204/68 183/203/67 -f 198/251/92 156/245/91 158/244/93 197/252/94 -f 200/253/90 147/254/89 159/200/64 202/199/63 -f 142/255/55 140/228/53 174/229/98 172/256/99 -f 144/257/57 142/255/55 172/256/99 170/258/100 -f 146/259/61 144/257/57 170/258/100 168/260/101 -f 132/261/46 146/259/61 168/260/101 157/262/102 -f 134/196/47 132/261/46 157/262/102 155/197/95 -f 194/148/96 179/147/95 196/263/9 -f 192/150/97 194/148/96 196/263/9 -f 190/152/98 192/150/97 196/263/9 -f 188/154/99 190/152/98 196/263/9 -f 186/156/100 188/154/99 196/263/9 -f 184/158/101 186/156/100 196/263/9 -f 180/160/102 184/158/101 196/263/9 -f 178/198/96 155/197/95 211/264/9 -f 176/208/97 178/198/96 211/264/9 -f 174/229/98 176/208/97 211/264/9 -f 172/256/99 174/229/98 211/264/9 -f 170/258/100 172/256/99 211/264/9 -f 168/260/101 170/258/100 211/264/9 -f 157/262/102 168/260/101 211/264/9 -f 155/197/95 157/262/102 211/264/9 -f 179/147/95 180/160/102 196/263/9 -f 53/146/47 51/159/46 180/160/102 179/147/95 -f 216/188/59 217/265/103 213/173/18 -f 217/265/103 218/266/104 213/173/18 -f 218/266/104 219/267/105 213/173/18 -f 219/267/105 220/268/106 213/173/18 -f 220/268/106 221/194/62 213/173/18 -f 221/194/62 214/171/38 213/173/18 -f 143/269/58 145/192/60 221/194/62 220/268/106 -f 141/270/56 143/269/58 220/268/106 219/267/105 -f 139/271/54 141/270/56 219/267/105 218/266/104 -f 137/272/52 139/271/54 218/266/104 217/265/103 -f 135/273/50 137/272/52 217/265/103 216/188/59 -f 133/274/48 135/273/50 216/188/59 215/172/39 -f 131/193/45 133/274/48 215/172/39 214/171/38 -f 260/275/107 244/276/108 238/277/109 246/278/110 -f 246/279/110 238/280/109 239/281/111 247/282/112 -f 253/283/44 245/284/43 244/276/108 260/275/107 -f 250/285/113 242/286/114 243/69/42 251/68/41 -f 249/287/115 241/288/116 242/289/114 250/290/113 -f 248/291/117 240/292/118 241/288/116 249/287/115 -f 247/282/112 239/281/111 240/293/118 248/294/117 -f 232/295/119 247/282/112 248/294/117 233/296/120 -f 233/297/120 248/291/117 249/287/115 234/298/121 -f 234/298/121 249/287/115 250/290/113 235/299/122 -f 235/300/122 250/285/113 251/68/41 236/301/123 -f 237/302/124 253/283/44 260/275/107 230/303/125 -f 238/280/109 254/304/12 255/305/14 239/281/111 -f 243/69/42 259/306/22 261/307/25 245/70/43 -f 244/276/108 252/308/9 254/309/12 238/277/109 -f 245/284/43 261/310/25 252/308/9 244/276/108 -f 231/311/126 246/279/110 247/282/112 232/295/119 -f 242/286/114 258/312/20 259/306/22 243/69/42 -f 241/288/116 257/313/18 258/314/20 242/289/114 -f 240/292/118 256/315/16 257/313/18 241/288/116 -f 230/303/125 260/275/107 246/278/110 231/316/126 -f 239/281/111 255/305/14 256/317/16 240/293/118 -f 236/301/123 251/68/41 253/71/44 237/318/124 -f 283/319/41 275/320/42 277/321/43 285/322/44 -f 292/323/107 276/324/108 270/325/109 278/326/110 -f 278/327/110 270/328/109 271/329/111 279/330/112 -f 285/331/44 277/332/43 276/324/108 292/323/107 -f 282/333/113 274/334/114 275/320/42 283/319/41 -f 281/335/115 273/336/116 274/337/114 282/338/113 -f 280/339/117 272/340/118 273/336/116 281/335/115 -f 279/330/112 271/329/111 272/341/118 280/342/117 -f 264/343/119 279/330/112 280/342/117 265/344/120 -f 265/345/120 280/339/117 281/335/115 266/346/121 -f 266/346/121 281/335/115 282/338/113 267/347/122 -f 267/348/122 282/333/113 283/319/41 268/349/123 -f 269/350/124 285/331/44 292/323/107 262/351/125 -f 270/328/109 286/352/12 287/353/14 271/329/111 -f 275/320/42 291/354/22 293/355/25 277/321/43 -f 276/324/108 284/356/9 286/357/12 270/325/109 -f 277/332/43 293/358/25 284/356/9 276/324/108 -f 263/359/126 278/327/110 279/330/112 264/343/119 -f 274/334/114 290/360/20 291/354/22 275/320/42 -f 273/336/116 289/361/18 290/362/20 274/337/114 -f 272/340/118 288/363/16 289/361/18 273/336/116 -f 262/351/125 292/323/107 278/326/110 263/364/126 -f 271/329/111 287/353/14 288/365/16 272/341/118 -f 268/349/123 283/319/41 285/322/44 269/366/124 -g 2 -f 124/367/127 82/368/128 84/369/129 123/370/130 -f 125/371/131 83/372/132 82/373/128 124/374/127 -f 126/375/133 85/376/134 83/372/132 125/371/131 -f 127/377/135 86/378/136 85/379/134 126/380/133 -f 128/381/137 87/382/138 86/378/136 127/377/135 -f 129/383/139 88/384/140 87/376/138 128/385/137 -f 130/386/141 89/387/142 88/384/140 129/383/139 -f 123/370/130 84/369/129 89/382/142 130/388/141 -f 67/389/85 101/390/143 97/391/144 66/392/89 -f 66/393/89 97/394/144 96/395/145 76/396/64 -f 76/396/64 96/395/145 95/397/146 77/398/65 -f 77/399/65 95/400/146 94/401/147 78/402/71 -f 78/402/71 94/401/147 93/403/148 79/404/75 -f 79/405/75 93/406/148 91/407/149 80/408/79 -f 83/372/132 100/409/92 99/410/94 82/373/128 -f 82/368/128 99/411/94 92/412/67 84/369/129 -f 85/376/134 103/413/88 100/409/92 83/372/132 -f 86/378/136 105/414/82 103/415/88 85/379/134 -f 87/382/138 107/416/78 105/414/82 86/378/136 -f 80/408/79 91/407/149 90/417/150 81/418/84 -f 88/384/140 109/419/74 107/420/78 87/376/138 -f 81/421/84 90/422/150 101/390/143 67/389/85 -f 89/387/142 111/423/70 109/419/74 88/384/140 -f 84/369/129 92/412/67 111/424/70 89/382/142 -f 101/390/143 123/370/130 130/388/141 97/391/144 -f 97/394/144 130/386/141 129/383/139 96/395/145 -f 96/395/145 129/383/139 128/385/137 95/397/146 -f 95/400/146 128/381/137 127/377/135 94/401/147 -f 94/401/147 127/377/135 126/380/133 93/403/148 -f 93/406/148 126/375/133 125/371/131 91/407/149 -f 91/407/149 125/371/131 124/374/127 90/417/150 -f 90/422/150 124/367/127 123/370/130 101/390/143 -f 223/425/127 165/426/128 167/427/129 222/428/130 -f 224/429/131 166/430/132 165/431/128 223/432/127 -f 225/433/133 169/434/134 166/430/132 224/429/131 -f 226/435/135 171/436/136 169/387/134 225/437/133 -f 227/438/137 173/379/138 171/436/136 226/435/135 -f 228/439/139 175/440/140 173/441/138 227/442/137 -f 229/443/141 177/444/142 175/440/140 228/439/139 -f 222/428/130 167/427/129 177/445/142 229/446/141 -f 148/447/85 199/448/143 193/449/144 147/450/89 -f 147/450/89 193/449/144 191/451/145 159/452/64 -f 159/453/64 191/454/145 189/455/146 160/456/65 -f 160/457/65 189/458/146 187/459/147 161/460/71 -f 161/460/71 187/459/147 185/461/148 162/462/75 -f 162/463/75 185/464/148 182/465/149 163/466/79 -f 166/430/132 198/467/92 197/468/94 165/431/128 -f 165/426/128 197/469/94 183/470/67 167/427/129 -f 169/434/134 201/471/88 198/467/92 166/430/132 -f 171/436/136 203/472/82 201/473/88 169/387/134 -f 173/379/138 205/474/78 203/472/82 171/436/136 -f 163/466/79 182/465/149 181/475/150 164/476/84 -f 175/440/140 207/477/74 205/478/78 173/441/138 -f 164/479/84 181/480/150 199/448/143 148/447/85 -f 177/444/142 209/481/70 207/477/74 175/440/140 -f 167/427/129 183/470/67 209/482/70 177/445/142 -f 199/448/143 222/428/130 229/446/141 193/449/144 -f 193/483/144 229/443/141 228/439/139 191/454/145 -f 191/454/145 228/439/139 227/442/137 189/455/146 -f 189/458/146 227/438/137 226/435/135 187/459/147 -f 187/459/147 226/435/135 225/437/133 185/461/148 -f 185/464/148 225/433/133 224/429/131 182/465/149 -f 182/465/149 224/429/131 223/432/127 181/475/150 -f 181/475/150 223/432/127 222/484/130 199/485/143 diff --git a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_soda_machine.obj b/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_soda_machine.obj deleted file mode 100644 index 1e2fdda8..00000000 --- a/mods/homedecor_modpack/homedecor_gastronomy/models/homedecor_soda_machine.obj +++ /dev/null @@ -1,29 +0,0 @@ -v 0.5 -0.5 -0.5 -v 0.5 -0.5 0.5 -v -0.5 -0.5 0.5 -v -0.5 -0.5 -0.5 -v 0.5 1.5 -0.5 -v 0.5 1.5 0.5 -v -0.5 1.5 0.5 -v -0.5 1.5 -0.5 -vt 0.25 0.25 -vt 0 0.25 -vt 0 0 -vt 0.25 0 -vt 0.25 0.75 -vt 0.25 1 -vt 0 1 -vt 0 0.75 -vt 1 0.25 -vt 1 0.75 -vt 0.75 0.75 -vt 0.75 0.25 -vt 0.5 0.75 -vt 0.5 0.25 -s off -f 1/1 2/2 3/3 4/4 -f 5/5 8/6 7/7 6/8 -f 1/1 5/5 6/8 2/2 -f 2/9 6/10 7/11 3/12 -f 3/12 7/11 8/13 4/14 -f 5/5 1/1 4/14 8/13 diff --git a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug.png b/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug.png deleted file mode 100644 index 7cea4ce5..00000000 Binary files a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug_inv.png b/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug_inv.png deleted file mode 100644 index b35d243a..00000000 Binary files a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beer_mug_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beertap_inv.png b/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beertap_inv.png deleted file mode 100644 index 848b177c..00000000 Binary files a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_beertap_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_can.png b/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_can.png deleted file mode 100644 index ec7cba54..00000000 Binary files a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_can.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_machine.png b/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_machine.png deleted file mode 100644 index 377039da..00000000 Binary files a/mods/homedecor_modpack/homedecor_gastronomy/textures/homedecor_soda_machine.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_misc/init.lua b/mods/homedecor_modpack/homedecor_misc/init.lua index 2427af79..dd9911a0 100644 --- a/mods/homedecor_modpack/homedecor_misc/init.lua +++ b/mods/homedecor_modpack/homedecor_misc/init.lua @@ -373,30 +373,6 @@ homedecor.register("skateboard", { on_place = minetest.rotate_node }) -homedecor.register("tool_cabinet", { - description = S("Metal tool cabinet and work table"), - mesh = "homedecor_tool_cabinet.obj", - tiles = { - { name = "homedecor_generic_metal.png", color = 0xffd00000 }, - "homedecor_tool_cabinet_drawers.png", - { 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", - }, - inventory_image = "homedecor_tool_cabinet_inv.png", - on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil, - groups = { snappy=3 }, - selection_box = homedecor.nodebox.slab_y(2), - expand = { top="placeholder" }, - inventory = { - size=24, - } -}) - -minetest.register_alias("homedecor:tool_cabinet_bottom", "homedecor:tool_cabinet") -minetest.register_alias("homedecor:tool_cabinet_top", "air") - homedecor_misc.banister_materials = { { "wood", @@ -938,15 +914,6 @@ minetest.register_craft({ }, }) -minetest.register_craft({ - output = "homedecor:tool_cabinet", - recipe = { - { "basic_materials:motor", "default:axe_steel", "default:pick_steel" }, - { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" }, - { "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" } - }, -}) - minetest.register_craft({ output = "homedecor:spiral_staircase", recipe = { diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.de.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.de.tr index c3135dee..16258ebb 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.de.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.de.tr @@ -20,7 +20,6 @@ Japanese tatami=Japanische Tatami Japanese wall=Japanische Wand Japanese wall (bottom)=Japanische Wand (unten) Japanese wall (top)=Japanische Wand (oben) -Metal tool cabinet and work table=Metallwerkzeugschrank und Arbeitstisch Piano=Klavier Pool Table=Billardtisch Potted flower (@1)=Eingetopfte Blume (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.es.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.es.tr index 0b0c1f14..7323ea1b 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.es.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.es.tr @@ -20,7 +20,6 @@ Japanese tatami=Tatami Japanese wall=Pared japonesa Japanese wall (bottom)=Pared japonesa (parte más baja) Japanese wall (top)=Pared japonesa (parte más alta) -Metal tool cabinet and work table=Mesa de trabajo y gabinete en hierro Piano=Piano Pool Table=Mesa de pool Potted flower (@1)=Flor en maceta (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.fr.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.fr.tr index 6b11a7b8..10ef972f 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.fr.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.fr.tr @@ -20,7 +20,6 @@ Japanese tatami=Tatami Japanese wall=Mur japonais Japanese wall (bottom)=Mur japonais (bas) Japanese wall (top)=Mur japonais (haut) -Metal tool cabinet and work table=Établi pour le travail du métal Piano=Piano Pool Table=Billard Potted flower (@1)=Fleur en pot (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.it.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.it.tr index 2c494a43..3cb27ad2 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.it.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.it.tr @@ -20,7 +20,6 @@ Japanese tatami= Japanese wall= Japanese wall (bottom)= Japanese wall (top)= -Metal tool cabinet and work table= Piano= Pool Table=Tavolo Potted flower (@1)= diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ms.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ms.tr index 2f94a677..89330cd7 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ms.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ms.tr @@ -20,7 +20,6 @@ Japanese tatami=Tatami Jepun Japanese wall=Dinding Jepun Japanese wall (bottom)=Dinding Jepun (Bawah) Japanese wall (top)=Dinding Jepun (Atas) -Metal tool cabinet and work table=Kabinet Alatan Logam dan Meja Kerja Piano=Piano Pool Table=Meja Pool Potted flower (@1)=Pasu Berbunga (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt.tr index 66abfdae..f8dc9f01 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt.tr @@ -20,7 +20,6 @@ Japanese tatami=Tatami Japonês Japanese wall=Divisória japonesa Japanese wall (bottom)=Divisória japonesa (inferior) Japanese wall (top)=Divisória japonesa (superior) -Metal tool cabinet and work table=Gabinete de ferramentas metálicas e mesa de trabalho Piano=Piano Pool Table=Mesa de Sinuca Potted flower (@1)=Vaso de Flor (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt_BR.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt_BR.tr index 66abfdae..f8dc9f01 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt_BR.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.pt_BR.tr @@ -20,7 +20,6 @@ Japanese tatami=Tatami Japonês Japanese wall=Divisória japonesa Japanese wall (bottom)=Divisória japonesa (inferior) Japanese wall (top)=Divisória japonesa (superior) -Metal tool cabinet and work table=Gabinete de ferramentas metálicas e mesa de trabalho Piano=Piano Pool Table=Mesa de Sinuca Potted flower (@1)=Vaso de Flor (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ru.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ru.tr index a970d4a8..cc4ecbc2 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ru.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.ru.tr @@ -20,7 +20,6 @@ Japanese tatami=Японский татами Japanese wall=Японская стена Japanese wall (bottom)=Японская стена (низ) Japanese wall (top)=Японская стена (верх) -Metal tool cabinet and work table=Шкаф с металлическим инструментом и рабочий стол Piano=Пианино Pool Table=Бильярдный стол Potted flower (@1)=Цветок в горшке (@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.zh_CN.tr b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.zh_CN.tr index 41c44fd0..d50f1af8 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.zh_CN.tr +++ b/mods/homedecor_modpack/homedecor_misc/locale/homedecor_misc.zh_CN.tr @@ -20,7 +20,6 @@ Japanese tatami=日本榻榻米 Japanese wall=日本墙 Japanese wall (bottom)=日本墙(下) Japanese wall (top)=日本墙(上) -Metal tool cabinet and work table=金属工具柜及工作台 Piano=钢琴 Pool Table=台球桌 Potted flower (@1)=盆花(@1) diff --git a/mods/homedecor_modpack/homedecor_misc/locale/template.txt b/mods/homedecor_modpack/homedecor_misc/locale/template.txt index d538ec9c..0adf1828 100644 --- a/mods/homedecor_modpack/homedecor_misc/locale/template.txt +++ b/mods/homedecor_modpack/homedecor_misc/locale/template.txt @@ -20,7 +20,6 @@ Japanese tatami= Japanese wall= Japanese wall (bottom)= Japanese wall (top)= -Metal tool cabinet and work table= Piano= Pool Table= Potted flower (@1)= diff --git a/mods/homedecor_modpack/homedecor_misc/models/homedecor_tool_cabinet.obj b/mods/homedecor_modpack/homedecor_misc/models/homedecor_tool_cabinet.obj deleted file mode 100644 index 973ae092..00000000 --- a/mods/homedecor_modpack/homedecor_misc/models/homedecor_tool_cabinet.obj +++ /dev/null @@ -1,1586 +0,0 @@ -v 0.5 -0.437 -0.469 -v 0.5 -0.437 0.5 -v -0.5 -0.437 0.5 -v -0.5 -0.437 -0.469 -v 0.5 0.5 -0.469 -v 0.5 0.5 0.5 -v -0.5 0.5 0.5 -v -0.5 0.5 -0.469 -v 0.438 0.5 0.438 -v 0.438 0.5 0.5 -v -0.437 0.5 0.5 -v -0.437 0.5 0.438 -v 0.438 1.5 0.438 -v 0.438 1.5 0.5 -v -0.437 1.5 0.5 -v -0.437 1.5 0.438 -v -0.5 0.438 -0.469 -v -0.5 0.438 0.5 -v 0.5 0.438 0.5 -v 0.5 0.438 -0.469 -v 0.375 0.938 -0.312 -v 0.375 0.938 0.172 -v 0.125 0.938 0.172 -v 0.125 0.938 -0.312 -v 0.375 1.313 -0.312 -v 0.375 1.313 0.172 -v 0.125 1.313 0.172 -v 0.125 1.313 -0.312 -v 0.438 0.5 -0.375 -v 0.438 0.5 0.188 -v 0.063 0.5 0.188 -v 0.063 0.5 -0.375 -v 0.438 0.563 -0.375 -v 0.438 0.563 0.188 -v 0.063 0.563 0.188 -v 0.063 0.563 -0.375 -v 0.228 0.938 0.072 -v 0.228 0.563 0.072 -v 0.219 0.938 0.094 -v 0.219 0.563 0.094 -v 0.228 0.938 0.116 -v 0.228 0.563 0.116 -v 0.25 0.938 0.125 -v 0.25 0.563 0.125 -v 0.25 0.875 -0.219 -v 0.25 0.813 -0.219 -v 0.25 0.875 -0.187 -v 0.25 0.938 -0.187 -v 0.206 0.875 -0.206 -v 0.206 0.938 -0.206 -v 0.188 0.875 -0.25 -v 0.188 0.938 -0.25 -v 0.206 0.875 -0.294 -v 0.206 0.938 -0.294 -v 0.25 0.875 -0.312 -v 0.25 0.938 -0.312 -v 0.294 0.875 -0.294 -v 0.294 0.938 -0.294 -v 0.313 0.875 -0.25 -v 0.313 0.938 -0.25 -v 0.294 0.875 -0.206 -v 0.294 0.938 -0.206 -v 0.228 0.813 -0.228 -v 0.228 0.875 -0.228 -v 0.219 0.813 -0.25 -v 0.219 0.875 -0.25 -v 0.228 0.813 -0.272 -v 0.228 0.875 -0.272 -v 0.25 0.813 -0.281 -v 0.25 0.875 -0.281 -v 0.272 0.813 -0.272 -v 0.272 0.875 -0.272 -v 0.281 0.813 -0.25 -v 0.281 0.875 -0.25 -v 0.272 0.813 -0.228 -v 0.272 0.875 -0.228 -v 0.25 0.813 -0.242 -v 0.25 0.688 -0.242 -v 0.244 0.688 -0.244 -v 0.244 0.813 -0.244 -v 0.242 0.688 -0.25 -v 0.242 0.813 -0.25 -v 0.244 0.688 -0.256 -v 0.244 0.813 -0.256 -v 0.25 0.688 -0.258 -v 0.25 0.813 -0.258 -v 0.256 0.688 -0.256 -v 0.256 0.813 -0.256 -v 0.258 0.688 -0.25 -v 0.258 0.813 -0.25 -v 0.256 0.688 -0.244 -v 0.256 0.813 -0.244 -v 0.25 0.676 -0.25 -v 0.25 0.813 -0.25 -v 0.25 0.875 -0.25 -v 0.25 0.563 0.063 -v 0.25 0.938 0.063 -v 0.272 0.563 0.072 -v 0.272 0.938 0.072 -v 0.281 0.563 0.094 -v 0.281 0.938 0.094 -v 0.272 0.563 0.116 -v 0.272 0.938 0.116 -v 0.25 1.313 -0.375 -v 0.25 0.938 -0.375 -v 0.313 1.313 -0.367 -v 0.188 0.938 -0.367 -v 0.188 1.313 -0.367 -v 0.313 0.938 -0.367 -v 0.141 1.313 0.188 -v 0.359 0.938 0.188 -v 0.359 1.313 0.188 -v 0.141 0.938 0.188 -v 0.103 1.412 -0.35 -v 0.103 1.05 -0.253 -v 0.099 1.413 -0.346 -v 0.099 1.051 -0.249 -v 0.099 1.415 -0.34 -v 0.099 1.053 -0.243 -v 0.103 1.416 -0.336 -v 0.103 1.054 -0.239 -v 0.109 1.05 -0.253 -v 0.109 1.412 -0.35 -v 0.114 1.051 -0.249 -v 0.114 1.413 -0.346 -v 0.114 1.053 -0.243 -v 0.114 1.415 -0.34 -v 0.109 1.054 -0.239 -v 0.109 1.416 -0.336 -v 0.099 1.335 -0.325 -v 0.103 1.334 -0.329 -v 0.099 1.336 -0.319 -v 0.103 1.338 -0.315 -v 0.109 1.334 -0.329 -v 0.114 1.335 -0.325 -v 0.114 1.336 -0.319 -v 0.109 1.338 -0.315 -v 0.1 1.411 -0.327 -v 0.092 1.406 -0.347 -v 0.1 1.404 -0.355 -v 0.092 1.409 -0.335 -v 0.112 1.404 -0.355 -v 0.121 1.406 -0.347 -v 0.121 1.409 -0.335 -v 0.112 1.411 -0.327 -v 0.092 1.341 -0.329 -v 0.1 1.338 -0.338 -v 0.092 1.344 -0.318 -v 0.112 1.338 -0.338 -v 0.121 1.341 -0.329 -v 0.121 1.344 -0.318 -v 0.112 1.346 -0.31 -v 0.1 1.346 -0.31 -v 0.109 1.062 -0.256 -v 0.109 1.067 -0.253 -v 0.109 1.069 -0.247 -v 0.109 1.066 -0.242 -v 0.109 1.056 -0.255 -v 0.109 1.053 -0.249 -v 0.109 1.055 -0.244 -v 0.109 1.06 -0.241 -v 0.125 1.062 -0.256 -v 0.125 1.067 -0.253 -v 0.125 1.069 -0.247 -v 0.125 1.066 -0.242 -v 0.125 1.056 -0.255 -v 0.125 1.053 -0.249 -v 0.125 1.055 -0.244 -v 0.125 1.06 -0.241 -v 0.438 0.25 -0.5 -v 0.438 0.25 -0.469 -v -0.437 0.25 -0.469 -v -0.437 0.25 -0.5 -v 0.438 0.375 -0.5 -v 0.438 0.375 -0.469 -v -0.437 0.375 -0.469 -v -0.437 0.375 -0.5 -v 0.438 0.063 -0.5 -v 0.438 0.063 -0.469 -v -0.437 0.063 -0.469 -v -0.437 0.063 -0.5 -v 0.438 0.188 -0.5 -v 0.438 0.188 -0.469 -v -0.437 0.188 -0.469 -v -0.437 0.188 -0.5 -v 0.438 -0.125 -0.5 -v 0.438 -0.125 -0.469 -v -0.437 -0.125 -0.469 -v -0.437 -0.125 -0.5 -v 0.438 0 -0.5 -v 0.438 0 -0.469 -v -0.437 0 -0.469 -v -0.437 0 -0.5 -v 0.438 -0.375 -0.5 -v 0.438 -0.375 -0.469 -v -0.437 -0.375 -0.469 -v -0.437 -0.375 -0.5 -v 0.438 -0.187 -0.5 -v 0.438 -0.187 -0.469 -v -0.437 -0.187 -0.469 -v -0.437 -0.187 -0.5 -v -0.232 0.862 0.406 -v -0.26 0.812 0.437 -v -0.302 0.812 0.437 -v -0.331 0.862 0.406 -v -0.232 0.766 0.406 -v -0.26 1.18 0.437 -v -0.302 1.18 0.437 -v -0.331 0.766 0.406 -v -0.26 0.875 0.406 -v -0.302 1.125 0.437 -v -0.344 1.167 0.437 -v -0.219 0.833 0.406 -v -0.26 0.75 0.406 -v -0.302 1.25 0.437 -v -0.344 1.208 0.437 -v -0.219 0.792 0.406 -v -0.344 0.833 0.406 -v -0.219 1.167 0.437 -v -0.26 1.125 0.437 -v -0.302 0.875 0.406 -v -0.344 0.792 0.406 -v -0.219 1.208 0.437 -v -0.26 1.25 0.437 -v -0.302 0.75 0.406 -v -0.331 1.141 0.437 -v -0.232 1.237 0.406 -v -0.232 1.141 0.437 -v -0.331 1.237 0.406 -v -0.331 1.237 0.437 -v -0.232 1.141 0.406 -v -0.232 1.237 0.437 -v -0.331 1.141 0.406 -v -0.26 1.25 0.406 -v -0.302 0.75 0.437 -v -0.344 0.792 0.437 -v -0.219 1.208 0.406 -v -0.26 1.125 0.406 -v -0.302 0.875 0.437 -v -0.344 0.833 0.437 -v -0.219 1.167 0.406 -v -0.344 1.208 0.406 -v -0.219 0.792 0.437 -v -0.26 0.75 0.437 -v -0.302 1.25 0.406 -v -0.344 1.167 0.406 -v -0.219 0.833 0.437 -v -0.26 0.875 0.437 -v -0.302 1.125 0.406 -v -0.331 0.766 0.437 -v -0.302 1.18 0.406 -v -0.232 0.766 0.437 -v -0.26 1.18 0.406 -v -0.331 0.862 0.437 -v -0.302 0.812 0.406 -v -0.232 0.862 0.437 -v -0.26 0.812 0.406 -v 0.051 1.25 0.351 -v 0.051 0.688 0.351 -v 0.034 1.25 0.368 -v 0.034 0.688 0.368 -v 0.034 1.25 0.392 -v 0.034 0.688 0.392 -v 0.051 1.25 0.409 -v 0.051 0.688 0.409 -v 0.074 0.688 0.351 -v 0.074 1.25 0.351 -v 0.091 0.688 0.368 -v 0.091 1.25 0.368 -v 0.091 0.688 0.392 -v 0.091 1.25 0.392 -v 0.074 0.688 0.409 -v 0.074 1.25 0.409 -v 0.063 0.688 0.38 -v 0.125 1.36 0.356 -v 0.125 1.279 0.437 -v 0.125 1.326 0.438 -v 0.125 1.326 0.322 -v 0.125 1.245 0.404 -v 0.125 1.36 0.404 -v 0.125 1.279 0.322 -v 0.125 1.245 0.356 -v 0.188 1.286 0.421 -v -0.086 1.272 0.437 -v 0.13 1.353 0.359 -v 0.13 1.252 0.359 -v 0.173 1.279 0.437 -v 0.173 1.279 0.322 -v 0.13 1.281 0.431 -v 0.173 1.245 0.404 -v 0.13 1.281 0.329 -v 0.173 1.36 0.404 -v 0.13 1.252 0.401 -v 0.173 1.326 0.322 -v 0.13 1.353 0.401 -v 0.173 1.326 0.437 -v 0.13 1.324 0.329 -v 0.173 1.36 0.356 -v 0.13 1.324 0.431 -v 0.173 1.245 0.356 -v -0.039 1.326 0.438 -v 0.188 1.319 0.421 -v 0 1.36 0.404 -v 0.188 1.343 0.397 -v 0 1.36 0.356 -v 0.188 1.343 0.363 -v -0.039 1.326 0.322 -v 0.188 1.319 0.339 -v -0.086 1.272 0.322 -v 0.188 1.286 0.339 -v -0.104 1.209 0.37 -v 0.188 1.262 0.363 -v -0.104 1.209 0.39 -v 0.188 1.262 0.397 -v 0.134 1.245 0.356 -v 0.134 1.326 0.322 -v 0.134 1.326 0.438 -v 0.134 1.36 0.356 -v 0.134 1.279 0.437 -v 0.134 1.36 0.404 -v 0.134 1.245 0.404 -v 0.134 1.279 0.322 -v -0.017 1.253 0.38 -v -0.028 1.249 0.388 -v -0.028 1.249 0.371 -v 0 1.245 0.356 -v 0 1.245 0.404 -v -0.016 1.241 0.404 -v -0.016 1.241 0.356 -v 0.019 1.279 0.437 -v 0.019 1.279 0.322 -v -0.125 1.224 0.356 -v -0.125 1.224 0.404 -v 0 1.268 0.38 -v -0.016 1.264 0.392 -v -0.016 1.264 0.368 -v -0.095 1.233 0.346 -v -0.095 1.233 0.414 -v -0.305 1.111 0.398 -v -0.305 1.111 0.438 -v -0.32 1.111 0.438 -v -0.32 1.111 0.398 -v -0.305 1.126 0.398 -v -0.305 1.126 0.438 -v -0.32 1.126 0.438 -v -0.32 1.126 0.398 -v -0.242 1.111 0.398 -v -0.242 1.111 0.438 -v -0.258 1.111 0.438 -v -0.258 1.111 0.398 -v -0.242 1.126 0.398 -v -0.242 1.126 0.438 -v -0.258 1.126 0.438 -v -0.258 1.126 0.398 -v 0.031 1.229 0.344 -v 0.031 1.229 0.438 -v 0.016 1.229 0.438 -v 0.016 1.229 0.344 -v 0.031 1.245 0.344 -v 0.031 1.245 0.438 -v 0.016 1.245 0.438 -v 0.016 1.245 0.344 -v 0.109 1.229 0.344 -v 0.109 1.229 0.438 -v 0.094 1.229 0.438 -v 0.094 1.229 0.344 -v 0.109 1.245 0.344 -v 0.109 1.245 0.438 -v 0.094 1.245 0.438 -v 0.094 1.245 0.344 -v 0.438 0.563 -0.27 -v 0.063 0.563 -0.27 -v 0.438 0.563 -0.23 -v 0.063 0.563 -0.23 -v 0.23 0.563 -0.27 -v 0.23 0.563 -0.23 -v 0.27 0.563 -0.27 -v 0.27 0.563 -0.23 -v 0.23 0.5 -0.27 -v 0.23 0.5 -0.23 -v 0.27 0.5 -0.27 -v 0.27 0.5 -0.23 -v 0.5 -0.375 -0.469 -v -0.5 -0.375 -0.469 -v -0.5 0.375 -0.469 -v 0.5 0.375 -0.469 -v 0.496 -0.5 0.434 -v 0.496 -0.5 0.496 -v 0.434 -0.5 0.496 -v 0.434 -0.5 0.434 -v 0.496 -0.437 0.434 -v 0.496 -0.437 0.496 -v 0.434 -0.437 0.496 -v 0.434 -0.437 0.434 -v 0.241 -0.56 0.038 -v -0.434 -0.5 0.434 -v -0.434 -0.5 0.496 -v -0.496 -0.5 0.496 -v -0.496 -0.5 0.434 -v -0.434 -0.437 0.434 -v -0.434 -0.437 0.496 -v -0.496 -0.437 0.496 -v -0.496 -0.437 0.434 -v 0.496 -0.5 -0.465 -v 0.496 -0.5 -0.402 -v 0.434 -0.5 -0.402 -v 0.434 -0.5 -0.465 -v 0.496 -0.437 -0.465 -v 0.496 -0.437 -0.402 -v 0.434 -0.437 -0.402 -v 0.434 -0.437 -0.465 -v -0.434 -0.5 -0.465 -v -0.434 -0.5 -0.402 -v -0.496 -0.5 -0.402 -v -0.496 -0.5 -0.465 -v -0.434 -0.437 -0.465 -v -0.434 -0.437 -0.402 -v -0.496 -0.437 -0.402 -v -0.496 -0.437 -0.465 -v 0.188 1.303 0.38 -v 0.106 1.414 -0.343 -vt 0 0 -vt 1 0 -vt 1 1 -vt 0 1 -vt 0 0.063 -vt 1 0.063 -vt 1 0.125 -vt 0 0.125 -vt 1 0.938 -vt 0 0.938 -vt 0 0.875 -vt 1 0.875 -vt 0.938 0.875 -vt 0.938 0.125 -vt 0.063 0.125 -vt 0.063 0.875 -vt 0.938 0.75 -vt 0.063 0.75 -vt 0.063 0.688 -vt 0.938 0.688 -vt 0.938 0.563 -vt 0.063 0.563 -vt 0.063 0.5 -vt 0.938 0.5 -vt 0.938 0.375 -vt 0.063 0.375 -vt 0.063 0.313 -vt 0.938 0.313 -vt 0.938 0.938 -vt 0.875 0.938 -vt 0.875 0.813 -vt 0.938 0.813 -vt 0.875 0.75 -vt 0.875 0.625 -vt 0.938 0.625 -vt 0.125 0.938 -vt 0.063 0.938 -vt 0.063 0.813 -vt 0.125 0.813 -vt 0.125 0.75 -vt 0.875 0.875 -vt 0.125 0.875 -vt 0.063 0.625 -vt 0.125 0.625 -vt 0.125 0.563 -vt 0.875 0.563 -vt 0.875 0.688 -vt 0.125 0.688 -vt 0.875 0.438 -vt 0.938 0.438 -vt 0.063 0.438 -vt 0.125 0.438 -vt 0.125 0.375 -vt 0.875 0.375 -vt 0.875 0.5 -vt 0.125 0.5 -vt 0.875 0.188 -vt 0.938 0.188 -vt 0.063 0.188 -vt 0.125 0.188 -vt 0.125 0.125 -vt 0.875 0.125 -vt 0.875 0.313 -vt 0.125 0.313 -vt 0.987 0 -vt 1 0.333 -vt 0.987 0.333 -vt 0.608 0.444 -vt 0.608 0.014 -vt 0.62 0 -vt 0.797 0 -vt 0.81 0.014 -vt 0.81 0.444 -vt 0.759 0.493 -vt 0.709 0.5 -vt 0.658 0.493 -vt 0 0.889 -vt 0 0.458 -vt 0.013 0.444 -vt 0.19 0.444 -vt 0.203 0.458 -vt 0.203 0.889 -vt 0.152 0.938 -vt 0.101 0.944 -vt 0.051 0.938 -vt 0.861 0.833 -vt 0.861 0.333 -vt 0.911 0.333 -vt 0.911 0.833 -vt 0.962 0.667 -vt 0.962 1 -vt 0.911 1 -vt 0.911 0.667 -vt 0.81 0.833 -vt 0.81 0.333 -vt 0.962 0.333 -vt 0 0.014 -vt 0.304 0 -vt 0.304 0.014 -vt 0.81 0 -vt 0.203 0.778 -vt 0.203 0.444 -vt 0.288 0.444 -vt 0.288 0.778 -vt 0.608 0.802 -vt 0.304 0.802 -vt 0.304 0.431 -vt 0.608 0.431 -vt 0.203 0.927 -vt 0.234 0.778 -vt 0.234 0.927 -vt 0.266 0.927 -vt 0.266 0.778 -vt 0.335 0.802 -vt 0.367 0.802 -vt 0.367 0.858 -vt 0.335 0.858 -vt 0.399 0.802 -vt 0.399 0.858 -vt 0.304 0.858 -vt 0.266 0.833 -vt 0.297 0.778 -vt 0.297 0.833 -vt 0 0.444 -vt 0.304 0.444 -vt 0.608 0 -vt 0.759 0.5 -vt 0.81 0.5 -vt 0.759 0.833 -vt 0.658 0.5 -vt 0.709 0.833 -vt 0.658 0.833 -vt 0.608 0.5 -vt 0.608 0.833 -vt 0.031 0 -vt 0.031 1 -vt 0.063 1 -vt 0.063 0 -vt 0.031 0.938 -vt 0.031 0.875 -vt 0.938 1 -vt 0.938 0 -vt 1 0.25 -vt 0 0.25 -vt 0 0.188 -vt 1 0.188 -vt 1 0.313 -vt 0 0.313 -vt 1 0.375 -vt 0 0.375 -vt 1 0.438 -vt 0 0.438 -vt 1 0.5 -vt 0 0.5 -vt 0.032 0.999 -vt 0.053 0.99 -vt 0.062 0.969 -vt 0.053 0.948 -vt 0.032 0.939 -vt 0.01 0.948 -vt 0.001 0.969 -vt 0.01 0.99 -vt 1 0.563 -vt 0 0.563 -vt 1 0.625 -vt 0 0.625 -vt 1 0.688 -vt 0 0.688 -vt 1 0.75 -vt 0 0.75 -vt 1 0.813 -vt 0 0.813 -vt 0.875 1 -vt 0.5 0.25 -vt 0.563 0.25 -vt 0.563 0.313 -vt 0.5 0.313 -vt 0.375 0.25 -vt 0.438 0.25 -vt 0.438 0.313 -vt 0.375 0.313 -vt 0.167 0.755 -vt 0.219 0.78 -vt 0.141 0.837 -vt 0.375 0.813 -vt 0.375 0.375 -vt 0.438 0.375 -vt 0.438 0.813 -vt 0.625 0.688 -vt 0.563 0.688 -vt 0.563 0.625 -vt 0.625 0.625 -vt 0.5 0.125 -vt 0.563 0.125 -vt 0.563 0.188 -vt 0.5 0.188 -vt 0.5 0.375 -vt 0.563 0.375 -vt 0.563 0.813 -vt 0.5 0.813 -vt 0.083 0.755 -vt 0.375 0.188 -vt 0.438 0.188 -vt 0.5 0.563 -vt 0.438 0.563 -vt 0.438 0.5 -vt 0.5 0.5 -vt 0.625 0.5 -vt 0.563 0.5 -vt 0.563 0.438 -vt 0.625 0.438 -vt 0.026 0.78 -vt 0.375 0.125 -vt 0.438 0.125 -vt 0.625 0.188 -vt 0.563 0.063 -vt 0.625 0.063 -vt 0.625 0.25 -vt 0.625 0.375 -vt 0.625 0.563 -vt 0.563 0.563 -vt 0.5 0.063 -vt 0 0.837 -vt 0.375 0.063 -vt 0.438 0.063 -vt 0 0.918 -vt 0.141 0.918 -vt 0.026 0.974 -vt 0.5 0.438 -vt 0.438 0.438 -vt 0.5 0.625 -vt 0.438 0.625 -vt 0.5 0.688 -vt 0.438 0.688 -vt 0.083 1 -vt 0.167 1 -vt 0.219 0.974 -vt 0.25 0.918 -vt 0.25 0.837 -vt 1 0.918 -vt 0.969 0.974 -vt 0.875 0.918 -vt 0.917 1 -vt 0.833 1 -vt 0.776 0.974 -vt 0.75 0.918 -vt 1 0.837 -vt 0.875 0.837 -vt 0.969 0.78 -vt 0.917 0.755 -vt 0.833 0.755 -vt 0.776 0.78 -vt 0.75 0.837 -vt 0.56 0.415 -vt 0.523 0.451 -vt 0.497 0.389 -vt 0.472 0.451 -vt 0.435 0.415 -vt 0.435 0.363 -vt 0.472 0.327 -vt 0.523 0.327 -vt 0.56 0.363 -vt 0.938 0.063 -vt 0.177 0.365 -vt 0.177 0.575 -vt 0.142 0.575 -vt 0.142 0.365 -vt 0.699 0.013 -vt 0.699 0.046 -vt 0.667 0.046 -vt 0.667 0.013 -vt 0.35 0.255 -vt 0.35 0.341 -vt 0.307 0.341 -vt 0.307 0.255 -vt 0.536 0.003 -vt 0.567 0.016 -vt 0.536 0.047 -vt 0.732 0.013 -vt 0.732 0.046 -vt 0.263 0.341 -vt 0.263 0.255 -vt 0.107 0.365 -vt 0.107 0.575 -vt 0.072 0.575 -vt 0.072 0.365 -vt 0.765 0.013 -vt 0.765 0.046 -vt 0.22 0.341 -vt 0.22 0.255 -vt 0.06 0.132 -vt 0.101 0.149 -vt 0.06 0.19 -vt 0.798 0.013 -vt 0.798 0.046 -vt 0.177 0.341 -vt 0.177 0.255 -vt 0.634 0.046 -vt 0.634 0.013 -vt 0.831 0.013 -vt 0.831 0.046 -vt 0.134 0.341 -vt 0.134 0.255 -vt 0.601 0.046 -vt 0.601 0.013 -vt 0.863 0.013 -vt 0.863 0.046 -vt 0.091 0.341 -vt 0.091 0.255 -vt 0.367 0.408 -vt 0.356 0.435 -vt 0.329 0.408 -vt 0.048 0.255 -vt 0.048 0.341 -vt 0.005 0.341 -vt 0.005 0.255 -vt 0.356 0.381 -vt 0.212 0.365 -vt 0.212 0.575 -vt 0.037 0.575 -vt 0.037 0.365 -vt 0.247 0.365 -vt 0.247 0.575 -vt 0.002 0.575 -vt 0.002 0.365 -vt 0.282 0.365 -vt 0.282 0.575 -vt 0.329 0.37 -vt 0.329 0.446 -vt 0.302 0.435 -vt 0.291 0.408 -vt 0.302 0.381 -vt 0.58 0.047 -vt 0.567 0.078 -vt 0.536 0.091 -vt 0.505 0.078 -vt 0.492 0.047 -vt 0.505 0.016 -vt 0.118 0.19 -vt 0.101 0.231 -vt 0.06 0.248 -vt 0.02 0.231 -vt 0.003 0.19 -vt 0.02 0.149 -vt 0.523 0.115 -vt 0.523 0.102 -vt 0.545 0.102 -vt 0.545 0.115 -vt 0.501 0.115 -vt 0.501 0.102 -vt 0.48 0.115 -vt 0.48 0.102 -vt 0.458 0.115 -vt 0.458 0.102 -vt 0.437 0.115 -vt 0.437 0.102 -vt 0.566 0.102 -vt 0.566 0.115 -vt 0.415 0.115 -vt 0.415 0.102 -vt 0.588 0.102 -vt 0.588 0.115 -vt 0.566 0.201 -vt 0.588 0.201 -vt 0.415 0.201 -vt 0.437 0.201 -vt 0.545 0.201 -vt 0.458 0.201 -vt 0.48 0.201 -vt 0.501 0.201 -vt 0.523 0.201 -vt 0.523 0.214 -vt 0.545 0.214 -vt 0.501 0.214 -vt 0.48 0.214 -vt 0.458 0.214 -vt 0.437 0.214 -vt 0.566 0.214 -vt 0.415 0.214 -vt 0.588 0.214 -vt 0.753 0.076 -vt 0.753 0.461 -vt 0.705 0.461 -vt 0.705 0.076 -vt 0.802 0.076 -vt 0.802 0.461 -vt 0.85 0.076 -vt 0.85 0.461 -vt 0.898 0.076 -vt 0.898 0.461 -vt 0.946 0.076 -vt 0.946 0.461 -vt 0.657 0.461 -vt 0.657 0.076 -vt 0.994 0.076 -vt 0.994 0.461 -vt 0.609 0.461 -vt 0.609 0.076 -vt 0.507 0.633 -vt 0.511 0.475 -vt 0.569 0.475 -vt 0.564 0.682 -vt 0.47 0.643 -vt 0.474 0.484 -vt 0.918 0.475 -vt 0.918 0.675 -vt 0.859 0.672 -vt 0.859 0.519 -vt 0.794 0.833 -vt 0.803 0.811 -vt 0.844 0.811 -vt 0.853 0.833 -vt 0.753 0.789 -vt 0.774 0.78 -vt 0.997 0.677 -vt 0.949 0.677 -vt 0.949 0.615 -vt 0.997 0.615 -vt 0.753 0.727 -vt 0.774 0.736 -vt 0.731 0.854 -vt 0.684 0.853 -vt 0.693 0.805 -vt 0.74 0.806 -vt 0.794 0.683 -vt 0.803 0.705 -vt 0.731 0.916 -vt 0.684 0.915 -vt 0.874 0.78 -vt 0.895 0.789 -vt 0.853 0.683 -vt 0.844 0.705 -vt 0.74 0.955 -vt 0.693 0.954 -vt 0.874 0.736 -vt 0.895 0.727 -vt 0.794 0.945 -vt 0.794 0.996 -vt 0.753 0.999 -vt 0.753 0.949 -vt 0.806 0.935 -vt 0.761 0.944 -vt 0.753 0.883 -vt 0.797 0.874 -vt 0.814 0.934 -vt 0.862 0.934 -vt 0.862 0.996 -vt 0.814 0.996 -vt 0.511 0.302 -vt 0.477 0.302 -vt 0.494 0.261 -vt 0.879 0.958 -vt 0.87 0.955 -vt 0.87 0.9 -vt 0.879 0.896 -vt 0.684 0.804 -vt 0.68 0.813 -vt 0.629 0.813 -vt 0.625 0.804 -vt 0.888 0.958 -vt 0.879 0.955 -vt 0.879 0.9 -vt 0.888 0.896 -vt 0.592 0.852 -vt 0.583 0.848 -vt 0.592 0.907 -vt 0.583 0.91 -vt 0.629 0.945 -vt 0.625 0.954 -vt 0.68 0.945 -vt 0.684 0.954 -vt 0.741 0.871 -vt 0.751 0.867 -vt 0.751 0.923 -vt 0.741 0.92 -vt 0.813 0.931 -vt 0.806 0.877 -vt 0.741 0.808 -vt 0.751 0.805 -vt 0.751 0.867 -vt 0.741 0.863 -vt 0.806 0.834 -vt 0.813 0.842 -vt 0.739 0.911 -vt 0.739 0.857 -vt 0.998 0.948 -vt 0.99 0.952 -vt 0.969 0.908 -vt 0.979 0.91 -vt 0.99 0.857 -vt 0.998 0.864 -vt 0.752 0.804 -vt 0.684 0.749 -vt 0.739 0.765 -vt 0.945 0.89 -vt 0.968 0.878 -vt 0.964 0.997 -vt 0.976 0.791 -vt 0.995 0.683 -vt 0.998 0.803 -vt 0.93 0.973 -vt 0.898 0.989 -vt 0.895 0.947 -vt 0.746 0.661 -vt 0.743 0.64 -vt 0.968 0.857 -vt 0.937 0.874 -vt 0.677 0.618 -vt 0.675 0.639 -vt 0.616 0.53 -vt 0.998 0.824 -vt 0.968 0.806 -vt 0.895 0.849 -vt 0.895 0.687 -vt 0.937 0.683 -vt 0.937 0.845 -vt 0.686 0.611 -vt 0.617 0.667 -vt 0.684 0.8 -vt 0.625 0.804 -vt 0.752 0.478 -vt 0.694 0.475 -vt 0.934 0.519 -vt 0.948 0.498 -vt 0.948 0.649 -vt 0.918 0.63 -vt 0.928 0.502 -vt 0.938 0.475 -vt 0.953 0.814 -vt 0.967 0.835 -vt 0.958 0.856 -vt 0.948 0.829 -vt 0.937 0.704 -vt 0.967 0.683 -vt 0.93 0.849 -vt 0.577 0.955 -vt 0.512 0.894 -vt 0.568 0.803 -vt 0.859 0.475 -vt 0.85 0.626 -vt 0.795 0.534 -vt 0.753 0.614 -vt 0.47 0.817 -vt 0.859 0.65 -vt 0.577 0.781 -vt 0.755 0.683 -vt 0.472 0.754 -vt 0.87 0.834 -vt 0.87 0.934 -vt 0.814 0.853 -vt 0.984 0.49 -vt 0.949 0.516 -vt 0.951 0.475 -vt 0.67 0.514 -vt 0.684 0.475 -vt 0.984 0.614 -vt 0.89 0.896 -vt 0.87 0.865 -vt 0.89 0.834 -vt 0.179 0.997 -vt 0.179 0.882 -vt 0.222 0.882 -vt 0.222 0.997 -vt 0.091 0.997 -vt 0.091 0.882 -vt 0.135 0.882 -vt 0.135 0.997 -vt 0.354 0.604 -vt 0.397 0.604 -vt 0.397 0.65 -vt 0.354 0.65 -vt 0.266 0.882 -vt 0.266 0.997 -vt 0.31 0.882 -vt 0.31 0.997 -vt 0.004 0.997 -vt 0.004 0.882 -vt 0.048 0.882 -vt 0.048 0.997 -vt 0.354 0.743 -vt 0.397 0.743 -vt 0.397 0.789 -vt 0.354 0.789 -vt 0.354 0.882 -vt 0.354 0.997 -vt 0.222 0.604 -vt 0.266 0.604 -vt 0.31 0.604 -vt 0.354 0.697 -vt 0.397 0.697 -vt 0.004 0.604 -vt 0.048 0.604 -vt 0.091 0.604 -vt 0.179 0.604 -vt 0.135 0.604 -vt 0.615 0.754 -vt 0.612 0.618 -vt 0.615 0.484 -vt 0.824 0.758 -vt 0.453 0.278 -vt 0.453 0.244 -vt 0.477 0.22 -vt 0.511 0.22 -vt 0.536 0.244 -vt 0.536 0.278 -vn 1 0 0 -vn 0 0 1 -vn -1 0 0 -vn 0 0 -1 -vn 0 -1 0 -vn 0 1 0 -vn -0.707 0 0.707 -vn 0.707 0 0.707 -vn 0.911 0 -0.413 -vn -0.911 0 -0.413 -vn 0.409 0 -0.912 -vn -0.409 0 -0.912 -vn 0.707 0 -0.707 -vn -0.707 0 -0.707 -vn -0.717 -0.686 -0.124 -vn -0.297 -0.794 -0.53 -vn 0.297 -0.794 -0.53 -vn 0.717 -0.686 -0.124 -vn 0.717 -0.532 0.45 -vn 0.297 -0.423 0.856 -vn -0.297 -0.423 0.856 -vn -0.717 -0.532 0.45 -vn 0.819 -0.359 0.447 -vn 0.339 -0.235 0.911 -vn -0.339 -0.235 0.911 -vn 0.819 -0.534 -0.208 -vn -0.819 -0.359 0.447 -vn -0.819 -0.534 -0.208 -vn -0.339 -0.659 -0.672 -vn 0.339 -0.659 -0.672 -vn 0 -0.13 0.991 -vn 0 0.609 0.793 -vn 0 -0.793 0.609 -vn 0 -0.991 -0.13 -vn 0 -0.609 -0.793 -vn 0 0.991 0.131 -vn 0 0.793 -0.609 -vn 0 0.131 -0.991 -vn -0.973 -0.23 0 -vn -0.732 -0.173 -0.659 -vn -0.55 -0.53 -0.645 -vn -0.72 -0.694 0 -vn 0.977 0.212 0 -vn 0.732 0.159 -0.662 -vn 0.546 0.546 -0.636 -vn 0.707 0.707 0 -vn 0.732 -0.173 -0.659 -vn 0.55 -0.53 -0.645 -vn -0.301 0.302 -0.904 -vn 0.86 -0.51 0 -vn 0.841 0.541 0 -vn 0.441 0.284 -0.851 -vn 0.464 -0.275 -0.842 -vn 0.72 -0.694 0 -vn -0.707 0.707 0 -vn -0.546 0.546 -0.636 -vn -0.732 0.159 -0.662 -vn -0.977 0.212 0 -vn -0.86 -0.51 0 -vn -0.464 -0.275 -0.842 -vn -0.441 0.284 -0.851 -vn -0.841 0.541 0 -vn 0.973 -0.23 0 -vn 0.302 0.302 -0.904 -vn 0.449 0.698 -0.558 -vn 0.541 0.841 0 -vn -0.541 0.841 0 -vn -0.449 0.698 -0.558 -vn 0.707 -0.707 0 -vn 0.302 -0.301 -0.904 -vn -0.301 -0.301 -0.904 -vn -0.707 -0.707 0 -vn 0.51 -0.86 0 -vn 0.424 -0.715 -0.555 -vn -0.51 -0.86 0 -vn -0.424 -0.715 -0.555 -vn -0.68 -0.272 -0.68 -vn 0 -0.272 -0.962 -vn 0.549 -0.63 -0.549 -vn 0.776 -0.63 0 -vn 0 -0.63 0.776 -vn -0.549 -0.63 0.549 -vn 0 -0.63 -0.776 -vn -0.776 -0.63 0 -vn 0.68 -0.272 -0.68 -vn 0.962 -0.272 0 -vn -0.549 -0.63 -0.549 -vn 0.549 -0.63 0.549 -vn -0.962 -0.272 0 -vn -0.68 -0.272 0.68 -vn 0.68 -0.272 0.68 -vn 0 -0.272 0.962 -vn 0.354 0.149 -0.923 -vn 0.16 0.777 -0.609 -vn 0.387 0.836 -0.39 -vn 0.854 0.278 -0.441 -vn -0.353 0.149 -0.923 -vn -0.16 0.777 -0.609 -vn -0.853 0.278 -0.441 -vn -0.387 0.836 -0.39 -vn -0.853 0.461 0.242 -vn -0.387 0.919 -0.08 -vn -0.353 0.591 0.725 -vn -0.16 0.977 0.139 -vn 0.387 0.919 -0.08 -vn 0.854 0.461 0.242 -vn 0.354 0.591 0.725 -vn 0.16 0.977 0.139 -vn 0.853 -0.279 0.441 -vn 0.353 -0.15 0.923 -vn -0.353 -0.15 0.923 -vn 0.853 -0.462 -0.242 -vn -0.853 -0.279 0.441 -vn -0.853 -0.462 -0.242 -vn -0.353 -0.591 -0.725 -vn 0.353 -0.591 -0.725 -vn 0.383 0 -0.924 -vn 0.924 0 -0.383 -vn -0.383 0 -0.924 -vn -0.924 0 -0.383 -vn -0.924 0 0.383 -vn -0.383 0 0.924 -vn 0.924 0 0.383 -vn 0.383 0 0.924 -vn -0.531 0.823 -0.201 -vn 0.441 0.829 -0.343 -vn 0.441 0.343 -0.829 -vn -0.688 0.59 -0.422 -vn -0.531 0.823 0.201 -vn 0.441 0.829 0.343 -vn -0.649 0.557 -0.519 -vn 0.414 0.644 0.644 -vn 0.404 -0.35 -0.845 -vn 0.921 -0.149 -0.36 -vn 0.921 -0.36 -0.149 -vn 0.404 -0.845 -0.35 -vn 0.404 0.35 -0.845 -vn 0.921 0.149 -0.36 -vn -0.445 -0.343 -0.827 -vn -0.445 -0.827 -0.343 -vn 0.404 0.845 -0.35 -vn 0.921 0.361 -0.149 -vn -0.445 0.343 -0.827 -vn 0.404 0.845 0.35 -vn 0.921 0.361 0.149 -vn -0.445 0.827 -0.343 -vn 0.921 -0.36 0.149 -vn 0.404 -0.845 0.35 -vn 0.542 0.47 0.696 -vn 0.921 0.149 0.361 -vn -0.445 0.827 0.343 -vn 0.921 -0.149 0.361 -vn 0.542 -0.47 0.696 -vn -0.445 -0.827 0.343 -vn -0.418 0.643 0.643 -vn -0.418 -0.642 0.643 -vn 0 0.966 -0.259 -vn 0.441 -0.829 0.344 -vn -0.007 -0.924 0.383 -vn -0.007 -0.707 0.707 -vn 0.414 -0.643 0.644 -vn -0.007 0.707 0.707 -vn -0.007 0.924 0.383 -vn 0.441 -0.829 -0.344 -vn -0.007 -0.924 -0.383 -vn -0.007 0.924 -0.383 -vn -0.007 0.383 -0.924 -vn -0.007 -0.383 -0.924 -vn 0.441 -0.343 -0.829 -vn -0.981 -0.193 0.028 -vn -0.755 0.32 -0.572 -vn 0.021 -0.61 -0.792 -vn -0.076 -0.23 -0.97 -vn 0.281 -0.941 0.19 -vn -0.327 -0.804 -0.496 -vn -0.076 -0.23 0.97 -vn -0.327 -0.804 0.497 -vn 0.281 -0.941 -0.19 -vn 0.008 -0.943 -0.332 -vn 0.008 -0.943 0.332 -vn -0.922 -0.387 0 -vn -0.914 0.387 -0.122 -vn 0.009 -0.379 -0.925 -vn 0.017 -0.711 0.703 -vn -0.537 0.486 0.689 -vn -0.899 0.437 0 -vn -0.537 0.486 -0.689 -vn -0.981 -0.193 -0.028 -vn 0.021 -0.61 0.792 -vn 0.577 0.577 -0.577 -vn 0.577 -0.577 -0.577 -vn -0.577 0.577 -0.577 -vn -0.577 -0.577 -0.577 -g 1 -s off -f 20/1/1 19/2/1 2/3/1 1/4/1 -f 19/1/2 18/2/2 3/3/2 2/4/2 -f 18/1/3 17/2/3 4/3/3 3/4/3 -f 1/5/4 4/6/4 384/7/4 383/8/4 -f 1/1/5 2/2/5 3/3/5 4/4/5 -f 17/9/4 20/10/4 386/11/4 385/12/4 -f 384/7/4 385/12/4 176/13/4 196/14/4 -f 383/8/4 195/15/4 175/16/4 386/11/4 -f 172/17/4 171/18/4 183/19/4 184/20/4 -f 180/21/4 179/22/4 191/23/4 192/24/4 -f 188/25/4 187/26/4 199/27/4 200/28/4 -g 2 -f 174/29/1 175/30/1 171/31/1 170/32/1 -f 182/17/1 183/33/1 179/34/1 178/35/1 -f 176/36/3 177/37/3 173/38/3 172/39/3 -f 177/30/4 174/36/4 170/39/4 173/31/4 -f 170/39/5 171/40/5 172/33/5 173/31/5 -f 177/41/6 176/30/6 175/36/6 174/42/6 -f 184/40/3 185/18/3 181/43/3 180/44/3 -f 185/33/4 182/40/4 178/44/4 181/34/4 -f 178/44/5 179/45/5 180/46/5 181/34/5 -f 185/47/6 184/33/6 183/40/6 182/48/6 -f 190/21/1 191/46/1 187/49/1 186/50/1 -f 192/45/3 193/22/3 189/51/3 188/52/3 -f 193/46/4 190/45/4 186/52/4 189/49/4 -f 186/52/5 187/53/5 188/54/5 189/49/5 -f 193/55/6 192/46/6 191/45/6 190/56/6 -f 198/25/1 199/54/1 195/57/1 194/58/1 -f 200/53/3 201/26/3 197/59/3 196/60/3 -f 201/54/4 198/53/4 194/60/4 197/57/4 -f 194/60/5 195/61/5 196/62/5 197/57/5 -f 201/63/6 200/54/6 199/53/6 198/64/6 -g 3 -f 110/65/7 27/2/7 23/66/7 113/67/7 -f 21/68/5 22/69/5 111/70/5 113/71/5 23/72/5 24/73/5 107/74/5 105/75/5 109/76/5 -f 28/77/6 27/78/6 110/79/6 112/80/6 26/81/6 25/82/6 106/83/6 104/84/6 108/85/6 -f 33/86/1 34/87/1 30/88/1 29/89/1 -f 34/90/2 35/91/2 31/92/2 30/93/2 -f 35/94/3 36/95/3 32/87/3 31/86/3 -f 36/96/4 33/90/4 29/93/4 32/88/4 -f 26/97/8 112/1/8 111/98/8 22/99/8 -f 112/100/2 110/65/2 113/67/2 111/95/2 -f 33/101/6 36/102/6 372/103/6 371/104/6 -f 35/105/6 34/106/6 373/107/6 374/108/6 -f 375/109/6 372/101/6 374/110/6 376/111/6 -f 377/112/6 378/111/6 373/110/6 371/113/6 -f 378/114/3 377/115/3 381/116/3 382/117/3 -f 376/118/1 380/119/1 379/116/1 375/115/1 -f 378/114/4 382/117/4 380/120/4 376/106/4 -f 381/121/2 377/113/2 375/122/2 379/123/2 -s 1 -f 25/124/9 26/97/1 22/99/1 21/125/9 -f 27/126/3 28/108/10 24/107/10 23/98/3 -f 106/127/11 25/128/9 21/94/9 109/129/11 -f 108/130/12 104/75/4 105/131/4 107/132/12 -f 28/133/10 108/130/12 107/132/12 24/134/10 -f 104/75/4 106/127/11 109/129/11 105/131/4 -g 4 -s off -f 8/135/6 7/2/6 6/3/6 5/136/6 -f 13/10/1 14/4/1 10/3/1 9/9/1 -f 14/5/2 15/10/2 11/9/2 10/6/2 -f 15/4/3 16/10/3 12/9/3 11/3/3 -f 16/10/4 13/5/4 9/6/4 12/9/4 -f 16/137/6 15/4/6 14/1/6 13/138/6 -f 7/9/3 8/139/3 17/140/3 18/12/3 -f 8/4/4 5/1/4 20/138/4 17/137/4 -f 5/139/1 6/9/1 19/3/1 20/136/1 -f 6/141/2 7/142/2 18/2/2 19/3/2 -s 1 -f 96/143/4 97/144/4 99/145/13 98/146/13 -f 38/147/14 37/148/14 97/144/4 96/143/4 -f 40/149/3 39/150/3 37/148/14 38/147/14 -f 42/151/7 41/152/7 39/150/3 40/149/3 -f 44/153/2 43/154/2 41/152/7 42/151/7 -f 98/146/13 99/145/13 101/8/1 100/7/1 -f 102/6/8 103/5/8 43/1/2 44/2/2 -f 100/7/1 101/8/1 103/5/8 102/6/8 -f 117/155/15 115/156/16 122/157/17 124/158/18 126/159/19 128/160/20 121/161/21 119/162/22 -f 126/10/19 136/9/23 137/3/24 128/4/20 -f 128/154/20 137/153/24 133/163/25 121/164/21 -f 124/11/18 135/12/26 136/9/23 126/10/19 -f 121/164/21 133/163/25 132/165/27 119/166/22 -f 119/166/22 132/165/27 130/167/28 117/168/15 -f 117/168/15 130/167/28 131/169/29 115/170/16 -f 115/170/16 131/169/29 134/171/30 122/172/17 -f 122/172/17 134/171/30 135/12/26 124/11/18 -f 161/46/31 169/163/31 165/165/32 157/34/32 -f 160/55/33 168/153/33 169/163/31 161/46/31 -f 159/30/34 167/9/34 168/3/33 160/173/33 -f 158/41/35 166/12/35 167/9/34 159/30/34 -f 157/34/32 165/165/32 164/167/36 156/47/36 -f 156/47/36 164/167/36 163/169/37 155/33/37 -f 154/31/38 162/171/38 166/12/35 158/41/35 -f 155/33/37 163/169/37 162/171/38 154/31/38 -g 5 -f 212/174/39 246/175/40 233/176/41 226/177/42 -f 247/178/43 213/179/44 202/180/45 256/181/46 -f 241/182/47 231/183/48 253/184/49 -f 220/185/50 248/186/51 210/187/52 238/188/53 -f 220/189/50 238/190/53 231/191/48 228/192/54 -f 230/193/55 229/194/56 242/195/57 216/196/58 -f 211/197/59 249/198/60 221/199/61 239/200/62 -f 241/182/47 253/184/49 237/201/44 -f 226/177/42 233/176/41 249/198/60 211/197/59 -f 247/178/43 243/202/63 217/203/47 213/179/44 -f 240/204/58 218/205/57 222/206/40 236/207/39 -f 223/208/43 237/209/44 227/210/45 232/211/46 -f 227/212/45 237/201/44 253/184/49 -f 252/213/54 206/214/48 217/203/47 243/202/63 -f 208/215/46 251/195/64 245/216/65 215/217/66 -f 256/181/46 202/180/45 210/187/52 248/186/51 -f 207/218/55 224/219/67 234/198/68 253/175/49 -f 223/208/43 219/220/63 241/221/47 237/209/44 -f 215/222/66 245/216/65 229/194/56 230/193/55 -f 207/218/55 253/175/49 251/195/64 208/215/46 -f 216/196/58 242/195/57 246/175/40 212/174/39 -f 234/223/68 227/212/45 253/184/49 -f 204/174/69 255/179/70 257/203/71 203/196/72 -f 204/174/69 235/197/73 225/187/74 255/179/70 -f 228/192/54 231/191/48 241/221/47 219/220/63 -f 244/224/75 214/225/76 206/214/48 252/213/54 -f 245/226/65 251/227/64 229/228/56 -f 250/229/42 209/230/41 225/187/74 235/197/73 -f 203/196/72 257/203/71 214/225/76 244/222/75 -f 254/231/55 205/232/56 218/205/57 240/204/58 -f 232/211/46 227/210/45 234/198/68 224/219/67 -f 239/233/62 221/234/61 205/232/56 254/231/55 -f 236/207/39 222/206/40 209/230/41 250/229/42 -f 242/235/57 229/228/56 251/227/64 -f 246/236/40 242/235/57 251/227/64 -f 233/237/41 246/236/40 251/227/64 -f 249/238/60 233/237/41 251/227/64 -f 231/183/48 238/239/53 253/184/49 -f 225/240/74 209/241/41 255/242/70 -f 209/241/41 222/243/40 255/242/70 -f 222/243/40 218/244/57 255/242/70 -f 218/244/57 205/245/56 255/242/70 -f 205/245/56 221/246/61 255/242/70 -f 214/247/76 257/248/71 206/249/48 -f 217/250/47 206/249/48 257/248/71 -f 217/250/47 257/248/71 213/251/44 -f 202/252/45 213/251/44 257/248/71 -f 210/253/52 202/252/45 257/248/71 -f 257/248/71 255/242/70 221/246/61 210/253/52 -f 221/246/61 249/238/60 238/239/53 210/253/52 -f 253/184/49 238/239/53 249/238/60 251/227/64 -g 6 -s off -f 261/254/5 259/255/5 274/256/5 -f 259/255/5 266/257/5 274/256/5 -f 266/257/5 268/258/5 274/256/5 -f 268/258/5 270/259/5 274/256/5 -f 270/259/5 272/260/5 274/256/5 -f 272/260/5 265/261/5 274/256/5 -f 265/261/5 263/262/5 274/256/5 -f 263/262/5 261/254/5 274/256/5 -f 391/142/1 392/2/1 388/6/1 387/263/1 -f 392/142/2 393/2/2 389/6/2 388/263/2 -f 393/142/3 394/2/3 390/6/3 389/263/3 -f 394/142/4 391/2/4 387/6/4 390/263/4 -f 387/142/5 388/2/5 389/6/5 390/263/5 -f 400/142/1 401/2/1 397/6/1 396/263/1 -f 401/142/2 402/2/2 398/6/2 397/263/2 -f 402/142/3 403/2/3 399/6/3 398/263/3 -f 403/142/4 400/2/4 396/6/4 399/263/4 -f 396/142/5 397/2/5 398/6/5 399/263/5 -f 408/142/1 409/2/1 405/6/1 404/263/1 -f 409/142/2 410/2/2 406/6/2 405/263/2 -f 410/142/3 411/2/3 407/6/3 406/263/3 -f 411/142/4 408/2/4 404/6/4 407/263/4 -f 404/142/5 405/2/5 406/6/5 407/263/5 -f 416/142/1 417/2/1 413/6/1 412/263/1 -f 417/142/2 418/2/2 414/6/2 413/263/2 -f 418/142/3 419/2/3 415/6/3 414/263/3 -f 419/142/4 416/2/4 412/6/4 415/263/4 -f 412/142/5 413/2/5 414/6/5 415/263/5 -f 408/142/6 411/2/6 410/6/6 409/263/6 -f 416/142/6 419/2/6 418/6/6 417/263/6 -s 1 -f 83/264/77 84/265/14 86/266/4 85/267/78 -f 71/268/79 72/269/13 74/270/1 73/271/80 -f 47/272/81 48/273/2 50/274/7 49/275/82 -f 46/276/81 63/277/82 94/278/5 -f 69/279/83 70/280/4 72/269/13 71/268/79 -f 49/275/82 50/274/7 52/281/3 51/282/84 -f 87/283/85 88/284/13 90/285/1 89/286/86 -f 67/287/87 68/288/14 70/280/4 69/279/83 -f 51/282/84 52/281/3 54/289/14 53/290/87 -f 47/291/81 49/292/82 95/293/5 -f 65/294/84 66/295/3 68/288/14 67/287/87 -f 53/290/87 54/289/14 56/296/4 55/297/83 -f 73/271/80 74/270/1 76/298/8 75/299/88 -f 63/300/82 64/301/7 66/295/3 65/294/84 -f 55/297/83 56/296/4 58/302/13 57/303/79 -f 75/299/88 76/298/8 45/304/2 46/305/81 -f 46/306/81 45/307/2 64/301/7 63/300/82 -f 57/303/79 58/302/13 60/308/1 59/309/80 -f 81/310/89 83/311/77 93/312/5 -f 61/313/88 62/314/8 48/315/2 47/316/81 -f 59/309/80 60/308/1 62/314/8 61/313/88 -f 85/267/78 86/266/4 88/284/13 87/283/85 -f 79/317/90 81/310/89 93/312/5 -f 81/318/89 82/319/3 84/265/14 83/264/77 -f 89/286/86 90/285/1 92/320/8 91/321/91 -f 79/322/90 80/323/7 82/319/3 81/318/89 -f 91/321/91 92/320/8 77/324/2 78/325/92 -f 78/326/92 77/327/2 80/323/7 79/322/90 -f 78/328/92 79/317/90 93/312/5 -f 83/311/77 85/329/78 93/312/5 -f 85/329/78 87/330/85 93/312/5 -f 87/330/85 89/331/86 93/312/5 -f 89/331/86 91/332/91 93/312/5 -f 91/332/91 78/328/92 93/312/5 -f 63/277/82 65/333/84 94/278/5 -f 65/333/84 67/334/87 94/278/5 -f 67/334/87 69/335/83 94/278/5 -f 69/335/83 71/336/79 94/278/5 -f 71/336/79 73/337/80 94/278/5 -f 73/337/80 75/338/88 94/278/5 -f 75/338/88 46/276/81 94/278/5 -f 49/292/82 51/339/84 95/293/5 -f 51/339/84 53/340/87 95/293/5 -f 53/340/87 55/341/83 95/293/5 -f 55/341/83 57/342/79 95/293/5 -f 57/342/79 59/343/80 95/293/5 -f 59/343/80 61/344/88 95/293/5 -f 61/344/88 47/291/81 95/293/5 -f 142/345/93 123/346/94 125/347/95 143/348/96 -f 140/349/97 114/350/98 123/346/94 142/345/93 -f 139/351/99 116/352/100 114/350/98 140/349/97 -f 141/353/101 118/354/102 116/352/100 139/351/99 -f 138/355/103 120/356/104 118/354/102 141/353/101 -f 143/348/96 125/347/95 127/357/105 144/358/106 -f 145/359/107 129/360/108 120/356/104 138/355/103 -f 144/358/106 127/357/105 129/361/108 145/362/107 -f 151/363/109 144/358/106 145/362/107 152/364/110 -f 152/365/110 145/359/107 138/355/103 153/366/111 -f 150/367/112 143/348/96 144/358/106 151/363/109 -f 153/366/111 138/355/103 141/353/101 148/368/113 -f 148/368/113 141/353/101 139/351/99 146/369/114 -f 146/369/114 139/351/99 140/349/97 147/370/115 -f 147/370/115 140/349/97 142/345/93 149/371/116 -f 149/371/116 142/345/93 143/348/96 150/367/112 -f 134/372/30 149/371/116 150/367/112 135/373/26 -f 131/374/29 147/370/115 149/371/116 134/372/30 -f 130/375/28 146/369/114 147/370/115 131/374/29 -f 132/376/27 148/368/113 146/369/114 130/375/28 -f 133/377/25 153/366/111 148/368/113 132/376/27 -f 135/373/26 150/367/112 151/363/109 136/378/23 -f 137/379/24 152/365/110 153/366/111 133/377/25 -f 136/378/23 151/363/109 152/364/110 137/380/24 -f 266/381/117 267/382/117 269/383/118 268/384/118 -f 259/385/119 258/386/119 267/382/117 266/381/117 -f 261/387/120 260/388/120 258/386/119 259/385/119 -f 263/389/121 262/390/121 260/388/120 261/387/120 -f 265/391/122 264/392/122 262/390/121 263/389/121 -f 268/384/118 269/383/118 271/393/123 270/394/123 -f 272/395/124 273/396/124 264/392/122 265/391/122 -f 270/394/123 271/393/123 273/397/124 272/398/124 -f 305/399/125 275/400/126 278/401/127 307/402/128 -f 303/403/129 280/404/130 275/400/126 305/399/125 -f 301/405/131 277/406/132 280/407/130 303/408/129 -f 288/409/133 310/410/134 312/411/135 300/412/136 -f 294/413/137 308/414/138 310/410/134 288/409/133 -f 322/415/139 288/416/133 300/417/136 315/418/140 -f 298/419/141 306/420/142 308/414/138 294/413/137 -f 316/421/143 294/422/137 288/423/133 322/424/139 -f 292/425/144 304/426/145 306/420/142 298/419/141 -f 318/427/146 298/428/141 294/422/137 316/421/143 -f 300/412/136 312/411/135 314/429/147 290/430/148 -f 296/431/149 302/432/150 304/426/145 292/425/144 -f 320/433/151 292/434/144 298/428/141 318/427/146 -f 290/430/148 314/429/147 283/435/152 287/436/153 -f 287/436/153 283/435/152 302/432/150 296/431/149 -f 315/437/140 300/438/136 290/439/148 321/440/154 -f 317/441/155 296/442/149 292/443/144 320/444/151 -f 321/445/154 290/446/148 287/447/153 319/448/156 -f 123/449/94 114/450/98 421/451/157 -f 279/452/158 293/453/159 289/454/160 276/455/161 -f 277/456/132 299/457/162 295/458/163 280/459/130 -f 282/460/164 286/461/165 293/462/159 279/463/158 -f 280/459/130 295/458/163 285/464/166 275/465/126 -f 275/465/126 285/464/166 297/466/167 278/467/127 -f 278/467/127 297/466/167 291/468/168 281/469/169 -f 281/469/169 291/468/168 286/470/165 282/471/164 -f 293/472/159 321/473/154 319/474/156 289/475/160 -f 299/476/162 317/441/155 320/444/151 295/477/163 -f 286/478/165 315/479/140 321/480/154 293/481/159 -f 295/477/163 320/444/151 318/482/146 285/483/166 -f 285/484/166 318/427/146 316/421/143 297/485/167 -f 297/486/167 316/487/143 322/488/139 291/489/168 -f 291/489/168 322/488/139 315/490/140 286/491/165 -f 332/492/170 309/493/171 337/494/172 -f 324/495/173 328/496/174 313/497/175 -f 325/498/176 311/499/177 329/500/178 -f 311/501/177 332/502/170 337/503/172 -f 329/504/178 309/493/171 326/505/179 -f 328/496/174 324/495/173 327/506/180 -f 324/495/173 323/507/181 327/506/180 -f 328/508/174 327/509/180 284/510/182 -f 329/500/178 326/511/179 325/498/176 -f 325/498/176 326/511/179 323/512/181 -f 279/513/158 327/514/180 326/515/179 282/516/164 -f 309/493/171 331/517/183 326/505/179 -f 284/510/182 327/509/180 330/518/184 -f 330/518/184 327/509/180 279/519/158 276/520/161 -f 282/521/164 326/505/179 331/517/183 281/522/169 -f 325/523/176 336/524/185 332/525/170 311/526/177 -f 323/527/181 334/528/186 336/524/185 325/523/176 -f 324/529/173 335/530/187 334/531/186 323/532/181 -f 313/533/175 333/534/188 335/530/187 324/529/173 -f 337/503/172 329/535/178 311/501/177 -f 329/504/178 337/494/172 309/493/171 -f 333/536/188 284/537/182 335/538/187 -f 332/539/170 336/540/185 309/541/171 -f 309/541/171 336/540/185 307/542/128 -f 284/537/182 301/543/131 335/538/187 -f 336/540/185 334/544/186 307/542/128 -f 335/538/187 301/543/131 334/545/186 -f 307/542/128 334/544/186 305/546/125 -f 301/543/131 303/547/129 334/545/186 -f 305/548/125 334/549/186 303/550/129 -f 313/551/175 338/552/189 333/553/188 -f 338/554/189 284/510/182 333/555/188 -f 328/556/174 338/552/189 313/551/175 -f 338/554/189 328/508/174 284/510/182 -f 327/557/180 323/558/181 326/559/179 -f 343/560/190 344/561/46 340/562/69 339/563/191 -f 345/564/55 346/565/192 342/566/193 341/567/72 -f 346/568/192 343/569/190 339/570/191 342/571/193 -f 339/563/191 340/562/69 341/572/72 342/573/193 -f 346/574/192 345/575/55 344/573/46 343/572/190 -f 351/567/190 352/566/46 348/561/69 347/560/191 -f 353/576/55 354/577/192 350/578/193 349/579/72 -f 354/580/192 351/581/190 347/582/191 350/583/193 -f 347/575/191 348/574/69 349/584/72 350/585/193 -f 354/565/192 353/564/55 352/579/46 351/578/190 -f 359/562/190 360/586/46 356/587/69 355/572/191 -f 361/574/55 362/588/192 358/568/193 357/584/72 -f 362/589/192 359/590/190 355/581/191 358/580/193 -f 355/577/191 356/591/69 357/592/72 358/578/193 -f 362/593/192 361/565/55 360/578/46 359/592/190 -f 367/561/190 368/594/46 364/586/69 363/562/191 -f 369/572/55 370/587/192 366/588/193 365/574/72 -f 370/571/192 367/570/190 363/590/191 366/589/193 -f 363/565/191 364/593/69 365/595/72 366/566/193 -f 370/594/192 369/561/55 368/566/46 367/595/190 -f 309/596/171 307/402/128 331/597/183 -f 307/402/128 278/401/127 281/598/169 331/597/183 -f 302/432/150 283/435/152 420/599/1 -f 283/435/152 314/429/147 420/599/1 -f 314/429/147 312/411/135 420/599/1 -f 312/411/135 310/410/134 420/599/1 -f 310/410/134 308/414/138 420/599/1 -f 308/414/138 306/420/142 420/599/1 -f 306/420/142 304/426/145 420/599/1 -f 304/426/145 302/432/150 420/599/1 -f 114/450/98 116/600/100 421/451/157 -f 116/600/100 118/601/102 421/451/157 -f 118/601/102 120/602/104 421/451/157 -f 120/602/104 129/603/108 421/451/157 -f 129/603/108 127/604/105 421/451/157 -f 127/604/105 125/605/95 421/451/157 -f 125/605/95 123/449/94 421/451/157 diff --git a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_drawers.png b/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_drawers.png deleted file mode 100644 index 28d857c6..00000000 Binary files a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_drawers.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_inv.png b/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_inv.png deleted file mode 100644 index cf23d66b..00000000 Binary files a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_inv.png and /dev/null differ diff --git a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_misc.png b/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_misc.png deleted file mode 100644 index 24e9fefd..00000000 Binary files a/mods/homedecor_modpack/homedecor_misc/textures/homedecor_tool_cabinet_misc.png and /dev/null differ diff --git a/mods/minislots/minislots_engine/depends.txt b/mods/minislots/minislots_engine/depends.txt deleted file mode 100644 index 739f218d..00000000 --- a/mods/minislots/minislots_engine/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -currency diff --git a/mods/minislots/minislots_engine/mod.conf b/mods/minislots/minislots_engine/mod.conf new file mode 100644 index 00000000..20f2acd2 --- /dev/null +++ b/mods/minislots/minislots_engine/mod.conf @@ -0,0 +1,5 @@ +name = minislots_engine +author = +depends = default, currency +optional_depends = +description = diff --git a/mods/minislots/minislots_golden7s/depends.txt b/mods/minislots/minislots_golden7s/depends.txt deleted file mode 100644 index 3628f79c..00000000 --- a/mods/minislots/minislots_golden7s/depends.txt +++ /dev/null @@ -1 +0,0 @@ -minislots_engine diff --git a/mods/minislots/minislots_golden7s/mod.conf b/mods/minislots/minislots_golden7s/mod.conf new file mode 100644 index 00000000..8486cffc --- /dev/null +++ b/mods/minislots/minislots_golden7s/mod.conf @@ -0,0 +1,5 @@ +name = minislots_golden7s +author = +depends = minislots_engine +optional_depends = +description = diff --git a/mods/minislots/minislots_golden7s_deluxe/depends.txt b/mods/minislots/minislots_golden7s_deluxe/depends.txt deleted file mode 100644 index 3628f79c..00000000 --- a/mods/minislots/minislots_golden7s_deluxe/depends.txt +++ /dev/null @@ -1 +0,0 @@ -minislots_engine diff --git a/mods/minislots/minislots_golden7s_deluxe/mod.conf b/mods/minislots/minislots_golden7s_deluxe/mod.conf new file mode 100644 index 00000000..1f141a91 --- /dev/null +++ b/mods/minislots/minislots_golden7s_deluxe/mod.conf @@ -0,0 +1,5 @@ +name = minislots_golden7s_deluxe +author = +depends = minislots_engine +optional_depends = +description = diff --git a/mods/minislots/minislots_work_files/mod.conf b/mods/minislots/minislots_work_files/mod.conf new file mode 100644 index 00000000..bbb872eb --- /dev/null +++ b/mods/minislots/minislots_work_files/mod.conf @@ -0,0 +1 @@ +name = minislots_work_files \ No newline at end of file diff --git a/mods/mob_horse/license.txt b/mods/mob_horse/license.txt new file mode 100644 index 00000000..69296f05 --- /dev/null +++ b/mods/mob_horse/license.txt @@ -0,0 +1,3 @@ +Code: MIT +Textures: CC-BY-SA 3.0 by Mjollna +Model: MIT by KrupnovPavel diff --git a/mods/mobs_monster/dirt_monster.lua b/mods/mobs_monster/dirt_monster.lua index 518116a3..3631fb26 100644 --- a/mods/mobs_monster/dirt_monster.lua +++ b/mods/mobs_monster/dirt_monster.lua @@ -1,6 +1,16 @@ local S = mobs.intllib +local dirt_types = { + + { nodes = {"ethereal:dry_dirt"}, + skins = {"mobs_dirt_monster3.png"}, + drops = { + {name = "ethereal:dry_dirt", chance = 1, min = 0, max = 2} + } + } +} + -- Dirt Monster by PilzAdam @@ -19,6 +29,7 @@ mobs:register_mob("mobs_monster:dirt_monster", { mesh = "mobs_stone_monster.b3d", textures = { {"mobs_dirt_monster.png"}, + {"mobs_dirt_monster2.png"}, }, blood_texture = "default_dirt.png", makes_footstep_sound = true, @@ -48,19 +59,39 @@ mobs:register_mob("mobs_monster:dirt_monster", { punch_start = 40, punch_end = 63, }, + + -- check surrounding nodes and spawn a specific monster + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #dirt_types do + + tmp = dirt_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) -local spawn_on = "default:dirt_with_grass" - -if minetest.get_modpath("ethereal") then - spawn_on = "ethereal:gray_dirt" -end - if not mobs.custom_spawn_monster then mobs:spawn({ name = "mobs_monster:dirt_monster", - nodes = {spawn_on}, + nodes = {"default:dirt_with_grass", "ethereal:gray_dirt", "ethereal:dry_dirt"}, min_light = 0, max_light = 7, chance = 6000, diff --git a/mods/mobs_monster/dungeon_master.lua b/mods/mobs_monster/dungeon_master.lua index bcc04f85..4b681841 100644 --- a/mods/mobs_monster/dungeon_master.lua +++ b/mods/mobs_monster/dungeon_master.lua @@ -16,8 +16,8 @@ mobs:register_mob("mobs_monster:dungeon_master", { shoot_interval = 2.2, arrow = "mobs_monster:fireball", shoot_offset = 1, - hp_min = 22, - hp_max = 45, + hp_min = 42, + hp_max = 75, armor = 60, collisionbox = {-0.7, -1, -0.7, 0.7, 1.6, 0.7}, visual = "mesh", diff --git a/mods/mobs_monster/init.lua b/mods/mobs_monster/init.lua index 02142fdb..4df355fb 100644 --- a/mods/mobs_monster/init.lua +++ b/mods/mobs_monster/init.lua @@ -28,6 +28,7 @@ dofile(path .. "tree_monster.lua") dofile(path .. "lava_flan.lua") -- Zeg9 dofile(path .. "mese_monster.lua") dofile(path .. "spider.lua") -- AspireMint +dofile(path .. "land_guard.lua") -- Load custom spawning diff --git a/mods/mobs_monster/land_guard.lua b/mods/mobs_monster/land_guard.lua new file mode 100644 index 00000000..6545b33e --- /dev/null +++ b/mods/mobs_monster/land_guard.lua @@ -0,0 +1,127 @@ + +local S = mobs.intllib + + +local guard_types = { + + { nodes = { + "default:snow", "default:snowblock", "default:ice", + "default:dirt_with_snow" + }, + skins = {"mobs_land_guard6.png", "mobs_land_guard7.png", "mobs_land_guard8.png"}, + drops = { + {name = "default:ice", chance = 1, min = 1, max = 4}, + {name = "mobs:leather", chance = 2, min = 0, max = 2}, + {name = "default:diamond", chance = 4, min = 0, max = 2}, + }, + }, + + { nodes = { + "ethereal:dry_dirt", "default:sand", "default:desert_sand", + "default:dry_dirt_with_dry_grass", "default:dry_dirt" + }, + skins = {"mobs_land_guard4.png", "mobs_land_guard5.png"}, + drops = { + {name = "default:sandstone", chance = 1, min = 1, max = 4}, + {name = "mobs:leather", chance = 2, min = 0, max = 2}, + {name = "default:mese_crystal", chance = 4, min = 0, max = 2}, + }, + } +} + +-- Land Guard + +mobs:register_mob("mobs_monster:land_guard", { + type = "monster", + passive = false, + attack_type = "dogfight", + group_attack = true, + reach = 3, + damage = 15, + hp_min = 30, + hp_max = 65, + armor = 50, + collisionbox = {-0.5, -1.01, -0.5, 0.5, 1.6, 0.5}, + visual_size = {x = 1, y = 1}, + visual = "mesh", + mesh = "mobs_dungeon_master.b3d", + textures = { + {"mobs_land_guard.png"}, + {"mobs_land_guard2.png"}, + {"mobs_land_guard3.png"} + }, + makes_footstep_sound = true, + sounds = { + random = "mobs_dungeonmaster", + }, + walk_velocity = 1.5, + run_velocity = 3.4, + jump = true, + jump_height = 2.0, + floats = 0, + view_range = 15, + drops = { + {name = "mobs:leather", chance = 2, min = 0, max = 2}, + {name = "default:mese_crystal", chance = 3, min = 0, max = 2}, + {name = "default:diamond", chance = 4, min = 0, max = 1}, + }, + water_damage = 0, + lava_damage = 6, + light_damage = 0, + fear_height = 8, + animation = { + stand_start = 0, + stand_end = 19, + walk_start = 20, + walk_end = 35, + punch_start = 36, + punch_end = 48, + speed_normal = 15, + speed_run = 20, + }, + + -- check surrounding nodes and spawn a specific guard + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #guard_types do + + tmp = guard_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = { tmp.skins[math.random(#tmp.skins)] } + self.object:set_properties({textures = self.base_texture}) + self.docile_by_day = tmp.docile + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end, +}) + + +if not mobs.custom_spawn_monster then +mobs:spawn({ + name = "mobs_monster:land_guard", + nodes = { + "default:snow", "default:ice", "default:stone", + "default:dry_dirt_with_dry_grass", "ethereal:dry_dirt" + }, + max_light = 7, + chance = 25000, + min_height = 0, + active_object_count = 1, +}) +end + + +mobs:register_egg("mobs_monster:land_guard", S("Land Guard"), "default_ice.png", 1) diff --git a/mods/mobs_monster/oerkki.lua b/mods/mobs_monster/oerkki.lua index 6e42c423..f706b43c 100644 --- a/mods/mobs_monster/oerkki.lua +++ b/mods/mobs_monster/oerkki.lua @@ -20,6 +20,7 @@ mobs:register_mob("mobs_monster:oerkki", { textures = { {"mobs_oerkki.png"}, {"mobs_oerkki2.png"}, + {"mobs_oerkki3.png"}, }, makes_footstep_sound = false, sounds = { diff --git a/mods/mobs_monster/readme.md b/mods/mobs_monster/readme.md index 800079c3..cd03fcb3 100644 --- a/mods/mobs_monster/readme.md +++ b/mods/mobs_monster/readme.md @@ -27,7 +27,7 @@ Sand Monster Spiders -- Snowy spiders are found on higher cold areas, Tarantula's in higher jungle, Cave spider below -20 and Mese spider near areas containing the ore and Crystal spiders only in Ethereal's crystal biomes. Some are docile during the daytime and will drop string when killed. +- Snowy spiders are found on higher cold areas, spitting Tarantula's in higher jungle, small Cave spider below -20 and Mese spider near areas containing the ore and Crystal spiders only in Ethereal's crystal biomes. Some are docile during the daytime and will drop string when killed. Stone Monster @@ -35,6 +35,10 @@ Stone Monster Tree Monster -- Found atop tree's at night time they drop down and look for food in the form of players and animals. Can drop saplings and sometimes an apple or three. +- Found atop tree's at night time they drop down and look for food in the form of players and animals. Can drop saplings and sometimes an apple or three depending on type. Also note that green tree creepers exist and sometimes go boom. + +Land Guard + +- These huge monsters roam the land in cold, hot and temperate areas and don't like players wandering around their domain. Lucky Blocks: 11 diff --git a/mods/mobs_monster/sand_monster.lua b/mods/mobs_monster/sand_monster.lua index a46f5093..21c5af6e 100644 --- a/mods/mobs_monster/sand_monster.lua +++ b/mods/mobs_monster/sand_monster.lua @@ -49,6 +49,7 @@ mobs:register_mob("mobs_monster:sand_monster", { mesh = "mobs_sand_monster.b3d", textures = { {"mobs_sand_monster.png"}, + {"mobs_sand_monster2.png"}, }, blood_texture = "default_desert_sand.png", makes_footstep_sound = true, diff --git a/mods/mobs_monster/spider.lua b/mods/mobs_monster/spider.lua index 9cb4ae12..4a74b3b1 100644 --- a/mods/mobs_monster/spider.lua +++ b/mods/mobs_monster/spider.lua @@ -11,6 +11,47 @@ local get_velocity = function(self) return (v.x * v.x + v.z * v.z) ^ 0.5 end + +local spider_types = { + + { nodes = {"default:snow", "default:snowblock", "default:dirt_with_snow"}, + skins = {"mobs_spider_snowy.png"}, + docile = true, + drops = nil + }, + + { nodes = {"default:dirt_with_rainforest_litter", "default:jungletree"}, + skins = {"mobs_spider_orange.png"}, + docile = true, + drops = nil, + shoot = true + }, + + { nodes = {"default:stone", "default:gravel"}, + skins = {"mobs_spider_grey.png"}, + docile = nil, + drops = nil, + small = true + }, + + { nodes = {"default:mese", "default:stone_with_mese"}, + skins = {"mobs_spider_mese.png"}, + docile = nil, + drops = { + {name = "farming:string", chance = 1, min = 0, max = 2}, + {name = "default:mese_crystal_fragment", chance = 2, min = 1, max = 4}} + }, + + { nodes = {"ethereal:crystal_dirt", "ethereal:crystal_spike"}, + skins = {"mobs_spider_crystal.png"}, + docile = true, + drops = { + {name = "farming:string", chance = 1, min = 0, max = 2}, + {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}} + } +} + + -- Spider by AspireMint (CC-BY-SA 3.0 license) mobs:register_mob("mobs_monster:spider", { @@ -53,7 +94,7 @@ mobs:register_mob("mobs_monster:spider", { light_damage = 0, animation = { speed_normal = 15, - speed_run = 20,--15, + speed_run = 20, stand_start = 0, stand_end = 0, walk_start = 1, @@ -63,42 +104,46 @@ mobs:register_mob("mobs_monster:spider", { punch_start = 25, punch_end = 45, }, - -- what kind of spider are we spawning? + + -- check surrounding nodes and spawn a specific spider on_spawn = function(self) local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp - -- snowy spider - if minetest.find_node_near(pos, 1, - {"default:snow", "default:snowblock", "default:dirt_with_snow"}) then - self.base_texture = {"mobs_spider_snowy.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - -- tarantula - elseif minetest.find_node_near(pos, 1, - {"default:dirt_with_rainforest_litter", "default:jungletree"}) then - self.base_texture = {"mobs_spider_orange.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - -- grey spider - elseif minetest.find_node_near(pos, 1, - {"default:stone", "default:gravel"}) then - self.base_texture = {"mobs_spider_grey.png"} - self.object:set_properties({textures = self.base_texture}) - -- mese spider - elseif minetest.find_node_near(pos, 1, - {"default:mese", "default:stone_with_mese"}) then - self.base_texture = {"mobs_spider_mese.png"} - self.object:set_properties({textures = self.base_texture}) - elseif minetest.find_node_near(pos, 1, - {"ethereal:crystal_dirt", "ethereal:crystal_spike"}) then - self.base_texture = {"mobs_spider_crystal.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - self.drops = { - {name = "farming:string", chance = 1, min = 0, max = 2}, - {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}, - } + for n = 1, #spider_types do + + tmp = spider_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + self.docile_by_day = tmp.docile + + if tmp.drops then + self.drops = tmp.drops + end + + if tmp.shoot then + self.attack_type = "dogshoot" + self.arrow = "mobs_monster:cobweb" + self.dogshoot_switch = 1 + self.dogshoot_count_max = 60 + self.dogshoot_count2_max = 20 + self.shoot_interval = 2 + self.shoot_offset = 2 + end + + if tmp.small then + self.object:set_properties({ + collisionbox = {-0.2, -0.2, -0.2, 0.2, 0, 0.2}, + visual_size = {x = 0.25, y = 0.25} + }) + end + + return true + end end return true -- run only once, false/nil runs every activation @@ -233,7 +278,7 @@ minetest.register_node(":mobs:cobweb", { walkable = false, groups = {snappy = 1, disable_jump = 1}, drop = "farming:string", - sounds = default.node_sound_leaves_defaults(), + sounds = default.node_sound_leaves_defaults() }) minetest.register_craft({ @@ -244,3 +289,48 @@ minetest.register_craft({ {"farming:string", "", "farming:string"}, } }) + + +local web_place = function(pos) + + local pos2 = minetest.find_node_near(pos, 1, {"air", "group:leaves"}, true) + + if pos2 then + minetest.swap_node(pos2, {name = "mobs:cobweb"}) + end +end + +mobs:register_arrow("mobs_monster:cobweb", { + visual = "sprite", + visual_size = {x = 1, y = 1}, + textures = {"mobs_cobweb.png"}, + collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + velocity = 15, + tail = 1, + tail_texture = "mobs_cobweb.png", + tail_size = 5, + glow = 2, + expire = 0.1, + + hit_player = function(self, player) + + player:punch(self.object, 1.0, { + full_punch_interval = 2.0, + damage_groups = {fleshy = 3}, + }, nil) + + web_place(self.object:get_pos()) + end, + + hit_node = function(self, pos, node) + web_place(pos) + end, + + hit_mob = function(self, player) + + player:punch(self.object, 1.0, { + full_punch_interval = 2.0, + damage_groups = {fleshy = 3}, + }, nil) + end +}) diff --git a/mods/mobs_monster/stone_monster.lua b/mods/mobs_monster/stone_monster.lua index 34197d77..eb8d650a 100644 --- a/mods/mobs_monster/stone_monster.lua +++ b/mods/mobs_monster/stone_monster.lua @@ -1,6 +1,18 @@ local S = mobs.intllib +local stone_types = { + + { nodes = {"default:desert_stone"}, + skins = {"mobs_stone_monster3.png"}, + drops = { + {name = "default:desert_cobble", chance = 1, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:gold_lump", chance = 5, min = 0, max = 2} + } + } +} + -- Stone Monster by PilzAdam @@ -34,7 +46,7 @@ mobs:register_mob("mobs_monster:stone_monster", { drops = { {name = "default:cobble", chance = 1, min = 0, max = 2}, {name = "default:coal_lump", chance = 3, min = 0, max = 2}, - {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2} }, water_damage = 0, lava_damage = 1, @@ -59,6 +71,32 @@ mobs:register_mob("mobs_monster:stone_monster", { {"default:pick_mese", 6}, {"default:pick_diamond", 7}, }, + + -- check surrounding nodes and spawn a specific spider + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #stone_types do + + tmp = stone_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) diff --git a/mods/mobs_monster/textures/mobs_dirt_monster2.png b/mods/mobs_monster/textures/mobs_dirt_monster2.png new file mode 100644 index 00000000..964698c9 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_dirt_monster2.png differ diff --git a/mods/mobs_monster/textures/mobs_dirt_monster3.png b/mods/mobs_monster/textures/mobs_dirt_monster3.png new file mode 100644 index 00000000..f11faee4 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_dirt_monster3.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard.png b/mods/mobs_monster/textures/mobs_land_guard.png new file mode 100644 index 00000000..53100abe Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard2.png b/mods/mobs_monster/textures/mobs_land_guard2.png new file mode 100644 index 00000000..cfa0630a Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard2.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard3.png b/mods/mobs_monster/textures/mobs_land_guard3.png new file mode 100644 index 00000000..69e86916 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard3.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard4.png b/mods/mobs_monster/textures/mobs_land_guard4.png new file mode 100644 index 00000000..295282fb Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard4.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard5.png b/mods/mobs_monster/textures/mobs_land_guard5.png new file mode 100644 index 00000000..3e0332d8 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard5.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard6.png b/mods/mobs_monster/textures/mobs_land_guard6.png new file mode 100644 index 00000000..4ccd83e4 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard6.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard7.png b/mods/mobs_monster/textures/mobs_land_guard7.png new file mode 100644 index 00000000..6a9d0fd8 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard7.png differ diff --git a/mods/mobs_monster/textures/mobs_land_guard8.png b/mods/mobs_monster/textures/mobs_land_guard8.png new file mode 100644 index 00000000..73c8322b Binary files /dev/null and b/mods/mobs_monster/textures/mobs_land_guard8.png differ diff --git a/mods/mobs_monster/textures/mobs_oerkki3.png b/mods/mobs_monster/textures/mobs_oerkki3.png new file mode 100644 index 00000000..8c24d5cd Binary files /dev/null and b/mods/mobs_monster/textures/mobs_oerkki3.png differ diff --git a/mods/mobs_monster/textures/mobs_sand_monster2.png b/mods/mobs_monster/textures/mobs_sand_monster2.png new file mode 100644 index 00000000..5773943d Binary files /dev/null and b/mods/mobs_monster/textures/mobs_sand_monster2.png differ diff --git a/mods/mobs_monster/textures/mobs_stone_monster2.png b/mods/mobs_monster/textures/mobs_stone_monster2.png index 70bfc6ec..9c76b833 100644 Binary files a/mods/mobs_monster/textures/mobs_stone_monster2.png and b/mods/mobs_monster/textures/mobs_stone_monster2.png differ diff --git a/mods/mobs_monster/textures/mobs_stone_monster3.png b/mods/mobs_monster/textures/mobs_stone_monster3.png new file mode 100644 index 00000000..70bfc6ec Binary files /dev/null and b/mods/mobs_monster/textures/mobs_stone_monster3.png differ diff --git a/mods/mobs_monster/textures/mobs_tree_monster3.png b/mods/mobs_monster/textures/mobs_tree_monster3.png new file mode 100644 index 00000000..9e18fb2e Binary files /dev/null and b/mods/mobs_monster/textures/mobs_tree_monster3.png differ diff --git a/mods/mobs_monster/textures/mobs_tree_monster4.png b/mods/mobs_monster/textures/mobs_tree_monster4.png new file mode 100644 index 00000000..6299e32d Binary files /dev/null and b/mods/mobs_monster/textures/mobs_tree_monster4.png differ diff --git a/mods/mobs_monster/textures/mobs_tree_monster5.png b/mods/mobs_monster/textures/mobs_tree_monster5.png new file mode 100644 index 00000000..67cd508a Binary files /dev/null and b/mods/mobs_monster/textures/mobs_tree_monster5.png differ diff --git a/mods/mobs_monster/textures/mobs_tree_monster6.png b/mods/mobs_monster/textures/mobs_tree_monster6.png new file mode 100755 index 00000000..6e884a61 Binary files /dev/null and b/mods/mobs_monster/textures/mobs_tree_monster6.png differ diff --git a/mods/mobs_monster/textures/zmobs_mese_monster.png b/mods/mobs_monster/textures/zmobs_mese_monster.png index 55f662a7..3d3812dd 100644 Binary files a/mods/mobs_monster/textures/zmobs_mese_monster.png and b/mods/mobs_monster/textures/zmobs_mese_monster.png differ diff --git a/mods/mobs_monster/textures/zmobs_mese_monster_old.png b/mods/mobs_monster/textures/zmobs_mese_monster_old.png new file mode 100644 index 00000000..55f662a7 Binary files /dev/null and b/mods/mobs_monster/textures/zmobs_mese_monster_old.png differ diff --git a/mods/mobs_monster/tree_monster.lua b/mods/mobs_monster/tree_monster.lua index c1abbeaf..4276f025 100644 --- a/mods/mobs_monster/tree_monster.lua +++ b/mods/mobs_monster/tree_monster.lua @@ -1,6 +1,49 @@ local S = mobs.intllib +local tree_types = { + + { nodes = {"ethereal:sakura_leaves", "ethereal:sakura_leaves2"}, + skins = {"mobs_tree_monster5.png"}, + drops = { + {name = "default:stick", chance = 1, min = 1, max = 3}, + {name = "ethereal:sakura_leaves", chance = 1, min = 1, max = 2}, + {name = "ethereal:sakura_trunk", chance = 2, min = 1, max = 2}, + {name = "ethereal:sakura_tree_sapling", chance = 2, min = 0, max = 2}, + } + }, + + { nodes = {"ethereal:frost_leaves"}, + skins = {"mobs_tree_monster3.png"}, + drops = { + {name = "default:stick", chance = 1, min = 1, max = 3}, + {name = "ethereal:frost_leaves", chance = 1, min = 1, max = 2}, + {name = "ethereal:frost_tree", chance = 2, min = 1, max = 2}, + {name = "ethereal:crystal_spike", chance = 4, min = 0, max = 2}, + } + }, + + { nodes = {"ethereal:yellowleaves"}, + skins = {"mobs_tree_monster4.png"}, + drops = { + {name = "default:stick", chance = 1, min = 1, max = 3}, + {name = "ethereal:yellowleaves", chance = 1, min = 1, max = 2}, + {name = "ethereal:yellow_tree_sapling", chance = 2, min = 0, max = 2}, + {name = "ethereal:golden_apple", chance = 3, min = 0, max = 2}, + } + }, + + { nodes = {"default:acacia_bush_leaves"}, + skins = {"mobs_tree_monster6.png"}, + drops = { + {name = "tnt:gunpowder", chance = 1, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:coal_lump", chance = 3, min = 0, max = 3} + }, + explode = true + }, +} + -- Tree Monster (or Tree Gollum) by PilzAdam @@ -12,8 +55,8 @@ mobs:register_mob("mobs_monster:tree_monster", { --specific_attack = {"player", "mobs_animal:chicken"}, reach = 2, damage = 2, - hp_min = 7, - hp_max = 33, + hp_min = 20, + hp_max = 40, armor = 100, collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4}, visual = "mesh", @@ -64,13 +107,60 @@ mobs:register_mob("mobs_monster:tree_monster", { punch_start = 48, punch_end = 62, }, + + -- check surrounding nodes and spawn a specific tree monster + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #tree_types do + + tmp = tree_types[n] + + if tmp.explode and math.random(2) == 1 then return true end + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + if tmp.explode then + self.attack_type = "explode" + self.explosion_radius = 3 + self.explosion_timer = 3 + self.damage = 21 + self.reach = 3 + self.fear_height = 4 + self.water_damage = 2 + self.lava_damage = 15 + self.light_damage = 0 + self.makes_footstep_sound = false + self.runaway_from = {"mobs_animal:kitten"} + self.sounds = { + attack = "tnt_ignite", + explode = "tnt_explode", + fuse = "tnt_ignite" + } + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) if not mobs.custom_spawn_monster then mobs:spawn({ name = "mobs_monster:tree_monster", - nodes = {"default:leaves", "default:jungleleaves"}, + nodes = {"group:leaves"}, --{"default:leaves", "default:jungleleaves"}, max_light = 7, chance = 7000, min_height = 0, diff --git a/mods/mobs_redo/api.lua b/mods/mobs_redo/api.lua index c1ea9693..c1697d7e 100644 --- a/mods/mobs_redo/api.lua +++ b/mods/mobs_redo/api.lua @@ -8,7 +8,7 @@ local use_cmi = minetest.global_exists("cmi") mobs = { mod = "redo", - version = "20210206", + version = "20210310", intllib = S, invis = minetest.global_exists("invisibility") and invisibility or {} } @@ -1304,10 +1304,19 @@ local entity_physics = function(pos, radius) end +-- can mob see player +local is_invisible = function(self, player_name) + + if mobs.invis[player_name] and not self.ignore_invisibility then + return true + end +end + + -- should mob follow what I'm holding ? function mob_class:follow_holding(clicker) - if mobs.invis[clicker:get_player_name()] then + if is_invisible(self, clicker:get_player_name()) then return false end @@ -1898,7 +1907,7 @@ function mob_class:general_attack() if not damage_enabled or self.attack_players == false or (self.owner and self.type ~= "monster") - or mobs.invis[objs[n]:get_player_name()] + or is_invisible(self, objs[n]:get_player_name()) or (self.specific_attack and not check_for("player", self.specific_attack)) then objs[n] = nil @@ -1977,7 +1986,7 @@ function mob_class:do_runaway_from() pname = objs[n]:get_player_name() - if mobs.invis[pname] + if is_invisible(self, pname) or self.owner == pname then name = "" @@ -2042,7 +2051,7 @@ function mob_class:follow_flop() for n = 1, #players do if get_distance(players[n]:get_pos(), s) < self.view_range - and not mobs.invis[ players[n]:get_player_name() ] then + and not is_invisible(self, players[n]:get_player_name()) then self.following = players[n] @@ -2340,7 +2349,7 @@ function mob_class:do_states(dtime) or not self.attack:get_pos() or self.attack:get_hp() <= 0 or (self.attack:is_player() - and mobs.invis[ self.attack:get_player_name() ]) then + and is_invisible(self, self.attack:get_player_name())) then --print(" ** stop attacking **", dist, self.view_range) @@ -2992,7 +3001,7 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir, damage) and self.child == false and self.attack_players == true and hitter:get_player_name() ~= self.owner - and not mobs.invis[ name ] + and not is_invisible(self, name) and self.object ~= hitter then -- attack whoever punched mob @@ -3615,6 +3624,7 @@ minetest.register_entity(name, setmetatable({ pushable = def.pushable, stay_near = def.stay_near, randomly_turn = def.randomly_turn ~= false, + ignore_invisibility = def.ignore_invisibility, on_spawn = def.on_spawn, @@ -4643,7 +4653,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame) -- deduct 10% of the time to adulthood self.hornytimer = self.hornytimer + ( (CHILD_GROW_TIME - self.hornytimer) * 0.1) -print ("====", self.hornytimer) +--print ("====", self.hornytimer) return true end diff --git a/mods/mobs_redo/api.txt b/mods/mobs_redo/api.txt index 70018915..2b3351c3 100644 --- a/mods/mobs_redo/api.txt +++ b/mods/mobs_redo/api.txt @@ -131,6 +131,8 @@ functions needed for the mob to work properly which contains the following: e.g. {"player", "mobs_animal:chicken"}. 'runaway_from' contains a table with mob names to run away from, add "player" to list to runaway from player also. + 'ignore_invisibility' When true mob will still be able to see and attack + player even if invisible (invisibility mod only). 'blood_amount' contains the number of blood droplets to appear when mob is hit. 'blood_texture' has the texture name to use for droplets e.g. diff --git a/mods/mobs_sky/mobs_birds/License.txt b/mods/mobs_sky/mobs_birds/License.txt index 3286a757..4bbb4d01 100644 --- a/mods/mobs_sky/mobs_birds/License.txt +++ b/mods/mobs_sky/mobs_birds/License.txt @@ -1,5 +1,7 @@ Licenses +Code: MIT + Model and textures: CC-BY-SA 3.0, Author sapier - URL: http://creativecommons.org/licenses/by-sa/3.0/de/legalcode \ No newline at end of file + URL: http://creativecommons.org/licenses/by-sa/3.0/de/legalcode diff --git a/mods/mobs_sky/mobs_birds/init.lua b/mods/mobs_sky/mobs_birds/init.lua index 706b4074..c36fa075 100644 --- a/mods/mobs_sky/mobs_birds/init.lua +++ b/mods/mobs_sky/mobs_birds/init.lua @@ -1,52 +1,20 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_birds] mobs redo API not found!") - return -end - -- local variables -local l_skins_gull = { - {"animal_gull_mesh.png"}, - {"gull_black.png"}, - {"gull_gray.png"}, - {"gull_grayblue.png"} -} -local l_skins_bird = { - {"bird_blueish.png"}, - {"bird_brown.png"}, - {"bird_gray.png"}, - {"bird_grayblue.png"}, - {"bird_red.png"}, - {"bird_redish.png"} -} -local l_anims = { - speed_normal = 24, speed_run = 24, - stand_start = 1, stand_end = 95, - walk_start = 1, walk_end = 95, - run_start = 1, run_end = 95 -} -local l_model = "animal_gull.b3d" -local l_egg_texture = "default_cloud.png" -local l_capture_chance_h = 5 -local l_capture_chance_n = 60 -local l_spawn_in = {"air"} -local l_spawn_near_gull = {"default:water_source", "default:water_flowing"} -local l_spawn_near_bird = { - "default:leaves", "default:pine_needles", - "default:jungleleaves", "default:cactus" -} local l_spawn_chance_gull = 24000 local l_spawn_chance_bird = 36000 -- load settings dofile(minetest.get_modpath("mobs_birds").."/SETTINGS.txt") + if not ENABLE_LARGE_BIRDS then l_spawn_chance_bird = l_spawn_chance_bird - 18000 end + if not ENABLE_SMALL_BIRDS then l_spawn_chance_bird = l_spawn_chance_bird - 18000 end + -- gulls if ENABLE_GULLS then @@ -58,8 +26,13 @@ if ENABLE_GULLS then armor = 100, collisionbox = {-1, -0.3, -1, 1, 0.3, 1}, visual = "mesh", - mesh = l_model, - textures = l_skins_gull, + mesh = "animal_gull.b3d", + textures = { + {"animal_gull_mesh.png"}, + {"gull_black.png"}, + {"gull_gray.png"}, + {"gull_grayblue.png"} + }, rotate = 270, walk_velocity = 4, run_velocity = 6, @@ -71,24 +44,29 @@ if ENABLE_GULLS then lava_damage = 10, light_damage = 0, view_range = 14, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 1, stand_end = 95, + walk_start = 1, walk_end = 95, + run_start = 1, run_end = 95 + }, on_rightclick = function(self, clicker) - mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil) + mobs:capture_mob(self, clicker, 5, 60, 0, true, nil) end }) mobs:spawn({ name = "mobs_birds:gull", - nodes = l_spawn_in, - neighbors = l_spawn_near_gull, + nodes = {"air"}, + neighbors = {"default:water_source", "default:water_flowing"}, max_light = 5, interval = 30, chance = l_spawn_chance_gull, min_height = 0, - max_height = 200, + max_height = 200 }) - mobs:register_egg("mobs_birds:gull", "Gull", l_egg_texture, 1) + mobs:register_egg("mobs_birds:gull", "Gull", "default_cloud.png", 1) end -- large birds @@ -102,8 +80,15 @@ if ENABLE_LARGE_BIRDS then armor = 100, collisionbox = {-0.5, -0.3, -0.5, 0.5, 0.3, 0.5}, visual = "mesh", - mesh = l_model, - textures = l_skins_bird, + mesh = "animal_gull.b3d", + textures = { + {"bird_blueish.png"}, + {"bird_brown.png"}, + {"bird_gray.png"}, + {"bird_grayblue.png"}, + {"bird_red.png"}, + {"bird_redish.png"} + }, visual_size = {x = .5, y = .5}, rotate = 270, walk_velocity = 4, @@ -116,24 +101,32 @@ if ENABLE_LARGE_BIRDS then lava_damage = 10, light_damage = 0, view_range = 12, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 1, stand_end = 95, + walk_start = 1, walk_end = 95, + run_start = 1, run_end = 95 + }, on_rightclick = function(self, clicker) - mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil) + mobs:capture_mob(self, clicker, 5, 60, 0, true, nil) end }) mobs:spawn({ name = "mobs_birds:bird_lg", - nodes = l_spawn_in, - neighbors = l_spawn_near_bird, + nodes = {"air"}, + neighbors = { + "default:leaves", "default:pine_needles", + "default:jungleleaves", "default:cactus" + }, max_light = 5, interval = 30, chance = l_spawn_chance_bird, min_height = 0, - max_height = 200, + max_height = 200 }) - mobs:register_egg("mobs_birds:bird_lg", "Large bird", l_egg_texture, 1) + mobs:register_egg("mobs_birds:bird_lg", "Large bird", "default_cloud.png", 1) end -- small birds @@ -147,8 +140,15 @@ if ENABLE_SMALL_BIRDS then armor = 100, collisionbox = {-0.25, -0.3, -0.25, 0.25, 0.3, 0.25}, visual = "mesh", - mesh = l_model, - textures = l_skins_bird, + mesh = "animal_gull.b3d", + textures = { + {"bird_blueish.png"}, + {"bird_brown.png"}, + {"bird_gray.png"}, + {"bird_grayblue.png"}, + {"bird_red.png"}, + {"bird_redish.png"} + }, visual_size = {x = .25, y = .25}, rotate = 270, walk_velocity = 4, @@ -161,22 +161,30 @@ if ENABLE_SMALL_BIRDS then lava_damage = 10, light_damage = 0, view_range = 10, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 1, stand_end = 95, + walk_start = 1, walk_end = 95, + run_start = 1, run_end = 95 + }, on_rightclick = function(self, clicker) - mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil) + mobs:capture_mob(self, clicker, 5, 60, 0, true, nil) end }) mobs:spawn({ name = "mobs_birds:bird_sm", - nodes = l_spawn_in, - neighbors = l_spawn_near_bird, + nodes = {"air"}, + neighbors = { + "default:leaves", "default:pine_needles", + "default:jungleleaves", "default:cactus" + }, max_light = 5, interval = 30, chance = l_spawn_chance_bird, min_height = 0, - max_height = 200, + max_height = 200 }) - mobs:register_egg("mobs_birds:bird_sm", "Small bird", l_egg_texture, 1) + mobs:register_egg("mobs_birds:bird_sm", "Small bird", "default_cloud.png", 1) end diff --git a/mods/mobs_sky/mobs_butterfly/License.txt b/mods/mobs_sky/mobs_butterfly/License.txt index 11d92897..f14a0d4c 100644 --- a/mods/mobs_sky/mobs_butterfly/License.txt +++ b/mods/mobs_sky/mobs_butterfly/License.txt @@ -1,6 +1,6 @@ Licenses -Model/Textures: unknown -Author: AspireMint +Code: MIT +Model/Textures: CC-BY-SA 3.0, Author AspireMint texture modification by: blert2112 diff --git a/mods/mobs_sky/mobs_butterfly/init.lua b/mods/mobs_sky/mobs_butterfly/init.lua index 004b830c..8b7458da 100644 --- a/mods/mobs_sky/mobs_butterfly/init.lua +++ b/mods/mobs_sky/mobs_butterfly/init.lua @@ -1,9 +1,4 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_butterfly] mobs redo API not found!") - return -end - -- local variables local l_skins = { {"bf1.png^bf2.png^bf3.png^bf4.png^bf5.png"}, @@ -13,6 +8,7 @@ local l_skins = { {"(bf1.png^[colorize:pink)^(bf2.png^[colorize:white)^(bf3.png^[colorize:blue)^(bf4.png^[colorize:orange)^(bf5.png^[colorize:gray)"}, {"(bf1.png^[colorize:darkgreen)^(bf2.png^[colorize:brown)^(bf3.png^[colorize:black)^(bf4.png^[colorize:darkgray)^(bf5.png^[colorize:red)"} } + local l_spawnnear = {"group:flower"} local l_spawnchance = 20000 @@ -39,15 +35,18 @@ mobs:register_mob("mobs_butterfly:butterfly", { animation = { speed_normal = 15, speed_run = 30, stand_start = 0, stand_end = 90, - walk_start = 0, walk_end = 90, + walk_start = 0, walk_end = 90 }, after_activate = function(self, staticdata, def, dtime) + if minetest.get_modpath("butterflies") then + local pos = self.object:get_pos() local butter = {"white", "red", "violet"} - local replace = "butterflies:butterfly_" - .. butter[math.random(1, #butter)] - minetest.set_node(pos, {name = replace}) + local replace = "butterflies:butterfly_" .. butter[math.random(1, #butter)] + + minetest.set_node(pos, {name = replace}) + self.object:remove() end end diff --git a/mods/mobs_sky/mobs_butterfly/textures/original/mobf_butterfly.png b/mods/mobs_sky/mobs_butterfly/textures/original/mobf_butterfly.png deleted file mode 100644 index c191f270..00000000 Binary files a/mods/mobs_sky/mobs_butterfly/textures/original/mobf_butterfly.png and /dev/null differ diff --git a/mods/mobs_water/mobs_crocs/License.txt b/mods/mobs_water/mobs_crocs/License.txt index eb859b6b..6025dea5 100644 --- a/mods/mobs_water/mobs_crocs/License.txt +++ b/mods/mobs_water/mobs_crocs/License.txt @@ -1,4 +1,5 @@ Licenses +Code: MIT Model/Textures: GPL v3 Author: Team NPX diff --git a/mods/mobs_water/mobs_crocs/init.lua b/mods/mobs_water/mobs_crocs/init.lua index 61fb5c96..14a993a9 100644 --- a/mods/mobs_water/mobs_crocs/init.lua +++ b/mods/mobs_water/mobs_crocs/init.lua @@ -1,26 +1,5 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_crocs] mobs redo API not found!") - return -end - -- local variables -local l_skins = { - {"croco.png"}, - {"croco2.png"} -} - -local l_anims = { - speed_normal = 24, speed_run = 24, - stand_start = 0, stand_end = 80, - walk_start = 81, walk_end = 170, - run_start = 81, run_end = 170, - punch_start = 205, punch_end = 220 -} - -local l_model = "crocodile.x" -local l_sounds = {random = "croco"} -local l_egg_texture = "default_grass.png" local l_spawn_chance = 60000 -- load settings @@ -31,9 +10,11 @@ local ENABLE_SWIMMERS = minetest.settings:get_bool("mobs_crocs.enable_swimmers", if not ENABLE_WALKERS then l_spawn_chance = l_spawn_chance - 20000 end + if not ENABLE_FLOATERS then l_spawn_chance = l_spawn_chance - 20000 end + if not ENABLE_SWIMMERS then l_spawn_chance = l_spawn_chance - 20000 end @@ -52,10 +33,13 @@ if ENABLE_WALKERS then collisionbox = {-0.85, -0.30, -0.85, 0.85, 1.5, 0.85}, drawtype = "front", visual = "mesh", - mesh = l_model, - textures = l_skins, + mesh = "crocodile.x", + textures = { + {"croco.png"}, + {"croco2.png"} + }, visual_size = {x = 4, y = 4}, - sounds = l_sounds, + sounds = {random = "croco"}, fly = false, floats = 0, stepheight = 1, @@ -63,7 +47,13 @@ if ENABLE_WALKERS then water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 0, stand_end = 80, + walk_start = 81, walk_end = 170, + run_start = 81, run_end = 170, + punch_start = 205, punch_end = 220 + }, drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, {name = "mobs:leather", chance = 1, min = 0, max = 2}, @@ -86,7 +76,7 @@ if ENABLE_WALKERS then max_height = 10, }) - mobs:register_egg("mobs_crocs:crocodile", "Crocodile", l_egg_texture, 1) + mobs:register_egg("mobs_crocs:crocodile", "Crocodile", "default_grass.png", 1) end -- float @@ -103,17 +93,26 @@ if ENABLE_FLOATERS then collisionbox = {-0.638, -0.23, -0.638, 0.638, 1.13, 0.638}, drawtype = "front", visual = "mesh", - mesh = l_model, - textures = l_skins, + mesh = "crocodile.x", + textures = { + {"croco.png"}, + {"croco2.png"} + }, visual_size = {x = 3, y = 3}, - sounds = l_sounds, + sounds = {random = "croco"}, fly = false, stepheight = 1, view_range = 10, water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 0, stand_end = 80, + walk_start = 81, walk_end = 170, + run_start = 81, run_end = 170, + punch_start = 205, punch_end = 220 + }, drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, {name = "mobs:leather", chance = 1, min = 0, max = 2}, @@ -135,7 +134,7 @@ if ENABLE_FLOATERS then }) mobs:register_egg("mobs_crocs:crocodile_float", "Crocodile (floater)", - l_egg_texture, 1) + "default_grass.png", 1) end -- swim @@ -152,10 +151,13 @@ if ENABLE_SWIMMERS then collisionbox = {-0.425, -0.15, -0.425, 0.425, 0.75, 0.425}, drawtype = "front", visual = "mesh", - mesh = l_model, - textures = l_skins, + mesh = "crocodile.x", + textures = { + {"croco.png"}, + {"croco2.png"} + }, visual_size = {x = 2, y = 2}, - sounds = l_sounds, + sounds = {random = "croco"}, fly = true, fly_in = "default:water_source", fall_speed = -1, @@ -164,7 +166,13 @@ if ENABLE_SWIMMERS then water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, speed_run = 24, + stand_start = 0, stand_end = 80, + walk_start = 81, walk_end = 170, + run_start = 81, run_end = 170, + punch_start = 205, punch_end = 220 + }, drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, {name = "mobs:leather", chance = 1, min = 0, max = 2}, @@ -182,5 +190,5 @@ if ENABLE_SWIMMERS then }) mobs:register_egg("mobs_crocs:crocodile_swim", "Crocodile (swimmer)", - l_egg_texture, 1) + "default_grass.png", 1) end diff --git a/mods/mobs_water/mobs_fish/License.txt b/mods/mobs_water/mobs_fish/License.txt index 76852f6b..e1b8defb 100644 --- a/mods/mobs_water/mobs_fish/License.txt +++ b/mods/mobs_water/mobs_fish/License.txt @@ -1,5 +1,6 @@ Licenses +Code: MIT Model/Textures: CC-BY-SA 3.0 Author: Sapier diff --git a/mods/mobs_water/mobs_fish/init.lua b/mods/mobs_water/mobs_fish/init.lua index ede688ca..11643e97 100644 --- a/mods/mobs_water/mobs_fish/init.lua +++ b/mods/mobs_water/mobs_fish/init.lua @@ -1,33 +1,9 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_fish] mobs redo API not found!") - return -end - -local SPRITE_VERSION = false -- set to true to use upright sprites instead of meshes +local SPRITE_VERSION = false -- set to true to use upright sprites instead of meshes -- local variables -local l_spawn_in = { - "default:water_source", "default:water_flowing", - "default:river_water_source", "default:river_water_flowing" -} -local l_spawn_near = { - "default:sand","default:dirt","group:seaplants","group:seacoral" -} local l_spawn_chance = 10000 -local l_cc_hand = 25 -local l_cc_net = 80 local l_water_level = minetest.settings:get("water_level") - 1 -local l_anims = { - speed_normal = 24, - speed_run = 24, - stand_start = 1, - stand_end = 80, - walk_start = 81, - walk_end = 155, - run_start = 81, - run_end = 155 -} local l_visual = "mesh" local l_visual_size = {x = .75, y = .75} local l_clown_mesh = "animal_clownfish.b3d" @@ -71,14 +47,25 @@ mobs:register_mob("mobs_fish:clownfish", { fall_speed = 0, view_range = 8, water_damage = 0, - air_damage = 1, + air_damage = 0, lava_damage = 5, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 80, + walk_start = 81, + walk_end = 155, + run_start = 81, + run_end = 155 + }, + on_rightclick = function(self, clicker) - mobs:capture_mob(self, clicker, l_cc_hand, l_cc_net, 0, true, + mobs:capture_mob(self, clicker, 25, 80, 0, true, "mobs_fish:clownfish") end, + on_flop = function(self) -- print("=== am on land, help!", self.state) @@ -97,8 +84,13 @@ mobs:register_mob("mobs_fish:clownfish", { mobs:spawn({ name = "mobs_fish:clownfish", - nodes = l_spawn_in, - neighbors = l_spawn_near, + nodes = { + "default:water_source", "default:water_flowing", + "default:river_water_source", "default:river_water_flowing" + }, + neighbors = { + "default:sand","default:dirt","group:seaplants","group:seacoral" + }, min_light = 5, interval = 30, chance = l_spawn_chance, @@ -131,12 +123,23 @@ mobs:register_mob("mobs_fish:tropical", { water_damage = 0, lava_damage = 5, light_damage = 0, - air_damage = 1, - animation = l_anims, + air_damage = 0, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 80, + walk_start = 81, + walk_end = 155, + run_start = 81, + run_end = 155 + }, + on_rightclick = function(self, clicker) - mobs:capture_mob(self, clicker, l_cc_hand, l_cc_net, 0, true, + mobs:capture_mob(self, clicker, 25, 80, 0, true, "mobs_fish:tropical") end, + on_flop = function(self) -- print("=== am on land, help!", self.state) @@ -155,8 +158,13 @@ mobs:register_mob("mobs_fish:tropical", { mobs:spawn({ name = "mobs_fish:tropical", - nodes = l_spawn_in, - neighbors = l_spawn_near, + nodes = { + "default:water_source", "default:water_flowing", + "default:river_water_source", "default:river_water_flowing" + }, + neighbors = { + "default:sand","default:dirt","group:seaplants","group:seacoral" + }, min_light = 5, interval = 30, chance = l_spawn_chance, diff --git a/mods/mobs_water/mobs_jellyfish/License.txt b/mods/mobs_water/mobs_jellyfish/License.txt index f10d72fd..680a3c74 100644 --- a/mods/mobs_water/mobs_jellyfish/License.txt +++ b/mods/mobs_water/mobs_jellyfish/License.txt @@ -1,5 +1,6 @@ Licenses +Code: MIT Model/Textures: WTFPL Author: blert2112 @@ -18,4 +19,3 @@ Author: blert2112 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. - \ No newline at end of file diff --git a/mods/mobs_water/mobs_jellyfish/init.lua b/mods/mobs_water/mobs_jellyfish/init.lua index c7f6c132..f1e56170 100644 --- a/mods/mobs_water/mobs_jellyfish/init.lua +++ b/mods/mobs_water/mobs_jellyfish/init.lua @@ -1,18 +1,14 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_jellyfish] mobs redo API not found!") - return -end - mobs:register_mob("mobs_jellyfish:jellyfish", { type = "animal", attack_type = "dogfight", + passive = false, damage = 5, reach = 1, hp_min = 5, hp_max = 10, armor = 100, - collisionbox = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25}, + collisionbox = {-0.1, -0.25, -0.1, 0.1, 0.25, 0.1}, visual = "mesh", mesh = "jellyfish.b3d", textures = { @@ -28,6 +24,7 @@ mobs:register_mob("mobs_jellyfish:jellyfish", { water_damage = 0, lava_damage = 5, light_damage = 0, + on_rightclick = function(self, clicker) mobs:capture_mob(self, clicker, 80, 100, 0, true, "mobs_jellyfish:jellyfish") @@ -37,7 +34,7 @@ mobs:register_mob("mobs_jellyfish:jellyfish", { mobs:spawn({ name = "mobs_jellyfish:jellyfish", nodes = {"default:water_source"}, - neighbors = {"default:water_flowing","default:water_source"}, + neighbors = {"default:water_flowing", "default:water_source"}, min_light = 5, interval = 30, chance = 10000, diff --git a/mods/mobs_water/mobs_sharks/License.txt b/mods/mobs_water/mobs_sharks/License.txt index 0ce650a5..40cbb014 100644 --- a/mods/mobs_water/mobs_sharks/License.txt +++ b/mods/mobs_water/mobs_sharks/License.txt @@ -1,5 +1,6 @@ Licenses +Code: MIT Model/Textures: CC-BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/de/legalcode Author: Sapier diff --git a/mods/mobs_water/mobs_sharks/init.lua b/mods/mobs_water/mobs_sharks/init.lua index 00219561..1f73efcd 100644 --- a/mods/mobs_water/mobs_sharks/init.lua +++ b/mods/mobs_water/mobs_sharks/init.lua @@ -1,64 +1,41 @@ - -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_sharks] mobs redo API not found!") - return -end - -- local variables -local l_colors = { - "#604000:175", --brown - "#ffffff:150", --white - "#404040:150", --dark_grey - "#a0a0a0:150" --grey -} local l_skins = { { - "(shark_first.png^[colorize:" .. l_colors[3] - .. ")^(shark_second.png^[colorize:" .. l_colors[4] + "(shark_first.png^[colorize:#404040:150" -- dark grey + .. ")^(shark_second.png^[colorize:#a0a0a0:150" -- grey .. ")^shark_third.png" }, { - "(shark_first.png^[colorize:" .. l_colors[1] - .. ")^(shark_second.png^[colorize:" .. l_colors[2] + "(shark_first.png^[colorize:#604000:175" -- brown + .. ")^(shark_second.png^[colorize:#ffffff:150" -- white ..")^shark_third.png" }, { - "(shark_first.png^[colorize:" .. l_colors[4] - .. ")^(shark_second.png^[colorize:" .. l_colors[2] + "(shark_first.png^[colorize:#a0a0a0:150" -- grey + .. ")^(shark_second.png^[colorize:#ffffff:150" -- white .. ")^shark_third.png" } } -local l_anims = { - speed_normal = 24, - speed_run = 24, - stand_start = 1, - stand_end = 80, - walk_start = 80, - walk_end = 160, - run_start = 80, - run_end = 160 -} -local l_model = "mob_shark.b3d" -local l_egg_texture = "mob_shark_shark_item.png" -local l_spawn_in = {"default:water_flowing","default:water_source"} -local l_spawn_near = { - "default:water_flowing", "default:water_source", - "seawrecks:woodship", "seawrecks:uboot" -} + + local l_spawn_chance = 60000 -- load settings -dofile(minetest.get_modpath("mobs_sharks").."/SETTINGS.txt") +dofile(minetest.get_modpath("mobs_sharks") .. "/SETTINGS.txt") + if not ENABLE_SHARK_LARGE then l_spawn_chance = l_spawn_chance - 20000 end + if not ENABLE_SHARK_MEDIUM then l_spawn_chance = l_spawn_chance - 20000 end + if not ENABLE_SHARK_SMALL then l_spawn_chance = l_spawn_chance - 20000 end + -- large if ENABLE_SHARK_LARGE then @@ -72,7 +49,7 @@ if ENABLE_SHARK_LARGE then armor = 150, collisionbox = {-0.75, -0.5, -0.75, 0.75, 0.5, 0.75}, visual = "mesh", - mesh = l_model, + mesh = "mob_shark.b3d", textures = l_skins, makes_footstep_sound = false, walk_velocity = 4, @@ -85,7 +62,16 @@ if ENABLE_SHARK_LARGE then water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 80, + walk_start = 80, + walk_end = 160, + run_start = 80, + run_end = 160 + }, jump = false, stepheight = 0, drops = { @@ -95,14 +81,18 @@ if ENABLE_SHARK_LARGE then mobs:spawn({ name = "mobs_sharks:shark_lg", - nodes = l_spawn_in, - neighbors = l_spawn_near, + nodes = {"default:water_flowing","default:water_source"}, + neighbors = { + "default:water_flowing", "default:water_source", + "seawrecks:woodship", "seawrecks:uboot" + }, interval = 30, chance = l_spawn_chance, max_height = 0, }) - mobs:register_egg("mobs_sharks:shark_lg", "Shark (large)", l_egg_texture, 0) + mobs:register_egg("mobs_sharks:shark_lg", "Shark (large)", + "mob_shark_shark_item.png", 0) end -- medium @@ -119,7 +109,7 @@ if ENABLE_SHARK_MEDIUM then collisionbox = {-0.57, -0.38, -0.57, 0.57, 0.38, 0.57}, visual = "mesh", visual_size = {x = 0.75, y = 0.75}, - mesh = l_model, + mesh = "mob_shark.b3d", textures = l_skins, makes_footstep_sound = false, walk_velocity = 2, @@ -132,7 +122,16 @@ if ENABLE_SHARK_MEDIUM then water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 80, + walk_start = 80, + walk_end = 160, + run_start = 80, + run_end = 160 + }, jump = false, stepheight = 0, drops = { @@ -142,14 +141,18 @@ if ENABLE_SHARK_MEDIUM then mobs:spawn({ name = "mobs_sharks:shark_md", - nodes = l_spawn_in, - neighbors = l_spawn_near, + nodes = {"default:water_flowing","default:water_source"}, + neighbors = { + "default:water_flowing", "default:water_source", + "seawrecks:woodship", "seawrecks:uboot" + }, interval = 30, chance = l_spawn_chance, max_height = 0, }) - mobs:register_egg("mobs_sharks:shark_md", "Shark (medium)", l_egg_texture, 0) + mobs:register_egg("mobs_sharks:shark_md", "Shark (medium)", + "mob_shark_shark_item.png", 0) end -- small @@ -166,7 +169,7 @@ if ENABLE_SHARK_SMALL then collisionbox = {-0.38, -0.25, -0.38, 0.38, 0.25, 0.38}, visual = "mesh", visual_size = {x = 0.5, y = 0.5}, - mesh = l_model, + mesh = "mob_shark.b3d", textures = l_skins, makes_footstep_sound = false, walk_velocity = 2, @@ -179,7 +182,16 @@ if ENABLE_SHARK_SMALL then water_damage = 0, lava_damage = 10, light_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 80, + walk_start = 80, + walk_end = 160, + run_start = 80, + run_end = 160 + }, jump = false, stepheight = 0, drops = { @@ -189,12 +201,16 @@ if ENABLE_SHARK_SMALL then mobs:spawn({ name = "mobs_sharks:shark_sm", - nodes = l_spawn_in, - neighbors = l_spawn_near, + nodes = {"default:water_flowing","default:water_source"}, + neighbors = { + "default:water_flowing", "default:water_source", + "seawrecks:woodship", "seawrecks:uboot" + }, interval = 30, chance = l_spawn_chance, max_height = 0, }) - mobs:register_egg("mobs_sharks:shark_sm", "Shark (small)", l_egg_texture, 0) + mobs:register_egg("mobs_sharks:shark_sm", "Shark (small)", + "mob_shark_shark_item.png", 0) end diff --git a/mods/mobs_water/mobs_turtles/License.txt b/mods/mobs_water/mobs_turtles/License.txt index 2b26bffd..066c04dc 100644 --- a/mods/mobs_water/mobs_turtles/License.txt +++ b/mods/mobs_water/mobs_turtles/License.txt @@ -1,4 +1,5 @@ Licenses +Code: MIT Model/textures: unknown Author: AspireMint diff --git a/mods/mobs_water/mobs_turtles/init.lua b/mods/mobs_water/mobs_turtles/init.lua index b8443b21..57409396 100644 --- a/mods/mobs_water/mobs_turtles/init.lua +++ b/mods/mobs_water/mobs_turtles/init.lua @@ -1,40 +1,14 @@ -if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then - minetest.log("error", "[mobs_turtles] mobs redo API not found!") - return -end - -local l_colors = { - "#604000:175", --brown - "#604000:100", --brown2 - "#ffffff:150", --white - "#404040:150", --dark_grey - "#a0a0a0:150", --grey - "#808000:150", --olive - "#ff0000:150" --red -} local l_skins = { {"turtle1.png^turtle2.png^turtle3.png^turtle4.png" .. "^turtle5.png^turtle6.png^turtle7.png"}, - {"turtle1.png^(turtle2.png^[colorize:" .. l_colors[5] - .. ")^(turtle3.png^[colorize:" .. l_colors[4] - .. ")^(turtle4.png^[colorize:" .. l_colors[1] - .. ")^(turtle5.png^[colorize:" .. l_colors[2] - .. ")^(turtle6.png^[colorize:" .. l_colors[6] .. ")^turtle7.png"} + {"turtle1.png^(turtle2.png^[colorize:#a0a0a0:150" -- grey + .. ")^(turtle3.png^[colorize:#404040:150" -- dark grey + .. ")^(turtle4.png^[colorize:#604000:175" -- brown + .. ")^(turtle5.png^[colorize:#604000:100" -- brown 2 + .. ")^(turtle6.png^[colorize:#808000:150" .. ")^turtle7.png"} -- olive } -local l_anims = { - speed_normal = 24, - speed_run = 24, - stand_start = 1, - stand_end = 50, - walk_start = 60, - walk_end = 90, - run_start = 60, - run_end = 90, - hide_start = 95, - hide_end = 100 -} -local l_model = "mobf_turtle.x" + local l_spawn_chance = 30000 -- land turtle @@ -46,7 +20,7 @@ mobs:register_mob("mobs_turtles:turtle", { armor = 200, collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.35, 0.4}, visual = "mesh", - mesh = l_model, + mesh = "mobf_turtle.x", textures = l_skins, makes_footstep_sound = false, view_range = 8, @@ -60,21 +34,47 @@ mobs:register_mob("mobs_turtles:turtle", { lava_damage = 5, light_damage = 0, fall_damage = 1, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 50, + walk_start = 60, + walk_end = 90, + run_start = 60, + run_end = 90, + hide_start = 95, + hide_end = 100 + }, drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, }, follow = "farming:carrot", + on_rightclick = function(self, clicker) - self.state = "" + + self.state = "hide" -- was "" + mobs:set_velocity(self, 0) + self.object:set_animation( {x = self.animation.hide_start, y = self.animation.hide_end}, self.animation.speed_normal, 0) + minetest.after(5, function() - self.state = "stand" + if self and self.object then + self.state = "stand" + end end) + mobs:capture_mob(self, clicker, 0, 80, 100, true, nil) + end, + + do_custom = function(self, dtime) + + if self.state == "hide" then + mobs:set_velocity(self, 0) + end end }) @@ -108,7 +108,7 @@ mobs:register_mob("mobs_turtles:seaturtle", { collisionbox = {-0.8, 0.0, -0.8, 0.8, 0.7, 0.8}, visual = "mesh", visual_size = {x = 2, y = 2}, - mesh = l_model, + mesh = "mobf_turtle.x", textures = l_skins, makes_footstep_sound = false, view_range = 10, @@ -125,7 +125,18 @@ mobs:register_mob("mobs_turtles:seaturtle", { lava_damage = 5, light_damage = 0, fall_damage = 0, - animation = l_anims, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 1, + stand_end = 50, + walk_start = 60, + walk_end = 90, + run_start = 60, + run_end = 90, + hide_start = 95, + hide_end = 100 + }, drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, }, @@ -139,7 +150,7 @@ mobs:spawn({ nodes = {"default:water_flowing","default:water_source"}, neighbors = { "default:water_flowing", "default:water_source", "group:seaplants", - "seawrecks:woodship", "seawrecks:uboot" + "seawrecks:woodship", "seawrecks:uboot" }, min_light = 5, interval = 30, diff --git a/mods/more_chests/.luacheckrc b/mods/more_chests/.luacheckrc new file mode 100644 index 00000000..5ee1cab2 --- /dev/null +++ b/mods/more_chests/.luacheckrc @@ -0,0 +1,25 @@ +std = "lua51+minetest" +unused_args = false +allow_defined_top = true +max_line_length = 999 + +stds.minetest = { + read_globals = { + "minetest", + "VoxelManip", + "VoxelArea", + "PseudoRandom", + "ItemStack", + "default", + table = { + fields = { + "copy", + }, + }, + } +} + +read_globals = { + "pipeworks", +} + diff --git a/mods/more_chests/README.md b/mods/more_chests/README.md index d5dc1f18..9bc7c6ca 100644 --- a/mods/more_chests/README.md +++ b/mods/more_chests/README.md @@ -1,47 +1,80 @@ -more_chests -=========== +# more_chests +Originally a fork of 0gb.us's chests_0gb_us (https://forum.minetest.net/viewtopic.php?f=11&t=4366). +Megaf's more_chests fixes several bugs, uses new textures and adds compatibility with [VanessaE's Pipeworks] (https://github.com/VanessaE/pipeworks) mod. +nxet's rework introduces a new backend which allows for easier extension of the available models, including two new models showcasing the feature. -More Chests -This mod is a fork of 0gb.us's chests_0gb_us https://forum.minetest.net/viewtopic.php?f=11&t=4366 +### Available models +> NOTE: descriptions of the original models come from 0gb.us initial effort -Megaf's more_chests fixes several bugs, uses new textures and adds compatibility with [VanessaE's Pipeworks] (https://github.com/VanessaE/pipeworks) mod. +#### Cobble Chest +This locked chest looks like cobblestone, and has no info text. Great for hiding things in. However, unlike real cobblestone, this chest is breakable by hand. If you suspect there is one hiding, hold the left mouse button and run your hand along the walls. When cracks appear, you've found the chest. +1 | 2 | 3 +---|---|--- +default:wood | default:cobble | default:wood +default:cobble | default:steel_ingot | default:cobble +default:wood | default:cobble | default:wood -The following text was writen by 0gb.us -``` -Cobble Chest: -{'default:wood','default:cobble','default:wood'}, -{'default:cobble','default:steel_ingot','default:cobble'}, -{'default:wood','default:cobble','default:wood'} - -This locked chest looks like cobblestone, and has no info text. Great for hiding things in. However, unlike real cobblestone, this chest is breakable by hand. If you suspect there is one hiding, Hold the left mouse button, ant run your hand along the walls. When cracks appear, you've found the chest. - -Drop Box: -{'default:wood','','default:wood'}, -{'default:wood','default:steel_ingot','default:wood'}, -{'default:wood','default:wood','default:wood'} +#### Drop Box Anyone can put things in, but only the chest's placer can remove items. +1 | 2 | 3 +---|---|--- +default:wood | _empty_ | default:wood +default:wood | default:steel_ingot | default:wood +default:wood | default:wood | default:wood -Secret Chest: -{'default:wood','default:cobble','default:wood'}, -{'default:wood','default:steel_ingot','default:wood'}, -{'default:wood','default:wood','default:wood'} -As long as you remember to click “close” before you leave the chest, no one can see what the chest contains. Only the chest's owner can click “open” and “close” on the chest's formspec, revealing and hiding the chest's contents. +#### Secret Chest +As long as you remember to click "close" before you leave the chest, no one can see what the chest contains. Only the chest's owner can click "open" and "close" on the chest's formspec, revealing and hiding the chest's contents. +1 | 2 | 3 +---|---|--- +default:wood | default:cobble | default:wood +default:wood | default:steel_ingot | default:wood +default:wood | default:wood | default:wood -Shared Chest: -{'default:wood','default:leaves','default:wood'}, -{'default:wood','default:steel_ingot','default:wood'}, -{'default:wood','default:wood','default:wood'} +#### Shared Chest Exactly what it sounds like. The chest's placer can add people to the chest's shared list using the chest's formspec. Warning: anyone you add may empty the chest. When the chest is empty, it can be mined by anyone, just like a regular locked chest. +1 | 2 | 3 +---|---|--- +default:wood | default:leaves | default:wood +default:wood | default:steel_ingot | default:wood +default:wood | default:wood | default:wood -Wifi Chest - -{'default:wood','default:mese','default:wood'}, -{'default:wood','default:steel_ingot','default:wood'}, -{'default:wood','default:wood','default:wood'} +#### Wifi Chest A wacky chest that doesn't store it's items in the usual way, but instead, stores them remotely. For that reason, all wifi chests appear to have the same inventory. Due to not actually having an inventory, wifi chests can also be mined, even when they appear to have stuff in them. Lastly, as everyone gets their own wifi account, the items you see in the wifi chest are not the same items anyone else sees. This chest's properties make it nice for keeping secrets, as well as essentially almost doubling your inventory space, if you choose to carry one with you. -``` +1 | 2 | 3 +---|---|--- +default:wood | default:mese | default:wood +default:wood | default:steel_ingot | default:wood +default:wood | default:wood | default:wood + + +#### Fridge +A new model which comes in two forms, 1- and 2-block tall, which indeed have different sizes inventories. No fancy functionality here, I just wanted to know at a glance which one is the chest I'm storing food into. + +###### Fridge Recipe +1 | 2 | 3 +---|---|--- +_empty_ | default:steel_ingot | _empty_ +default:steel_ingot | default:ice | default:steel_ingot +_empty_ | default:steel_ingot | _empty_ + +###### Big Fridge Recipe +1 | 2 | 3 +---|---|--- +default:steel_ingot | default:steel_ingot | default:steel_ingot +default:steel_ingot | default:ice | default:steel_ingot +default:steel_ingot | default:steel_ingot | default:steel_ingot + + +#### Toolbox +This model has no particular functionality to offer other than giving your tools' chest a new look. As a bonus you can also craft the chest with different types of wood, which will give you different results. For the fanciest garage workshop you ever built on Minetest. +1 | 2 | 3 +---|---|--- +default:wood | default:wood | default:wood +default:wood | default:pickaxe | default:wood +default:wood | default:wood | default:wood +> Note: crafting also accepts Aspen, Acacia, Junglewood, Pine and Steel instead of wood diff --git a/mods/more_chests/cobble.lua b/mods/more_chests/cobble.lua deleted file mode 100644 index 6bb2c4c1..00000000 --- a/mods/more_chests/cobble.lua +++ /dev/null @@ -1,115 +0,0 @@ --- Load support for translation. -local S = minetest.get_translator("more_chests") - -local function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true -end - -minetest.register_node("more_chests:cobble", { - description = S("Cobble Chest"), - tiles = {"default_cobble.png", "default_cobble.png", "default_cobble.png", - "default_cobble.png", "default_cobble.png", "cobblechest_front.png"}, - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1}, --- First attempt to add a way to connect to pipeworks. - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - input_inventory = "main", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,9]".. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_name;main;0,0.3;8,4;]".. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[current_name;main]".. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85)) - meta:set_string("owner", "") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a locked chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in locked chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to locked chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from locked chest at "..minetest.pos_to_string(pos)) - end, -}) - -minetest.register_craft({ - output = 'more_chests:cobble', - recipe = { - {'default:wood','default:cobble','default:wood'}, - {'default:cobble','default:steel_ingot','default:cobble'}, - {'default:wood','default:cobble','default:wood'} - } -}) diff --git a/mods/more_chests/dropbox.lua b/mods/more_chests/dropbox.lua deleted file mode 100644 index a8f16de4..00000000 --- a/mods/more_chests/dropbox.lua +++ /dev/null @@ -1,113 +0,0 @@ --- Load support for translation. -local S = minetest.get_translator("more_chests") -local DS = minetest.get_translator("default") - -local function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true -end - -minetest.register_node("more_chests:dropbox", { - description = S("Dropbox"), - tiles = {"dropbox_top.png", "dropbox_top.png", "dropbox_side.png", - "dropbox_side.png", "dropbox_side.png", "dropbox_front.png"}, - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1}, --- Pipeworks - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - input_inventory = "main", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", S("@1 (owned by @2)", - S("Dropbox"), - meta:get_string("owner"))) - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,9]".. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_name;main;0,0.3;8,4;]".. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[current_name;main]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85)) - meta:set_string("infotext", DS("Chest")) - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a dropbox belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if has_locked_chest_privilege(meta, player) then - return stack:get_count() - end - local target = meta:get_inventory():get_list(listname)[index] - local target_name = target:get_name() - local stack_count = stack:get_count() - if target_name == stack:get_name() - and target:get_count() < stack_count then - return stack_count - end - if target_name ~= "" then - return 0 - end - return stack_count - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in dropbox at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to dropbox at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from dropbox at "..minetest.pos_to_string(pos)) - end, -}) - -minetest.register_craft({ - output = 'more_chests:dropbox', - recipe = { - {'default:wood','','default:wood'}, - {'default:wood','default:steel_ingot','default:wood'}, - {'default:wood','default:wood','default:wood'} - } -}) diff --git a/mods/more_chests/init.lua b/mods/more_chests/init.lua index 5b161ecb..b1e85a08 100644 --- a/mods/more_chests/init.lua +++ b/mods/more_chests/init.lua @@ -1,7 +1,11 @@ -dofile(minetest.get_modpath("more_chests").."/cobble.lua") -dofile(minetest.get_modpath("more_chests").."/dropbox.lua") -dofile(minetest.get_modpath("more_chests").."/secret.lua") -dofile(minetest.get_modpath("more_chests").."/shared.lua") -dofile(minetest.get_modpath("more_chests").."/wifi.lua") -dofile(minetest.get_modpath("more_chests").."/aliases.lua") +dofile(minetest.get_modpath("more_chests").."/models/cobble.lua") +dofile(minetest.get_modpath("more_chests").."/models/dropbox.lua") +dofile(minetest.get_modpath("more_chests").."/models/fridge.lua") +dofile(minetest.get_modpath("more_chests").."/models/secret.lua") +dofile(minetest.get_modpath("more_chests").."/models/shared.lua") +dofile(minetest.get_modpath("more_chests").."/models/toolbox.lua") +dofile(minetest.get_modpath("more_chests").."/models/wifi.lua") +dofile(minetest.get_modpath("more_chests").."/utils/aliases.lua") + +print ("[MOD] more_chests loaded") diff --git a/mods/more_chests/locale/more_chests.fr.tr b/mods/more_chests/locale/more_chests.fr.tr index 1fe8fa1a..002f8d95 100644 --- a/mods/more_chests/locale/more_chests.fr.tr +++ b/mods/more_chests/locale/more_chests.fr.tr @@ -1,11 +1,17 @@ # textdomain: more_chests Cobble Chest=Coffre en pierre taillée Dropbox=Boîte de dépôt +Fridge=Réfrigérateur +Big Fridge=Grand réfrigérateur Secret Chest=Coffre secret Shared Chest=Coffre partagé Wifi Chest=Coffre wifi - - +Wooden Toolbox=Boîte à outils en bois +Aspen Wood Toolbox=Boîte à outils en bois de tremble +Acacia Wood Toolbox=Boîte à outils en bois d’acacia +Junglewood Toolbox=Boîte à outils en bois de la jungle +Pine Wood Toolbox=Boîte à outils en bois de pin +Steel Toolbox=Boîte à outils en acier @1 (owned by @2)=@1 (appartient à @2) Shared with (separate names with spaces)=Partagé avec (séparez les noms avec des espaces) submit=valider diff --git a/mods/more_chests/locale/more_chests.it.tr b/mods/more_chests/locale/more_chests.it.tr new file mode 100644 index 00000000..740616e5 --- /dev/null +++ b/mods/more_chests/locale/more_chests.it.tr @@ -0,0 +1,17 @@ +# textdomain: more_chests +Cobble Chest=Baule in ciottoli +Dropbox=Baule Donazioni +Fridge=Frigorifero +Big Fridge=Frigorifero Grande +Secret Chest=Baule Segreto +Shared Chest=Baule Condiviso +Wifi Chest=Baule WiFi +Wooden Toolbox=Scatola degli attrezzi in legno +Aspen Wood Toolbox=Scatola degli attrezzi in legno di pioppo +Acacia Wood Toolbox=Scatola degli attrezzi in legno di acacia +Junglewood Toolbox=Scatola degli attrezzi in legno di jungla +Pine Wood Toolbox=Scatola degli attrezzi in legno di pino +Steel Toolbox=Scatola degli attrezzi in acciaio +@1 (owned by @2)=@1 (di proprietà di @2) +Shared with (separate names with spaces)=Condiviso con (separa i nomi con degli spazi) +submit=invia diff --git a/mods/more_chests/locale/template.txt b/mods/more_chests/locale/template.txt index d95f7b1a..5784d43a 100644 --- a/mods/more_chests/locale/template.txt +++ b/mods/more_chests/locale/template.txt @@ -1,6 +1,17 @@ # textdomain: more_chests -Secret Chest= -Wifi Chest= Cobble Chest= -Shared Chest= Dropbox= +Fridge= +Big Fridge= +Secret Chest= +Shared Chest= +Wifi Chest= +Wooden Toolbox= +Aspen Wood Toolbox= +Acacia Wood Toolbox= +Junglewood Toolbox= +Pine Wood Toolbox= +Steel Toolbox= +@1 (owned by @2)= +Shared with (separate names with spaces)= +submit= diff --git a/mods/more_chests/models/cobble.lua b/mods/more_chests/models/cobble.lua new file mode 100644 index 00000000..8c271839 --- /dev/null +++ b/mods/more_chests/models/cobble.lua @@ -0,0 +1,25 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local S = minetest.get_translator("more_chests") + +local cobble = gen_def({ + description = S("Cobble Chest"), + type = "chest", + size = "small", + tiles = { + top = "default_cobble.png", + side = "default_cobble.png", + front = "cobblechest_front.png" + }, + pipeworks_enabled = true +}) + + +minetest.register_node("more_chests:cobble", cobble) +minetest.register_craft({ + output = "more_chests:cobble", + recipe = { + {"group:wood", "default:cobble", "group:wood"}, + {"default:cobble", "default:steel_ingot", "default:cobble"}, + {"group:wood", "default:cobble", "group:wood"} + } +}) diff --git a/mods/more_chests/models/dropbox.lua b/mods/more_chests/models/dropbox.lua new file mode 100644 index 00000000..65a1f0de --- /dev/null +++ b/mods/more_chests/models/dropbox.lua @@ -0,0 +1,44 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local actions = dofile(minetest.get_modpath("more_chests") .. "/utils/actions.lua") +local S = minetest.get_translator("more_chests") + +local dropbox = gen_def({ + description = S("Dropbox"), + type = "dropbox", + size = "small", + tiles = { + top = "dropbox_top.png", + side = "dropbox_side.png", + front = "dropbox_front.png" + }, + pipeworks_enabled = true, + allow_metadata_inventory_move = false, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if actions.has_locked_chest_privilege(meta, player) then + return stack:get_count() + end + local target = meta:get_inventory():get_list(listname)[index] + local target_name = target:get_name() + local stack_count = stack:get_count() + if target_name == stack:get_name() + and target:get_count() < stack_count then + return stack_count + end + if target_name ~= "" then + return 0 + end + return stack_count + end +}) + + +minetest.register_node("more_chests:dropbox", dropbox) +minetest.register_craft({ + output = "more_chests:dropbox", + recipe = { + {"group:wood", "", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + } +}) diff --git a/mods/more_chests/models/fridge.lua b/mods/more_chests/models/fridge.lua new file mode 100644 index 00000000..0848e591 --- /dev/null +++ b/mods/more_chests/models/fridge.lua @@ -0,0 +1,49 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local S = minetest.get_translator("more_chests") + +-- TODO model open + +-- normal fridge +local fridge = gen_def({ + description = S("Fridge"), + type = "fridge", + size = "small", + tiles = { + side = "fridge_side.png", + front = "fridge_front.png", + }, +}) + +minetest.register_node("more_chests:fridge", fridge) +minetest.register_craft({ + output = "more_chests:fridge", + recipe = { + {"", "default:steel_ingot", ""}, + {"default:steel_ingot", "default:ice", "default:steel_ingot"}, + {"", "default:steel_ingot", ""} + } +}) + +-- big fridge +local big_fridge = gen_def({ + description = S("Big Fridge"), + type = "fridge", + size = "big", + node_box = { + {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}, + }, + tiles = { + side = "fridge_side.png", + front = "fridge_front.png", + }, +}) + +minetest.register_node("more_chests:big_fridge", big_fridge) +minetest.register_craft({ + output = "more_chests:big_fridge", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:ice", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"} + } +}) diff --git a/mods/more_chests/models/secret.lua b/mods/more_chests/models/secret.lua new file mode 100644 index 00000000..5a32eda6 --- /dev/null +++ b/mods/more_chests/models/secret.lua @@ -0,0 +1,53 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local actions = dofile(minetest.get_modpath("more_chests") .. "/utils/actions.lua") +local S = minetest.get_translator("more_chests") + +local open = "size[8,10]".. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[current_name;main;0,0.3;8,4;]" .. + "list[current_player;main;0,4.85;8,1;]" .. + "list[current_player;main;0,6.08;8,3;8]" .. + "listring[current_name;main]" .. + "listring[current_player;main]" .. + "button[3,9;2,1;open;close]" .. + default.get_hotbar_bg(0,4.85) + +local closed = "size[2,1]" .. + "button[0,0;2,1;open;open]" + +local secret = gen_def({ + description = S("Secret Chest"), + type = "secret chest", + size = "small", + tiles = { + top = "secret_top.png", + side = "secret_side.png", + front = "secret_front.png" + }, + formspec = open, + pipeworks_enabled = true, +}) + +secret.on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + if actions.has_locked_chest_privilege(meta, sender) then + if fields.open == "open" then + meta:set_string("formspec", open) + else + meta:set_string("formspec", closed) + end + end +end + + +minetest.register_node("more_chests:secret", secret) +minetest.register_craft({ + output = "more_chests:secret", + recipe = { + {"group:wood", "default:cobble", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + } +}) diff --git a/mods/more_chests/models/shared.lua b/mods/more_chests/models/shared.lua new file mode 100644 index 00000000..03825bfc --- /dev/null +++ b/mods/more_chests/models/shared.lua @@ -0,0 +1,71 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local actions = dofile(minetest.get_modpath("more_chests") .. "/utils/actions.lua") +local S = minetest.get_translator("more_chests") + +local function get_formspec(string) + return "size[8,10]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list[current_name;main;0,0.3;8,4;]" .. + "list[current_player;main;0,4.85;8,1;]" .. + "list[current_player;main;0,6;8,3;8]" .. + "field[.25,9.5;8,1;shared;" .. + S("Shared with (separate names with spaces)") .. + ":;" .. string .. "]" .. + "button[6,9.2;2,1;submit;" .. + S("submit") .. "]" .. + "listring[current_name;main]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(0,4.85) +end + +local function check_privs(meta, player) + local name = player:get_player_name() + local shared = " " .. meta:get_string("shared") .. " " + if name == meta:get_string("owner") then + return true + elseif shared:find(" " .. name .. " ") then + return true + else + return false + end +end + +local shared = gen_def({ + description = S("Shared Chest"), + type = "shared chest", + size = "small", + tiles = { + top = "shared_top.png", + side = "shared_side.png", + front = "shared_front.png" + }, + formspec = get_formspec(""), + pipeworks_enabled = true, + sounds = default.node_sound_wood_defaults(), + allow_metadata_inventory_move = actions.get_allow_metadata_inventory_move{"shared chest", check_privs=check_privs}, + allow_metadata_inventory_put = actions.get_allow_metadata_inventory_put{"shared chest", check_privs=check_privs}, + allow_metadata_inventory_take = actions.get_allow_metadata_inventory_take{"shared chest", check_privs=check_privs}, +}) + +shared.on_receive_fields = function(pos, formspec, fields, sender) + local meta = minetest.get_meta(pos); + if fields.shared then + if meta:get_string("owner") == sender:get_player_name() then + meta:set_string("shared", fields.shared) + meta:set_string("formspec", get_formspec(fields.shared)) + end + end +end + + +minetest.register_node("more_chests:shared", shared) +minetest.register_craft({ + output = "more_chests:shared", + recipe = { + {"group:wood", "default:leaves", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + } +}) diff --git a/mods/more_chests/models/toolbox.lua b/mods/more_chests/models/toolbox.lua new file mode 100644 index 00000000..0e287eb9 --- /dev/null +++ b/mods/more_chests/models/toolbox.lua @@ -0,0 +1,33 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local S = minetest.get_translator("more_chests") + +local function register_toolbox(description, material, side_tile, craft_item) + local def = gen_def({ + description = description, + type = "toolbox", + size = "big", + -- node_box = {-0.5, -0.5, -0.5, 1.5, 0.5, 0.5}, -- makes it two blocks wide + tiles = { + side = side_tile, + front = "toolbox_" .. material .. "_front.png", + top = "toolbox_" .. material .. "_top.png", + }, + }) + minetest.register_node("more_chests:toolbox_" .. material, def) + minetest.register_craft({ + output = "more_chests:toolbox_" .. material, + recipe = { + {craft_item, craft_item, craft_item}, + {craft_item, "group:pickaxe", craft_item}, + {craft_item, craft_item, craft_item} + } + }) +end + + +register_toolbox(S("Wooden Toolbox"), "wood", "default_wood.png", "default:wood") +register_toolbox(S("Aspen Wood Toolbox"), "aspen", "default_aspen_wood.png", "default:aspen_wood") +register_toolbox(S("Acacia Wood Toolbox"), "acacia", "default_acacia_wood.png", "default:acacia_wood") +register_toolbox(S("Junglewood Toolbox"), "jungle", "default_junglewood.png", "default:junglewood") +register_toolbox(S("Pine Wood Toolbox"), "pine", "default_pine_wood.png", "default:pine_wood") +register_toolbox(S("Steel Toolbox"), "steel", "default_steel_block.png", "default:steel_ingot") diff --git a/mods/more_chests/models/wifi.lua b/mods/more_chests/models/wifi.lua new file mode 100644 index 00000000..506bac94 --- /dev/null +++ b/mods/more_chests/models/wifi.lua @@ -0,0 +1,89 @@ +local gen_def = dofile(minetest.get_modpath("more_chests") .. "/utils/base.lua") +local S = minetest.get_translator("more_chests") +local pipeworks_enabled = minetest.global_exists("pipeworks") + +local wifi = gen_def({ + description = S("Wifi Chest"), + type = "wifi chest", + size = "small", + tiles = { + top = "wifi_top.png", + side = "wifi_side.png", + front = {name="wifi_front_animated.png", animation={type="vertical_frames", + aspect_w=16, aspect_h=16, length=2.0}} + }, + inventory_name = "more_chests:wifi", + pipeworks_enabled = pipeworks_enabled, -- this adds groups +}) + +-- wifi chests can always be removed because content is detached +wifi.can_dig = function(pos, player) return true end + +-- pipeworks support (we need to override what is created by gen_def because too generic) +wifi.tube = pipeworks_enabled and { + insert_object = function(pos, node, stack, direction, owner) + local wifi_chest_owner + if not owner then + local wifi_chest = minetest.get_meta(pos) + if not wifi_chest then + return stack + end + wifi_chest_owner = wifi_chest:get_string("owner") + if not wifi_chest_owner then + return stack + end + end + local player = minetest.get_player_by_name(owner or wifi_chest_owner) + if not player then + return stack + end + local inv = player:get_inventory() + return inv:add_item("more_chests:wifi", stack) + end, + can_insert = function(pos, node, stack, direction, owner) + local wifi_chest_owner + if not owner then + local wifi_chest = minetest.get_meta(pos) + if not wifi_chest then + return stack + end + wifi_chest_owner = wifi_chest:get_string("owner") + if not wifi_chest_owner then + return false + end + end + local player = minetest.get_player_by_name(owner or wifi_chest_owner) + if not player then + return false + end + local inv = player:get_inventory() + return inv:room_for_item("more_chests:wifi", stack) + end, + input_inventory = "more_chests:wifi", + return_input_invref = function(pos, node, direction, player_name) + if not player_name then + return false + end + local player = minetest.get_player_by_name(player_name) + if not player then + return false + end + return player:get_inventory() + end, + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} +} or nil + +minetest.register_node("more_chests:wifi", wifi) +minetest.register_craft({ + output = "more_chests:wifi", + recipe = { + {"group:wood", "default:mese", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"} + }, +}) + +minetest.register_on_joinplayer(function(player) + local inv = player:get_inventory() + inv:set_size("more_chests:wifi", 8*4) +end) diff --git a/mods/more_chests/secret.lua b/mods/more_chests/secret.lua deleted file mode 100644 index 71fe7423..00000000 --- a/mods/more_chests/secret.lua +++ /dev/null @@ -1,132 +0,0 @@ --- Load support for translation. -local S = minetest.get_translator("more_chests") - -local function has_locked_chest_privilege(meta, player) - if player:get_player_name() ~= meta:get_string("owner") then - return false - end - return true -end - -local open = "size[8,10]".. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_name;main;0,0.3;8,4;]".. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[current_name;main]" .. - "listring[current_player;main]" .. - "button[3,9;2,1;open;close]" .. - default.get_hotbar_bg(0,4.85) -local closed = "size[2,1]".. - "button[0,0;2,1;open;open]" - -minetest.register_node("more_chests:secret", { - description = S("Secret Chest"), - tiles = {"secret_top.png", "secret_top.png", "secret_side.png", - "secret_side.png", "secret_side.png", "secret_front.png"}, - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1}, --- Pipeworks - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - input_inventory = "main", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", S("@1 (owned by @2)", - S("Secret Chest"), - meta:get_string("owner"))) - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", open) - meta:set_string("infotext", S("Secret Chest")) - meta:set_string("owner", "") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a secret chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a secret chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a secret chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in secret chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to secret chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from secret chest at "..minetest.pos_to_string(pos)) - end, - on_receive_fields = function(pos, formname, fields, sender) - local meta = minetest.get_meta(pos) - if has_locked_chest_privilege(meta, sender) then - if fields.open == "open" then - meta:set_string("formspec", open) - else - meta:set_string("formspec", closed) - end - end - end, -}) - -minetest.register_craft({ - output = 'more_chests:secret', - recipe = { - {'default:wood','default:cobble','default:wood'}, - {'default:wood','default:steel_ingot','default:wood'}, - {'default:wood','default:wood','default:wood'} - } -}) diff --git a/mods/more_chests/shared.lua b/mods/more_chests/shared.lua deleted file mode 100644 index e100a934..00000000 --- a/mods/more_chests/shared.lua +++ /dev/null @@ -1,138 +0,0 @@ --- Load support for translation. -local S = minetest.get_translator("more_chests") - -local function has_locked_chest_privilege(meta, player) - local name = player:get_player_name() - local shared = " "..meta:get_string("shared").." " - if name == meta:get_string("owner") then - return true - elseif shared:find(" "..name.." ") then - - return true - else - return false - end -end - -local function get_formspec(string) - return "size[8,10]".. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_name;main;0,0.3;8,4;]".. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6;8,3;8]" .. - "field[.25,9.5;8,1;shared;"..S("Shared with (separate names with spaces)")..":;"..string.."]".. - "button[6,9.2;2,1;submit;"..S("submit").."]" .. - "listring[current_name;main]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85) -end - -minetest.register_node("more_chests:shared", { - description = S("Shared Chest"), - tiles = {"shared_top.png", "shared_top.png", "shared_side.png", - "shared_side.png", "shared_side.png", "shared_front.png"}, - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1}, --- Pipeworks - tube = { - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:add_item("main", stack) - end, - can_insert = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("main", stack) - end, - input_inventory = "main", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - }, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", S("@1 (owned by @2)", - S("Shared Chest"), - meta:get_string("owner"))) - end, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", get_formspec("")) - meta:set_string("infotext", S("Shared Chest")) - meta:set_string("owner", "") - local inv = meta:get_inventory() - inv:set_size("main", 8*4) - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("main") - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a shared chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a shared chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_chest_privilege(meta, player) then - minetest.log("action", player:get_player_name().. - " tried to access a shared chest belonging to ".. - meta:get_string("owner").." at ".. - minetest.pos_to_string(pos)) - return 0 - end - return stack:get_count() - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in shared chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to shared chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from shared chest at "..minetest.pos_to_string(pos)) - end, - on_receive_fields = function(pos, formspec, fields, sender) - local meta = minetest.get_meta(pos); - if fields.shared then - if meta:get_string("owner") == sender:get_player_name() then - meta:set_string("shared", fields.shared); - meta:set_string("formspec", get_formspec(fields.shared)) - end - end - end, -}) - -minetest.register_craft({ - output = 'more_chests:shared', - recipe = { - {'default:wood','default:leaves','default:wood'}, - {'default:wood','default:steel_ingot','default:wood'}, - {'default:wood','default:wood','default:wood'} - } -}) diff --git a/mods/more_chests/textures/fridge_front.png b/mods/more_chests/textures/fridge_front.png new file mode 100644 index 00000000..3818b7af Binary files /dev/null and b/mods/more_chests/textures/fridge_front.png differ diff --git a/mods/more_chests/textures/fridge_side.png b/mods/more_chests/textures/fridge_side.png new file mode 100644 index 00000000..789939d4 Binary files /dev/null and b/mods/more_chests/textures/fridge_side.png differ diff --git a/mods/more_chests/textures/toolbox_acacia_front.png b/mods/more_chests/textures/toolbox_acacia_front.png new file mode 100644 index 00000000..2ef7c159 Binary files /dev/null and b/mods/more_chests/textures/toolbox_acacia_front.png differ diff --git a/mods/more_chests/textures/toolbox_acacia_top.png b/mods/more_chests/textures/toolbox_acacia_top.png new file mode 100644 index 00000000..7de120c0 Binary files /dev/null and b/mods/more_chests/textures/toolbox_acacia_top.png differ diff --git a/mods/more_chests/textures/toolbox_aspen_front.png b/mods/more_chests/textures/toolbox_aspen_front.png new file mode 100644 index 00000000..14ef94e7 Binary files /dev/null and b/mods/more_chests/textures/toolbox_aspen_front.png differ diff --git a/mods/more_chests/textures/toolbox_aspen_top.png b/mods/more_chests/textures/toolbox_aspen_top.png new file mode 100644 index 00000000..0b618d49 Binary files /dev/null and b/mods/more_chests/textures/toolbox_aspen_top.png differ diff --git a/mods/more_chests/textures/toolbox_front.xcf b/mods/more_chests/textures/toolbox_front.xcf new file mode 100644 index 00000000..380ecab2 Binary files /dev/null and b/mods/more_chests/textures/toolbox_front.xcf differ diff --git a/mods/more_chests/textures/toolbox_jungle_front.png b/mods/more_chests/textures/toolbox_jungle_front.png new file mode 100644 index 00000000..4d88605c Binary files /dev/null and b/mods/more_chests/textures/toolbox_jungle_front.png differ diff --git a/mods/more_chests/textures/toolbox_jungle_top.png b/mods/more_chests/textures/toolbox_jungle_top.png new file mode 100644 index 00000000..20239cb4 Binary files /dev/null and b/mods/more_chests/textures/toolbox_jungle_top.png differ diff --git a/mods/more_chests/textures/toolbox_pine_front.png b/mods/more_chests/textures/toolbox_pine_front.png new file mode 100644 index 00000000..f3b78906 Binary files /dev/null and b/mods/more_chests/textures/toolbox_pine_front.png differ diff --git a/mods/more_chests/textures/toolbox_pine_top.png b/mods/more_chests/textures/toolbox_pine_top.png new file mode 100644 index 00000000..15a750cf Binary files /dev/null and b/mods/more_chests/textures/toolbox_pine_top.png differ diff --git a/mods/more_chests/textures/toolbox_steel_front.png b/mods/more_chests/textures/toolbox_steel_front.png new file mode 100644 index 00000000..0399b0d6 Binary files /dev/null and b/mods/more_chests/textures/toolbox_steel_front.png differ diff --git a/mods/more_chests/textures/toolbox_steel_top.png b/mods/more_chests/textures/toolbox_steel_top.png new file mode 100644 index 00000000..21f3e624 Binary files /dev/null and b/mods/more_chests/textures/toolbox_steel_top.png differ diff --git a/mods/more_chests/textures/toolbox_top.xcf b/mods/more_chests/textures/toolbox_top.xcf new file mode 100644 index 00000000..cb6c4860 Binary files /dev/null and b/mods/more_chests/textures/toolbox_top.xcf differ diff --git a/mods/more_chests/textures/toolbox_wood_front.png b/mods/more_chests/textures/toolbox_wood_front.png new file mode 100644 index 00000000..49716d15 Binary files /dev/null and b/mods/more_chests/textures/toolbox_wood_front.png differ diff --git a/mods/more_chests/textures/toolbox_wood_top.png b/mods/more_chests/textures/toolbox_wood_top.png new file mode 100644 index 00000000..7e058fcf Binary files /dev/null and b/mods/more_chests/textures/toolbox_wood_top.png differ diff --git a/mods/more_chests/utils/actions.lua b/mods/more_chests/utils/actions.lua new file mode 100644 index 00000000..c7bfb74e --- /dev/null +++ b/mods/more_chests/utils/actions.lua @@ -0,0 +1,90 @@ +local function get_inventory_auth_string(player, meta, pos, label) + return player:get_player_name() .. " tried to access a locked " .. label .. " belonging to " .. meta:get_string("owner") .. " at " .. minetest.pos_to_string(pos) +end + + +function has_locked_chest_privilege(meta, player) + if player:get_player_name() ~= meta:get_string("owner") then + return false + end + return true +end + + +function get_allow_metadata_inventory_move(t) + setmetatable(t, {__index={check_privs=has_locked_chest_privilege}}) + local label, check_privs = t[1], t.check_privs + return function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + if not check_privs(meta, player) then + minetest.log("action", get_inventory_auth_string(player, meta, pos, label)) + return 0 + end + return count + end +end + +function get_allow_metadata_inventory_put(t) + setmetatable(t, {__index={check_privs=has_locked_chest_privilege}}) + local label, check_privs = t[1], t.check_privs + return function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not check_privs(meta, player) then + minetest.log("action", get_inventory_auth_string(player, meta, pos, label)) + return 0 + end + return stack:get_count() + end +end + +function get_allow_metadata_inventory_take(t) + setmetatable(t, {__index={check_privs=has_locked_chest_privilege}}) + local label, check_privs = t[1], t.check_privs + return function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + if not check_privs(meta, player) then + minetest.log("action", get_inventory_auth_string(player, meta, pos, label)) + return 0 + end + return stack:get_count() + end +end + + + +local function get_inventory_action_string(player, pos, action, label) + return player:get_player_name() .. " moves stuff " .. action .. " locked " .. label .. " at " .. minetest.pos_to_string(pos) +end + + +function get_on_metadata_inventory_move(label) + return function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", get_inventory_action_string(player, pos, "in", label) + ) + end +end + +function get_on_metadata_inventory_put(label) + return function(pos, listname, index, stack, player) + minetest.log("action", get_inventory_action_string(player, pos, "to", label)) + end +end + +function get_on_metadata_inventory_take(label) + return function(pos, listname, index, stack, player) + minetest.log("action", get_inventory_action_string(player, pos, "from", label)) + end +end + + + +actions = { + has_locked_chest_privilege = has_locked_chest_privilege, + get_allow_metadata_inventory_move = get_allow_metadata_inventory_move, + get_allow_metadata_inventory_put = get_allow_metadata_inventory_put, + get_allow_metadata_inventory_take = get_allow_metadata_inventory_take, + get_on_metadata_inventory_move = get_on_metadata_inventory_move, + get_on_metadata_inventory_put = get_on_metadata_inventory_put, + get_on_metadata_inventory_take = get_on_metadata_inventory_take, +} +return actions diff --git a/mods/more_chests/aliases.lua b/mods/more_chests/utils/aliases.lua similarity index 100% rename from mods/more_chests/aliases.lua rename to mods/more_chests/utils/aliases.lua diff --git a/mods/more_chests/utils/base.lua b/mods/more_chests/utils/base.lua new file mode 100644 index 00000000..d6858aa1 --- /dev/null +++ b/mods/more_chests/utils/base.lua @@ -0,0 +1,98 @@ +-- NOTE: `require` is not allowed with mod security on +-- `dofile` with a return on the module is used instead +generate_formspec_string = dofile(minetest.get_modpath("more_chests").."/utils/formspec.lua") +local actions = dofile(minetest.get_modpath("more_chests").."/utils/actions.lua") +local S = minetest.get_translator("more_chests") + +local function parse_action(value, default_getter) + if value == false then -- model disabled this attribute + return nil + elseif value == nil then -- model wants the default attribute + return default_getter() + else -- model provided its own attribute + return value + end +end + +function generate_chest_def(def) + -- TODO assert def.size in ("big", "small") + local out = { + description = def.description, + tiles = { + def.tiles.top or def.tiles.side, + def.tiles.top or def.tiles.side, + def.tiles.side, + def.tiles.side, + def.tiles.side, + def.tiles.front + }, + paramtype2 = "facedir", + legacy_facedir_simple = true, + groups = { + snappy=2, + choppy=2, + oddly_breakable_by_hand=2 + }, + sounds = def.sounds or default.node_sound_wood_defaults(), + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", S("@1 (owned by @2)", def.description, meta:get_string("owner"))) + end, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local formspec_str = def.formspec or generate_formspec_string(def.size, def.inventory_name or nil) + meta:set_string("formspec", formspec_str) + meta:set_string("infotext", def.description) + meta:set_string("owner", "") + if def.inventory_name == nil or def.inventory_name == "main" then + local inv = meta:get_inventory() + local chest_size = def.size == "big" and 14*5 or 8*4 + inv:set_size("main", chest_size) + end + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + } + -- register log actions, NOTE passing an anonymous function to avoid getting the default if not necessary + out.allow_metadata_inventory_move = parse_action(def.allow_metadata_inventory_move, function() actions.get_allow_metadata_inventory_move{def.type} end) + out.allow_metadata_inventory_put = parse_action(def.allow_metadata_inventory_put, function() actions.get_allow_metadata_inventory_put{def.type} end) + out.allow_metadata_inventory_take = parse_action(def.allow_metadata_inventory_take, function() actions.get_allow_metadata_inventory_take{def.type} end) + out.on_metadata_inventory_move = parse_action(def.on_metadata_inventory_move, function() actions.get_on_metadata_inventory_move(def.type) end) + out.on_metadata_inventory_put = parse_action(def.on_metadata_inventory_put, function() actions.get_on_metadata_inventory_put(def.type) end) + out.on_metadata_inventory_take = parse_action(def.on_metadata_inventory_take, function() actions.get_on_metadata_inventory_take(def.type) end) + -- if model is not a simple block handle node_box attribute + if def.node_box then + out.drawtype = "nodebox" + out.node_box = { + type = "fixed", + fixed = def.node_box, + } + end + -- add pipeworks compatibility, TODO needs proper testing + if def.pipeworks_enabled == true then + out.groups.tubedevice = 1 + out.groups.tubedevice_receiver = 1 + out.tube = { + insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:add_item("main", stack) + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item("main", stack) + end, + input_inventory = "main", + connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} + } + end + return out +end + + +return generate_chest_def diff --git a/mods/more_chests/utils/formspec.lua b/mods/more_chests/utils/formspec.lua new file mode 100644 index 00000000..1452e618 --- /dev/null +++ b/mods/more_chests/utils/formspec.lua @@ -0,0 +1,46 @@ +function generate(size, inventory_name) + local cfg + + -- chest inventory name + local inv_name = inventory_name + if inv_name == nil then + inv_name = "main" + end + + if size == "small" then + cfg = { + window_width = 8, + window_height = 9, + chest_width = 8, + chest_height = 4, + } + elseif size == "big" then + cfg = { + window_width = 14, + window_height = 10, + chest_width = 14, + chest_height = 5, + } + end + -- calc padding to vertically align center the chest and the player's inventory + local player_inv_y_orig = cfg.chest_height + 0.85 + local player_inv_x_orig = (cfg.window_width - 8) / 2 -- 8=player_inv_width + return "size[" .. + cfg.window_width .. "," .. cfg.window_height .. "]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + "list["..((inv_name == "main") and "current_name" or "current_player")..";"..inv_name..";0,0.3;" .. + cfg.chest_width .. "," .. cfg.chest_height .. ";]" .. + "list[current_player;main;" .. + player_inv_x_orig .. "," .. player_inv_y_orig .. + ";8,1;]" .. + "list[current_player;main;" .. + player_inv_x_orig .. "," .. (player_inv_y_orig + 1.15) .. + ";8,3;8]" .. + "listring["..(inv_name == "main" and "current_name" or "current_player")..";"..inv_name.."]" .. + "listring[current_player;main]" .. + default.get_hotbar_bg(player_inv_x_orig, player_inv_y_orig) +end + +return generate diff --git a/mods/more_chests/wifi.lua b/mods/more_chests/wifi.lua deleted file mode 100644 index 84534a97..00000000 --- a/mods/more_chests/wifi.lua +++ /dev/null @@ -1,97 +0,0 @@ --- Load support for translation. -local S = minetest.get_translator("more_chests") - -local pipeworks_enabled = minetest.global_exists("pipeworks") - -minetest.register_node("more_chests:wifi", { - description = S("Wifi Chest"), - tiles = {"wifi_top.png", "wifi_top.png", "wifi_side.png", - "wifi_side.png", "wifi_side.png", - {name="wifi_front_animated.png", animation={type="vertical_frames", - aspect_w=16, aspect_h=16, length=2.0}}}, - paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice = 1, tubedevice_receiver = 1}, - -- Pipeworks - tube = pipeworks_enabled and { - insert_object = function(pos, node, stack, direction, owner) - if not owner then - return stack - end - local player = minetest.get_player_by_name(owner) - if not player then - return stack - end - local inv = player:get_inventory() - return inv:add_item("more_chests:wifi", stack) - end, - can_insert = function(pos, node, stack, direction, owner) - if not owner then - return false - end - local player = minetest.get_player_by_name(owner) - if not player then - return false - end - local inv = player:get_inventory() - return inv:room_for_item("more_chests:wifi", stack) - end, - input_inventory = "more_chests:wifi", - return_input_invref = function(pos, node, direction, player_name) - if not player_name then - return false - end - local player = minetest.get_player_by_name(player_name) - if not player then - return false - end - return player:get_inventory() - end, - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - } or nil, - after_place_node = pipeworks_enabled and pipeworks.after_place or nil, - after_dig_node = pipeworks_enabled and pipeworks.after_dig or nil, - legacy_facedir_simple = true, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,9]".. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - "list[current_player;more_chests:wifi;0,0.3;8,4;]".. - "list[current_player;main;0,4.85;8,1;]" .. - "list[current_player;main;0,6.08;8,3;8]" .. - "listring[current_player;more_chests:wifi]" .. - "listring[current_player;main]" .. - default.get_hotbar_bg(0,4.85)) - - meta:set_string("infotext", S("Wifi Chest")) - end, - on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", player:get_player_name().. - " moves stuff in wifi chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " moves stuff to wifi chest at "..minetest.pos_to_string(pos)) - end, - on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name().. - " takes stuff from wifi chest at "..minetest.pos_to_string(pos)) - end, -}) - -minetest.register_craft({ - output = 'more_chests:wifi', - recipe = { - {'default:wood','default:mese','default:wood'}, - {'default:wood','default:steel_ingot','default:wood'}, - {'default:wood','default:wood','default:wood'} - } -}) - -minetest.register_on_joinplayer(function(player) - local inv = player:get_inventory() - inv:set_size("more_chests:wifi", 8*4) -end) diff --git a/mods/moreblocks/CHANGELOG.md b/mods/moreblocks/CHANGELOG.md index e050101b..1fe879ca 100644 --- a/mods/moreblocks/CHANGELOG.md +++ b/mods/moreblocks/CHANGELOG.md @@ -16,6 +16,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed +- [Shapeless crafting recipes are now handled in redefinitions.](https://github.com/minetest-mods/moreblocks/pull/171) +- [Aliases are now resolved in Stairs+ circular saw cost calculation.](https://github.com/minetest-mods/moreblocks/pull/175) - [Fixed strange placement behavior for non-default Stairs+ nodes.](https://github.com/minetest-mods/moreblocks/pull/168) - [Fixed stairs placement over oddly-shaped nodes.](https://github.com/minetest-mods/moreblocks/pull/166) diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua index e9c5ff7e..4d59c3c2 100644 --- a/mods/moreblocks/redefinitions.lua +++ b/mods/moreblocks/redefinitions.lua @@ -17,9 +17,10 @@ local reconstruct_internal_craft = function(recipe) { "", "", "" }, { "", "", "" }, } + local width = recipe.width for idx, item in pairs(recipe.items) do - local row = math.ceil(idx / recipe.width) - local col = idx - (row-1)*recipe.width + local row = math.ceil(idx / width) + local col = idx - (row-1)*width recp[row][col] = item end return recp @@ -27,7 +28,11 @@ end -- Change the amount produced by recipe by apply func to the old amount local change_recipe_amount = function(product, recipe, func) - local recp = reconstruct_internal_craft(recipe) + -- if width == 0, this is a shapeless recipe, for which the + -- internal and Lua API recipe table is the same. + -- Otherwise we need to reconstruct the table for the shaped recipe. + local shapeless = (recipe.width == 0) + local recp = shapeless and recipe.items or reconstruct_internal_craft(recipe) local oldamount = tonumber(recipe.output:match(" [0-9]+$") or "1") @@ -35,6 +40,10 @@ local change_recipe_amount = function(product, recipe, func) -- remove old crafting recipe local redo = { recipe = recp } + -- preserve shapelessness + if shapeless then + redo.type = "shapeless" + end minetest.clear_craft(redo) -- new output diff --git a/mods/protector/init.lua b/mods/protector/init.lua index d931f5f6..75116073 100644 --- a/mods/protector/init.lua +++ b/mods/protector/init.lua @@ -762,7 +762,7 @@ minetest.register_entity("protector:display", { local x = protector_radius minetest.register_node("protector:display_node", { tiles = {"protector_display.png"}, - use_texture_alpha = true, + use_texture_alpha = "clip", -- true, walkable = false, drawtype = "nodebox", node_box = { diff --git a/mods/signs_lib/api.lua b/mods/signs_lib/api.lua index d2a06e2a..e3a6df1a 100644 --- a/mods/signs_lib/api.lua +++ b/mods/signs_lib/api.lua @@ -1228,16 +1228,17 @@ function get_sign_formspec(pos, nodename) local formspec = { "size[6,4]", - "textarea[0,-0.3;6.5,3;text;;" .. minetest.formspec_escape(txt) .. "]", - "background[-0.5,-0.5;7,5;signs_lib_sign_bg.jpg]", - "button_exit[2,3.4;2,1;ok;" .. S("Write") .. "]" + "background[-0.5,-0.5;7,5;signs_lib_sign_bg.png]", + "image[0.1,2.4;7,1;signs_lib_sign_color_palette.png]", + "textarea[0.15,-0.2;6.3,2.8;text;;" .. minetest.formspec_escape(txt) .. "]", + "button_exit[3,3.4;2,1;ok;" .. S("Write") .. "]" } if minetest.registered_nodes[nodename].allow_widefont then local state = "off" if meta:get_int("widefont") == 1 then state = "on" end - formspec[5] = "label[0.5,3.4;Use wide font]" - formspec[6] = "image_button[0.6,3.7;1,0.6;signs_lib_switch_" .. state .. ".png;" + formspec[#formspec+1] = "label[0.9,3.4;Use wide font]" + formspec[#formspec+1] = "image_button[1.1,3.7;1,0.6;signs_lib_switch_" .. state .. ".png;" .. state .. ";;;false;signs_lib_switch_interm.png]" end diff --git a/mods/signs_lib/depends.txt b/mods/signs_lib/depends.txt deleted file mode 100644 index d3cb3790..00000000 --- a/mods/signs_lib/depends.txt +++ /dev/null @@ -1,7 +0,0 @@ -default -intllib? -screwdriver? -streetspoles? -streetlamps? -cottages? -prefab_redo? \ No newline at end of file diff --git a/mods/signs_lib/description.txt b/mods/signs_lib/description.txt deleted file mode 100644 index d157852b..00000000 --- a/mods/signs_lib/description.txt +++ /dev/null @@ -1 +0,0 @@ -Adds signs with readable text. diff --git a/mods/signs_lib/mod.conf b/mods/signs_lib/mod.conf index 2781b60b..82af3616 100644 --- a/mods/signs_lib/mod.conf +++ b/mods/signs_lib/mod.conf @@ -1,2 +1,6 @@ name = signs_lib -min_minetest_version = 5.2.0 +author = VanessaE +depends = default +optional_depends = intllib, screwdriver, streetspoles, streetlamps, cottages, prefab_redo +description = Adds signs with readable text. +min_minetest_version = 5.4.0 diff --git a/mods/signs_lib/standard_signs.lua b/mods/signs_lib/standard_signs.lua index 1513d730..8d7a9e78 100644 --- a/mods/signs_lib/standard_signs.lua +++ b/mods/signs_lib/standard_signs.lua @@ -14,7 +14,8 @@ signs_lib.register_sign("default:sign_wall_wood", { allow_widefont = true, allow_onpole = true, allow_onpole_horizontal = true, - allow_yard = true + allow_yard = true, + use_texture_alpha = "clip", }) signs_lib.register_sign("default:sign_wall_steel", { @@ -35,7 +36,8 @@ signs_lib.register_sign("default:sign_wall_steel", { allow_widefont = true, allow_onpole = true, allow_onpole_horizontal = true, - allow_yard = true + allow_yard = true, + use_texture_alpha = "clip", }) minetest.register_alias("signs:sign_hanging", "default:sign_wood_hanging") diff --git a/mods/signs_lib/textures/signs_lib_sign_bg.jpg b/mods/signs_lib/textures/signs_lib_sign_bg.jpg deleted file mode 100644 index 4b72268b..00000000 Binary files a/mods/signs_lib/textures/signs_lib_sign_bg.jpg and /dev/null differ diff --git a/mods/signs_lib/textures/signs_lib_sign_bg.png b/mods/signs_lib/textures/signs_lib_sign_bg.png new file mode 100644 index 00000000..4d7beb80 Binary files /dev/null and b/mods/signs_lib/textures/signs_lib_sign_bg.png differ diff --git a/mods/signs_lib/textures/signs_lib_sign_color_palette.png b/mods/signs_lib/textures/signs_lib_sign_color_palette.png new file mode 100644 index 00000000..ceec6fd6 Binary files /dev/null and b/mods/signs_lib/textures/signs_lib_sign_color_palette.png differ diff --git a/mods/skinsdb/meta/character_1951.txt b/mods/skinsdb/meta/character_1951.txt new file mode 100644 index 00000000..fce585e2 --- /dev/null +++ b/mods/skinsdb/meta/character_1951.txt @@ -0,0 +1,3 @@ +hina_ichigo +???? +CC 0 (1.0) diff --git a/mods/skinsdb/meta/character_1952.txt b/mods/skinsdb/meta/character_1952.txt new file mode 100644 index 00000000..495be7d3 --- /dev/null +++ b/mods/skinsdb/meta/character_1952.txt @@ -0,0 +1,3 @@ +Lyza +Lyza +CC BY-SA 3.0 diff --git a/mods/skinsdb/meta/character_1953.txt b/mods/skinsdb/meta/character_1953.txt new file mode 100644 index 00000000..ab6c4143 --- /dev/null +++ b/mods/skinsdb/meta/character_1953.txt @@ -0,0 +1,3 @@ +Toby +Toby1710/DiamondPlane +CC BY-SA 3.0 diff --git a/mods/skinsdb/meta/character_1954.txt b/mods/skinsdb/meta/character_1954.txt new file mode 100644 index 00000000..7c5bd79a --- /dev/null +++ b/mods/skinsdb/meta/character_1954.txt @@ -0,0 +1,3 @@ +nothing lol +Blue +CC BY-SA 4.0 diff --git a/mods/skinsdb/meta/character_1955.txt b/mods/skinsdb/meta/character_1955.txt new file mode 100644 index 00000000..6b0fba75 --- /dev/null +++ b/mods/skinsdb/meta/character_1955.txt @@ -0,0 +1,3 @@ +vanessa +nose +CC BY-SA 4.0 diff --git a/mods/skinsdb/textures/character_1951.png b/mods/skinsdb/textures/character_1951.png new file mode 100644 index 00000000..68cc5c77 Binary files /dev/null and b/mods/skinsdb/textures/character_1951.png differ diff --git a/mods/skinsdb/textures/character_1952.png b/mods/skinsdb/textures/character_1952.png new file mode 100644 index 00000000..15bb5b3d Binary files /dev/null and b/mods/skinsdb/textures/character_1952.png differ diff --git a/mods/skinsdb/textures/character_1953.png b/mods/skinsdb/textures/character_1953.png new file mode 100644 index 00000000..154f13b3 Binary files /dev/null and b/mods/skinsdb/textures/character_1953.png differ diff --git a/mods/skinsdb/textures/character_1954.png b/mods/skinsdb/textures/character_1954.png new file mode 100644 index 00000000..9c5f67f0 Binary files /dev/null and b/mods/skinsdb/textures/character_1954.png differ diff --git a/mods/skinsdb/textures/character_1955.png b/mods/skinsdb/textures/character_1955.png new file mode 100644 index 00000000..28f6896a Binary files /dev/null and b/mods/skinsdb/textures/character_1955.png differ diff --git a/mods/techpack/tubelib/node_states.lua b/mods/techpack/tubelib/node_states.lua index 14b58d8b..2a3b445c 100644 --- a/mods/techpack/tubelib/node_states.lua +++ b/mods/techpack/tubelib/node_states.lua @@ -84,6 +84,7 @@ function NodeStates:new(attr) local o = { -- mandatory cycle_time = attr.cycle_time, -- for running state + first_cycle_time = attr.first_cycle_time, -- for first run, not required standby_ticks = attr.standby_ticks, -- for standby state has_item_meter = attr.has_item_meter, -- true/false -- optional @@ -175,9 +176,27 @@ function NodeStates:start(pos, meta, called_from_on_timer) if self.formspec_func then meta:set_string("formspec", self.formspec_func(self, pos, meta)) end - minetest.get_node_timer(pos):start(self.cycle_time) + local cycle_time = self.cycle_time + if self.first_cycle_time then + if meta:get_int("tubelib_first_run") == 1 then + meta:set_int("tubelib_first_run", 0) + cycle_time = self.cycle_time + else + meta:set_int("tubelib_first_run", 1) + cycle_time = self.first_cycle_time + end + end + minetest.get_node_timer(pos):start(cycle_time) return true end + if self.first_cycle_time and meta:get_int("tubelib_first_run") == 1 then + local cycle_time = self.cycle_time + local timer = minetest.get_node_timer(pos) + minetest.after(0, function () + timer:set(cycle_time, timer:get_elapsed()) + end) + meta:set_int("tubelib_first_run", 0) + end return false end diff --git a/mods/techpack/tubelib/pusher.lua b/mods/techpack/tubelib/pusher.lua index c39f2871..fb26b790 100644 --- a/mods/techpack/tubelib/pusher.lua +++ b/mods/techpack/tubelib/pusher.lua @@ -39,6 +39,7 @@ local M = minetest.get_meta local STANDBY_TICKS = 5 local COUNTDOWN_TICKS = 5 local CYCLE_TIME = 2 +local FIRST_CYCLE = 0.5 local State = tubelib.NodeStates:new({ node_name_passive = "tubelib:pusher", @@ -46,6 +47,7 @@ local State = tubelib.NodeStates:new({ node_name_defect = "tubelib:pusher_defect", infotext_name = S("Tubelib Pusher"), cycle_time = CYCLE_TIME, + first_cycle_time = FIRST_CYCLE, standby_ticks = STANDBY_TICKS, has_item_meter = true, aging_factor = 10, @@ -61,7 +63,9 @@ local function pushing(pos, meta) State:blocked(pos, meta) return end - State:keep_running(pos, meta, COUNTDOWN_TICKS) + if State.get_state(pos, meta) ~= tubelib.STOPPED then + State:keep_running(pos, meta, COUNTDOWN_TICKS) + end return end State:idle(pos, meta) diff --git a/mods/techpack/tubelib_addons1/grinder.lua b/mods/techpack/tubelib_addons1/grinder.lua index b3964817..466a4a1a 100644 --- a/mods/techpack/tubelib_addons1/grinder.lua +++ b/mods/techpack/tubelib_addons1/grinder.lua @@ -83,7 +83,7 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player end local function grinding(pos, meta, inv) - for _,stack in ipairs(inv:get_list("src")) do + for _,stack in ipairs(inv:get_list("src") or {}) do if not stack:is_empty() then local name = stack:get_name() if Recipes[name] then diff --git a/mods/techpack/tubelib_addons1/pusher_fast.lua b/mods/techpack/tubelib_addons1/pusher_fast.lua index bfcf2bb8..c3794440 100644 --- a/mods/techpack/tubelib_addons1/pusher_fast.lua +++ b/mods/techpack/tubelib_addons1/pusher_fast.lua @@ -39,6 +39,7 @@ local M = minetest.get_meta local STANDBY_TICKS = 5 local COUNTDOWN_TICKS = 5 local CYCLE_TIME = 1 +local FIRST_CYCLE = 0.5 local State = tubelib.NodeStates:new({ node_name_passive = "tubelib_addons1:pusher_fast", @@ -46,6 +47,7 @@ local State = tubelib.NodeStates:new({ node_name_defect = "tubelib_addons1:pusher_fast_defect", infotext_name = S("Fast Pusher"), cycle_time = CYCLE_TIME, + first_cycle_time = FIRST_CYCLE, standby_ticks = STANDBY_TICKS, has_item_meter = true, aging_factor = 30, @@ -61,7 +63,9 @@ local function pushing(pos, meta) State:blocked(pos, meta) return end - State:keep_running(pos, meta, COUNTDOWN_TICKS) + if State.get_state(pos, meta) ~= tubelib.STOPPED then + State:keep_running(pos, meta, COUNTDOWN_TICKS) + end return end State:idle(pos, meta) diff --git a/mods/techpack/tubelib_addons3/pusher.lua b/mods/techpack/tubelib_addons3/pusher.lua index f6e2fbc6..bb6e9b10 100644 --- a/mods/techpack/tubelib_addons3/pusher.lua +++ b/mods/techpack/tubelib_addons3/pusher.lua @@ -24,6 +24,7 @@ local M = minetest.get_meta local STANDBY_TICKS = 5 local COUNTDOWN_TICKS = 5 local CYCLE_TIME = 2 +local FIRST_CYCLE = 0.5 local State = tubelib.NodeStates:new({ node_name_passive = "tubelib_addons3:pusher", @@ -31,6 +32,7 @@ local State = tubelib.NodeStates:new({ node_name_defect = "tubelib_addons3:pusher_defect", infotext_name = S("HighPerf Pusher"), cycle_time = CYCLE_TIME, + first_cycle_time = FIRST_CYCLE, standby_ticks = STANDBY_TICKS, has_item_meter = true, aging_factor = 50, @@ -46,7 +48,9 @@ local function pushing(pos, meta) State:blocked(pos, meta) return end - State:keep_running(pos, meta, COUNTDOWN_TICKS, 1) + if State.get_state(pos, meta) ~= tubelib.STOPPED then + State:keep_running(pos, meta, COUNTDOWN_TICKS, 1) + end return end State:idle(pos, meta) diff --git a/mods/unified_inventory/README.md b/mods/unified_inventory/README.md index 8c917ec4..d159c025 100644 --- a/mods/unified_inventory/README.md +++ b/mods/unified_inventory/README.md @@ -24,7 +24,7 @@ Unified Inventory replaces the default survival and creative inventory. ## Requirements - * Minetest 5.0.0+ + * Minetest 5.4.0+ # Licenses @@ -96,4 +96,4 @@ Other files from Wikimedia Commons: RealBadAngel: (CC-BY-4.0) - * Everything else. \ No newline at end of file + * Everything else. diff --git a/mods/unified_inventory/api.lua b/mods/unified_inventory/api.lua index 81dd8f35..05a34eee 100644 --- a/mods/unified_inventory/api.lua +++ b/mods/unified_inventory/api.lua @@ -1,5 +1,6 @@ local S = minetest.get_translator("unified_inventory") local F = minetest.formspec_escape +local ui = unified_inventory -- Create detached creative inventory after loading all mods minetest.after(0.01, function() @@ -8,12 +9,12 @@ minetest.after(0.01, function() if not rev_aliases[target] then rev_aliases[target] = {} end table.insert(rev_aliases[target], source) end - unified_inventory.items_list = {} + ui.items_list = {} for name, def in pairs(minetest.registered_items) do if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) and def.description and def.description ~= "" then - table.insert(unified_inventory.items_list, name) + table.insert(ui.items_list, name) local all_names = rev_aliases[name] or {} table.insert(all_names, name) for _, player_name in ipairs(all_names) do @@ -26,30 +27,30 @@ minetest.after(0.01, function() for _,chk in pairs(recipe.items) do local groupchk = string.find(chk, "group:") if (not groupchk and not minetest.registered_items[chk]) - or (groupchk and not unified_inventory.get_group_item(string.gsub(chk, "group:", "")).item) + or (groupchk and not ui.get_group_item(string.gsub(chk, "group:", "")).item) or minetest.get_item_group(chk, "not_in_craft_guide") ~= 0 then unknowns = true end end if not unknowns then - unified_inventory.register_craft(recipe) + ui.register_craft(recipe) end end end end end end - table.sort(unified_inventory.items_list) - unified_inventory.items_list_size = #unified_inventory.items_list - print("Unified Inventory. inventory size: "..unified_inventory.items_list_size) - for _, name in ipairs(unified_inventory.items_list) do + table.sort(ui.items_list) + ui.items_list_size = #ui.items_list + print("Unified Inventory. inventory size: "..ui.items_list_size) + for _, name in ipairs(ui.items_list) do local def = minetest.registered_items[name] -- Simple drops if type(def.drop) == "string" then local dstack = ItemStack(def.drop) if not dstack:is_empty() and dstack:get_name() ~= name then - unified_inventory.register_craft({ + ui.register_craft({ type = "digging", items = {name}, output = def.drop, @@ -115,7 +116,7 @@ minetest.after(0.01, function() end end for itemstring, count in pairs(drop_guaranteed) do - unified_inventory.register_craft({ + ui.register_craft({ type = "digging", items = {name}, output = itemstring .. " " .. count, @@ -123,7 +124,7 @@ minetest.after(0.01, function() }) end for itemstring, count in pairs(drop_maybe) do - unified_inventory.register_craft({ + ui.register_craft({ type = "digging_chance", items = {name}, output = itemstring .. " " .. count, @@ -132,22 +133,22 @@ minetest.after(0.01, function() end end end - for _, recipes in pairs(unified_inventory.crafts_for.recipe) do + for _, recipes in pairs(ui.crafts_for.recipe) do for _, recipe in ipairs(recipes) do local ingredient_items = {} for _, spec in pairs(recipe.items) do - local matches_spec = unified_inventory.canonical_item_spec_matcher(spec) - for _, name in ipairs(unified_inventory.items_list) do + local matches_spec = ui.canonical_item_spec_matcher(spec) + for _, name in ipairs(ui.items_list) do if matches_spec(name) then ingredient_items[name] = true end end end for name, _ in pairs(ingredient_items) do - if unified_inventory.crafts_for.usage[name] == nil then - unified_inventory.crafts_for.usage[name] = {} + if ui.crafts_for.usage[name] == nil then + ui.crafts_for.usage[name] = {} end - table.insert(unified_inventory.crafts_for.usage[name], recipe) + table.insert(ui.crafts_for.usage[name], recipe) end end end @@ -156,9 +157,9 @@ end) -- load_home local function load_home() - local input = io.open(unified_inventory.home_filename, "r") + local input = io.open(ui.home_filename, "r") if not input then - unified_inventory.home_pos = {} + ui.home_pos = {} return end while true do @@ -167,25 +168,25 @@ local function load_home() local y = input:read("*n") local z = input:read("*n") local name = input:read("*l") - unified_inventory.home_pos[name:sub(2)] = {x = x, y = y, z = z} + ui.home_pos[name:sub(2)] = {x = x, y = y, z = z} end io.close(input) end load_home() -function unified_inventory.set_home(player, pos) +function ui.set_home(player, pos) local player_name = player:get_player_name() - unified_inventory.home_pos[player_name] = vector.round(pos) + ui.home_pos[player_name] = vector.round(pos) -- save the home data from the table to the file - local output = io.open(unified_inventory.home_filename, "w") - for k, v in pairs(unified_inventory.home_pos) do + local output = io.open(ui.home_filename, "w") + for k, v in pairs(ui.home_pos) do output:write(v.x.." "..v.y.." "..v.z.." "..k.."\n") end io.close(output) end -function unified_inventory.go_home(player) - local pos = unified_inventory.home_pos[player:get_player_name()] +function ui.go_home(player) + local pos = ui.home_pos[player:get_player_name()] if pos then player:set_pos(pos) return true @@ -194,7 +195,7 @@ function unified_inventory.go_home(player) end -- register_craft -function unified_inventory.register_craft(options) +function ui.register_craft(options) if not options.output then return end @@ -205,10 +206,10 @@ function unified_inventory.register_craft(options) if options.type == "normal" and options.width == 0 then options = { type = "shapeless", items = options.items, output = options.output, width = 0 } end - if not unified_inventory.crafts_for.recipe[itemstack:get_name()] then - unified_inventory.crafts_for.recipe[itemstack:get_name()] = {} + if not ui.crafts_for.recipe[itemstack:get_name()] then + ui.crafts_for.recipe[itemstack:get_name()] = {} end - table.insert(unified_inventory.crafts_for.recipe[itemstack:get_name()],options) + table.insert(ui.crafts_for.recipe[itemstack:get_name()],options) end @@ -219,7 +220,7 @@ local craft_type_defaults = { } -function unified_inventory.craft_type_defaults(name, options) +function ui.craft_type_defaults(name, options) if not options.description then options.description = name end @@ -228,13 +229,13 @@ function unified_inventory.craft_type_defaults(name, options) end -function unified_inventory.register_craft_type(name, options) - unified_inventory.registered_craft_types[name] = - unified_inventory.craft_type_defaults(name, options) +function ui.register_craft_type(name, options) + ui.registered_craft_types[name] = + ui.craft_type_defaults(name, options) end -unified_inventory.register_craft_type("normal", { +ui.register_craft_type("normal", { description = F(S("Crafting")), icon = "ui_craftgrid_icon.png", width = 3, @@ -250,7 +251,7 @@ unified_inventory.register_craft_type("normal", { }) -unified_inventory.register_craft_type("shapeless", { +ui.register_craft_type("shapeless", { description = F(S("Mixing")), icon = "ui_craftgrid_icon.png", width = 3, @@ -265,7 +266,7 @@ unified_inventory.register_craft_type("shapeless", { }) -unified_inventory.register_craft_type("cooking", { +ui.register_craft_type("cooking", { description = F(S("Cooking")), icon = "default_furnace_front.png", width = 1, @@ -273,37 +274,60 @@ unified_inventory.register_craft_type("cooking", { }) -unified_inventory.register_craft_type("digging", { +ui.register_craft_type("digging", { description = F(S("Digging")), icon = "default_tool_steelpick.png", width = 1, height = 1, }) -unified_inventory.register_craft_type("digging_chance", { +ui.register_craft_type("digging_chance", { description = "Digging (by chance)", icon = "default_tool_steelpick.png^[transformFY.png", width = 1, height = 1, }) -function unified_inventory.register_page(name, def) - unified_inventory.pages[name] = def +function ui.register_page(name, def) + ui.pages[name] = def end -function unified_inventory.register_button(name, def) +function ui.register_button(name, def) if not def.action then def.action = function(player) - unified_inventory.set_inventory_formspec(player, name) + ui.set_inventory_formspec(player, name) end end def.name = name - table.insert(unified_inventory.buttons, def) + table.insert(ui.buttons, def) end - -function unified_inventory.is_creative(playername) +function ui.is_creative(playername) return minetest.check_player_privs(playername, {creative=true}) or minetest.settings:get_bool("creative_mode") end + +function ui.single_slot(xpos, ypos, bright) + return string.format("background9[%f,%f;%f,%f;ui_single_slot%s.png;false;16]", + xpos, ypos, ui.imgscale, ui.imgscale, (bright and "_bright" or "") ) +end + +function ui.make_trash_slot(xpos, ypos) + return + ui.single_slot(xpos, ypos).. + "image["..xpos..","..ypos..";1.25,1.25;ui_trash_slot_icon.png]".. + "list[detached:trash;main;"..(xpos + ui.list_img_offset)..","..(ypos + ui.list_img_offset)..";1,1;]" +end + +function ui.make_inv_img_grid(xpos, ypos, width, height, bright) + local tiled = {} + local n=1 + for y = 0, (height - 1) do + for x = 0, (width -1) do + tiled[n] = ui.single_slot(xpos + (ui.imgscale * x), ypos + (ui.imgscale * y), bright) + n = n + 1 + end + end + return table.concat(tiled) +end diff --git a/mods/unified_inventory/bags.lua b/mods/unified_inventory/bags.lua index c61c9829..14ac8758 100644 --- a/mods/unified_inventory/bags.lua +++ b/mods/unified_inventory/bags.lua @@ -7,27 +7,32 @@ License: GPLv3 local S = minetest.get_translator("unified_inventory") local F = minetest.formspec_escape +local ui = unified_inventory -unified_inventory.register_page("bags", { +ui.register_page("bags", { get_formspec = function(player) local player_name = player:get_player_name() return { formspec = table.concat({ - "background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]", - "label[0,0;" .. F(S("Bags")) .. "]", - "button[0,2;2,0.5;bag1;" .. F(S("Bag @1", 1)) .. "]", - "button[2,2;2,0.5;bag2;" .. F(S("Bag @1", 2)) .. "]", - "button[4,2;2,0.5;bag3;" .. F(S("Bag @1", 3)) .. "]", - "button[6,2;2,0.5;bag4;" .. F(S("Bag @1", 4)) .. "]", + ui.style_full.standard_inv_bg, + ui.single_slot(0.925, 1.5), + ui.single_slot(3.425, 1.5), + ui.single_slot(5.925, 1.5), + ui.single_slot(8.425, 1.5), + "label["..ui.style_full.form_header_x..","..ui.style_full.form_header_y..";" .. F(S("Bags")) .. "]", + "button[0.6125,2.75;1.875,0.75;bag1;" .. F(S("Bag @1", 1)) .. "]", + "button[3.1125,2.75;1.875,0.75;bag2;" .. F(S("Bag @1", 2)) .. "]", + "button[5.6125,2.75;1.875,0.75;bag3;" .. F(S("Bag @1", 3)) .. "]", + "button[8.1125,2.75;1.875,0.75;bag4;" .. F(S("Bag @1", 4)) .. "]", "listcolors[#00000000;#00000000]", - "list[detached:" .. F(player_name) .. "_bags;bag1;0.5,1;1,1;]", - "list[detached:" .. F(player_name) .. "_bags;bag2;2.5,1;1,1;]", - "list[detached:" .. F(player_name) .. "_bags;bag3;4.5,1;1,1;]", - "list[detached:" .. F(player_name) .. "_bags;bag4;6.5,1;1,1;]" + "list[detached:" .. F(player_name) .. "_bags;bag1;1.075,1.65;1,1;]", + "list[detached:" .. F(player_name) .. "_bags;bag2;3.575,1.65;1,1;]", + "list[detached:" .. F(player_name) .. "_bags;bag3;6.075,1.65;1,1;]", + "list[detached:" .. F(player_name) .. "_bags;bag4;8.575,1.65;1,1;]" }) } end, }) -unified_inventory.register_button("bags", { +ui.register_button("bags", { type = "image", image = "ui_bags_icon.png", tooltip = S("Bags"), @@ -42,32 +47,31 @@ local function get_player_bag_stack(player, i) end for bag_i = 1, 4 do - unified_inventory.register_page("bag" .. bag_i, { + ui.register_page("bag" .. bag_i, { get_formspec = function(player) local stack = get_player_bag_stack(player, bag_i) local image = stack:get_definition().inventory_image - local fs = { - "image[7,0;1,1;" .. image .. "]", - "label[0,0;" .. F(S("Bag @1", bag_i)) .. "]", - "listcolors[#00000000;#00000000]", - "list[current_player;bag" .. bag_i .. "contents;0,1;8,3;]", - "listring[current_name;bag" .. bag_i .. "contents]", - "listring[current_player;main]" - } local slots = stack:get_definition().groups.bagslots - if slots == 8 then - fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]" - elseif slots == 16 then - fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]" - elseif slots == 24 then - fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]" - end + + local formspec = { + ui.style_full.standard_inv_bg, + ui.make_inv_img_grid(0.3, 1.5, 8, slots/8), + "image[9.2,0.4;1,1;" .. image .. "]", + "label[0.3,0.65;" .. F(S("Bag @1", bag_i)) .. "]", + "listcolors[#00000000;#00000000]", + "listring[current_player;main]", + string.format("list[current_player;bag%icontents;%f,%f;8,3;]", + bag_i, 0.3 + ui.list_img_offset, 1.5 + ui.list_img_offset), + "listring[current_name;bag" .. bag_i .. "contents]", + } + local n = #formspec + 1 + local player_name = player:get_player_name() -- For if statement. - if unified_inventory.trash_enabled - or unified_inventory.is_creative(player_name) - or minetest.get_player_privs(player_name).give then - fs[#fs + 1] = "background[6.06,0;0.92,0.92;ui_bags_trash.png]" - .. "list[detached:trash;main;6,0.1;1,1;]" + if ui.trash_enabled + or ui.is_creative(player_name) + or minetest.get_player_privs(player_name).give then + formspec[n] = ui.make_trash_slot(7.8, 0.25) + n = n + 1 end local inv = player:get_inventory() for i = 1, 4 do @@ -84,11 +88,12 @@ for bag_i = 1, 4 do end local img = def.inventory_image local label = F(S("Bag @1", i)) .. "\n" .. used .. "/" .. size - fs[#fs + 1] = string.format("image_button[%i,0;1,1;%s;bag%i;%s]", - i + 1, img, i, label) + formspec[n] = string.format("image_button[%f,0.4;1,1;%s;bag%i;%s]", + (i + 1.35)*1.25, img, i, label) + n = n + 1 end end - return { formspec = table.concat(fs) } + return { formspec = table.concat(formspec) } end, }) end @@ -103,7 +108,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if not stack:get_definition().groups.bagslots then return end - unified_inventory.set_inventory_formspec(player, "bag" .. i) + ui.set_inventory_formspec(player, "bag" .. i) return end end @@ -132,7 +137,7 @@ end local function load_bags_metadata(player, bags_inv) local player_inv = player:get_inventory() local meta = player:get_meta() - local bags_meta = meta:get_string("unified_inventory:bags") + local bags_meta = meta:get("unified_inventory:bags") local bags = bags_meta and minetest.deserialize(bags_meta) or {} local dirty_meta = false if not bags_meta then diff --git a/mods/unified_inventory/doc/mod_api.txt b/mods/unified_inventory/doc/mod_api.txt index c0be129b..0d100a08 100644 --- a/mods/unified_inventory/doc/mod_api.txt +++ b/mods/unified_inventory/doc/mod_api.txt @@ -3,6 +3,14 @@ unified_inventory API This file provides information about the API of unified_inventory. +API revisions within unified_inventory can be checked using: + + (unified_inventory.version or 1) + +**Revision history** + +* Version `1`: Classic formspec layout (no real_coordinates) +* Version `2`: Force formspec version 4 (includes real_coordinates) Misc functions -------------- diff --git a/mods/unified_inventory/init.lua b/mods/unified_inventory/init.lua index 1a80abbb..231da9e9 100644 --- a/mods/unified_inventory/init.lua +++ b/mods/unified_inventory/init.lua @@ -35,18 +35,101 @@ unified_inventory = { -- Trash enabled trash_enabled = (minetest.settings:get_bool("unified_inventory_trash") ~= false), + imgscale = 1.25, + list_img_offset = 0.13, + standard_background = "background9[0,0;1,1;ui_formbg_9_sliced.png;true;16]", + version = 2 +} +local ui = unified_inventory + +-- These tables establish position and layout for the two UI styles. +-- UI doesn't use formspec_[xy] anymore, but other mods may need them. + +ui.style_full = { + formspec_x = 1, + formspec_y = 1, pagecols = 8, pagerows = 10, - page_y = 0, - formspec_y = 1, - main_button_x = 0, - main_button_y = 9, - craft_result_x = 0.3, - craft_result_y = 0.5, - form_header_y = 0 + page_x = 10.75, + page_y = 1.45, + craft_x = 2.8, + craft_y = 1.15, + craftresult_x = 7.8, + craft_arrow_x = 6.55, + craft_guide_x = 3.3, + craft_guide_y = 1.15, + craft_guide_arrow_x = 7.05, + craft_guide_result_x = 8.3, + craft_guide_resultstr_x = 0.3, + craft_guide_resultstr_y = 0.6, + give_btn_x = 0.25, + main_button_x = 0.4, + main_button_y = 11.0, + page_buttons_x = 11.60, + page_buttons_y = 10.15, + searchwidth = 3.4, + form_header_x = 0.4, + form_header_y = 0.4, + btn_spc = 0.85, + btn_size = 0.75, + std_inv_x = 0.3, + std_inv_y = 5.75, } +ui.style_lite = { + formspec_x = 0.6, + formspec_y = 0.6, + pagecols = 4, + pagerows = 6, + page_x = 10.5, + page_y = 1.25, + craft_x = 2.6, + craft_y = 0.75, + craftresult_x = 5.75, + craft_arrow_x = 6.35, + craft_guide_x = 3.1, + craft_guide_y = 0.75, + craft_guide_arrow_x = 7.05, + craft_guide_result_x = 8.3, + craft_guide_resultstr_x = 0.15, + craft_guide_resultstr_y = 0.35, + give_btn_x = 0.15, + main_button_x = 10.5, + main_button_y = 7.9, + page_buttons_x = 10.5, + page_buttons_y = 6.3, + searchwidth = 1.6, + form_header_x = 0.2, + form_header_y = 0.2, + btn_spc = 0.8, + btn_size = 0.7, + std_inv_x = 0.1, + std_inv_y = 4.6, +} + +dofile(modpath.."/api.lua") + +for _, style in ipairs({ui.style_full, ui.style_lite}) do + style.items_per_page = style.pagecols * style.pagerows + style.standard_inv = string.format("list[current_player;main;%f,%f;8,4;]", + style.std_inv_x + ui.list_img_offset, style.std_inv_y + ui.list_img_offset) + + style.standard_inv_bg = ui.make_inv_img_grid(style.std_inv_x, style.std_inv_y, 8, 1, true).. + ui.make_inv_img_grid(style.std_inv_x, style.std_inv_y + ui.imgscale, 8, 3) + + style.craft_grid = table.concat({ + ui.make_inv_img_grid(style.craft_x, style.craft_y, 3, 3), + ui.single_slot(style.craft_x + ui.imgscale*4, style.craft_y), -- the craft result slot + string.format("image[%f,%f;%f,%f;ui_crafting_arrow.png]", + style.craft_arrow_x, style.craft_y, ui.imgscale, ui.imgscale), + string.format("list[current_player;craft;%f,%f;3,3;]", + style.craft_x + ui.list_img_offset, style.craft_y + ui.list_img_offset), + string.format("list[current_player;craftpreview;%f,%f;1,1;]", + style.craftresult_x + ui.list_img_offset, style.craft_y + ui.list_img_offset) + }) +end + -- Disable default creative inventory local creative = rawget(_G, "creative") or rawget(_G, "creative_inventory") if creative then @@ -62,7 +145,6 @@ if sfinv then end dofile(modpath.."/group.lua") -dofile(modpath.."/api.lua") dofile(modpath.."/internal.lua") dofile(modpath.."/callbacks.lua") dofile(modpath.."/match_craft.lua") diff --git a/mods/unified_inventory/internal.lua b/mods/unified_inventory/internal.lua index eeab695d..d92b932f 100644 --- a/mods/unified_inventory/internal.lua +++ b/mods/unified_inventory/internal.lua @@ -1,5 +1,6 @@ local S = minetest.get_translator("unified_inventory") local F = minetest.formspec_escape +local ui = unified_inventory -- This pair of encoding functions is used where variable text must go in -- button names, where the text might contain formspec metacharacters. @@ -9,78 +10,50 @@ local F = minetest.formspec_escape -- This is a game engine bug, and in the anticipation that it might be -- fixed some day we don't want to rely on it. So for safety we apply -- an encoding that avoids all formspec metacharacters. -function unified_inventory.mangle_for_formspec(str) + +function ui.mangle_for_formspec(str) return string.gsub(str, "([^A-Za-z0-9])", function (c) return string.format("_%d_", string.byte(c)) end) end -function unified_inventory.demangle_for_formspec(str) +function ui.demangle_for_formspec(str) return string.gsub(str, "_([0-9]+)_", function (v) return string.char(v) end) end -function unified_inventory.get_per_player_formspec(player_name) - local lite = unified_inventory.lite_mode and not minetest.check_player_privs(player_name, {ui_full=true}) - local ui = {} - ui.pagecols = unified_inventory.pagecols - ui.pagerows = unified_inventory.pagerows - ui.page_y = unified_inventory.page_y - ui.formspec_y = unified_inventory.formspec_y - ui.main_button_x = unified_inventory.main_button_x - ui.main_button_y = unified_inventory.main_button_y - ui.craft_result_x = unified_inventory.craft_result_x - ui.craft_result_y = unified_inventory.craft_result_y - ui.form_header_y = unified_inventory.form_header_y +function ui.get_per_player_formspec(player_name) + local draw_lite_mode = ui.lite_mode and not minetest.check_player_privs(player_name, {ui_full=true}) - if lite then - ui.pagecols = 4 - ui.pagerows = 6 - ui.page_y = 0.25 - ui.formspec_y = 0.47 - ui.main_button_x = 8.2 - ui.main_button_y = 6.5 - ui.craft_result_x = 2.8 - ui.craft_result_y = 3.4 - ui.form_header_y = -0.1 - end - - ui.items_per_page = ui.pagecols * ui.pagerows - return ui, lite + return table.copy(draw_lite_mode and ui.style_lite or ui.style_full), draw_lite_mode end -function unified_inventory.get_formspec(player, page) +function ui.get_formspec(player, page) if not player then return "" end local player_name = player:get_player_name() - local ui_peruser,draw_lite_mode = unified_inventory.get_per_player_formspec(player_name) + local ui_peruser,draw_lite_mode = ui.get_per_player_formspec(player_name) - unified_inventory.current_page[player_name] = page - local pagedef = unified_inventory.pages[page] + ui.current_page[player_name] = page + local pagedef = ui.pages[page] if not pagedef then return "" -- Invalid page name end local formspec = { - "size[14,10]", + "formspec_version[4]size[17.75,12.25]", pagedef.formspec_prepend and "" or "no_prepend[]", - "background[-0.19,-0.25;14.4,10.75;ui_form_bg.png]" -- Background + ui.standard_background -- Background } local n = 4 if draw_lite_mode then - formspec[1] = "size[11,7.7]" - formspec[3] = "background[-0.19,-0.2;11.4,8.4;ui_form_bg.png]" + formspec[1] = "formspec_version[4]size[14,9.75]" + formspec[3] = ui.standard_background end - if unified_inventory.is_creative(player_name) - and page == "craft" then - formspec[n] = "background[0,"..(ui_peruser.formspec_y + 2)..";1,1;ui_single_slot.png]" - n = n+1 - end - - local perplayer_formspec = unified_inventory.get_per_player_formspec(player_name) + local perplayer_formspec = ui.get_per_player_formspec(player_name) local fsdata = pagedef.get_formspec(player, perplayer_formspec) formspec[n] = fsdata.formspec @@ -93,7 +66,7 @@ function unified_inventory.get_formspec(player, page) local filtered_inv_buttons = {} - for i, def in pairs(unified_inventory.buttons) do + for i, def in pairs(ui.buttons) do if not (draw_lite_mode and def.hide_lite) then table.insert(filtered_inv_buttons, def) end @@ -108,21 +81,20 @@ function unified_inventory.get_formspec(player, page) if def.type == "image" then if (def.condition == nil or def.condition(player) == true) then - formspec[n] = "image_button[" - formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4) - formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;" - formspec[n+3] = F(def.image)..";" - formspec[n+4] = F(def.name)..";]" - formspec[n+5] = "tooltip["..F(def.name) - formspec[n+6] = ";"..(def.tooltip or "").."]" - n = n+7 + formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s;]", + ui_peruser.main_button_x + ui_peruser.btn_spc * (i - 1) - button_col * ui_peruser.btn_spc * 4, + ui_peruser.main_button_y + button_row * ui_peruser.btn_spc, + ui_peruser.btn_size,ui_peruser.btn_size, + F(def.image), + F(def.name)) + formspec[n+1] = "tooltip["..F(def.name)..";"..(def.tooltip or "").."]" + n = n+2 else - formspec[n] = "image[" - formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4) - formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;" - formspec[n+3] = F(def.image).."^[colorize:#808080:alpha]" - n = n+4 - + formspec[n] = string.format("image[%f,%f;%f,%f;%s^[colorize:#808080:alpha]", + ui_peruser.main_button_x + ui_peruser.btn_spc * (i - 1) - button_col * ui_peruser.btn_spc * 4, + ui_peruser.main_button_y + button_row * ui_peruser.btn_spc, + ui_peruser.btn_size,ui_peruser.btn_size,def.image) + n = n+1 end end end @@ -130,7 +102,7 @@ function unified_inventory.get_formspec(player, page) if fsdata.draw_inventory ~= false then -- Player inventory formspec[n] = "listcolors[#00000000;#00000000]" - formspec[n+1] = "list[current_player;main;0,"..(ui_peruser.formspec_y + 3.5)..";8,4;]" + formspec[n+1] = ui_peruser.standard_inv n = n+2 end @@ -138,71 +110,52 @@ function unified_inventory.get_formspec(player, page) return table.concat(formspec, "") end - -- Controls to flip items pages - local start_x = 9.2 - - if not draw_lite_mode then - formspec[n] = - "image_button[" .. (start_x + 0.6 * 0) - .. ",9;.8,.8;ui_skip_backward_icon.png;start_list;]" - .. "tooltip[start_list;" .. F(S("First page")) .. "]" - - .. "image_button[" .. (start_x + 0.6 * 1) - .. ",9;.8,.8;ui_doubleleft_icon.png;rewind3;]" - .. "tooltip[rewind3;" .. F(S("Back three pages")) .. "]" - .. "image_button[" .. (start_x + 0.6 * 2) - .. ",9;.8,.8;ui_left_icon.png;rewind1;]" - .. "tooltip[rewind1;" .. F(S("Back one page")) .. "]" - - .. "image_button[" .. (start_x + 0.6 * 3) - .. ",9;.8,.8;ui_right_icon.png;forward1;]" - .. "tooltip[forward1;" .. F(S("Forward one page")) .. "]" - .. "image_button[" .. (start_x + 0.6 * 4) - .. ",9;.8,.8;ui_doubleright_icon.png;forward3;]" - .. "tooltip[forward3;" .. F(S("Forward three pages")) .. "]" - - .. "image_button[" .. (start_x + 0.6 * 5) - .. ",9;.8,.8;ui_skip_forward_icon.png;end_list;]" - .. "tooltip[end_list;" .. F(S("Last page")) .. "]" - else - formspec[n] = - "image_button[" .. (8.2 + 0.65 * 0) - .. ",5.8;.8,.8;ui_skip_backward_icon.png;start_list;]" - .. "tooltip[start_list;" .. F(S("First page")) .. "]" - .. "image_button[" .. (8.2 + 0.65 * 1) - .. ",5.8;.8,.8;ui_left_icon.png;rewind1;]" - .. "tooltip[rewind1;" .. F(S("Back one page")) .. "]" - .. "image_button[" .. (8.2 + 0.65 * 2) - .. ",5.8;.8,.8;ui_right_icon.png;forward1;]" - .. "tooltip[forward1;" .. F(S("Forward one page")) .. "]" - .. "image_button[" .. (8.2 + 0.65 * 3) - .. ",5.8;.8,.8;ui_skip_forward_icon.png;end_list;]" - .. "tooltip[end_list;" .. F(S("Last page")) .. "]" - end - n = n+1 - -- Search box formspec[n] = "field_close_on_enter[searchbox;false]" - n = n+1 - if not draw_lite_mode then - formspec[n] = "field[9.5,8.325;3,1;searchbox;;" - .. F(unified_inventory.current_searchbox[player_name]) .. "]" - formspec[n+1] = "image_button[12.2,8.1;.8,.8;ui_search_icon.png;searchbutton;]" - .. "tooltip[searchbutton;" ..F(S("Search")) .. "]" - formspec[n+2] = "image_button[12.9,8.1;.8,.8;ui_reset_icon.png;searchresetbutton;]" - .. "tooltip[searchbutton;" ..F(S("Search")) .. "]" - .. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]" - else - formspec[n] = "field[8.5,5.225;2.2,1;searchbox;;" - .. F(unified_inventory.current_searchbox[player_name]) .. "]" - formspec[n+1] = "image_button[10.3,5;.8,.8;ui_search_icon.png;searchbutton;]" - .. "tooltip[searchbutton;" ..F(S("Search")) .. "]" - formspec[n+2] = "image_button[11,5;.8,.8;ui_reset_icon.png;searchresetbutton;]" - .. "tooltip[searchbutton;" ..F(S("Search")) .. "]" - .. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]" + formspec[n+1] = string.format("field[%f,%f;%f,%f;searchbox;;%s]", + ui_peruser.page_buttons_x, ui_peruser.page_buttons_y, + ui_peruser.searchwidth - 0.1, ui_peruser.btn_size, + F(ui.current_searchbox[player_name])) + formspec[n+2] = string.format("image_button[%f,%f;%f,%f;ui_search_icon.png;searchbutton;]", + ui_peruser.page_buttons_x + ui_peruser.searchwidth, ui_peruser.page_buttons_y, + ui_peruser.btn_size,ui_peruser.btn_size) + formspec[n+3] = "tooltip[searchbutton;" ..F(S("Search")) .. "]" + formspec[n+4] = string.format("image_button[%f,%f;%f,%f;ui_reset_icon.png;searchresetbutton;]", + ui_peruser.page_buttons_x + ui_peruser.searchwidth + ui_peruser.btn_spc, + ui_peruser.page_buttons_y, + ui_peruser.btn_size, ui_peruser.btn_size) + formspec[n+5] = "tooltip[searchresetbutton;"..F(S("Reset search and display everything")).."]" + + n = n + 6 + + -- Controls to flip items pages + + local btnlist = { + { "ui_skip_backward_icon.png", "start_list", S("First page") }, + { "ui_doubleleft_icon.png", "rewind3", S("Back three pages") }, + { "ui_left_icon.png", "rewind1", S("Back one page") }, + { "ui_right_icon.png", "forward1", S("Forward one page") }, + { "ui_doubleright_icon.png", "forward3", S("Forward three pages") }, + { "ui_skip_forward_icon.png", "end_list", S("Last page") }, + } + + if draw_lite_mode then + btnlist[5] = nil + btnlist[2] = nil + end + + local bn = 0 + for _, b in pairs(btnlist) do + formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s;]", + ui_peruser.page_buttons_x + ui_peruser.btn_spc*bn, + ui_peruser.page_buttons_y + ui_peruser.btn_spc, + ui_peruser.btn_size, ui_peruser.btn_size, + b[1],b[2]) + formspec[n+1] = "tooltip["..b[2]..";"..F(b[3]).."]" + bn = bn + 1 + n = n + 2 end - n = n+3 local no_matches = S("No matching items") if draw_lite_mode then @@ -210,23 +163,23 @@ function unified_inventory.get_formspec(player, page) end -- Items list - if #unified_inventory.filtered_items_list[player_name] == 0 then - formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";" .. F(no_matches) .. "]" + if #ui.filtered_items_list[player_name] == 0 then + formspec[n] = "label["..ui_peruser.page_x..","..(ui_peruser.page_y+0.15)..";" .. F(no_matches) .. "]" else - local dir = unified_inventory.active_search_direction[player_name] - local list_index = unified_inventory.current_index[player_name] + local dir = ui.active_search_direction[player_name] + local list_index = ui.current_index[player_name] local page2 = math.floor(list_index / (ui_peruser.items_per_page) + 1) local pagemax = math.floor( - (#unified_inventory.filtered_items_list[player_name] - 1) + (#ui.filtered_items_list[player_name] - 1) / (ui_peruser.items_per_page) + 1) for y = 0, ui_peruser.pagerows - 1 do for x = 0, ui_peruser.pagecols - 1 do - local name = unified_inventory.filtered_items_list[player_name][list_index] + local name = ui.filtered_items_list[player_name][list_index] local item = minetest.registered_items[name] if item then -- Clicked on current item: Flip crafting direction - if name == unified_inventory.current_item[player_name] then - local cdir = unified_inventory.current_craft_direction[player_name] + if name == ui.current_item[player_name] then + local cdir = ui.current_craft_direction[player_name] if cdir == "recipe" then dir = "usage" elseif cdir == "usage" then @@ -234,13 +187,15 @@ function unified_inventory.get_formspec(player, page) end else -- Default: use active search direction by default - dir = unified_inventory.active_search_direction[player_name] + dir = ui.active_search_direction[player_name] end local button_name = "item_button_" .. dir .. "_" - .. unified_inventory.mangle_for_formspec(name) - formspec[n] = ("item_image_button[%f,%f;.81,.81;%s;%s;]"):format( - 8.2 + x * 0.7, ui_peruser.formspec_y + ui_peruser.page_y + y * 0.7, + .. ui.mangle_for_formspec(name) + formspec[n] = ("item_image_button[%f,%f;%f,%f;%s;%s;]"):format( + ui_peruser.page_x + x * ui_peruser.btn_spc, + ui_peruser.page_y + y * ui_peruser.btn_spc, + ui_peruser.btn_size, ui_peruser.btn_size, name, button_name ) formspec[n + 1] = ("tooltip[%s;%s \\[%s\\]]"):format( @@ -252,26 +207,29 @@ function unified_inventory.get_formspec(player, page) end end end - formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F(S("Page")) .. ": " - .. S("@1 of @2",page2,pagemax).."]" + formspec[n] = string.format("label[%f,%f;%s: %s]", + ui_peruser.page_x, ui_peruser.form_header_y, + F(S("Page")), S("@1 of @2",page2,pagemax)) end n= n+1 - if unified_inventory.activefilter[player_name] ~= "" then - formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F(S("Filter")) .. ":]" - formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..F(unified_inventory.activefilter[player_name]).."]" + if ui.activefilter[player_name] ~= "" then + formspec[n] = string.format("label[%f,%f;%s:]", + ui_peruser.page_x, ui_peruser.page_y - 0.65, F(S("Filter"))) + formspec[n+1] = string.format("label[%f,%f;%s]", + ui_peruser.page_x, ui_peruser.page_y - 0.25, F(ui.activefilter[player_name])) end return table.concat(formspec, "") end -function unified_inventory.set_inventory_formspec(player, page) +function ui.set_inventory_formspec(player, page) if player then - player:set_inventory_formspec(unified_inventory.get_formspec(player, page)) + player:set_inventory_formspec(ui.get_formspec(player, page)) end end --apply filter to the inventory list (create filtered copy of full one) -function unified_inventory.apply_filter(player, filter, search_dir) +function ui.apply_filter(player, filter, search_dir) if not player then return false end @@ -300,26 +258,26 @@ function unified_inventory.apply_filter(player, filter, search_dir) or llocaldesc and string.find(llocaldesc, lfilter, 1, true) end end - unified_inventory.filtered_items_list[player_name]={} + ui.filtered_items_list[player_name]={} for name, def in pairs(minetest.registered_items) do if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) and def.description and def.description ~= "" and ffilter(name, def) then - table.insert(unified_inventory.filtered_items_list[player_name], name) + table.insert(ui.filtered_items_list[player_name], name) end end - table.sort(unified_inventory.filtered_items_list[player_name]) - unified_inventory.filtered_items_list_size[player_name] = #unified_inventory.filtered_items_list[player_name] - unified_inventory.current_index[player_name] = 1 - unified_inventory.activefilter[player_name] = filter - unified_inventory.active_search_direction[player_name] = search_dir - unified_inventory.set_inventory_formspec(player, - unified_inventory.current_page[player_name]) + table.sort(ui.filtered_items_list[player_name]) + ui.filtered_items_list_size[player_name] = #ui.filtered_items_list[player_name] + ui.current_index[player_name] = 1 + ui.activefilter[player_name] = filter + ui.active_search_direction[player_name] = search_dir + ui.set_inventory_formspec(player, + ui.current_page[player_name]) end -function unified_inventory.items_in_group(groups) +function ui.items_in_group(groups) local items = {} for name, item in pairs(minetest.registered_items) do for _, group in pairs(groups:split(',')) do @@ -331,7 +289,7 @@ function unified_inventory.items_in_group(groups) return items end -function unified_inventory.sort_inventory(inv) +function ui.sort_inventory(inv) local inlist = inv:get_list("main") local typecnt = {} local typekeys = {} diff --git a/mods/unified_inventory/mod.conf b/mods/unified_inventory/mod.conf index bca70ca6..89be5287 100644 --- a/mods/unified_inventory/mod.conf +++ b/mods/unified_inventory/mod.conf @@ -5,3 +5,4 @@ description = """ Unified Inventory replaces the default survival and creative inventory. It adds a nicer interface and a number of features, such as a crafting guide. """ +min_minetest_version = 5.4.0 diff --git a/mods/unified_inventory/register.lua b/mods/unified_inventory/register.lua index 017e4afd..3cb5f59e 100644 --- a/mods/unified_inventory/register.lua +++ b/mods/unified_inventory/register.lua @@ -1,6 +1,7 @@ local S = minetest.get_translator("unified_inventory") local NS = function(s) return s end local F = minetest.formspec_escape +local ui = unified_inventory minetest.register_privilege("creative", { description = S("Can use the creative inventory"), @@ -12,10 +13,9 @@ minetest.register_privilege("ui_full", { give_to_singleplayer = false, }) - local trash = minetest.create_detached_inventory("trash", { --allow_put = function(inv, listname, index, stack, player) - -- if unified_inventory.is_creative(player:get_player_name()) then + -- if ui.is_creative(player:get_player_name()) then -- return stack:get_count() -- else -- return 0 @@ -29,19 +29,19 @@ local trash = minetest.create_detached_inventory("trash", { }) trash:set_size("main", 1) -unified_inventory.register_button("craft", { +ui.register_button("craft", { type = "image", image = "ui_craft_icon.png", tooltip = S("Crafting Grid") }) -unified_inventory.register_button("craftguide", { +ui.register_button("craftguide", { type = "image", image = "ui_craftguide_icon.png", tooltip = S("Crafting Guide") }) -unified_inventory.register_button("home_gui_set", { +ui.register_button("home_gui_set", { type = "image", image = "ui_sethome_icon.png", tooltip = S("Set home position"), @@ -49,8 +49,8 @@ unified_inventory.register_button("home_gui_set", { action = function(player) local player_name = player:get_player_name() if minetest.check_player_privs(player_name, {home=true}) then - unified_inventory.set_home(player, player:get_pos()) - local home = unified_inventory.home_pos[player_name] + ui.set_home(player, player:get_pos()) + local home = ui.home_pos[player_name] if home ~= nil then minetest.sound_play("dingdong", {to_player=player_name, gain = 1.0}) @@ -60,7 +60,7 @@ unified_inventory.register_button("home_gui_set", { else minetest.chat_send_player(player_name, S("You don't have the \"home\" privilege!")) - unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) + ui.set_inventory_formspec(player, ui.current_page[player_name]) end end, condition = function(player) @@ -68,7 +68,7 @@ unified_inventory.register_button("home_gui_set", { end, }) -unified_inventory.register_button("home_gui_go", { +ui.register_button("home_gui_go", { type = "image", image = "ui_gohome_icon.png", tooltip = S("Go home"), @@ -76,13 +76,13 @@ unified_inventory.register_button("home_gui_go", { action = function(player) local player_name = player:get_player_name() if minetest.check_player_privs(player_name, {home=true}) then - if unified_inventory.go_home(player) then + if ui.go_home(player) then minetest.sound_play("teleport", {to_player = player_name}) end else minetest.chat_send_player(player_name, S("You don't have the \"home\" privilege!")) - unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) + ui.set_inventory_formspec(player, ui.current_page[player_name]) end end, condition = function(player) @@ -90,7 +90,7 @@ unified_inventory.register_button("home_gui_go", { end, }) -unified_inventory.register_button("misc_set_day", { +ui.register_button("misc_set_day", { type = "image", image = "ui_sun_icon.png", tooltip = S("Set time to day"), @@ -106,7 +106,7 @@ unified_inventory.register_button("misc_set_day", { else minetest.chat_send_player(player_name, S("You don't have the settime privilege!")) - unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) + ui.set_inventory_formspec(player, ui.current_page[player_name]) end end, condition = function(player) @@ -114,7 +114,7 @@ unified_inventory.register_button("misc_set_day", { end, }) -unified_inventory.register_button("misc_set_night", { +ui.register_button("misc_set_night", { type = "image", image = "ui_moon_icon.png", tooltip = S("Set time to night"), @@ -130,7 +130,7 @@ unified_inventory.register_button("misc_set_night", { else minetest.chat_send_player(player_name, S("You don't have the settime privilege!")) - unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) + ui.set_inventory_formspec(player, ui.current_page[player_name]) end end, condition = function(player) @@ -138,19 +138,19 @@ unified_inventory.register_button("misc_set_night", { end, }) -unified_inventory.register_button("clear_inv", { +ui.register_button("clear_inv", { type = "image", image = "ui_trash_icon.png", tooltip = S("Clear inventory"), action = function(player) local player_name = player:get_player_name() - if not unified_inventory.is_creative(player_name) then + if not ui.is_creative(player_name) then minetest.chat_send_player(player_name, S("This button has been disabled outside" .." of creative mode to prevent" .." accidental inventory trashing." .."\nUse the trash slot instead.")) - unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) + ui.set_inventory_formspec(player, ui.current_page[player_name]) return end player:get_inventory():set_list("main", {}) @@ -159,35 +159,42 @@ unified_inventory.register_button("clear_inv", { {to_player=player_name, gain = 1.0}) end, condition = function(player) - return unified_inventory.is_creative(player:get_player_name()) + return ui.is_creative(player:get_player_name()) end, }) -unified_inventory.register_page("craft", { +ui.register_page("craft", { get_formspec = function(player, perplayer_formspec) - local formspecy = perplayer_formspec.formspec_y - local formheadery = perplayer_formspec.form_header_y + local formheaderx = perplayer_formspec.form_header_x + local formheadery = perplayer_formspec.form_header_y + local craftx = perplayer_formspec.craft_x + local crafty = perplayer_formspec.craft_y local player_name = player:get_player_name() - local formspec = "background[2,"..formspecy..";6,3;ui_crafting_form.png]" - formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]" - formspec = formspec.."label[0,"..formheadery..";" ..F(S("Crafting")).."]" - formspec = formspec.."listcolors[#00000000;#00000000]" - formspec = formspec.."list[current_player;craftpreview;6,"..formspecy..";1,1;]" - formspec = formspec.."list[current_player;craft;2,"..formspecy..";3,3;]" - if unified_inventory.trash_enabled or unified_inventory.is_creative(player_name) or minetest.get_player_privs(player_name).give then - formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F(S("Trash:")) .. "]" - formspec = formspec.."background[7,"..(formspecy + 2)..";1,1;ui_single_slot.png]" - formspec = formspec.."list[detached:trash;main;7,"..(formspecy + 2)..";1,1;]" + local formspec = { + perplayer_formspec.standard_inv_bg, + perplayer_formspec.craft_grid, + "label["..formheaderx..","..formheadery..";" ..F(S("Crafting")).."]", + "listcolors[#00000000;#00000000]", + "listring[current_name;craft]", + "listring[current_player;main]" + } + local n=#formspec+1 + + if ui.trash_enabled or ui.is_creative(player_name) or minetest.get_player_privs(player_name).give then + formspec[n] = string.format("label[%f,%f;%s]", craftx + 6.45, crafty + 2.4, F(S("Trash:"))) + formspec[n+1] = ui.make_trash_slot(craftx + 6.25, crafty + 2.5) + n=n + 2 end - formspec = formspec.."listring[current_name;craft]" - formspec = formspec.."listring[current_player;main]" - if unified_inventory.is_creative(player_name) then - formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F(S("Refill:")) .. "]" - formspec = formspec.."list[detached:"..F(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]" + + if ui.is_creative(player_name) then + formspec[n] = ui.single_slot(craftx - 2.5, crafty + 2.5) + formspec[n+1] = string.format("label[%f,%f;%s]", craftx - 2.3, crafty + 2.4,F(S("Refill:"))) + formspec[n+2] = string.format("list[detached:%srefill;main;%f,%f;1,1;]", + F(player_name), craftx - 2.5 + ui.list_img_offset, crafty + 2.5 + ui.list_img_offset) end - return {formspec=formspec} + return {formspec=table.concat(formspec)} end, }) @@ -206,18 +213,18 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) local selectitem = name if name:sub(1, 6) == "group:" then local group_name = name:sub(7) - local group_item = unified_inventory.get_group_item(group_name) + local group_item = ui.get_group_item(group_name) show_is_group = not group_item.sole displayitem = group_item.item or "unknown" selectitem = group_item.sole and displayitem or name end local label = show_is_group and "G" or "" - local buttonname = F(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem)) + local buttonname = F(buttonname_prefix..ui.mangle_for_formspec(selectitem)) local button = string.format("item_image_button[%f,%f;%f,%f;%s;%s;%s]", x, y, w, h, F(displayitem), buttonname, label) if show_is_group then - local groupstring, andcount = unified_inventory.extract_groupnames(name) + local groupstring, andcount = ui.extract_groupnames(name) local grouptip if andcount == 1 then grouptip = S("Any item belonging to the @1 group", groupstring) @@ -257,26 +264,33 @@ local other_dir = { usage = "recipe", } -unified_inventory.register_page("craftguide", { +ui.register_page("craftguide", { get_formspec = function(player, perplayer_formspec) - local formspecy = perplayer_formspec.formspec_y - local formheadery = perplayer_formspec.form_header_y - local craftresultx = perplayer_formspec.craft_result_x - local craftresulty = perplayer_formspec.craft_result_y + local craftguidex = perplayer_formspec.craft_guide_x + local craftguidey = perplayer_formspec.craft_guide_y + local craftguidearrowx = perplayer_formspec.craft_guide_arrow_x + local craftguideresultx = perplayer_formspec.craft_guide_result_x + local formheaderx = perplayer_formspec.form_header_x + local formheadery = perplayer_formspec.form_header_y + local give_x = perplayer_formspec.give_btn_x local player_name = player:get_player_name() local player_privs = minetest.get_player_privs(player_name) - local fs = { - "background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]", - "label[0,"..formheadery..";" .. F(S("Crafting Guide")) .. "]", + + local formspec = { + perplayer_formspec.standard_inv_bg, + "label["..formheaderx..","..formheadery..";" .. F(S("Crafting Guide")) .. "]", "listcolors[#00000000;#00000000]" } - local item_name = unified_inventory.current_item[player_name] + + local item_name = ui.current_item[player_name] if not item_name then - return { formspec = table.concat(fs) } + return { formspec = table.concat(formspec) } end + local n = 4 + local item_name_shown if minetest.registered_items[item_name] and minetest.registered_items[item_name].description then @@ -286,51 +300,60 @@ unified_inventory.register_page("craftguide", { item_name_shown = item_name end - local dir = unified_inventory.current_craft_direction[player_name] + local dir = ui.current_craft_direction[player_name] local rdir = dir == "recipe" and "usage" or "recipe" - local crafts = unified_inventory.crafts_for[dir][item_name] - local alternate = unified_inventory.alternate[player_name] + local crafts = ui.crafts_for[dir][item_name] + local alternate = ui.alternate[player_name] local alternates, craft if crafts and #crafts > 0 then alternates = #crafts craft = crafts[alternate] end - local has_give = player_privs.give or unified_inventory.is_creative(player_name) + local has_give = player_privs.give or ui.is_creative(player_name) - fs[#fs + 1] = "background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]" - fs[#fs + 1] = string.format("textarea[%f,%f;10,1;;%s: %s;]", - craftresultx, craftresulty, F(role_text[dir]), item_name_shown) - fs[#fs + 1] = stack_image_button(0, formspecy, 1.1, 1.1, - "item_button_" .. rdir .. "_", ItemStack(item_name)) + formspec[n] = string.format("image[%f,%f;%f,%f;ui_crafting_arrow.png]", + craftguidearrowx, craftguidey, ui.imgscale, ui.imgscale) + + formspec[n+1] = string.format("textarea[%f,%f;10,1;;%s: %s;]", + perplayer_formspec.craft_guide_resultstr_x, perplayer_formspec.craft_guide_resultstr_y, + F(role_text[dir]), item_name_shown) + n = n + 2 + + local giveme_form = table.concat({ + "label[".. (give_x+0.1)..",".. (craftguidey + 2.7) .. ";" .. F(S("Give me:")) .. "]", + "button["..(give_x)..",".. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_1;1]", + "button["..(give_x+0.8)..",".. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_10;10]", + "button["..(give_x+1.6)..",".. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_99;99]" + }) if not craft then -- No craft recipes available for this item. - fs[#fs + 1] = "label[5.5,"..(formspecy + 2.35)..";" - .. F(no_recipe_text[dir]) .. "]" - local no_pos = dir == "recipe" and 4.5 or 6.5 - local item_pos = dir == "recipe" and 6.5 or 4.5 - fs[#fs + 1] = "image["..no_pos..","..formspecy..";1.1,1.1;ui_no.png]" - fs[#fs + 1] = stack_image_button(item_pos, formspecy, 1.1, 1.1, + formspec[n] = string.format("label[%f,%f;%s]", craftguidex+2.5, craftguidey+1.5, F(no_recipe_text[dir])) + local no_pos = dir == "recipe" and (craftguidex+2.5) or craftguideresultx + local item_pos = dir == "recipe" and craftguideresultx or (craftguidex+2.5) + formspec[n+1] = "image["..no_pos..","..craftguidey..";1.2,1.2;ui_no.png]" + formspec[n+2] = stack_image_button(item_pos, craftguidey, 1.2, 1.2, "item_button_" .. other_dir[dir] .. "_", ItemStack(item_name)) if has_give then - fs[#fs + 1] = "label[0," .. (formspecy + 2.10) .. ";" .. F(S("Give me:")) .. "]" - .. "button[0, " .. (formspecy + 2.7) .. ";0.6,0.5;craftguide_giveme_1;1]" - .. "button[0.6," .. (formspecy + 2.7) .. ";0.7,0.5;craftguide_giveme_10;10]" - .. "button[1.3," .. (formspecy + 2.7) .. ";0.8,0.5;craftguide_giveme_99;99]" + formspec[n+3] = giveme_form end - return { formspec = table.concat(fs) } + return { formspec = table.concat(formspec) } + else + formspec[n] = stack_image_button(craftguideresultx, craftguidey, 1.2, 1.2, + "item_button_" .. rdir .. "_", ItemStack(craft.output)) + n = n + 1 end - local craft_type = unified_inventory.registered_craft_types[craft.type] or - unified_inventory.craft_type_defaults(craft.type, {}) + local craft_type = ui.registered_craft_types[craft.type] or + ui.craft_type_defaults(craft.type, {}) if craft_type.icon then - fs[#fs + 1] = string.format("image[%f,%f;%f,%f;%s]", - 5.7, (formspecy + 0.05), 0.5, 0.5, craft_type.icon) + formspec[n] = string.format("image[%f,%f;%f,%f;%s]", + craftguidearrowx+0.35, craftguidey, 0.5, 0.5, craft_type.icon) + n = n + 1 end - fs[#fs + 1] = "label[5.5,"..(formspecy + 1)..";" .. F(craft_type.description).."]" - fs[#fs + 1] = stack_image_button(6.5, formspecy, 1.1, 1.1, - "item_button_usage_", ItemStack(craft.output)) + formspec[n] = string.format("label[%f,%f;%s]", craftguidearrowx + 0.15, craftguidey + 1.4, F(craft_type.description)) + n = n + 1 local display_size = craft_type.dynamic_display_size and craft_type.dynamic_display_size(craft) @@ -341,11 +364,12 @@ unified_inventory.register_page("craftguide", { -- This keeps recipes aligned to the right, -- so that they're close to the arrow. - local xoffset = 5.5 + local xoffset = craftguidex+3.75 + local bspc = 1.25 -- Offset factor for crafting grids with side length > 4 local of = (3/math.max(3, math.max(display_size.width, display_size.height))) local od = 0 - -- Minimum grid size at which size optimazation measures kick in + -- Minimum grid size at which size optimization measures kick in local mini_craft_size = 6 if display_size.width >= mini_craft_size then od = math.max(1, display_size.width - 2) @@ -354,12 +378,12 @@ unified_inventory.register_page("craftguide", { -- Size modifier factor local sf = math.min(1, of * (1.05 + 0.05*od)) -- Button size - local bsize_h = 1.1 * sf - local bsize_w = bsize_h - if display_size.width >= mini_craft_size then - bsize_w = 1.175 * sf + local bsize = 1.2 * sf + + if display_size.width >= mini_craft_size then -- it's not a normal 3x3 grid + bsize = 0.8 * sf end - if (bsize_h > 0.35 and display_size.width) then + if (bsize > 0.35 and display_size.width) then for y = 1, display_size.height do for x = 1, display_size.width do local item @@ -369,48 +393,53 @@ unified_inventory.register_page("craftguide", { -- Flipped x, used to build formspec buttons from right to left local fx = display_size.width - (x-1) -- x offset, y offset - local xof = (fx-1) * of + of - local yof = (y-1) * of + 1 + local xof = ((fx-1) * of + of) * bspc + local yof = ((y-1) * of + 1) * bspc if item then - fs[#fs + 1] = stack_image_button( - xoffset - xof, formspecy - 1 + yof, bsize_w, bsize_h, + formspec[n] = stack_image_button( + xoffset - xof, craftguidey - 1.25 + yof, bsize, bsize, "item_button_recipe_", ItemStack(item)) else -- Fake buttons just to make grid - fs[#fs + 1] = string.format("image_button[%f,%f;%f,%f;ui_blank_image.png;;]", - xoffset - xof, formspecy - 1 + yof, bsize_w, bsize_h) + formspec[n] = string.format("image_button[%f,%f;%f,%f;ui_blank_image.png;;]", + xoffset - xof, craftguidey - 1.25 + yof, bsize, bsize) end + n = n + 1 end end else -- Error - fs[#fs + 1] = string.format("label[2,%f;%s]", - formspecy, F(S("This recipe is too@nlarge to be displayed."))) + formspec[n] = string.format("label[2,%f;%s]", + craftguidey, F(S("This recipe is too@nlarge to be displayed."))) + n = n + 1 end if craft_type.uses_crafting_grid and display_size.width <= 3 then - fs[#fs + 1] = "label[0," .. (formspecy + 0.9) .. ";" .. F(S("To craft grid:")) .. "]" - .. "button[0, " .. (formspecy + 1.5) .. ";0.6,0.5;craftguide_craft_1;1]" - .. "button[0.6," .. (formspecy + 1.5) .. ";0.7,0.5;craftguide_craft_10;10]" - .. "button[1.3," .. (formspecy + 1.5) .. ";0.8,0.5;craftguide_craft_max;" .. F(S("All")) .. "]" + formspec[n] = "label["..(give_x+0.1)..",".. (craftguidey + 1.7) .. ";" .. F(S("To craft grid:")) .. "]" + formspec[n+1] = "button[".. (give_x)..",".. (craftguidey + 1.9) .. ";0.75,0.5;craftguide_craft_1;1]" + formspec[n+2] = "button[".. (give_x+0.8)..",".. (craftguidey + 1.9) .. ";0.75,0.5;craftguide_craft_10;10]" + formspec[n+3] = "button[".. (give_x+1.6)..",".. (craftguidey + 1.9) .. ";0.75,0.5;craftguide_craft_max;" .. F(S("All")) .. "]" + n = n + 4 end + if has_give then - fs[#fs + 1] = "label[0," .. (formspecy + 2.1) .. ";" .. F(S("Give me:")) .. "]" - .. "button[0, " .. (formspecy + 2.7) .. ";0.6,0.5;craftguide_giveme_1;1]" - .. "button[0.6," .. (formspecy + 2.7) .. ";0.7,0.5;craftguide_giveme_10;10]" - .. "button[1.3," .. (formspecy + 2.7) .. ";0.8,0.5;craftguide_giveme_99;99]" + formspec[n] = giveme_form + n = n + 1 end if alternates and alternates > 1 then - fs[#fs + 1] = "label[5.5," .. (formspecy + 1.6) .. ";" - .. F(S(recipe_text[dir], alternate, alternates)) .. "]" - .. "image_button[5.5," .. (formspecy + 2) .. ";1,1;ui_left_icon.png;alternate_prev;]" - .. "image_button[6.5," .. (formspecy + 2) .. ";1,1;ui_right_icon.png;alternate;]" - .. "tooltip[alternate_prev;" .. F(prev_alt_text[dir]) .. "]" - .. "tooltip[alternate;" .. F(next_alt_text[dir]) .. "]" + formspec[n] = string.format("label[%f,%f;%s]", + craftguidex+4, craftguidey + 2.3, F(S(recipe_text[dir], alternate, alternates))) + formspec[n+1] = string.format("image_button[%f,%f;1.1,1.1;ui_left_icon.png;alternate_prev;]", + craftguidearrowx+0.2, craftguidey + 2.6) + formspec[n+2] = string.format("image_button[%f,%f;1.1,1.1;ui_right_icon.png;alternate;]", + craftguidearrowx+1.35, craftguidey + 2.6) + formspec[n+3] = "tooltip[alternate_prev;" .. F(prev_alt_text[dir]) .. "]" + formspec[n+4] = "tooltip[alternate;" .. F(next_alt_text[dir]) .. "]" end - return { formspec = table.concat(fs) } + + return { formspec = table.concat(formspec) } end, }) @@ -418,7 +447,7 @@ local function craftguide_giveme(player, formname, fields) local player_name = player:get_player_name() local player_privs = minetest.get_player_privs(player_name) if not player_privs.give and - not unified_inventory.is_creative(player_name) then + not ui.is_creative(player_name) then minetest.log("action", "[unified_inventory] Denied give action to player " .. player_name) return @@ -433,7 +462,7 @@ local function craftguide_giveme(player, formname, fields) amount = tonumber(amount) or 0 if amount == 0 then return end - local output = unified_inventory.current_item[player_name] + local output = ui.current_item[player_name] if (not output) or (output == "") then return end local player_inv = player:get_inventory() @@ -454,21 +483,21 @@ local function craftguide_craft(player, formname, fields) local player_name = player:get_player_name() - local output = unified_inventory.current_item[player_name] or "" + local output = ui.current_item[player_name] or "" if output == "" then return end - local crafts = unified_inventory.crafts_for[ - unified_inventory.current_craft_direction[player_name]][output] or {} + local crafts = ui.crafts_for[ + ui.current_craft_direction[player_name]][output] or {} if #crafts == 0 then return end - local alternate = unified_inventory.alternate[player_name] + local alternate = ui.alternate[player_name] local craft = crafts[alternate] if craft.width > 3 then return end - unified_inventory.craftguide_match_craft(player, "main", "craft", craft, amount) + ui.craftguide_match_craft(player, "main", "craft", craft, amount) - unified_inventory.set_inventory_formspec(player, "craft") + ui.set_inventory_formspec(player, "craft") end minetest.register_on_player_receive_fields(function(player, formname, fields) diff --git a/mods/unified_inventory/textures/ui_bags_lg_form.png b/mods/unified_inventory/textures/ui_bags_lg_form.png deleted file mode 100644 index 24dab308..00000000 Binary files a/mods/unified_inventory/textures/ui_bags_lg_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_bags_main_form.png b/mods/unified_inventory/textures/ui_bags_main_form.png deleted file mode 100644 index 8c168d29..00000000 Binary files a/mods/unified_inventory/textures/ui_bags_main_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_bags_med_form.png b/mods/unified_inventory/textures/ui_bags_med_form.png deleted file mode 100644 index 27a1591c..00000000 Binary files a/mods/unified_inventory/textures/ui_bags_med_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_bags_sm_form.png b/mods/unified_inventory/textures/ui_bags_sm_form.png deleted file mode 100644 index 6234eb88..00000000 Binary files a/mods/unified_inventory/textures/ui_bags_sm_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_bags_trash.png b/mods/unified_inventory/textures/ui_bags_trash.png deleted file mode 100644 index 0bc11c56..00000000 Binary files a/mods/unified_inventory/textures/ui_bags_trash.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_craftguide_form.png b/mods/unified_inventory/textures/ui_craftguide_form.png deleted file mode 100644 index d9be53f7..00000000 Binary files a/mods/unified_inventory/textures/ui_craftguide_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_crafting_arrow.png b/mods/unified_inventory/textures/ui_crafting_arrow.png new file mode 100644 index 00000000..6901c588 Binary files /dev/null and b/mods/unified_inventory/textures/ui_crafting_arrow.png differ diff --git a/mods/unified_inventory/textures/ui_crafting_form.png b/mods/unified_inventory/textures/ui_crafting_form.png deleted file mode 100644 index 90432879..00000000 Binary files a/mods/unified_inventory/textures/ui_crafting_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_form_bg.png b/mods/unified_inventory/textures/ui_form_bg.png deleted file mode 100644 index d973b34a..00000000 Binary files a/mods/unified_inventory/textures/ui_form_bg.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_formbg_9_sliced.png b/mods/unified_inventory/textures/ui_formbg_9_sliced.png new file mode 100644 index 00000000..0b8463ca Binary files /dev/null and b/mods/unified_inventory/textures/ui_formbg_9_sliced.png differ diff --git a/mods/unified_inventory/textures/ui_main_inventory.png b/mods/unified_inventory/textures/ui_main_inventory.png deleted file mode 100644 index b7860cad..00000000 Binary files a/mods/unified_inventory/textures/ui_main_inventory.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_misc_form.png b/mods/unified_inventory/textures/ui_misc_form.png deleted file mode 100644 index 2d6ad018..00000000 Binary files a/mods/unified_inventory/textures/ui_misc_form.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_single_slot.png b/mods/unified_inventory/textures/ui_single_slot.png index 63da98d9..2451623c 100644 Binary files a/mods/unified_inventory/textures/ui_single_slot.png and b/mods/unified_inventory/textures/ui_single_slot.png differ diff --git a/mods/unified_inventory/textures/ui_single_slot_bright.png b/mods/unified_inventory/textures/ui_single_slot_bright.png new file mode 100644 index 00000000..c66365c9 Binary files /dev/null and b/mods/unified_inventory/textures/ui_single_slot_bright.png differ diff --git a/mods/unified_inventory/textures/ui_trash_slot_icon.png b/mods/unified_inventory/textures/ui_trash_slot_icon.png new file mode 100644 index 00000000..5fc4de1d Binary files /dev/null and b/mods/unified_inventory/textures/ui_trash_slot_icon.png differ diff --git a/mods/unified_inventory/textures/ui_xyz_off_icon.png b/mods/unified_inventory/textures/ui_xyz_off_icon.png deleted file mode 100644 index 3c1836eb..00000000 Binary files a/mods/unified_inventory/textures/ui_xyz_off_icon.png and /dev/null differ diff --git a/mods/unified_inventory/textures/ui_xyz_on_icon.png b/mods/unified_inventory/textures/ui_xyz_on_icon.png deleted file mode 100644 index 003ea633..00000000 Binary files a/mods/unified_inventory/textures/ui_xyz_on_icon.png and /dev/null differ diff --git a/mods/unified_inventory/waypoints.lua b/mods/unified_inventory/waypoints.lua index e23ef4b2..2a8ead43 100644 --- a/mods/unified_inventory/waypoints.lua +++ b/mods/unified_inventory/waypoints.lua @@ -1,5 +1,6 @@ local S = minetest.get_translator("unified_inventory") local F = minetest.formspec_escape +local ui = unified_inventory local hud_colors = { {"#FFFFFF", 0xFFFFFF, S("White")}, @@ -14,28 +15,38 @@ local hud_colors_max = #hud_colors -- Stores temporary player data (persists until player leaves) local waypoints_temp = {} -unified_inventory.register_page("waypoints", { +ui.register_page("waypoints", { get_formspec = function(player) local player_name = player:get_player_name() + local wp_info_x = ui.style_full.form_header_x + 1.25 + local wp_info_y = ui.style_full.form_header_y + 0.5 + local wp_bottom_row = ui.style_full.std_inv_y - 1 + local wp_buttons_rj = ui.style_full.std_inv_x + 10.1 - ui.style_full.btn_spc + local wp_edit_w = ui.style_full.btn_spc * 4 - 0.1 -- build a "fake" temp entry if the server took too long -- during sign-on and returned an empty entry if not waypoints_temp[player_name] then waypoints_temp[player_name] = {hud = 1} end local waypoints = datastorage.get(player_name, "waypoints") - local formspec = "background[0,4.5;8,4;ui_main_inventory.png]" .. - "image[0,0;1,1;ui_waypoints_icon.png]" .. - "label[1,0;" .. F(S("Waypoints")) .. "]" + local formspec = { ui.style_full.standard_inv_bg, + string.format("label[%f,%f;%s]", + ui.style_full.form_header_x, ui.style_full.form_header_y, + F(S("Waypoints"))), + "image["..wp_info_x..","..wp_info_y..";1,1;ui_waypoints_icon.png]" + } + local n=4 -- Tabs buttons: - for i = 1, 5, 1 do - formspec = formspec .. - "image_button[0.0," .. 0.2 + i * 0.7 .. ";.8,.8;" .. - (i == waypoints.selected and "ui_blue_icon_background.png^" or "") .. - "ui_" .. i .. "_icon.png;" .. - "select_waypoint" .. i .. ";]" .. - "tooltip[select_waypoint" .. i .. ";" - .. S("Select Waypoint #@1", i).."]" + for i = 1, 5 do + local sw="select_waypoint"..i + formspec[n] = string.format("image_button[%f,%f;%f,%f;%sui_%i_icon.png;%s;]", + ui.style_full.main_button_x, wp_bottom_row - (5-i) * ui.style_full.btn_spc, + ui.style_full.btn_size, ui.style_full.btn_size, + (i == waypoints.selected) and "ui_blue_icon_background.png^" or "", + i, sw) + formspec[n+1] = "tooltip["..sw..";"..S("Select Waypoint #@1", i).."]" + n = n + 2 end local i = waypoints.selected or 1 @@ -44,72 +55,58 @@ unified_inventory.register_page("waypoints", { local default_name = S("Waypoint @1", i) -- Main buttons: - formspec = formspec .. - "image_button[4.5,3.7;.8,.8;".. - "ui_waypoint_set_icon.png;".. - "set_waypoint"..i..";]".. - "tooltip[set_waypoint" .. i .. ";" - .. F(S("Set waypoint to current location")).."]" + local btnlist = { + { "ui_waypoint_set_icon.png", "set_waypoint", S("Set waypoint to current location") }, + { waypoint.active and "ui_on_icon.png" or "ui_off_icon.png", "toggle_waypoint", S("Make waypoint @1", waypoint.active and "invisible" or "visible") }, + { waypoint.display_pos and "ui_green_icon_background.png^ui_xyz_icon.png" or "ui_red_icon_background.png^ui_xyz_icon.png^(ui_no.png^[transformR90)", "toggle_display_pos", S("@1 display of waypoint coordinates", waypoint.display_pos and "Disable" or "Enable") }, + { "ui_circular_arrows_icon.png", "toggle_color", S("Change color of waypoint display") }, + { "ui_pencil_icon.png", "rename_waypoint", S("Edit waypoint name") } + } - formspec = formspec .. - "image_button[5.2,3.7;.8,.8;".. - (waypoint.active and "ui_on_icon.png" or "ui_off_icon.png")..";".. - "toggle_waypoint"..i..";]".. - "tooltip[toggle_waypoint" .. i .. ";" - .. F(S("Make waypoint @1", - waypoint.active and S("invisible") or S("visible"))).."]" - - formspec = formspec .. - "image_button[5.9,3.7;.8,.8;".. - (waypoint.display_pos and "ui_green_icon_background.png" or "ui_red_icon_background.png").."^ui_xyz_icon.png;".. - "toggle_display_pos" .. i .. ";]".. - "tooltip[toggle_display_pos" .. i .. ";" - .. F(S("@1 display of waypoint coordinates", - waypoint.display_pos and S("Disable") or S("Enable"))) .."]" - - formspec = formspec .. - "image_button[6.6,3.7;.8,.8;".. - "ui_circular_arrows_icon.png;".. - "toggle_color"..i..";]".. - "tooltip[toggle_color" .. i .. ";" - .. F(S("Change color of waypoint display")).."]" - - formspec = formspec .. - "image_button[7.3,3.7;.8,.8;".. - "ui_pencil_icon.png;".. - "rename_waypoint"..i..";]".. - "tooltip[rename_waypoint" .. i .. ";" - .. F(S("Edit waypoint name")).."]" + local x = 4 + for _, b in pairs(btnlist) do + formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s%i;]", + wp_buttons_rj - ui.style_full.btn_spc * x, wp_bottom_row, + ui.style_full.btn_size, ui.style_full.btn_size, + b[1], b[2], i) + formspec[n+1] = "tooltip["..b[2]..i..";"..F(b[3]).."]" + x = x - 1 + n = n + 2 + end -- Waypoint's info: + formspec[n] = "label["..wp_info_x..","..(wp_info_y+1.1)..";" if waypoint.active then - formspec = formspec .. "label[1,0.8;"..F(S("Waypoint active")).."]" + formspec[n+1] = F(S("Waypoint active")).."]" else - formspec = formspec .. "label[1,0.8;"..F(S("Waypoint inactive")).."]" + formspec[n+1] = F(S("Waypoint inactive")).."]" end + n = n + 2 if temp.edit then - formspec = formspec .. - "field[1.3,3.2;6,.8;rename_box" .. i .. ";;" - ..(waypoint.name or default_name).."]" .. - "image_button[7.3,2.9;.8,.8;".. - "ui_ok_icon.png;".. - "confirm_rename"..i.. ";]".. - "tooltip[confirm_rename" .. i .. ";" - .. F(S("Finish editing")).."]" + formspec[n] = string.format("field[%f,%f;%f,%f;rename_box%i;;%s]", + wp_buttons_rj - wp_edit_w - 0.1, wp_bottom_row - ui.style_full.btn_spc, + wp_edit_w, ui.style_full.btn_size, i, (waypoint.name or default_name)) + formspec[n+1] = string.format("image_button[%f,%f;%f,%f;ui_ok_icon.png;confirm_rename%i;]", + wp_buttons_rj, wp_bottom_row - ui.style_full.btn_spc, + ui.style_full.btn_size, ui.style_full.btn_size, i) + formspec[n+2] = "tooltip[confirm_rename"..i..";"..F(S("Finish editing")).."]" + n = n + 3 end - formspec = formspec .. "label[1,1.3;"..F(S("World position"))..": " .. - minetest.pos_to_string(waypoint.world_pos or vector.new()) .. "]" .. - "label[1,1.8;"..F(S("Name"))..": ".. (waypoint.name or default_name) .. "]" .. - "label[1,2.3;"..F(S("HUD text color"))..": " .. - hud_colors[waypoint.color or 1][3] .. "]" + formspec[n] = string.format("label[%f,%f;%s: %s]", + wp_info_x, wp_info_y+1.6, F(S("World position")), + minetest.pos_to_string(waypoint.world_pos or vector.new())) + formspec[n+1] = string.format("label[%f,%f;%s: %s]", + wp_info_x, wp_info_y+2.10, F(S("Name")), (waypoint.name or default_name)) + formspec[n+2] = string.format("label[%f,%f;%s: %s]", + wp_info_x, wp_info_y+2.60, F(S("HUD text color")), hud_colors[waypoint.color or 1][3]) - return {formspec=formspec} + return {formspec=table.concat(formspec)} end, }) -unified_inventory.register_button("waypoints", { +ui.register_button("waypoints", { type = "image", image = "ui_waypoints_icon.png", tooltip = S("Waypoints"), @@ -224,7 +221,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) update_hud(player, waypoints, temp, i) end if update_formspec then - unified_inventory.set_inventory_formspec(player, "waypoints") + ui.set_inventory_formspec(player, "waypoints") end if hit then return end end diff --git a/mods/wine/license.txt b/mods/wine/license.txt index 49512073..365aad5c 100644 --- a/mods/wine/license.txt +++ b/mods/wine/license.txt @@ -30,15 +30,17 @@ RiverKpocc @ deviantart.com wine_wheat_beer_glass.png Textures by Darkstalker (cc-by-3.0 license) - wine_beer_bottle.png - wine_wheat_beer_bottle.png - wine_sake_bottle.png - wine_cider.bottle.png - wine_mead_bottle.png wine_mint_bottle.png wine_mint_glass.png +Textures by Darkstalker and edited by Felfa (cc-by-3.0 license) + wine_beer_bottle.png + wine_wheat_beer_bottle.png + wine_cider.bottle.png + wine_mead_bottle.png + Textures by Felfa (CC0) wine_champagne*.png wine_coffee*.png wine_brandy*.png + wine_sake_bottle.png diff --git a/mods/wine/textures/wine_beer_bottle.png b/mods/wine/textures/wine_beer_bottle.png index 565e0261..3438bf49 100644 Binary files a/mods/wine/textures/wine_beer_bottle.png and b/mods/wine/textures/wine_beer_bottle.png differ diff --git a/mods/wine/textures/wine_cider_bottle.png b/mods/wine/textures/wine_cider_bottle.png index 16067748..b79a361f 100644 Binary files a/mods/wine/textures/wine_cider_bottle.png and b/mods/wine/textures/wine_cider_bottle.png differ diff --git a/mods/wine/textures/wine_mead_bottle.png b/mods/wine/textures/wine_mead_bottle.png index 0d81b5b0..d4f153ae 100644 Binary files a/mods/wine/textures/wine_mead_bottle.png and b/mods/wine/textures/wine_mead_bottle.png differ diff --git a/mods/wine/textures/wine_sake_bottle.png b/mods/wine/textures/wine_sake_bottle.png index 883457a8..a069dc7f 100644 Binary files a/mods/wine/textures/wine_sake_bottle.png and b/mods/wine/textures/wine_sake_bottle.png differ diff --git a/mods/wine/textures/wine_wheat_beer_bottle.png b/mods/wine/textures/wine_wheat_beer_bottle.png index ab2d14b8..de8a7db3 100644 Binary files a/mods/wine/textures/wine_wheat_beer_bottle.png and b/mods/wine/textures/wine_wheat_beer_bottle.png differ diff --git a/mods/xdecor/.luacheckrc b/mods/xdecor/.luacheckrc index c89cac7c..8cdd8c35 100644 --- a/mods/xdecor/.luacheckrc +++ b/mods/xdecor/.luacheckrc @@ -1,4 +1,3 @@ -unused_args = false allow_defined_top = true read_globals = { diff --git a/mods/xdecor/LICENSE b/mods/xdecor/LICENSE index 8b744c6d..938b40ef 100644 --- a/mods/xdecor/LICENSE +++ b/mods/xdecor/LICENSE @@ -1,15 +1,17 @@ ┌──────────────────────────────────────────────────────────────────────┐ -│ Copyright (c) 2015-2017 kilbith │ -│ │ -│ Code: BSD │ -│ Textures: WTFPL (credits: Gambit, kilbith, Cisoun) │ -│ Sounds: │ +│ Copyright (c) 2015-2021 kilbith │ +│ │ +│ Code: BSD │ +│ Textures: WTFPL (credits: Gambit, kilbith, Cisoun) │ +│ Textures (radio, speaker, hanging candle, rooster) by │ +│ gigomaf (CC BY-NC 3.0) │ +│ Sounds: │ │ - xdecor_boiling_water.ogg - by Audionautics - CC BY-SA │ -│ freesound.org/people/Audionautics/sounds/133901/ │ +│ freesound.org/people/Audionautics/sounds/133901/ │ │ - xdecor_enchanting.ogg - by Timbre - CC BY-SA-NC │ │ freesound.org/people/Timbre/sounds/221683/ │ -│ - xdecor_bouncy.ogg - by Blender Foundation - CC BY 3.0 │ -│ opengameart.org/content/funny-comic-cartoon-bounce-sound │ +│ - xdecor_bouncy.ogg - by Blender Foundation - CC BY 3.0 │ +│ opengameart.org/content/funny-comic-cartoon-bounce-sound │ └──────────────────────────────────────────────────────────────────────┘ diff --git a/mods/xdecor/README.md b/mods/xdecor/README.md index 3c08ac57..05340a2d 100644 --- a/mods/xdecor/README.md +++ b/mods/xdecor/README.md @@ -1,16 +1,17 @@ ## X-Decor ## -##### A decoration mod meant to be simple and well-featured. ##### -##### It adds a bunch of cute cubes, various mechanisms and stuff for [cutting](https://forum.minetest.net/viewtopic.php?f=11&t=14085), [enchanting](https://forum.minetest.net/viewtopic.php?f=11&t=14087), cooking, etc. ##### -##### This mod is a lightweight alternative to Home Decor and More Blocks all together. ##### +[![ContentDB](https://content.minetest.net/packages/jp/xdecor/shields/downloads/)](https://content.minetest.net/packages/jp/xdecor/) + +A decoration mod meant to be simple and well-featured. +It adds a bunch of cute cubes, various mechanisms and stuff for [cutting](https://forum.minetest.net/viewtopic.php?f=11&t=14085), [enchanting](https://forum.minetest.net/viewtopic.php?f=11&t=14087), cooking, etc. +This mod is a lightweight alternative to HomeDecor and MoreBlocks. + +### Requirements ### +This mod requires at least version 5.1 of Minetest. ### Credits ### -##### Special thanks to Gambit for the textures from the PixelBOX pack for Minetest. ##### - -##### Thanks to all contributors that keep this mod alive. ##### +Special thanks to Gambit for the textures from the PixelBOX pack for Minetest. +Thanks to all contributors who keep this mod alive. ![Preview](http://i.imgur.com/AVoyCQy.png) - -### Requirements ### -This mod requires at least version 5.0.0 of minetest. diff --git a/mods/xdecor/handlers/helpers.lua b/mods/xdecor/handlers/helpers.lua index c80d9aee..dc14b244 100644 --- a/mods/xdecor/handlers/helpers.lua +++ b/mods/xdecor/handlers/helpers.lua @@ -52,7 +52,7 @@ function xdecor.stairs_valid_def(def) not (def.groups.not_cuttable == 1) and not def.groups.wool and (def.tiles and type(def.tiles[1]) == "string" and not - def.tiles[1]:find("default_mineral")) and + def.tiles[1]:find("default_mineral")) and not def.mesecons and def.description and def.description ~= "" and diff --git a/mods/xdecor/mod.conf b/mods/xdecor/mod.conf index 0d492e0c..62a4a4da 100644 --- a/mods/xdecor/mod.conf +++ b/mods/xdecor/mod.conf @@ -2,4 +2,4 @@ name = xdecor description = A decoration mod meant to be simple and well-featured. depends = default, bucket, doors, farming, stairs, xpanes optional_depends = fire, oresplus, moreblocks, mesecons -min_minetest_version = 5.0.0 +min_minetest_version = 5.1.0 diff --git a/mods/xdecor/src/chess.lua b/mods/xdecor/src/chess.lua index 515e31b6..d9db38ea 100644 --- a/mods/xdecor/src/chess.lua +++ b/mods/xdecor/src/chess.lua @@ -1015,18 +1015,16 @@ function realchess.move(pos, from_list, from_index, to_list, to_index, _, player if from_y < to_y then -- Goes down -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack( - from_list, xy_to_index(from_x, from_y + i)):get_name() ~= "" then + for i = from_y + 1, to_y - 1 do + if inv:get_stack(from_list, xy_to_index(from_x, i)):get_name() ~= "" then return 0 end end else -- Goes up -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack( - from_list, xy_to_index(from_x, from_y - i)):get_name() ~= "" then + for i = to_y + 1, from_y - 1 do + if inv:get_stack(from_list, xy_to_index(from_x, i)):get_name() ~= "" then return 0 end end @@ -1035,9 +1033,8 @@ function realchess.move(pos, from_list, from_index, to_list, to_index, _, player if from_y == to_y then -- Goes right -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack( - from_list, xy_to_index(from_x + i, from_y)):get_name() ~= "" then + for i = from_x + 1, to_x - 1 do + if inv:get_stack(from_list, xy_to_index(i, from_y)):get_name() ~= "" then return 0 end end @@ -1064,9 +1061,8 @@ function realchess.move(pos, from_list, from_index, to_list, to_index, _, player if from_y == to_y then -- Goes left -- Ensure that no piece disturbs the way and destination cell does - for i = 1, dx - 1 do - if inv:get_stack( - from_list, xy_to_index(from_x - i, from_y)):get_name() ~= "" then + for i = to_x + 1, from_x - 1 do + if inv:get_stack(from_list, xy_to_index(i, from_y)):get_name() ~= "" then return 0 end end diff --git a/mods/xdecor/src/enchanting.lua b/mods/xdecor/src/enchanting.lua index 2abb07bd..0cfd192f 100644 --- a/mods/xdecor/src/enchanting.lua +++ b/mods/xdecor/src/enchanting.lua @@ -65,12 +65,15 @@ local enchant_buttons = { function enchanting.formspec(pos, num) local meta = minetest.get_meta(pos) - local formspec = [[ size[9,9;] + local formspec = [[ + size[9,8.6;] + no_prepend[] bgcolor[#080808BB;true] - background[0,0;9,9;ench_ui.png] + listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] + background9[0,0;9,9;ench_ui.png;6] list[context;tool;0.9,2.9;1,1;] list[context;mese;2,2.9;1,1;] - list[current_player;main;0.5,4.5;8,4;] + list[current_player;main;0.55,4.5;8,4;] listring[current_player;main] listring[context;tool] listring[current_player;main] @@ -80,7 +83,7 @@ function enchanting.formspec(pos, num) .."tooltip[sharp;"..FS("Your weapon inflicts more damages").."]" .."tooltip[durable;"..FS("Your tool last longer").."]" .."tooltip[fast;"..FS("Your tool digs faster").."]" - ..default.gui_slots .. default.get_hotbar_bg(0.5,4.5) + ..default.gui_slots .. default.get_hotbar_bg(0.55, 4.5) formspec = formspec .. (enchant_buttons[num] or "") meta:set_string("formspec", formspec) diff --git a/mods/xdecor/src/mechanisms.lua b/mods/xdecor/src/mechanisms.lua index 328f503d..c6e8cd0e 100644 --- a/mods/xdecor/src/mechanisms.lua +++ b/mods/xdecor/src/mechanisms.lua @@ -1,6 +1,6 @@ -- Thanks to sofar for helping with that code. -minetest.setting_set("nodetimer_interval", 0.1) +minetest.settings:set("nodetimer_interval", 0.1) local plate = {} screwdriver = screwdriver or {} diff --git a/mods/xdecor/src/nodes.lua b/mods/xdecor/src/nodes.lua index fae8abab..f4dd20c2 100644 --- a/mods/xdecor/src/nodes.lua +++ b/mods/xdecor/src/nodes.lua @@ -143,7 +143,7 @@ xdecor.register("candle", { animation = {type="vertical_frames", length = 1.5} }, { - name = "xdecor_candle_floor.png", + name = "xdecor_candle_hanging.png", animation = {type="vertical_frames", length = 1.5} }, { @@ -153,7 +153,7 @@ xdecor.register("candle", { }, selection_box = { type = "wallmounted", - wall_top = {-0.25, -0.5, -0.25, 0.25, 0.1, 0.25}, + wall_top = {-0.25, -0.3, -0.25, 0.25, 0.5, 0.25}, wall_bottom = {-0.25, -0.5, -0.25, 0.25, 0.1, 0.25}, wall_side = {-0.5, -0.35, -0.15, -0.15, 0.4, 0.15} } @@ -397,6 +397,15 @@ xdecor.register("ivy", { sounds = default.node_sound_leaves_defaults() }) +xdecor.register("rooster", { + description = S("Rooster"), + drawtype = "torchlike", + inventory_image = "xdecor_rooster.png", + walkable = false, + groups = {snappy = 3, attached_node = 1}, + tiles = {"xdecor_rooster.png"}, +}) + xdecor.register("lantern", { description = S("Lantern"), light_source = 13, @@ -418,6 +427,7 @@ xdecor.register("lantern", { local xdecor_lightbox = { iron = S("Iron Light Box"), wooden = S("Wooden Light Box"), + wooden2 = S("Wooden Light Box 2"), } for l, desc in pairs(xdecor_lightbox) do @@ -609,3 +619,19 @@ xdecor.register("woodframed_glass", { groups = {cracky = 2, oddly_breakable_by_hand = 1}, sounds = default.node_sound_glass_defaults() }) + +for _, v in ipairs({"radio", "speaker"}) do + xdecor.register(v, { + description = v:gsub("^%l", string.upper), + on_rotate = screwdriver.rotate_simple, + tiles = { + "xdecor_" .. v .. "_top.png", + "xdecor_" .. v .. "_side.png", + "xdecor_" .. v .. "_side.png", + "xdecor_" .. v .. "_side.png", + "xdecor_" .. v .. "_back.png", + "xdecor_" .. v .. "_front.png", + }, + groups = {cracky = 2, not_cuttable = 1}, + }) +end diff --git a/mods/xdecor/src/recipes.lua b/mods/xdecor/src/recipes.lua index ec51ee00..10fd33a2 100644 --- a/mods/xdecor/src/recipes.lua +++ b/mods/xdecor/src/recipes.lua @@ -180,6 +180,30 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "xdecor:radio", + type = "shapeless", + recipe = {"xdecor:speaker", "xdecor:speaker"} +}) + +minetest.register_craft({ + output = "xdecor:rooster", + recipe = { + {"default:gold_ingot", "", "default:gold_ingot"}, + {"", "default:gold_ingot", ""}, + {"default:gold_ingot", "", "default:gold_ingot"} + } +}) + +minetest.register_craft({ + output = "xdecor:speaker", + recipe = { + {"default:gold_ingot", "default:copper_ingot", "default:gold_ingot"}, + {"default:copper_ingot", "", "default:copper_ingot"}, + {"default:gold_ingot", "default:copper_ingot", "default:gold_ingot"} + } +}) + minetest.register_craft({ output = "xdecor:stone_tile 2", recipe = { @@ -267,3 +291,9 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "xdecor:wooden2_lightbox", + type = "shapeless", + recipe = {"xdecor:wooden_lightbox"}, +}) + diff --git a/mods/xdecor/src/workbench.lua b/mods/xdecor/src/workbench.lua index e73e4f36..66567f19 100644 --- a/mods/xdecor/src/workbench.lua +++ b/mods/xdecor/src/workbench.lua @@ -1,37 +1,19 @@ local workbench = {} -WB = {} +local nodes = {} + screwdriver = screwdriver or {} local min, ceil = math.min, math.ceil -local registered_nodes = minetest.registered_nodes local S = minetest.get_translator("xdecor") local FS = function(...) return minetest.formspec_escape(S(...)) end -- Nodes allowed to be cut -- Only the regular, solid blocks without metas or explosivity can be cut -local nodes = {} -for node, def in pairs(registered_nodes) do +for node, def in pairs(minetest.registered_nodes) do if xdecor.stairs_valid_def(def) then nodes[#nodes + 1] = node end end --- Optionally, you can register custom cuttable nodes in the workbench -WB.custom_nodes_register = { - -- "default:leaves", -} - -setmetatable(nodes, { - __concat = function(t1, t2) - for i = 1, #t2 do - t1[#t1 + 1] = t2[i] - end - - return t1 - end -}) - -nodes = nodes .. WB.custom_nodes_register - -- Nodeboxes definitions workbench.defs = { -- Name YieldX YZ WH L @@ -83,7 +65,7 @@ local main_fs = "label[0.9,1.23;"..FS("Cut").."]" box[-0.05,2;2.05,0.9;#555555] ]] .."button[0,0;2,1;craft;"..FS("Crafting").."]" .."button[2,0;2,1;storage;"..FS("Storage").."]" - ..[[ image[3,1;1,1;gui_furnace_arrow_bg.png^[transformR270] + ..[[ image[3,1;1,1;gui_arrow.png] image[0,1;1,1;worktable_saw.png] image[0,2;1,1;worktable_anvil.png] image[3,2;1,1;hammer_layout.png] @@ -187,7 +169,7 @@ function workbench.allow_put(pos, listname, index, stack, player) local stackname = stack:get_name() if (listname == "tool" and stack:get_wear() > 0 and workbench:repairable(stackname)) or - (listname == "input" and registered_nodes[stackname .. "_cube"]) or + (listname == "input" and minetest.registered_nodes[stackname .. "_cube"]) or (listname == "hammer" and stackname == "xdecor:hammer") or listname == "storage" then return stack:get_count() @@ -232,7 +214,7 @@ function workbench.on_take(pos, listname, index, stack, player) local stackname = stack:get_name() if listname == "input" then - if stackname == inputname and registered_nodes[inputname .. "_cube"] then + if stackname == inputname and minetest.registered_nodes[inputname .. "_cube"] then workbench:get_output(inv, input, stackname) else inv:set_list("forms", {}) @@ -278,7 +260,7 @@ for _, d in ipairs(workbench.defs) do for i = 1, #nodes do local node = nodes[i] local mod_name, item_name = node:match("^(.-):(.*)") - local def = registered_nodes[node] + local def = minetest.registered_nodes[node] if item_name and d[3] then local groups = {} @@ -302,7 +284,7 @@ for i = 1, #nodes do end --TODO: Translation support for Stairs/Slab - if not registered_nodes["stairs:slab_" .. item_name] then + if not minetest.registered_nodes["stairs:slab_" .. item_name] then stairs.register_stair_and_slab(item_name, node, groups, tiles, def.description .. " Stair", def.description .. " Slab", def.sounds) diff --git a/mods/xdecor/textures/gui_arrow.png b/mods/xdecor/textures/gui_arrow.png new file mode 100644 index 00000000..df1bbdb4 Binary files /dev/null and b/mods/xdecor/textures/gui_arrow.png differ diff --git a/mods/xdecor/textures/xdecor_candle_hanging.png b/mods/xdecor/textures/xdecor_candle_hanging.png new file mode 100644 index 00000000..b8595a7e Binary files /dev/null and b/mods/xdecor/textures/xdecor_candle_hanging.png differ diff --git a/mods/xdecor/textures/xdecor_radio_back.png b/mods/xdecor/textures/xdecor_radio_back.png new file mode 100644 index 00000000..35ee768f Binary files /dev/null and b/mods/xdecor/textures/xdecor_radio_back.png differ diff --git a/mods/xdecor/textures/xdecor_radio_front.png b/mods/xdecor/textures/xdecor_radio_front.png new file mode 100644 index 00000000..6300aa81 Binary files /dev/null and b/mods/xdecor/textures/xdecor_radio_front.png differ diff --git a/mods/xdecor/textures/xdecor_radio_side.png b/mods/xdecor/textures/xdecor_radio_side.png new file mode 100644 index 00000000..cf607406 Binary files /dev/null and b/mods/xdecor/textures/xdecor_radio_side.png differ diff --git a/mods/xdecor/textures/xdecor_radio_top.png b/mods/xdecor/textures/xdecor_radio_top.png new file mode 100644 index 00000000..fe5f88a9 Binary files /dev/null and b/mods/xdecor/textures/xdecor_radio_top.png differ diff --git a/mods/xdecor/textures/xdecor_rooster.png b/mods/xdecor/textures/xdecor_rooster.png new file mode 100644 index 00000000..b68a173e Binary files /dev/null and b/mods/xdecor/textures/xdecor_rooster.png differ diff --git a/mods/xdecor/textures/xdecor_speaker_back.png b/mods/xdecor/textures/xdecor_speaker_back.png new file mode 100644 index 00000000..7b28936c Binary files /dev/null and b/mods/xdecor/textures/xdecor_speaker_back.png differ diff --git a/mods/xdecor/textures/xdecor_speaker_front.png b/mods/xdecor/textures/xdecor_speaker_front.png new file mode 100644 index 00000000..b19b8352 Binary files /dev/null and b/mods/xdecor/textures/xdecor_speaker_front.png differ diff --git a/mods/xdecor/textures/xdecor_speaker_side.png b/mods/xdecor/textures/xdecor_speaker_side.png new file mode 100644 index 00000000..7b28936c Binary files /dev/null and b/mods/xdecor/textures/xdecor_speaker_side.png differ diff --git a/mods/xdecor/textures/xdecor_speaker_top.png b/mods/xdecor/textures/xdecor_speaker_top.png new file mode 100644 index 00000000..b45f3f14 Binary files /dev/null and b/mods/xdecor/textures/xdecor_speaker_top.png differ diff --git a/mods/xdecor/textures/xdecor_wooden2_lightbox.png b/mods/xdecor/textures/xdecor_wooden2_lightbox.png new file mode 100644 index 00000000..a53ad96a Binary files /dev/null and b/mods/xdecor/textures/xdecor_wooden2_lightbox.png differ