From a8df43278f47a30bf3bb220972242b10621a17e5 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 24 Sep 2016 15:26:56 +0200 Subject: Reorganize files (make it a modpack). --- init.lua | 7 -- modpack.txt | 0 teleporter.lua | 241 ------------------------------------- teleporter/init.lua | 7 ++ teleporter/teleporter.lua | 241 +++++++++++++++++++++++++++++++++++++ teleporter/textures/teleporter.png | Bin 0 -> 424 bytes teleporter/textures/teleporter.xcf | Bin 0 -> 4678 bytes textures/teleporter.png | Bin 424 -> 0 bytes textures/teleporter.xcf | Bin 4678 -> 0 bytes 9 files changed, 248 insertions(+), 248 deletions(-) delete mode 100644 init.lua create mode 100644 modpack.txt delete mode 100644 teleporter.lua create mode 100644 teleporter/init.lua create mode 100644 teleporter/teleporter.lua create mode 100644 teleporter/textures/teleporter.png create mode 100644 teleporter/textures/teleporter.xcf delete mode 100644 textures/teleporter.png delete mode 100644 textures/teleporter.xcf diff --git a/init.lua b/init.lua deleted file mode 100644 index 7a218e4..0000000 --- a/init.lua +++ /dev/null @@ -1,7 +0,0 @@ -teleporter = {} - -teleporter.modpath = minetest.get_modpath("teleporter") - -dofile(teleporter.modpath .. '/teleporter.lua') - -teleporter:load() diff --git a/modpack.txt b/modpack.txt new file mode 100644 index 0000000..e69de29 diff --git a/teleporter.lua b/teleporter.lua deleted file mode 100644 index b95e3af..0000000 --- a/teleporter.lua +++ /dev/null @@ -1,241 +0,0 @@ --- --- Teleporter --- - -teleporter.config = {} -teleporter.config.filename = minetest.get_worldpath() .. "/teleporter.cfg" -teleporter.positions = {} - -function teleporter:load() - local file, err = io.open(self.config.filename, "r") - if err then - minetest.log('error', 'could not read ' .. self.config.filename ) - return err - end - self.positions = minetest.deserialize(file:read("*a")) - if type(self.positions) ~= "table" then - minetest.log('error', 'teleporter_positions were not a table') - end - - if self.positions == nil then - self.positions = {} - end - - file:close() -end - -function teleporter:save() - local datastr = minetest.serialize(self.positions) - if not datastr then - minetest.log("error", "[teleporter] Failed to serialize teleporter positions!") - return - end - local file, err = io.open(self.config.filename, "w") - if err then - return err - end - file:write(datastr) - file:close() -end - -minetest.register_node("teleporter:teleporter", -{ - description = "Teleporter", - buildable_to = false, - use_texture_alpha = true, - light_source = 4, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - -- 1--------(D)-----2 - -- |\ |\ - -- | \ | \ - -- | (J) | (I) - -- | \ | \ - -- (A) 4-------(H)------3 - -- | | | | - -- | | (K) | - -- | (L) | | - -- | | | | - -- 5----|---(C)-----6 (G) - -- \ | \ | - -- (B) | (F) | - -- \ | \ | - -- \| \| - -- 8-------(E)------7 - - -- Edges - {-0.5, -0.5, -0.5, -0.4, -0.4, 0.5}, -- A - {-0.5, -0.5, -0.5, -0.4, 0.5, -0.4}, -- B - {-0.5, -0.5, -0.5, 0.5, -0.4, -0.4}, -- C - {-0.5, -0.5, 0.5, 0.4, -0.4, 0.4}, -- D - {-0.5, 0.5, -0.5, 0.4, 0.4, -0.4}, -- E - {0.5, -0.5, -0.5, 0.4, 0.4, -0.4}, -- F - {0.5, 0.5, 0.5, 0.4, 0.4, -0.4}, -- G - {-0.5, 0.5, 0.5, 0.4, 0.4, 0.4}, -- H - {0.5, -0.5, 0.5, 0.4, 0.4, 0.4}, -- I - {-0.5, -0.5, 0.5, -0.4, 0.4, 0.4}, -- J - {0.5, -0.5, -0.5, 0.4, -0.4, 0.4}, -- K - {-0.5, 0.5, -0.5, -0.4, 0.4, 0.4}, -- L - - -- Corners - { -0.55, -0.55, 0.55, -0.35, -0.35, 0.35 }, -- 1 - { 0.55, -0.55, 0.55, 0.35, -0.35, 0.35 }, -- 2 - { 0.55, 0.55, 0.55, 0.35, 0.35, 0.35 }, -- 3 - { -0.55, 0.55, 0.55, -0.35, 0.35, 0.35 }, -- 4 - { -0.55, -0.55, -0.55, -0.35, -0.35, -0.35 }, -- 5 - { 0.55, -0.55, -0.55, 0.35, -0.35, -0.35 }, -- 6 - { 0.55, 0.55, -0.55, 0.35, 0.35, -0.35 }, -- 7 - { -0.55, 0.55, -0.55, -0.35, 0.35, -0.35 }, -- 8 - - -- Center box - {0.20, 0.20, 0.20, -0.20, -0.20, -0.20}, - }, - }, - tiles = { "teleporter.png" }, - groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - on_construct = - function(pos) - end, - on_place = - function(itemstack, placer, pointed_thing) - local player_name = placer:get_player_name() - - if teleporter.positions[player_name] == nil then - teleporter.positions[player_name] = {} - end - - local pos1 = teleporter.positions[player_name].first - local pos2 = teleporter.positions[player_name].second - if pos1 == nil or pos2 == nil then - minetest.item_place(itemstack, placer, pointed_thing) - else - minetest.log('warning', 'Only two teleporters at a time') - end - end, - after_place_node = - function(pos, placer, itemstack, pointed_thing) - local player_name = placer:get_player_name() - - if teleporter.positions[player_name] == nil then - teleporter.positions[player_name] = {} - end - - local meta = minetest.get_meta(pos) - meta:set_string("infotext", "Teleporter owned by " .. player_name) - - if teleporter.positions[player_name].first == nil then - teleporter.positions[player_name].first = pos - teleporter:save() - return - end - - if teleporter.positions[player_name].second == nil then - teleporter.positions[player_name].second = pos - teleporter:save() - return - end - - minetest.log('error', 'Only two teleporters!') - end, - after_dig_node = - function(pos, oldnode, oldmetadata, digger) - local player_name = digger:get_player_name() - - if teleporter.positions[player_name] == nil then - teleporter.positions[player_name] = {} - end - - local pos1 = teleporter.positions[player_name].first - local pos2 = teleporter.positions[player_name].second - - if pos1 ~= nil and - pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then - teleporter.positions[player_name].first = nil - print('deleting first') - teleporter:save() - return - end - - if pos2 ~= nil and - pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then - teleporter.positions[player_name].second = nil - print('deleting second') - teleporter:save() - return - end - - minetest.log('error', 'Teleporter not registered!') - - minetest.node_dig(pos, node, player) - end, - can_dig = - function(pos, player) - local player_name = player:get_player_name() - - if teleporter.positions[player_name] == nil then - teleporter.positions[player_name] = {} - end - - local pos1 = teleporter.positions[player_name].first - local pos2 = teleporter.positions[player_name].second - - local pos0 = nil - if pos1 ~= nil and - pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then - return true - end - - if pos2 ~= nil and - pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then - return true - end - - return false - end, - on_rightclick = - function(pos, node, player, itemstack, pointed_thing) - --if player:get_wielded_item():to_string() ~= '' then - -- return - --end - - local player_name = player:get_player_name() - - if teleporter.positions[player_name] == nil then - teleporter.positions[player_name] = {} - end - - local pos1 = teleporter.positions[player_name].first - local pos2 = teleporter.positions[player_name].second - - local pos0 = nil - if pos1 ~= nil and - pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then - minetest.log('info', 'this is first, teleport to second') - pos0 = pos2 - end - - if pos2 ~= nil and - pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then - minetest.log('info', 'this is second, teleport to first') - pos0 = pos1 - end - - if pos0 ~= nil then - player:moveto(pos0) - return - end - - minetest.log('error', 'Teleporter was not registered or only one teleporter was registered.') - end -}) - -minetest.register_craft({ - output = 'teleporter:teleporter 2', - recipe = { - { 'default:mese_crystal', 'default:steel_ingot', 'default:mese_crystal' }, - { 'default:steel_ingot', 'default:diamondblock', 'default:steel_ingot' }, - { 'default:mese_crystal', 'default:steel_ingot', 'default:mese_crystal' } - } -}) diff --git a/teleporter/init.lua b/teleporter/init.lua new file mode 100644 index 0000000..4b7dbff --- /dev/null +++ b/teleporter/init.lua @@ -0,0 +1,7 @@ +aasimine = {} + +aasimine.modpath = minetest.get_modpath("aasimine") + +dofile(aasimine.modpath .. '/teleporter.lua') + +teleporter:load() diff --git a/teleporter/teleporter.lua b/teleporter/teleporter.lua new file mode 100644 index 0000000..d032348 --- /dev/null +++ b/teleporter/teleporter.lua @@ -0,0 +1,241 @@ +-- +-- Teleporter +-- + +aasimine.teleporter.config = {} +aasimine.teleporter.config.filename = minetest.get_worldpath() .. "/teleporter.cfg" +aasimine.teleporter.positions = {} + +function aasimine.teleporter:load() + local file, err = io.open(self.config.filename, "r") + if err then + minetest.log('error', 'could not read ' .. self.config.filename ) + return err + end + self.positions = minetest.deserialize(file:read("*a")) + if type(self.positions) ~= "table" then + minetest.log('error', 'teleporter_positions were not a table') + end + + if self.positions == nil then + self.positions = {} + end + + file:close() +end + +function aasimine.teleporter:save() + local datastr = minetest.serialize(self.positions) + if not datastr then + minetest.log("error", "[teleporter] Failed to serialize teleporter positions!") + return + end + local file, err = io.open(self.config.filename, "w") + if err then + return err + end + file:write(datastr) + file:close() +end + +minetest.register_node("aasimine:teleporter", +{ + description = "Teleporter", + buildable_to = false, + use_texture_alpha = true, + light_source = 4, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + -- 1--------(D)-----2 + -- |\ |\ + -- | \ | \ + -- | (J) | (I) + -- | \ | \ + -- (A) 4-------(H)------3 + -- | | | | + -- | | (K) | + -- | (L) | | + -- | | | | + -- 5----|---(C)-----6 (G) + -- \ | \ | + -- (B) | (F) | + -- \ | \ | + -- \| \| + -- 8-------(E)------7 + + -- Edges + {-0.5, -0.5, -0.5, -0.4, -0.4, 0.5}, -- A + {-0.5, -0.5, -0.5, -0.4, 0.5, -0.4}, -- B + {-0.5, -0.5, -0.5, 0.5, -0.4, -0.4}, -- C + {-0.5, -0.5, 0.5, 0.4, -0.4, 0.4}, -- D + {-0.5, 0.5, -0.5, 0.4, 0.4, -0.4}, -- E + {0.5, -0.5, -0.5, 0.4, 0.4, -0.4}, -- F + {0.5, 0.5, 0.5, 0.4, 0.4, -0.4}, -- G + {-0.5, 0.5, 0.5, 0.4, 0.4, 0.4}, -- H + {0.5, -0.5, 0.5, 0.4, 0.4, 0.4}, -- I + {-0.5, -0.5, 0.5, -0.4, 0.4, 0.4}, -- J + {0.5, -0.5, -0.5, 0.4, -0.4, 0.4}, -- K + {-0.5, 0.5, -0.5, -0.4, 0.4, 0.4}, -- L + + -- Corners + { -0.55, -0.55, 0.55, -0.35, -0.35, 0.35 }, -- 1 + { 0.55, -0.55, 0.55, 0.35, -0.35, 0.35 }, -- 2 + { 0.55, 0.55, 0.55, 0.35, 0.35, 0.35 }, -- 3 + { -0.55, 0.55, 0.55, -0.35, 0.35, 0.35 }, -- 4 + { -0.55, -0.55, -0.55, -0.35, -0.35, -0.35 }, -- 5 + { 0.55, -0.55, -0.55, 0.35, -0.35, -0.35 }, -- 6 + { 0.55, 0.55, -0.55, 0.35, 0.35, -0.35 }, -- 7 + { -0.55, 0.55, -0.55, -0.35, 0.35, -0.35 }, -- 8 + + -- Center box + {0.20, 0.20, 0.20, -0.20, -0.20, -0.20}, + }, + }, + tiles = { "teleporter.png" }, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + on_construct = + function(pos) + end, + on_place = + function(itemstack, placer, pointed_thing) + local player_name = placer:get_player_name() + + if aasimine.teleporter.positions[player_name] == nil then + aasimine.teleporter.positions[player_name] = {} + end + + local pos1 = aasimine.teleporter.positions[player_name].first + local pos2 = aasimine.teleporter.positions[player_name].second + if pos1 == nil or pos2 == nil then + minetest.item_place(itemstack, placer, pointed_thing) + else + minetest.log('warning', 'Only two teleporters at a time') + end + end, + after_place_node = + function(pos, placer, itemstack, pointed_thing) + local player_name = placer:get_player_name() + + if aasimine.teleporter.positions[player_name] == nil then + aasimine.teleporter.positions[player_name] = {} + end + + local meta = minetest.get_meta(pos) + meta:set_string("infotext", "Teleporter owned by " .. player_name) + + if aasimine.teleporter.positions[player_name].first == nil then + aasimine.teleporter.positions[player_name].first = pos + aasimine.teleporter:save() + return + end + + if aasimine.teleporter.positions[player_name].second == nil then + aasimine.teleporter.positions[player_name].second = pos + aasimine.teleporter:save() + return + end + + minetest.log('error', 'Only two teleporters!') + end, + after_dig_node = + function(pos, oldnode, oldmetadata, digger) + local player_name = digger:get_player_name() + + if aasimine.teleporter.positions[player_name] == nil then + aasimine.teleporter.positions[player_name] = {} + end + + local pos1 = aasimine.teleporter.positions[player_name].first + local pos2 = aasimine.teleporter.positions[player_name].second + + if pos1 ~= nil and + pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then + aasimine.teleporter.positions[player_name].first = nil + print('deleting first') + aasimine.teleporter:save() + return + end + + if pos2 ~= nil and + pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then + aasimine.teleporter.positions[player_name].second = nil + print('deleting second') + aasimine.teleporter:save() + return + end + + minetest.log('error', 'Teleporter not registered!') + + minetest.node_dig(pos, node, player) + end, + can_dig = + function(pos, player) + local player_name = player:get_player_name() + + if aasimine.teleporter.positions[player_name] == nil then + aasimine.teleporter.positions[player_name] = {} + end + + local pos1 = aasimine.teleporter.positions[player_name].first + local pos2 = aasimine.teleporter.positions[player_name].second + + local pos0 = nil + if pos1 ~= nil and + pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then + return true + end + + if pos2 ~= nil and + pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then + return true + end + + return false + end, + on_rightclick = + function(pos, node, player, itemstack, pointed_thing) + --if player:get_wielded_item():to_string() ~= '' then + -- return + --end + + local player_name = player:get_player_name() + + if aasimine.teleporter.positions[player_name] == nil then + aasimine.teleporter.positions[player_name] = {} + end + + local pos1 = aasimine.teleporter.positions[player_name].first + local pos2 = aasimine.teleporter.positions[player_name].second + + local pos0 = nil + if pos1 ~= nil and + pos1.x == pos.x and pos1.y == pos.y and pos1.z == pos.z then + minetest.log('info', 'this is first, teleport to second') + pos0 = pos2 + end + + if pos2 ~= nil and + pos2.x == pos.x and pos2.y == pos.y and pos2.z == pos.z then + minetest.log('info', 'this is second, teleport to first') + pos0 = pos1 + end + + if pos0 ~= nil then + player:moveto(pos0) + return + end + + minetest.log('error', 'Teleporter was not registered or only one teleporter was registered.') + end +}) + +minetest.register_craft({ + output = 'aasimine:teleporter 2', + recipe = { + { 'default:mese_crystal', 'default:steel_ingot', 'default:mese_crystal' }, + { 'default:steel_ingot', 'default:diamondblock', 'default:steel_ingot' }, + { 'default:mese_crystal', 'default:steel_ingot', 'default:mese_crystal' } + } +}) diff --git a/teleporter/textures/teleporter.png b/teleporter/textures/teleporter.png new file mode 100644 index 0000000..5839765 Binary files /dev/null and b/teleporter/textures/teleporter.png differ diff --git a/teleporter/textures/teleporter.xcf b/teleporter/textures/teleporter.xcf new file mode 100644 index 0000000..13f18fb Binary files /dev/null and b/teleporter/textures/teleporter.xcf differ diff --git a/textures/teleporter.png b/textures/teleporter.png deleted file mode 100644 index 5839765..0000000 Binary files a/textures/teleporter.png and /dev/null differ diff --git a/textures/teleporter.xcf b/textures/teleporter.xcf deleted file mode 100644 index 13f18fb..0000000 Binary files a/textures/teleporter.xcf and /dev/null differ -- cgit v1.2.3