Cleaning up some Hyperloop leftovers.
parent
6dce43f324
commit
5a66495b13
|
@ -62,7 +62,7 @@ vents.BLEND = minetest.features.use_texture_alpha_string_modes and 'blend' or tr
|
|||
|
||||
|
||||
if tubelib2.version < 1.7 then
|
||||
error('Hyperloop requires tubelib2 version 1.7 or newer!!!')
|
||||
error('Vents requires tubelib2 version 1.7 or newer!!!')
|
||||
else
|
||||
-- Configuration settings
|
||||
vents.free_tube_placement_enabled = minetest.settings:get_bool('hyperloop_free_tube_placement_enabled', true)
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
--[[
|
||||
|
||||
Hyperloop Mod
|
||||
=============
|
||||
|
||||
Copyright (C) 2017 Joachim Stolberg
|
||||
|
||||
LGPLv2.1+
|
||||
See LICENSE.txt for more information
|
||||
|
||||
History:
|
||||
see init.lua
|
||||
|
||||
]]--
|
||||
|
||||
function vents.enter_display(seat_pos, facedir, text)
|
||||
if seat_pos == nil then
|
||||
return
|
||||
end
|
||||
-- determine position
|
||||
local pos = vector.add(seat_pos, vents.placedir_to_dir(facedir))
|
||||
pos.y = pos.y + 1
|
||||
-- load map
|
||||
minetest.forceload_block(pos)
|
||||
-- update display
|
||||
minetest.registered_nodes["vents:lcd"].update(pos, text)
|
||||
end
|
||||
|
||||
-- to build the pod
|
||||
minetest.register_node("vents:pod_wall", {
|
||||
description = "Hyperloop Pod Shell",
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"hyperloop_skin2.png",
|
||||
"hyperloop_skin2.png",
|
||||
"hyperloop_skin.png",
|
||||
"hyperloop_skin.png",
|
||||
"hyperloop_skin.png",
|
||||
"hyperloop_skin.png",
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky=1, stone = 2},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
||||
|
||||
|
||||
-- for tube viaducts
|
||||
minetest.register_node("vents:pillar", {
|
||||
description = "Hyperloop Pillar",
|
||||
tiles = {"hyperloop_tube_locked.png^[transformR90]"},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -3/8, -4/8, -3/8, 3/8, 4/8, 3/8},
|
||||
},
|
||||
},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 2},
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
|
@ -1,161 +0,0 @@
|
|||
--[[
|
||||
|
||||
Hyperloop Mod
|
||||
=============
|
||||
|
||||
Copyright (C) 2017 Joachim Stolberg
|
||||
|
||||
LGPLv2.1+
|
||||
See LICENSE.txt for more information
|
||||
|
||||
History:
|
||||
see init.lua
|
||||
|
||||
]]--
|
||||
|
||||
local function get_inventory_item(inv)
|
||||
local stack = ItemStack("vents:tube0")
|
||||
local taken = inv:remove_item("src", stack)
|
||||
return taken:get_count() == 1
|
||||
end
|
||||
|
||||
local function get_inventory(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = ItemStack("vents:tube0 99")
|
||||
return inv:remove_item("src", stack)
|
||||
end
|
||||
|
||||
local function set_inventory(pos, stack)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:add_item("src", stack)
|
||||
return inv
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
local function place_tube(pos, name, facedir, placer)
|
||||
if minetest.is_protected(pos, placer:get_player_name()) then
|
||||
vents.chat(placer, "Area is protected!")
|
||||
return false
|
||||
end
|
||||
node = minetest.get_node(pos)
|
||||
if node.name ~= "air" and node.name ~= "default:water_source" and node.name ~= "default:water_flowing" then
|
||||
return false
|
||||
end
|
||||
if vents.scan_neighbours(pos) ~= 1 then
|
||||
return false
|
||||
end
|
||||
minetest.add_node(pos, {name=name, param2=facedir})
|
||||
minetest.registered_nodes[name].after_place_node(pos, placer, nil, nil)
|
||||
return true
|
||||
end
|
||||
|
||||
local function move_robot(pos, inv, facedir, placer)
|
||||
if minetest.get_meta(pos):get_int("stopped") ~= 1 then
|
||||
if get_inventory_item(inv) then
|
||||
-- remve robot and replace through tube
|
||||
local stack = get_inventory(pos)
|
||||
minetest.remove_node(pos)
|
||||
place_tube(pos, "vents:tube1", facedir, placer)
|
||||
-- place robot on the new position
|
||||
pos = vents.new_pos(pos, facedir, "1F", 0)
|
||||
if place_tube(pos, "vents:robot", facedir, placer) then
|
||||
inv = set_inventory(pos, stack)
|
||||
minetest.after(1, move_robot, pos, inv, facedir, placer)
|
||||
else
|
||||
pos = vents.new_pos(pos, facedir, "1B", 0)
|
||||
minetest.remove_node(pos)
|
||||
place_tube(pos, "vents:robot", facedir, placer)
|
||||
stack:add_item("src", ItemStack("vents:tube0"))
|
||||
set_inventory(pos, stack)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local station_formspec =
|
||||
"size[8,8]"..
|
||||
"label[3,0;Hyperloop Tube Robot]" ..
|
||||
"label[1,1.3;Hyperloop Tubes]" ..
|
||||
"list[context;src;3,1;1,1;]"..
|
||||
"button_exit[4,1;1,1;button;Start]"..
|
||||
"list[current_player;main;0,4;8,4;]"..
|
||||
"listring[context;src]"..
|
||||
"listring[current_player;main]"
|
||||
|
||||
minetest.register_node("vents:robot", {
|
||||
description = "Hyperloop Tube Robot",
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"hyperloop_robot.png",
|
||||
"hyperloop_robot.png",
|
||||
"hyperloop_robot2.png",
|
||||
"hyperloop_robot2.png",
|
||||
"hyperloop_robot2.png",
|
||||
"hyperloop_robot2.png",
|
||||
},
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
local res, nodes = vents.scan_neighbours(pos)
|
||||
if res == 1 then -- one neighbor available?
|
||||
local dir = vector.subtract(pos, nodes[1].pos)
|
||||
local facedir = minetest.dir_to_facedir(dir)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_int("facedir", facedir)
|
||||
meta:set_string("formspec", station_formspec)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
else
|
||||
vents.chat(player, "You can't start with a Robot block!")
|
||||
local node = minetest.get_node(pos)
|
||||
vents.remove_node(pos, node)
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
|
||||
on_receive_fields = function(pos, formname, fields, player)
|
||||
if fields.button == nil then
|
||||
return
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local facedir = meta:get_int("facedir")
|
||||
meta:set_int("stopped", 0)
|
||||
minetest.after(1, move_robot, pos, inv, facedir, player)
|
||||
end,
|
||||
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
if minetest.is_protected(pos, puncher:get_player_name()) then
|
||||
return
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_int("stopped", 1)
|
||||
end,
|
||||
|
||||
on_dig = function(pos, node, puncher, pointed_thing)
|
||||
if minetest.is_protected(pos, puncher:get_player_name()) then
|
||||
return
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
meta:set_int("stopped", 1)
|
||||
if inv:is_empty("src") then
|
||||
minetest.node_dig(pos, node, puncher, pointed_thing)
|
||||
end
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory,
|
||||
|
||||
on_rotate = screwdriver.disallow,
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky=1},
|
||||
is_ground_content = false,
|
||||
})
|
|
@ -1,15 +1,9 @@
|
|||
# Enable WiFi blocks (exclude recipe)
|
||||
hyperloop_wifi_enabled (WiFi block enabled) bool false
|
||||
|
||||
# Enable WiFi block crafting
|
||||
hyperloop_wifi_crafting_enabled (WiFi block crafting enabled) bool false
|
||||
|
||||
# Enable free tube placement with no level limitation.
|
||||
# If disabled, connected stations have to be on one level,
|
||||
# Enable free tube placement with no level limitation.
|
||||
# If disabled, connected stations have to be on one level,
|
||||
# typically underground.
|
||||
hyperloop_free_tube_placement_enabled (free tube placement enabled) bool false
|
||||
vent_free_tube_placement_enabled (free tube placement enabled) bool false
|
||||
|
||||
# The ticket block has an additional field for specifying a subnet name.
|
||||
# Stations with the same subnet name (optional) represent an isolated
|
||||
# subnet within the Hyperloop network.
|
||||
hyperloop_subnet_enabled (enable building of subnets) bool true
|
||||
# subnet within the vent network.
|
||||
vent_subnet_enabled (enable building of subnets) bool true
|
||||
|
|
|
@ -1,105 +0,0 @@
|
|||
--[[
|
||||
|
||||
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("vents: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)
|
||||
-- check above
|
||||
npos.y = npos.y + 1
|
||||
if minetest.get_node_or_nil(npos).name == "vents:shaft" then
|
||||
local node = minetest.get_node(npos)
|
||||
node.name = "vents:shaft2"
|
||||
minetest.swap_node(npos, node)
|
||||
return
|
||||
elseif minetest.get_node_or_nil(npos).name == "vents:elevator_top" then
|
||||
npos.y = npos.y - 1
|
||||
vents.update_elevator(npos)
|
||||
npos.y = npos.y + 1
|
||||
return
|
||||
end
|
||||
|
||||
-- check below
|
||||
npos.y = npos.y - 2
|
||||
if minetest.get_node_or_nil(npos).name == "vents:shaft" then
|
||||
local node = minetest.get_node(npos)
|
||||
node.name = "vents:shaft2"
|
||||
minetest.swap_node(npos, node)
|
||||
elseif minetest.get_node_or_nil(npos).name == "vents:elevator_top" then
|
||||
npos.y = npos.y - 1
|
||||
vents.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 == "vents:shaft2" then
|
||||
local node = minetest.get_node(npos)
|
||||
node.name = "vents:shaft"
|
||||
minetest.swap_node(npos, node)
|
||||
elseif minetest.get_node_or_nil(npos).name == "vents:elevator_top" then
|
||||
npos.y = npos.y - 1
|
||||
vents.update_elevator(npos)
|
||||
end
|
||||
npos.y = npos.y + 2
|
||||
if minetest.get_node_or_nil(npos).name == "vents:shaft2" then
|
||||
local node = minetest.get_node(npos)
|
||||
node.name = "vents:shaft"
|
||||
minetest.swap_node(npos, node)
|
||||
end
|
||||
end,
|
||||
|
||||
on_rotate = screwdriver.disallow,
|
||||
light_source = 6,
|
||||
paramtype2 = "facedir",
|
||||
groups = {breakable=1},
|
||||
is_ground_content = false,
|
||||
})
|
||||
|
||||
-- simple shaft without logic or "memory"
|
||||
minetest.register_node("vents: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]",
|
||||
},
|
||||
|
||||
on_rotate = screwdriver.disallow,
|
||||
diggable = false,
|
||||
paramtype2 = "facedir",
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
is_ground_content = false,
|
||||
})
|
|
@ -181,7 +181,7 @@ local function on_destruct(pos)
|
|||
end
|
||||
|
||||
minetest.register_node("vents:station", {
|
||||
description = S("Hyperloop Station Block"),
|
||||
description = S("Vent Access"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"hyperloop_station.png",
|
||||
|
|
|
@ -70,7 +70,7 @@ local Tube = tubelib2.Tube:new({
|
|||
vents.Tube = Tube
|
||||
|
||||
minetest.register_node("vents:tubeS", {
|
||||
description = S("Hyperloop Tube"),
|
||||
description = S("Vent"),
|
||||
inventory_image = minetest.inventorycube("hyperloop_tube_locked.png",
|
||||
'hyperloop_tube_open.png', "hyperloop_tube_locked.png"),
|
||||
tiles = {
|
||||
|
@ -129,7 +129,7 @@ minetest.register_node("vents:tubeS", {
|
|||
})
|
||||
|
||||
minetest.register_node("vents:tubeS2", {
|
||||
description = "Hyperloop Tube",
|
||||
description = "Vent",
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"hyperloop_tube_locked.png^hyperloop_logo.png^[transformR90]",
|
||||
|
@ -179,7 +179,7 @@ minetest.register_node("vents:tubeS2", {
|
|||
})
|
||||
|
||||
minetest.register_node("vents:tubeA", {
|
||||
description = S("Hyperloop Tube"),
|
||||
description = S("Vent"),
|
||||
inventory_image = minetest.inventorycube("hyperloop_tube_locked.png",
|
||||
'hyperloop_tube_open.png', "hyperloop_tube_locked.png"),
|
||||
tiles = {
|
||||
|
@ -271,7 +271,7 @@ minetest.register_node("vents:tubeA2", {
|
|||
|
||||
-- for tube viaducts
|
||||
minetest.register_node("vents:pillar", {
|
||||
description = "Hyperloop Pillar",
|
||||
description = "Vent",
|
||||
tiles = {"hyperloop_tube_locked.png^[transformR90]"},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
|
|
|
@ -27,9 +27,9 @@ local function chat_message(dir, cnt, peer_pos, peer_dir)
|
|||
local sdir = tubelib2.dir_to_string(dir)
|
||||
if Shaft:is_secondary_node(peer_pos, peer_dir) then
|
||||
local npos, node = Shaft:get_node(peer_pos, peer_dir)
|
||||
return "[Hyperloop] To the "..sdir..": "..cnt.." tube nodes to "..node.name.." at "..SP(npos)
|
||||
return "[Vents] To the "..sdir..": "..cnt.." tube nodes to "..node.name.." at "..SP(npos)
|
||||
else
|
||||
return "[Hyperloop] To the "..sdir..": "..cnt.." tube nodes to "..SP(peer_pos)
|
||||
return "[Vents] To the "..sdir..": "..cnt.." tube nodes to "..SP(peer_pos)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@ local Stations = vents.Stations
|
|||
|
||||
function vents.chat(player, text)
|
||||
if type(player) == "string" then
|
||||
minetest.chat_send_player(player, "[Hyperloop] "..text)
|
||||
minetest.chat_send_player(player, "[Vents] "..text)
|
||||
elseif player ~= nil then
|
||||
minetest.chat_send_player(player:get_player_name(), "[Hyperloop] "..text)
|
||||
minetest.chat_send_player(player:get_player_name(), "[Vents] "..text)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -93,7 +93,6 @@ end
|
|||
function vents.get_station(station_pos)
|
||||
local data = Stations:get(station_pos)
|
||||
if data then
|
||||
print 'data found'
|
||||
local tStation = table.copy(data)
|
||||
tStation.pos = station_pos
|
||||
return tStation
|
||||
|
|
Loading…
Reference in New Issue