From 8a34202fb822ffff1c6119960f0111c20e9c4555 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Mon, 24 Jul 2017 17:49:25 +0200 Subject: [PATCH] elevator and promo blocks added --- deco.lua | 110 +++++ elevator.lua | 510 ++++++++++++++++++++++ shaft.lua | 82 ++++ station.lua | 89 ++++ textures/hyperloop_agyptL.png | Bin 0 -> 10141 bytes textures/hyperloop_agyptR.png | Bin 0 -> 10295 bytes textures/hyperloop_alpsL.png | Bin 0 -> 12087 bytes textures/hyperloop_alpsR.png | Bin 0 -> 11895 bytes textures/hyperloop_elevator.png | Bin 0 -> 1550 bytes textures/hyperloop_elevator_door.png | Bin 0 -> 712 bytes textures/hyperloop_elevator_door_top.png | Bin 0 -> 730 bytes textures/hyperloop_elevator_inventory.png | Bin 0 -> 15963 bytes textures/hyperloop_elevator_top.png | Bin 0 -> 1586 bytes textures/hyperloop_seaL.png | Bin 0 -> 10218 bytes textures/hyperloop_seaR.png | Bin 0 -> 10940 bytes textures/hyperloop_sign.png | Bin 0 -> 2363 bytes textures/hyperloop_sign_top.png | Bin 0 -> 162 bytes textures/hyperloop_station_inventory.png | Bin 0 -> 16007 bytes 18 files changed, 791 insertions(+) create mode 100644 deco.lua create mode 100644 elevator.lua create mode 100644 shaft.lua create mode 100644 station.lua create mode 100644 textures/hyperloop_agyptL.png create mode 100644 textures/hyperloop_agyptR.png create mode 100644 textures/hyperloop_alpsL.png create mode 100644 textures/hyperloop_alpsR.png create mode 100644 textures/hyperloop_elevator.png create mode 100644 textures/hyperloop_elevator_door.png create mode 100644 textures/hyperloop_elevator_door_top.png create mode 100644 textures/hyperloop_elevator_inventory.png create mode 100644 textures/hyperloop_elevator_top.png create mode 100644 textures/hyperloop_seaL.png create mode 100644 textures/hyperloop_seaR.png create mode 100644 textures/hyperloop_sign.png create mode 100644 textures/hyperloop_sign_top.png create mode 100644 textures/hyperloop_station_inventory.png diff --git a/deco.lua b/deco.lua new file mode 100644 index 0000000..5ff6d9a --- /dev/null +++ b/deco.lua @@ -0,0 +1,110 @@ +--[[ + + Hyperloop Mod + ============= + + Copyright (C) 2017 Joachim Stolberg + + LGPLv2.1+ + See LICENSE.txt for more information + + History: + see init.lua + +]]-- + +local tilesL = {"hyperloop_alpsL.png", "hyperloop_seaL.png", "hyperloop_agyptL.png"} +local tilesR = {"hyperloop_alpsR.png", "hyperloop_seaR.png", "hyperloop_agyptR.png"} + +for idx = 1,3 do + + minetest.register_node("hyperloop:poster"..idx.."L", { + description = "Hyperloop Promo Poster "..idx, + tiles = { + -- up, down, right, left, back, front + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + tilesL[idx], + }, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -6/16, 8/16, 8/16, 8/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = { -8/16, -8/16, -6/16, 24/16, 8/16, 8/16}, + }, + + after_place_node = function(pos, placer) + local meta = minetest.get_meta(pos) + local facedir + facedir, pos = hyperloop.right_hand_side(pos, placer) + meta:set_string("pos", minetest.pos_to_string(pos)) + if minetest.get_node_or_nil(pos).name == "air" then + minetest.add_node(pos, {name="hyperloop:poster"..idx.."R", param2=facedir}) + end + end, + + on_destruct = function(pos) + local meta = minetest.get_meta(pos) + pos = minetest.string_to_pos(meta:get_string("pos")) + if pos ~= nil and minetest.get_node_or_nil(pos).name == "hyperloop:poster"..idx.."R" then + minetest.remove_node(pos) + end + end, + + + paramtype2 = "facedir", + light_source = 4, + is_ground_content = false, + groups = {cracky = 2, stone = 2}, + }) + + minetest.register_node("hyperloop:poster"..idx.."R", { + description = "Hyperloop Promo Poster "..idx, + tiles = { + -- up, down, right, left, back, front + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + "hyperloop_skin2.png", + tilesR[idx], + }, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -6/16, 8/16, 8/16, 8/16}, + }, + }, + paramtype2 = "facedir", + light_source = 4, + is_ground_content = false, + groups = {cracky = 2, stone = 2, not_in_creative_inventory=1}, + }) +end + + +minetest.register_node("hyperloop:sign", { + description = "Hyperloop Station Sign", + tiles = { + -- up, down, right, left, back, front + "hyperloop_sign_top.png", + "hyperloop_sign.png", + "hyperloop_sign.png", + "hyperloop_sign.png", + "hyperloop_sign.png", + "hyperloop_sign.png", + }, + drawtype = "nodebox", + light_source = 4, + is_ground_content = false, + groups = {cracky = 2, stone = 2}, +}) \ No newline at end of file diff --git a/elevator.lua b/elevator.lua new file mode 100644 index 0000000..ef96b38 --- /dev/null +++ b/elevator.lua @@ -0,0 +1,510 @@ +--[[ + + Hyperloop Mod + ============= + + Copyright (C) 2017 Joachim Stolberg + + LGPLv2.1+ + See LICENSE.txt for more information + +]]-- + + +---------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------- + +--[[ + spos = : + level = pos.y + hyperloop.data.tAllElevators[spos].floors[level] = { + pos = {x,y,z}, -- lower elevator block + facedir = n, -- for the door placement + name = "...", -- floor name + up = true, -- connetion flag + down = true, -- connetion flag + } +]]-- + +-- return index of the table position matching pos or nil +local function pos_index(tbl, pos) + for idx,v in ipairs(tbl) do + if v.pos.x == pos.x and v.pos.y == pos.y and v.pos.z == pos.z then + return idx + end + end + return nil +end + +-- remove invalid entries +local function remove_artifacts(floors) + local tbl = {} + for idx,floor in ipairs(floors) do + if floor.pos ~= nil and floor.name ~= nil and floor.up ~= nil and floor.down ~= nil then + table.insert(tbl, floor) + end + end + return tbl +end + + +-- determine the elevator list +local function get_elevator_list(pos) + local spos = tostring(pos.x)..":"..tostring(pos.z) + if hyperloop.data.tAllElevators[spos] == nil then + -- create the elevator + hyperloop.data.tAllElevators[spos] = {} + end + if hyperloop.data.tAllElevators[spos].floors == nil then + -- create the floor list + hyperloop.data.tAllElevators[spos].floors = {} + end + -- remove invalid entries + hyperloop.data.tAllElevators[spos].floors = remove_artifacts(hyperloop.data.tAllElevators[spos].floors) + return hyperloop.data.tAllElevators[spos].floors +end + +local function remove_elevator_list(pos) + local spos = tostring(pos.x)..":"..tostring(pos.z) + hyperloop.data.tAllElevators[spos] = nil + --print(spos, dump(hyperloop.data.tAllElevators)) +end + +-- determine the elevator floor item or create one +local function get_floor_item(pos) + local floors = get_elevator_list(pos) + local idx = pos_index(floors, pos) + if idx == nil then + -- create the floor item + table.insert(floors, {pos=pos}) + idx = #floors + end + return floors[idx] +end + +-- Add the given arguments to the elevator table +local function add_to_elevator_list(pos, tArgs) + --print("add_to_elevator_list", dump(pos)) + local floor = get_floor_item(pos) + for k,v in pairs(tArgs) do + floor[k] = v + end +end + +local function dbg_out(label, pos) + print(label..":") + local floors = get_elevator_list(pos) + for _,floor in ipairs(floors) do + print(" pos="..floor.pos.x..","..floor.pos.y..","..floor.pos.z.. + " facedir="..tostring(floor.facedir).." name="..tostring(floor.name).. + " up="..dump(floor.up).." down="..dump(floor.down)) + end +end + +-- return a sorted list of connected floors +local function floor_list(pos) + local floors = table.copy(get_elevator_list(pos)) + -- sort the list + table.sort(floors, function(x,y) + return x.pos.y > y.pos.y + end) + -- check if elevator is complete + for idx,floor in ipairs(floors) do + --print(idx, #floors, floor.name, floor.up, floor.down) + if idx == 1 then + if floor.down == false then + return {} + end + elseif idx == #floors then + if floor.up == false then + return {} + end + elseif floor.up == false or floor.down == false then + return {} + end + end + return floors +end + + +-- store floor_pos (lower car block) as meta data +local function set_floor_pos(pos, floor_pos) + local s = minetest.pos_to_string(floor_pos) + minetest.get_meta(pos):set_string("floor_pos", s) + return floor_pos +end + +-- read floor_pos (upper car block) from meta data +local function get_floor_pos(pos) + local s = minetest.get_meta(pos):get_string("floor_pos") + if s == nil then + return nil + end + return minetest.string_to_pos(s) +end + + +-- Form spec for the floor list +local function formspec(pos) + local tRes = {"size[5,10]label[0.5,0; Wähle dein Ziel :: Select your destination]"} + tRes[2] = "label[1,0.6;Destination]label[2.5,0.6;Floor]" + local list = floor_list(pos) + for idx,floor in ipairs(list) do + if idx >= 12 then + break + end + local ypos = 0.5 + idx*0.8 + local ypos2 = ypos - 0.2 + tRes[#tRes+1] = "button_exit[1,"..ypos2..";1,1;button;"..#list-idx.."]" + if floor.pos.y ~= pos.y then + tRes[#tRes+1] = "label[2.5,"..ypos..";"..floor.name.."]" + else + tRes[#tRes+1] = "label[2.5,"..ypos..";(current position)]" + end + end + return table.concat(tRes) +end + +local function update_formspec(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", formspec(pos)) +end + +local function remove_from_elevator_list(pos) + local floors = get_elevator_list(pos) + local idx = pos_index(floors, pos) + if idx ~= nil then + table.remove(floors, idx) + end + -- last car in the list? + if not next(floors) then + remove_elevator_list(pos) + else + -- update all other elevator cars + for _,floor in ipairs(get_elevator_list(pos)) do + print(_, floor.name) + if floor.name ~= "" then + update_formspec(floor.pos) + end + end + end +end + +function hyperloop.update_elevator(pos) + local up = false + local down = false + --print("update y=", pos.y) + + pos.y = pos.y - 1 + if string.find(minetest.get_node_or_nil(pos).name, "hyperloop:shaft") then + down = true + end + + pos.y = pos.y + 3 + if string.find(minetest.get_node_or_nil(pos).name, "hyperloop:shaft") then + up = true + end + + pos.y = pos.y - 2 + add_to_elevator_list(pos, {up=up, down=down}) + --dbg_out("update", pos) + + -- update all elevator cars which are already named + for _,floor in ipairs(get_elevator_list(pos)) do + print(_, floor.name) + if floor.name ~= "" then + update_formspec(floor.pos) + end + end +end + + +-- place the elevator door on the given position: y, y+1 +local function place_door(pos, facedir, floor_pos) + if minetest.get_node_or_nil(pos).name == "air" then + minetest.add_node(pos, {name="hyperloop:elevator_door", param2=facedir}) + set_floor_pos(pos, floor_pos) + end + pos.y = pos.y + 1 + if minetest.get_node_or_nil(pos).name == "air" then + minetest.add_node(pos, {name="hyperloop:elevator_door_top", param2=facedir}) + set_floor_pos(pos, floor_pos) + end + pos.y = pos.y - 1 -- restore old value +end + +-- remove the elevator door on the given position: y, y+1 +local function remove_door(pos) + if minetest.get_node_or_nil(pos).name == "hyperloop:elevator_door" then + minetest.remove_node(pos) + end + pos.y = pos.y + 1 + if minetest.get_node_or_nil(pos).name == "hyperloop:elevator_door_top" then + minetest.remove_node(pos) + end + pos.y = pos.y - 1 -- restore old value +end + +local function door_command(floor_pos, facedir, cmnd) + local placedir = hyperloop.facedir_to_placedir(facedir) + print("placedir="..placedir.." facedir="..facedir) + local pos = hyperloop.new_pos(floor_pos, placedir, "1B") + if cmnd == "close" then + place_door(pos, facedir, floor_pos) + elseif cmnd == "open" then + remove_door(pos) + end +end + +-- on arrival station +local function on_close_door(pos, facedir) + -- close the door and play sound if no player is around + if hyperloop.is_player_around(pos) then + -- try again later + minetest.after(3.0, on_close_door, pos, facedir) + else + door_command(pos, facedir, "close") + end +end + +-- on arrival station +local function on_open_door(pos, facedir) + minetest.sound_play("door", { + pos = pos, + gain = 0.5, + max_hear_distance = 10, + }) + door_command(pos, facedir, "open") + minetest.after(5.0, on_close_door, pos, facedir) +end + +local function on_arrival(pos, player) + local floor = get_floor_item(pos) + --door_command(dest.pos, facedir, "close") + if player ~= nil then + player:setpos(floor.pos) + end + minetest.after(1.0, on_open_door, floor.pos, floor.facedir) +end + +minetest.register_node("hyperloop:elevator_bottom", { + description = "Hyperloop Elevator", + tiles = { + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -8/16, -7/16, 8/16, 8/16}, + { 7/16, -8/16, -8/16, 8/16, 8/16, 8/16}, + { -7/16, -8/16, 7/16, 7/16, 8/16, 8/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = { -8/16, -8/16, -7/16, 8/16, 24/16, 8/16 }, + }, + inventory_image = "hyperloop_elevator_inventory.png", + drawtype = "nodebox", + paramtype = 'light', + light_source = 4, + paramtype2 = "facedir", + is_ground_content = false, + groups = {snappy = 3}, + + after_place_node = function(pos, placer, itemstack, pointed_thing) + -- store floor_pos (lower car block) as meta data + set_floor_pos(pos, pos) + local facedir = hyperloop.get_facedir(placer) + add_to_elevator_list(pos, {name="", up=false, down=false, facedir=facedir, pos=pos}) + hyperloop.update_elevator(pos) + -- formspec + local meta = minetest.get_meta(pos) + local formspec = "size[6,4]".. + "label[0,0;Please insert floor name]" .. + "field[0.5,1.5;5,1;floor;Floor name;Base]" .. + "button_exit[2,3.6;2,1;exit;Save]" + meta:set_string("formspec", formspec) + + -- swap last shaft node + pos.y = pos.y - 1 + if minetest.get_node_or_nil(pos).name == "hyperloop:shaft" then + local node = minetest.get_node(pos) + node.name = "hyperloop:shaft2" + minetest.swap_node(pos, node) + end + pos.y = pos.y + 1 + + -- add upper part of the car + local floor_pos = table.copy(pos) + pos.y = pos.y + 1 + minetest.add_node(pos, {name="hyperloop:elevator_top", param2=facedir}) + -- store floor_pos (lower car block) as meta data + set_floor_pos(pos, floor_pos) + pos.y = pos.y - 1 + --dbg_out("after_place_node", pos) + end, + + on_receive_fields = function(pos, formname, fields, player) + -- floor name entered? + if fields.floor ~= nil then + local floor = string.trim(fields.floor) + if floor == "" then + return + end + -- store the floor name in the global elevator list + local floor_pos = get_floor_pos(pos) + add_to_elevator_list(floor_pos, {name=floor}) + hyperloop.update_elevator(floor_pos) + --dbg_out("on_receive_fields", floor_pos) + -- destination selected? + elseif fields.button ~= nil then + local floor_pos = get_floor_pos(pos) + local floor = get_floor_item(floor_pos) + local idx = tonumber(fields.button) + local list = floor_list(floor_pos) + local dest = list[#list-idx] + if dest.pos.y ~= floor_pos.y then + --local facedir = get_floor_item(floor_pos).facedir + minetest.sound_play("door", { + pos = floor_pos, + gain = 0.5, + max_hear_distance = 10, + }) + door_command(floor_pos, floor.facedir, "close") + door_command(dest.pos, dest.facedir, "close") + minetest.after(2.0, on_arrival, dest.pos, player) + end + end + end, + + on_destruct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node_or_nil(pos).name == "hyperloop:shaft2" then + local node = minetest.get_node(pos) + node.name = "hyperloop:shaft" + minetest.swap_node(pos, node) + end + pos.y = pos.y + 2 + --print("pos.y="..pos.y) + minetest.remove_node(pos) + pos.y = pos.y - 1 + remove_from_elevator_list(pos) + --local facedir = minetest.get_meta(pos):get_int("facedir") + --door_command(pos, facedir, "open") + end, + +}) + +minetest.register_node("hyperloop:elevator_top", { + description = "Hyperloop Elevator", + tiles = { + -- up, down, right, left, back, front + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator_top.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + "hyperloop_elevator.png", + }, + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, -8/16, -7/16, 8/16, 8/16}, + { 7/16, -8/16, -8/16, 8/16, 8/16, 8/16}, + { -7/16, -8/16, 7/16, 7/16, 8/16, 8/16}, + }, + }, + + drawtype = "nodebox", + paramtype = 'light', + light_source = 2, + paramtype2 = "facedir", + is_ground_content = false, + groups = {snappy = 3, not_in_creative_inventory=1}, + drop = "hyperloop:elevator_bottom", +}) + +minetest.register_node("hyperloop:elevator_door_top", { + description = "Hyperloop Elevator Door", + tiles = { + -- up, down, right, left, back, front + "hyperloop_elevator_door_top.png", + }, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 7/16, 8/16, 8/16, 8/16}, + }, + }, + + paramtype2 = "facedir", + is_ground_content = false, + groups = {snappy = 3, not_in_creative_inventory=1}, +}) + +minetest.register_node("hyperloop:elevator_door", { + description = "Hyperloop Elevator Door", + tiles = { + -- up, down, right, left, back, front + "hyperloop_elevator_door.png", + }, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -8/16, -8/16, 7/16, 8/16, 8/16, 8/16}, + }, + }, + + selection_box = { + type = "fixed", + fixed = { -8/16, -8/16, 7/16, 8/16, 24/16, 8/16 }, + }, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local floor_pos = get_floor_pos(pos) + local floor = get_floor_item(floor_pos) + print(dump(floor.pos), floor.facedir) + door_command(floor.pos, floor.facedir, "open") + end, + + paramtype2 = "facedir", + is_ground_content = false, + groups = {snappy = 3, not_in_creative_inventory=1}, +}) + +------------------------------------------------------- +--[[ +local pos = {x=1, y=2, z=3} +local spos = tostring(pos.x)..":"..tostring(pos.z) +hyperloop.data.tAllElevators[spos].floors = nil + +local floor = get_floor_item(pos) +dbg_out("1", pos) +add_to_elevator_list(pos, {name="test1", up=false, down=false, facedir=1, pos=pos}) +dbg_out("2", pos) +remove_from_elevator_list(pos) +dbg_out("3", pos) +add_to_elevator_list(pos, {name="test1", up=false, down=false, facedir=1, pos=pos}) +dbg_out("4", pos) +add_to_elevator_list(pos, {up=true}) +dbg_out("5", pos) +print("6: ", dump(floor_list(pos))) + +local pos2 = {x=1, y=5, z=3} +add_to_elevator_list(pos2, {name="test2", up=true, down=true, facedir=1, pos=pos2}) +dbg_out("7", pos2) +print("8: ", dump(floor_list(pos2))) + +local pos3 = {x=1, y=9, z=3} +add_to_elevator_list(pos3, {name="test3", up=false, down=true, facedir=1, pos=pos3}) +dbg_out("9", pos3) +print("10: ", dump(floor_list(pos3))) +]]-- diff --git a/shaft.lua b/shaft.lua new file mode 100644 index 0000000..4fc1f2f --- /dev/null +++ b/shaft.lua @@ -0,0 +1,82 @@ +--[[ + + Hyperloop Mod + ============= + + Copyright (C) 2017 Joachim Stolberg + + LGPLv2.1+ + See LICENSE.txt for more information + + History: + see init.lua + +]]-- + + +-- simple shaft without logic or "memory" +minetest.register_node("hyperloop:shaft", { + description = "Hyperloop Elevator Shaft", + tiles = { + -- up, down, right, left, back, front + 'hyperloop_tube_open.png', + 'hyperloop_tube_open.png', + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + }, + + after_place_node = function(pos, placer, itemstack, pointed_thing) + local npos = table.copy(pos) + npos.y = npos.y - 1 + if minetest.get_node_or_nil(npos).name == "hyperloop:shaft" then + local node = minetest.get_node(npos) + node.name = "hyperloop:shaft2" + minetest.swap_node(npos, node) + elseif minetest.get_node_or_nil(npos).name == "hyperloop:elevator_top" then + npos.y = npos.y - 1 + hyperloop.update_elevator(npos) + else + minetest.remove_node(pos) + return itemstack + end + end, + + after_destruct = function(pos) + local npos = table.copy(pos) + npos.y = npos.y - 1 + if minetest.get_node_or_nil(npos).name == "hyperloop:shaft2" then + local node = minetest.get_node(npos) + node.name = "hyperloop:shaft" + minetest.swap_node(npos, node) + elseif minetest.get_node_or_nil(npos).name == "hyperloop:elevator_top" then + npos.y = npos.y - 1 + hyperloop.update_elevator(npos) + end + end, + + light_source = 6, + paramtype2 = "facedir", + groups = {cracky=1}, + is_ground_content = false, +}) + +-- simple shaft without logic or "memory" +minetest.register_node("hyperloop:shaft2", { + description = "Hyperloop Elevator Shaft", + tiles = { + -- up, down, right, left, back, front + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + "hyperloop_tube_locked.png^[transformR90]", + }, + + diggable = false, + paramtype2 = "facedir", + groups = {cracky=1, not_in_creative_inventory=1}, + is_ground_content = false, +}) diff --git a/station.lua b/station.lua new file mode 100644 index 0000000..0ffb4f1 --- /dev/null +++ b/station.lua @@ -0,0 +1,89 @@ +--[[ + + Hyperloop Mod + ============= + + Copyright (C) 2017 Joachim Stolberg + + LGPLv2.1+ + See LICENSE.txt for more information + + History: + see init.lua + +]]-- + +local function assembly_plan(pos, facedir, clbk) + local placedir = hyperloop.facedir_to_placedir(facedir) + local res = true + facedir = (facedir + 1) % 4 + pos = hyperloop.new_pos(pos, placedir, "1L") + res = clbk(pos, facedir, "hyperloop:tube0") and res + pos.y = pos.y + 1 + res = clbk(pos, facedir, "hyperloop:pod_wall") and res + pos.y = pos.y + 1 + res = clbk(pos, facedir, "hyperloop:pod_wall") and res + pos.y = pos.y - 2 + pos = hyperloop.new_pos(pos, placedir, "1R") + facedir = (facedir + 2) % 4 + res = clbk(pos, facedir, "hyperloop:tube0") and res + pos.y = pos.y + 2 + res = clbk(pos, facedir, "hyperloop:lcd") and res + pos.y = pos.y - 2 + facedir = (facedir + 2) % 4 + pos = hyperloop.new_pos(pos, placedir, "1R") + res = clbk(pos, facedir, "hyperloop:junction") and res + pos.y = pos.y + 1 + res = clbk(pos, facedir, "hyperloop:seat") and res + return res +end + + +local function check_space(pos, facedir) + local clbk = function(pos, facedir, block) + return minetest.get_node_or_nil(pos).name == "air" + end + + local my_pos = table.copy(pos) + return assembly_plan(my_pos, facedir, clbk) +end + +local function construct(pos, facedir) + local clbk = function(pos, facedir, block) + if block == "hyperloop:lcd" then + local tbl = {[0]=4, [1]=2, [2]=5, [3]=3} + minetest.add_node(pos, {name=block, paramtype2="wallmounted", param2=tbl[facedir]}) + hyperloop.after_lcd_placed(pos, tbl[facedir]) + elseif block == "hyperloop:seat" then + minetest.add_node(pos, {name=block, param2=facedir}) + hyperloop.after_seat_placed(pos, facedir) + else + minetest.place_node(pos, {name=block, param2=facedir}) + end + end + + local my_pos = table.copy(pos) + return assembly_plan(my_pos, facedir, clbk) +end + +minetest.register_node("hyperloop:station", { + description = "Hyperloop Station Core", + inventory_image = "hyperloop_station_inventory.png", + wield_image = "hyperloop_station_inventory.png", + + on_place = function(itemstack, placer, pointed_thing) + print("on_place") + local pos = minetest.pointed_thing_to_face_pos(placer, pointed_thing) + pos.y = pos.y + 0.5 + --pos = vector.floor(pos) + print(dump(pos)) + local facedir = hyperloop.get_facedir(placer) + if check_space(pos, facedir) then + print("checked") + construct(pos, facedir) + itemstack:take_item(1) + print("done") + end + return itemstack + end, +}) \ No newline at end of file diff --git a/textures/hyperloop_agyptL.png b/textures/hyperloop_agyptL.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1a9c50d2388c7b271da73765ff5c206f50a146 GIT binary patch literal 10141 zcmV;OCt}!%P)000brdQ@0+Qek%> zaB^>EX>4U6ba`-PAZ2)IW&i+q+MSqfaxAM2hX3~}vIK-cz;XaVRd$f&=TUpkmveI~ z75jKRXQrnC>HU(Q^RIv2=O29KVfiVwbsJ`huQJNWlP5iWeZ}*|Pv*zJUh0;9d`TMb z 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 JPDHLkV1mV&!iE3< literal 0 HcmV?d00001 diff --git a/textures/hyperloop_alpsL.png b/textures/hyperloop_alpsL.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6b2edbd137cef9b54ae69cc6801fc54304874b GIT binary patch literal 12087 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 literal 0 HcmV?d00001 diff --git a/textures/hyperloop_elevator.png b/textures/hyperloop_elevator.png new file mode 100644 index 0000000000000000000000000000000000000000..a7719718a9ef9500754e626389d672ee194d971f GIT binary patch literal 1550 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 M07*qoM6N<$f^JqlApigX literal 0 HcmV?d00001 diff --git a/textures/hyperloop_elevator_inventory.png b/textures/hyperloop_elevator_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..bc6c52452b2ef6e0e9e1e245c42dc905b11a73d3 GIT binary patch literal 15963 zcmW-o1yCE^8isLAv0}xwxD|IRUZA*Jae})$6u08;?(SL~f|cOz?rt~#oy=xuHksMk zv*&#ByzdGBsUY*+5f)-2?6pwAY?QSIU)R#lll%N@ZTpVDkc(g z1=(I&%Lxh!_49uRG*o&fKI9^zvy8k1;uazvCJ~o5>hw1#C^9IS@1m;i%V%94iKYuK z>ks?~t4Gml^J?=>1v4VB7P$dKKLBtdae>l*aAo3?O-JKRmLkqZWKA-fiO?f7>XX%p zXzF&{m3KAOO;m0RwZ2-WV?$#>A;-ZXVSLJEoT~_`a#K13_ zMr$FGE*f2B=S$`}T|IAScBt#`6_a3>J_2JPE?a-4OcO32UJEv>njRrr7Gcas?`aa<9< zI@&##B$P}#*c%jNP2qXqnn&0xR1F7MImj3duPNNt&Z9mRjBqA|>Jb7~i|$-#f@{&t z@yyN6wofZ3Z&vp`tnz8O9yUJo7fv23*@g(JvYLjPSBMv^n;8v@u$yU7PBJ;kDw`x( z3_2|`otoL%fiPuJ4MSwCVC~OvZ3MBTUCANw@EpW`+v5Jb{rT;ii8 zMKQ1>FhRWetZ;D3vQXqj01?BeK3*9NX@Y13Bm8_-5$sUuvT{mzJ#1;ZcxAP01Uf1s z{Di-3(Nsp7*rjCOkyybLNn-HO$|u)dI5G)8vEhd-8o~G~7{hE1L_3PiAItM-Xo3E& z6(LSBHVqB5Wwa4Q2Sgt6{B(tK+kd00T$IamXDnWEF9|mqq@a2&I5^&Xr$UWJnr%># z$St^ZGHk7}2k{HEbabeZ#LUdhFvMohK)H!xvNGv0M|WIMi*?3$mVEo$gQ!$8VkPY2 z7;scFff#}LBVS@eZxIQDjlL7nU`v4Pr)iMHme0^YTJ?<7GQTRLrRN;p(wdlm%0dS+ zj@yHs;)>Rfr%(q#`WM?i^iYyg==Wg!}dJA_$r7U zqMJP%CpH+v$WBf-_$F6^c2L@c?A+XTNy@jLgd7B)NIVaPVn_tXdOlWrj5CYFzDZmn zz=+9SoL3EK$<12CQ6WnLp|*E9E7|s7GBLLZDGq(F=!YzHEzaVGAYj*n^yKOPY>d!9_#09fN=cKqCpijMj~Zv)Yz*Wz8Eve0y)Fsg7!)+^KlolW;1_&}MZ^vP^&ANH+VilANmB;rDxI6q zQKO=w61DB&Ca0vxE$CDSKn3(1%`-i4cj%fUisF+Om4X9336oQrpy@9=IH#QI1qSd{ z5Zs!*qq00Z2l+Gz{V}Zgl0wQ_N`>U^ILCi`pCbCjNkX33=~{pW09%Ny32X)!au5&{ z6(%W@1%Iat$5_|f@O?S+erC_PGJjM>u!(|3q*r|(O5q3bM6$nM_^POP_|?lXR9H-b z0-#O+9@%UPQh;G`s$T?!Fs1dFA5GqRiAl1KqfF&xC0 z!|cv{H^E!9UL7KZZc)&gd@f`9t@a=~>a?5k_3_!&Rek`+mMC)U6R=q$~smW zCd=3T(KX7`YvV~uN8L`_dNzWoJ-Poi=-RSaq^yc8Zl=^OQMtK29;}TJ1f8XTYD2W~ zG4gN|*>fugCn|!E@LlOg3%_^) zxXPNER9m+p+M=;c{ePR`;B>_GH>jRxmUmvV)~jiwe%9T)otmdj`B8b7kYim z>^Oj5ZwgcO6R?u9Nm8vMiFE^w#@URmv_a#e8uoYR>auL?JJ7i*B?|SeJX2~KXW~c! zV0g=8WB>32`{%Rviv%~2={8TDL+0b8##y^#UxH-67pZS52XRAdYgWYr>E`XxA0qzy z1h*xSo|aMhCo!Y|7u*wTVv%Rs_4tD?L83W~~t}__0-_qbN-91YW|JElfTFLRIUkC|-QIg^j`DBwQZ(Zlm zaE6UsNm7!sa`>SxXlS)|8_*=~4_@v^MR=MUn&z1?#S|_97|k)Tf?nItxx64nmu20V!$Gj`{tO zDk)i5roKw75_^zmCb@;*6d{zq1Bl>YH?bpW1nV?jIWQ>goKY)z?&MB3bAzRk$;pwf zngFW@%fHIwB*~Sr z7Sjgcl4=qQxPKb58afK2joC=#<|RX;tmb!z6+`L1>%VbH^rN2a<;{7P$qOqez5fQ% zZe)Iq!3h+h+ve%lmQ%tm%2U${Si<(#2C@$2Ml(;j52O3u4wz`^6V&zM>-A{ZICE{F zz{sVfM)LKz-k~*s$$~f2fz@AQ#CQCx#q zbE5eJm=fe!3JZi<(KynX>`0r_pST?^I?fMT{2mrOPUU(Ou_ch`O5%oOw7H4U+;8O! zZlNu57dy<+xk=jN8OM(qAu}YO_N%-~us@H2y;ip0)DG01KCK8V3Hsp)=nE2$a{fwWpy^#e$O0lOO87O4VE0O&&~!6omCO{+hBrA>l3FeEM zp_bhA6E?qHQAc&BF@=_X}QQ{K~!I&3@*(BHjR2!VgM_ z5a(VUaaquts?*TlA54kGD$R|e^!6b~66 zJ&EZ+h8dhQ@QRqR2um0Kx@2~?h!C5z;D}cSbB}531b)Re-b{x@Tx_u;rBTQfksUqz9XoBoq1EOc z?!d=9<=?Qt;0uLz3POHuBir^%%0?FySDGFE)n3NerRYF#n>ALJ*BB zh6DzK$9U#aN`!Cw&@qN*GN#4p7y=`wkjAWjHJd_-DD4v1pSen@GLjlkU>9Ggln8p= z+aHD!YHDl4Ao9DNe?`JJczITVgfH?!5%|7;dGtRc;CaXjr`^V)){F*OA%UfE`&=>S>NMKgNUUfOh5_n3g zVZ{fu+HVob%GNUuYDU_tz~|6i)>IQHkb4asF0$TWFjbb0uV`WJA)IDls!nlz}+flZLi);Q3gScZK}(*nL_!8?X)5djIjTWh9>8| zdYW=PL-!6ouU_NqHLuz#&anOE>KZzp!g6zGC$MK%t85y+m||5CvCXke6QqFa86AdW4$>bi@@x5hjr{K2T5k*rFEGU>Ng3|(wDHcs zrI17M)N8|IjFd?6GorH2d>l5h+R@2433xO zuF@d_F0hyBk>)r2s5g549;d$VTSlee zGrpMYwet@)qBuBcBYg7cwQDGU)*);SF;`{yN@8J9o!?7M>zU%KDltH|EG$1R2(e}- zi1c+p=px1OxFRp#rKY9^Hqf?3Pkq;7bH(`FB^SteV85a-l_?Wb}rTdOZPR@MnpV~is|GJp@cPREGOhXQJ&mc83 zU2AC3cgX_~FHJR1YY@*qq2I@a;~e@ME4}4rR8`$0E1*<%WM0go3V8s7t|%6>`<+pl zp2TBUut}p9j1`J`=9-e0wzSL&HOo;ncWzioJ=Kt&U7WZLOX?1%^ew&u0BeV{nNrg}nM>62I4qOhK<~el&fF`^gfA?a87F6zg{Ht5tOXRISa5cRbZ6JUD31 z4bS7*qg3$3t7S;U?I-L2!#%DtYMA}CWIg%Bm5a_uJN70+fvqsc z@x^YR_^y}xy63TR@B59{@fKZgj6L%hC3<@u1Sl$pQuzKZQ-M>W<6f6ky%$=rdfU?) z`qiovApqgc^MT(SIWX+$i8qREVqzjUu~cWEJhy7@D8aO>2bx;Egm210C^sW5je7i> zx;pcmZA*B5tF4R*ed$w#(DDOaj-BeA)a>f7jH$O#0}<&vTp)|pat4N7O<^y8C9Yuv zvflvaUpA$Vofqgz^3HpN{@>j>w@C%3|HP}i?zQzjj|Syy*hpeMF8f}_0wbli3U7Pk zS!kacHiiKSVn8rAIBX}?wL&N7syjleP0nT#z0y~I5PBV!H3=FiQ1fcG=gEe-=au3c zfSb?(n@v_KN`sj)D}=1C?9k>0>Y|jfSKE(O2RJ&LSV8I`O!_vjIMcoL^7G!f3nxxb*VMg)QcXcVce6K8zf;tohFIR;xnHfmz|Pte`kBQ=p$Vs2&<{Ct}znXdHN#;XdIDWx_+l9cn1jT^Y1uskJjsO1!LGN zVRx6XDHFY=KgfG=ZtKB`zs*+hp(rKoo0} zQ4>*J)&#rW_ZUEE@CpOM|B14cmZzz=)k}GC5GwpkiM@oc0;48N7bhmSnv8h)vleu< zJMD-l#>X|`y4?8^>mB8HqxgZD2*|FT*}P*Bj1cq+{kWX1nc4nf*F8N8bB<^dvBZ$pk8B67^KU2=_r*R~I`;cX zc$x{HJyV%cVsZor2o;4u_eJbfVi+4AtXo+RSUK)V{6g<+{R$uT-__FT3+_S5(#*Dk?rjkl%5knH_kDzfx8bz;v|E*&Js2&RgB zvDX?KI}rX&cR-3>7ck_|H8DZxh}dh+q8f zTP*#~xp`jYdc^b(+XI|U_plfkDxCR<1IZZaw?`gcF>9+`m!Bw{@=d1AwAA_Gw3O>M z?(jaorNnkk9ByCx?asqlUHJZcrPzPPvR#x4o-uQ-qw@T2w5#`?WM1dAm?VcSl@pXN zLiOnp&7&jiv#J}Kh6(m?%&b*Q>&s_9OiZ}2d|JWu>}?p?%BB!DvvF9cRPS7=f{882 zN`p`j`m~;GIEs*5ulf1aXBEHDnvbpzVs3%}@Vlb@U=2l)aFAVl$d>Sn6m|`<_`j^b ze?CL-T*;h-=8M^LN)z_5elE{D3bS0#&h`$GqXXio-owBcwPeo|9m%Wk2e}hs&G45R z9`&|&^$Kw%P1$mHB{lMvI1$rGvjTY20m+K_^+w%%>pi|lSkkT2KL-1cC&S35B0N1J zSFhY$gaJ;6-1>vjzZac@r4#HLY(bG?yi)j`yrgd0;!55JgEiGN7#-cR&EDCFe*5N2 zZVz21N3BET^i=gQMc#s9*uA(IaABIed{JU}5|F%H0fH+}h4LPE`)BPimGc32wT%|| zhKN+%1}f3hI9-2jt6_hC=n2wmdrd|?d_=ZDVn2|RENx}r#VpyO5^&}nR+*Jy;D)y%m@GZ^eAVEBaI9h*PnB_uKOY$WP748 zh=lfK5Qs1+{_GF7(`ToNGaXNMjyvG3yCLrH_sQUN*sSyze{dLzn*ceCE57o`l&CDc z&@`b)C7YU7=oFDr+^%>`Z73nIlH8+YI^}m7b+6I`!xkXJfuO6ewHHp4-Oshmh&0~h zLctr5QwWp{okIEN!3#7Y`SH|B-U&$Umj&dj<4DycFkQ&N} z={uVyy8|2&Es&2E-W;UAyQKII+_*Cac%6HNx%nNw96m_?l@Y`CXe-UXtZ{jNxN*$r^h%F0HOkv z683zVVZz^FqY-)gRc(0a4 zW*@U<561)35*{2i>I7z~p0VPb*!OAt#>Q;@-v{e z+P%B4|G>(iiuN3S?2p^6d28zFf4VtnJ#Po5Wn?hvxtmh8uZElb3C>`7QQtG{Becuh z{#V9sVPnO4B?DZfx&*+e{gEt6{H`VmC$>8jM6-LyiSJ{gnzZBZ5$8itK|mczv|UE%2cF-JmaWa{J9z}VvnMz&13 zd##&JF7+N^e$w~tj{9*;BYSHke&BSytHE{BgN{mXmsgVT;y4I{oLUJxFEM}P;^z5; z=FnMN*XQn?E_$@SjRWa;Sp5wOr&fYQ*{c`2x436l^e+w~TSy(DDDY6QlnKd8ycpqZ0Ti)~K)k&!p1k(x^7{_>&xKU6xSxS}MD&CGq;Tz!2BTh?4t zX(L*_msEzmse~(I!;f#&vp4%gOu-9YjVm_ioj2-yS*|_+X}ZHZuCV+ts&F>Zis|wu z7dR;I8z(7wCG6_iy9YskAqj0gJtGf~HX$qlH67bo>`Jl)`a5lHzTueymb%*7=oQgv3{uW*ndBtuf|`on`#9c zXbCVtQWCCyE^n%?@akrlCNJ9V4~cBlmT$H*So|we9o3xBQ%0c0q@7V^wYfV>0fyco zfW71g5JU$%9f0x@DdgGpJ@#Cf^*blt-@KL@%(*?PN9#Mk+N($EGl{sUYiRr8bd!bT zuGvzCKy(y#g4m-wPe_;XPf~@LcpfOfjeZ=$7!fE*xplcE-ndd#ra-Pis`7a>RYp&Y zucB^H9q{u)3|N1}!7#-h0keOAr>Wm9l5ARNIremer>Uc3?%)srY1WLQvJ$K}00@>< zGINzeA2iVv?OU8iKM%1liBil@^G=aGcrmEtUR^ z-|PO=Bn%!c0DOLyfp-PEfy!3}Rew*dfbX~iuee_g7G(0fg`3?_K|o2IZA)LBF^dAH zXBhWr(}4$QoTX>z_?Y0r_d$@B`YNalAeoXXC`5be+D_#Vl~8{A_UG>D3_35BCdWJ7 ztf4PY91-}-ya?WK>`AO!oQ|<10{(7Exa+_>#UT_|$tc2l9QFsGcYpp9Jqk+;0UUHq zrz4;U1|bM@d^`mrm<%=BIH{EGQNIe&@;eeJ>PT6E2}e`4MlWQm8{>==g+5 zB$I#pM zu5*9SvSVy72`8U6f6Xc>o3a$1su#V$^LB;?(()fj`R?v$R#8gWWszM+Da`wo1jCky8I5;}`Q*qm7Qn#Or z5M#xx9uySu>VIB<7qXxAb#;Bu&wK?l_~_gj@($wgLTb+<16%$x7McoVS2=Vs;snu> zf*kc?L@uKbH9`Z<$gLECsy7Jqrr(6GLAVmxHXi=R$5l1EsZnG|G6{vurK);eYql+5 z_^_QtRI%vLJH}qJpPg4jG7yb&XuYfB>GHQQL?nW&4BzLH55@yfmIPAYB=<)D)Z1Q9 zpa?5JKPsrMy;(NBh)Sm4?hRaX!_afhAWfH=mbO*%KHt+P_^{fBOj^1fML$p)p|U=? zA|H}7hWZ09o-d18kQmo^X7w7%1rXZ1Wzgzl^1@Dm@OEhLpR}vY zve49_&9No^ItVl!p38Fvj#-rNsB9+&exe1{Ugd2u}L$5S%dSTI% zE!NH0N|9|=58f@)|C5)RZ5oQa?#uLhHVzcuM{~9zC=EmS!O5=-H`95K}s5@j?0mV)THe8IHTB#o(~Wv&4OrAmgw5v zwX{So^0v3A6b;LVsAJkd->Y#B=N&z{7vkj;w61~ zA39T@$o%;-@U}%-MVMYe{*L%@$MhQq%HLwfJbGfq1w#61D**-INc%I9EWCvtnd#3+ zO;sYX8pCR+iU!BW`DAFQuDkhPnKiQ(9EYyv~@IBj*agT^Byy-sKILsfhl6{ZVTun60kH=I7O(eWq~!^D=ZfC=~`pL)v1!Xdc@9 z+;C-4pCNTo4ftDCb5{v`YiqAO_gXI~D>7=Bz?gB;?9VWXS7K2SH7Hvz zf98_&(NK11FuC@|f`hr>E)Wtk1FzgCI@VoSjPPv|(pDA^9rh=*G8kBnJ_WpNUk9Zh~7Kba9_^u9eCd+-}g&R zbhXYnK8wF)0U~sO1Szd(x!2tV-PS!A2nkcV?(If7A^r?b%tGAS+x$Nf z0xTm9Yz0@e=5pjF^hnmsyP^(dg+47Ogqm#r1y1lLQ5$}zA&`{)og}JHI9p#O-e6*d8 z0SpC;fFpIz!0^+RvzCqbui@PI|FS8k>K%XUpb_yvu)BfYFwP&V^n9%2(*AdM(O9t$(ix2qX>>#eA96XDvg}*D`{Es+Try3Zk$7i+ww9qKk0twYPW6uyy8JaS|{El4bVqIY|~6jZQt38ex>n!Za3`5tq19Y!2JDKaK#vSV!cW#dwAZg#|_{K|CJArDimL3)V!FBz@Z5@+L z4a{`+B1n(7pw>)=1bH|4_MNZSz)T?@h;moGy`On1GQ=srPLp%s?{h(%Hf z8}RItPfHa+!|R<~vGo4xSjT)CShGNf9pnP zCX7a)$I{GNVS-Kl234R(FdUw9rnCR7hB>G$PDEo-)dnd~|I6^M;79>=M!k#rB`Q*b zJfAr|e$LR%OOzZjj6q*eF1F$**~58+yp~DmT0EIpstp09=h|><- zH#Gi;I`xcqlna005_2DxPZ$N?O%;5Plt4abmg-)Dszh^yfcPq0#|JfO>>~}*;cES_ z{2g#AlcX8z69l*Uq-W={1WWcdI3CATeXkUb2QbIm@PCI0PKFHzs%w07`e<#K2KxND zeLqmW_bUvH7W6KDeRz?Wy@Pd@T!!_6m0+XFjP~o}ih$swWN6h$WfPp~*$X>Xd^Dux zPt1NNv@Ea7!Uxx=EYtixD1Q!0X~huM_fUaKE4b1^w`{BSy@v*`SV-ZWVuY6w4e)tX ziA&;s(=;=@SV(rAA&2h|alX&oGc}!uE>Jc9C>p^hQ_|r--51>5Jxbi-;s^994i+k}vjEyulPoMNS#pOqVYB>m)A2aO@4g@cR@#kzbaz zaTn1W1vmPyxP;B=$ngx0r zp{=8=+f!pO#b(bzxf;xM_sbQF38e;`Z_#xAf53$AZNSL0If0X_0L{jNHE#+s#U#Q5L-LuY=K*ne7t`}z9S?%9nK7H}sY7i-d zd(UAFlgacf$R^~$2ZTwA6YRuKp;RYkDMjSYi8glF?_l0u_=UcPvpkbw1Tdjk=dKf( z|3$9;`uq6<-Ux}FLph8Iy_OCE-_|51bgHVG-6D!4+Jc$c@#eR$zZcq?=D{vlTlME` zooqyF6YhxstBLcHI7Voyz>bO>1Dx`#Emzz9)`P>YF{$bF1*Vh|ufQyxHy|)YA*(=; ze;_^sEn)Hv^K<|mCPpc}{(g6dV~WuT#GKbZ?G?FXLnZu3xohw)00H}>4T%)QfsVXsG=b;KNqb(MgcTF0sAPhOTUN)S(bo?~iN+KkaAyam2?>4lAJ3++m_SZ99Wilx zQuh5`d0X})a;so>evx~2g0bmqp{Z-3%XQ;&lPR@q&GZt$Gw1&z9fQ|?5lczu z$N2>SH(E;fA&B(gz2}{q=PsiMdgzy&HL1BitY)v%ROd*Yam|1An*)R(Bw}c) zu#yx(#M*B?wIV;8J-!qi)zr)#Igi|AHjc<7Ai#vdj*`9zB;LHJ#No6W9PsEay(hFwxnNsR{SM^>fn zm8%`G8tHQ$>3(<5`^{f=r^N&gzB2eQtiVq|*Pr+ZoN5das)E9;OV-8{h4bTlzY`+V zD<N^N>YsCva9;&HlbH#ML}m>I3tctZssG-caF`f{D-^JkIrEhcReu zPQg}LcEr#cfA@B~qCbthOSqctW0b2xvrrxdkv`F0ypz65VUWD0jSMU^d@mA*SX-W6 z4@h^~PpbFgrAW+%V{GldjUao6;Ti|aM)eycX$Mc(Sh9F$2duVQA_?%Y9aX7-vG z6JA@`(o()8E-OlD`6FCqw7zS_7A8_)${=Ze6o&k3BPXzHaW|U#{4SbG+v)JPU*gbx zmcX0ahlYA=w@9s*0Ua5pp=qU!u>&e{=k;-;wpLtgvMMyKgwu=b`D;Z^(YJAW^zcU`sIm#EyxpOr9~@hn?F zr{_5;N)#*Qq8Lz;qQfRVCRtq=pk8Xv;hZ>EEAX|_3Gh9k{TSlH!*sdarkypuRg`auuYjv;Cbw^=a* zLYL4#q6Yq_hbBSbMfWZ?E@z5ex}dJhMR6IP-6eGT0t|!-;O{&^tlkk6ENY_l$|o!o zQ|$E#GMNWjg098iS|dJhhLkydPhcfU*~SKu+wY&LB6%GQL5*4$hvHc^+sx~@y*_@) z41(Mvie1ph^8# zA#!9OL)rzOwT7QfQEDIA=XzoJt=W9pre7w_P=P+^d7_r)&0~Fb3hR!#K#i{JGo5YP5zpm2G8Z#Gj|Ot)RopmDs~66AGbuxI77WJ^I`^^4U3W z5UC(tdv|wV8oN0Jg>NP6*p{=$%JPADF4D9-Ncf*u0T51EHxK_wej(l&id!BeG)9sy|^#EmR{W<^Oa?){(f6Ml{*TFY-pYl2vm({u_(F{&)Owq93<%!{Su?p8P5ClPt zs(X+MIZ612z7VXv5e!p25~_n>zo&*h$b^516#pN zDx}k7*3+g#&Y-SSQP6eOL~s|~^m-`7-t`de*)ZoJ!VD!xMZLMB&4>s%H8MkIG1nSe zYB<10lj0y4EiP}QiBKWMQ}g~L7H zW_UO~k54azX_#Lmw!97*T6ibtbM66iwyu06hj-83&vQ8kkN~1a{T4lqJ7lW>jT=`=1po^N?^@un`XV*Mbk>X)dQ zrsUkjgsa7tOphN%KgcPZh8S&&0yOxba6&z3b=w*yik-S0FN9#@ZeL)T^>vMGY_gu7 zY%;J1@@cmr_cvN;ZhL-8iu(?~ZecTqYy>U#!#VghKHtivW^9oj-@_9n6)$USsmluy z5lvSu@+Z7#SYm#1QiuE1cJah_9^g<{QWgHDJe$ZWG3PuI;&&xw2B#k-u3{nyf1@Pn zYPvl$RZ5amGcu~?J3Fm3|7N+7q*;+`+;wisF7nE~y>?T{9D*jqz8I*k7t%kd+g~^@ zYkiU1i^j!mu5-I!PM|6qET{l;&`DIuDr>+ynAJkELI9jLKW;#2B!`t%xl|H_B|d0r zdxl)`?6sf#=WaePLndiHN8yr82_oVYWla-RE&GjcoSLx`iV--Ugfn|}C|`dKS|Yf= z(-X}XTBw-X%`=V!o1vskbJD628zpW1b%?@U#wJWz2UBilA;Cv>(n`*CcB71C#XL4J z?nHAde8azm0C&8|NK_XOu9!cbm=(wRdlH>1xJ~q_b;Y4!sDc4eB}E$*d_hvrU$Z3C z#ytjEQk_X7mwV~O(-F#{8fSPaI0?sfNH)iSK0boL174%UL4so7o8_@+8X1!NW`Nh| z4avY(9E6R8KNl;`iq(Q1VAa*c&?%H61%D{Q;PuX?&3Qjv4MR+*5NG6qRD??m1ewUO zbdTMiq3SwKzVne7%`yCVL^A#HR7|0&v|CxJJH*G~xz?RUctsomi=CDdS|Qm{*1oDO zu}RVfgzOI)uhU?;nlI_ukA~A|u*LY7cyZjOPip^7>mPn(7$0Zf&g>ozGm}B-jA#*d z0Lt`GE~-4X6hO*2CWl82OP=O*%eF-hn`WWCIauimMXYISRXJ24<>dpU@^mTP3Ju_|W$_=mq0S{-&2qWG+lWGWn-(odD% zbB&hzh^a>h_f&*9deD{0L+Phz=uHgAx%gAP{nZ6B@kCrjGHCZ z)Bj^1z(I`n10l}ti--#+c3J6^)wp}+{9J302pd1Y3aXT@wwAH0E1KHm{@q`%;Lq6z z`m>`yj4U`;8nv@;F~94dF#upx`&DwQ4Tl>pY%v<-<-x!%e3&Wa3!$s~cv5fLG#*&a-AC7Rh^}kk0 zo?NYjCA(?Y%F_eAh*LDcnp!#;%A5A4*b2l=sL)`|2nSL8-@!6rgSjp;pV&jM+<)MQ zI`iojCYo3t6DkB)XBtHpv9CzLqnI=0VQU`Htz-F}wmMR?=(dhDX)IqJ+b+O9;q7P*%v|)ktyFYa?T4kJcU= zB#?_g&^+oD%lsScpqi4>H-%6di?-DzS?x047xHQ(5%<50-9=Pg;@1sTXRK7J6EpSqN$<@j>%3g2ZM>;G=gF=qZN-;+qERmO*qsO#Nd zzo*BNHYl;4MBtNQlhGn!K8!@c+TX2CQA4?5hFVuAh7_nk?SC@U76`t-b)*tFtoll< zqJAVl)!SE@5QJ!+9oIR}Uq&GJ)1EBHCPM52ok@tAC!ZSb?{1`V{z>h^d9~1%@woXe zP2D#nJEvj=L(4Gq$s>Oo6`48Y;5LOr5+yTXBI6ZYDEWq>6)vuZ*@=Oq79mHVQ*H2t z<11Sdt25U`91_79!a*`iEpXvpdreoiuSkyJZ(WW}oEhB^DrzJXZ0q){gi_=3T0&|b z5M&V2Sp*qm9x?j83~^NXpT$6hc6mUay|xt8`d^Ie`QF-Ww!?5@>SYbj6xscvYp$e< zTClvuPIf_{16t(X?W|UHo2T&2N^?@IQj>oX1`J&=Dx|5^F^K0_;@CHU=AU0EayroD z>j-A`HJ6%1f{T(Ippya>(`|Vu`8QBwa6m^ECOR*ZARaz=MM=un3uMK~XWqamD3wQy z%Ge*xk9^e*h9kj3l5Jm-tLYvJdRSLU&fY8L9aNSsfKjsk(yK!ReU@9Q)rT`TG*GLr zX=KwSRk39DkMvixsjV;C$*PVkQos~U;%71#f~rz3H2y(yIK|CdSQ6vH%L2VDC+QQ} zAN>ijPO2CfLw%|)Nr-V0b;AxChyI*Y&4KW)YZ>L`>Vf;%cY*{xw| zbd~9L=zs%nwc!5WBkBZ6SPjRUK~>kyV?)rq-+~7;TK-?k$T{OJA14F=Vvy(KzrsTf zOL8Z0AX6+ke8?o7ByY6jAF|TF6znY5EyP5~mb8H99x|`))UeXD{t{nsJ0$<02 zC+ofcn~cz%p0{mVYirJTyiZ$( z#E|$J^a|5QCRD~o6+%Uy8oK9f8_XZFmoud4MrNbr@R-SyOdJk=`BbXnAQ&@NNse=u z^G(4bjp@T1GaXDBe5W|PLvV==aEe!w{qIfcDf&LuZ5NP!Ad6*C7H&i0LDaDLETdEj z@8Du=0&+hT1}z<3M4)evRKq+)_~+w%zdht{7ho4;w4$R_vjz!lNoRAjIL=#sv%6W8 zohy7}?*^JMN9NqEJBPeEeyj7=y{=hr7e(kCM}2lqO$p8Upp` zD03jj)p7j4i`D|G{m|WOO+F6sOX@fBNm#}JBdxeL?@+h(ZTSOnsGS#r` zU;Z9^<=$wSop&LATXWWP5GZzFI}Yo;BK^~Q@=;nJl^l@U_vN6HYX}#ton@K^*3Mv* za{^Y4-mLN+G-BXaHT{1(uDUx+E!U=Vw)wL5$LoxRNoA9VT>*`1ZWLH@g^?kGmcEfW z3PYAq1s{V83Fea|`fqU?re$992#CQfFLH0MVF=$G4;R;w^=kx-)BULjKS2>fRGoST zBjK^WorFQVGnh#5Su)@N8cw#%KArB?;8myx7To@3(=Gf6``Xn#*YlA}!tl;6G(ft0 t@&191en|{4K6!@i+yyf|u6Ms1aP^j8Y%j~7L$-lK$w(-CuNE^5{2!2wC653A literal 0 HcmV?d00001 diff --git a/textures/hyperloop_elevator_top.png b/textures/hyperloop_elevator_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9770297466ac63df202054779517122b2bc19391 GIT binary patch literal 1586 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 literal 0 HcmV?d00001 diff --git a/textures/hyperloop_sign_top.png b/textures/hyperloop_sign_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ecda162f30533c949301dda640d564da0e5b3e GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_r)EAj~ML;ne^XWH0gbb!C6ZE+Qhy^ObMH0ick+r;B4q#NoH+92prLSQre}%|3O+ p+OTFD%jsGF3SS&GWJCdttffLsA0v+G>;!6M@O1TaS?83{1ORhxDt-U} literal 0 HcmV?d00001 diff --git a/textures/hyperloop_station_inventory.png b/textures/hyperloop_station_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..43ae76766d8ad9b01cbb1ddc6f4a24b9e1b35b4c GIT binary patch literal 16007 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 B2(ADC literal 0 HcmV?d00001