From 0f7316f5e9532f6f353dcce4ea38b885c6723d29 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 13:58:13 +0100 Subject: [PATCH 01/32] correction de bug message irc pour shout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit correction d'une condition toujours fausse qui ne déclenche pas l'affichage du message pour l'option privs shout --- mods/_misc/noshout_messages.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/_misc/noshout_messages.lua b/mods/_misc/noshout_messages.lua index 889984d3..a61ef8e6 100755 --- a/mods/_misc/noshout_messages.lua +++ b/mods/_misc/noshout_messages.lua @@ -5,9 +5,9 @@ minetest.register_globalstep(function(dtime) TIMER = 0 for _,player in ipairs(minetest.get_connected_players()) do local name = player:get_player_name() - if not minetest.check_player_privs(name, {interact=shout}) then + if not minetest.check_player_privs(name, {shout=true}) then minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir communiquer avec les autres joueurs sur ce serveur, tu dois lire les règles de l'irc et les accepter. Tape /irc.") minetest.chat_send_player(name, "Hey " .. name .. " ! To speak to other people on this server, you have to read the rules of our irc channel and agree them. Type /irc.") end end -end) \ No newline at end of file +end) From 1f248792a5a49dd022ee2ed48858e2fb7dbdf327 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 16:09:03 +0100 Subject: [PATCH 02/32] =?UTF-8?q?debug=20et=20am=C3=A9lioration=20de=20fut?= =?UTF-8?q?ure=5Fban?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit debug d'une mauvaise variable ajout d'une vérification pour éviter de rebannir un joueur déja banni --- mods/future_ban/init.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mods/future_ban/init.lua b/mods/future_ban/init.lua index d3854c8c..3380fbe4 100755 --- a/mods/future_ban/init.lua +++ b/mods/future_ban/init.lua @@ -26,6 +26,12 @@ minetest.register_chatcommand("future_ban", { minetest.chat_send_player(name, "Future ban list: " .. dump(future_ban_list)) return end + for _,n in ipairs(future_ban_list) do + if n == param then + minetest.chat_send_player(name, param .. " is already in future ban list.") + return + end + end if not minetest.get_player_by_name(param) then table.insert(future_ban_list, param) minetest.chat_send_player(name, param .. " to future ban list added.") @@ -35,8 +41,8 @@ minetest.register_chatcommand("future_ban", { end if not minetest.ban_player(param) then table.insert(future_ban_list, param) - minetest.chat_send_player(name, desc .. " to future ban list added.") - minetest.log("action", name .. " added " .. desc .. " to future ban list.") + minetest.chat_send_player(name, param .. " to future ban list added.") + minetest.log("action", name .. " added " .. param .. " to future ban list.") save_file() else local desc = minetest.get_ban_description(param) From 0dc48fc64367ea16dff75689c388c4621bcd0c0e Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 17:33:46 +0100 Subject: [PATCH 03/32] passage de variables global en local passage de variables global en local --- mods/ambience_modpack/ambience/init.lua | 16 ++++++++-------- mods/builtin_falling/func.lua | 8 ++++---- mods/builtin_falling/rewirting.lua | 2 +- mods/builtin_item/init.lua | 2 +- mods/gauges/init.lua | 4 ++-- mods/lavatemple/dagger.lua | 8 ++++---- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/mods/ambience_modpack/ambience/init.lua b/mods/ambience_modpack/ambience/init.lua index 11ae692e..3a14d97d 100755 --- a/mods/ambience_modpack/ambience/init.lua +++ b/mods/ambience_modpack/ambience/init.lua @@ -236,15 +236,15 @@ local is_daytime = function() end local nodes_in_range = function(pos, search_distance, node_name) - minp = {x=pos.x-search_distance,y=pos.y-search_distance, z=pos.z-search_distance} - maxp = {x=pos.x+search_distance,y=pos.y+search_distance, z=pos.z+search_distance} - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local minp = {x=pos.x-search_distance,y=pos.y-search_distance, z=pos.z-search_distance} + local maxp = {x=pos.x+search_distance,y=pos.y+search_distance, z=pos.z+search_distance} + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) --minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")") return #nodes end local nodes_in_coords = function(minp, maxp, node_name) - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) --minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")") return #nodes end @@ -394,11 +394,11 @@ local get_ambience = function(player) -- minetest.chat_send_all("n3uf:" ..node_3_under_feet) -- local air_or_ignore = {air=true,ignore=true} - minp = {x=pos.x-3,y=pos.y-4, z=pos.z-3} - maxp = {x=pos.x+3,y=pos.y-1, z=pos.z+3} + local minp = {x=pos.x-3,y=pos.y-4, z=pos.z-3} + local maxp = {x=pos.x+3,y=pos.y-1, z=pos.z+3} local air_under_player = nodes_in_coords(minp, maxp, "air") local ignore_under_player = nodes_in_coords(minp, maxp, "ignore") - air_plus_ignore_under = air_under_player + ignore_under_player + local air_plus_ignore_under = air_under_player + ignore_under_player -- minetest.chat_send_all("airUnder:" ..air_under_player) -- minetest.chat_send_all("ignoreUnder:" ..ignore_under_player) -- minetest.chat_send_all("a+i:" ..air_plus_ignore_under) @@ -448,7 +448,7 @@ local get_ambience = function(player) end - desert_in_range = (nodes_in_range(pos, 6, "default:desert_sand")+nodes_in_range(pos, 6, "default:desert_stone")) + local desert_in_range = (nodes_in_range(pos, 6, "default:desert_sand")+nodes_in_range(pos, 6, "default:desert_stone")) --minetest.chat_send_all("desertcount: " .. desert_in_range .. ",".. pos.y ) if desert_in_range >250 then if music then diff --git a/mods/builtin_falling/func.lua b/mods/builtin_falling/func.lua index 478d2745..5d2a714e 100755 --- a/mods/builtin_falling/func.lua +++ b/mods/builtin_falling/func.lua @@ -1,6 +1,6 @@ function spawn_falling_node(p, node, owners) - obj = minetest.add_entity(p, "__builtin:falling_node") + local obj = minetest.add_entity(p, "__builtin:falling_node") obj:get_luaentity():set_node(node) obj:get_luaentity():set_owner(owners) end @@ -52,10 +52,10 @@ end -- function nodeupdate_single(p, delay) - n = minetest.get_node(p) + local n = minetest.get_node(p) if minetest.get_item_group(n.name, "falling_node") ~= 0 then - p_bottom = {x=p.x, y=p.y-1, z=p.z} - n_bottom = minetest.get_node(p_bottom) + local p_bottom = {x=p.x, y=p.y-1, z=p.z} + local n_bottom = minetest.get_node(p_bottom) -- Note: walkable is in the node definition, not in item groups if minetest.registered_nodes[n_bottom.name] and (minetest.get_item_group(n.name, "float") == 0 or diff --git a/mods/builtin_falling/rewirting.lua b/mods/builtin_falling/rewirting.lua index 5033c1e4..af78035d 100755 --- a/mods/builtin_falling/rewirting.lua +++ b/mods/builtin_falling/rewirting.lua @@ -29,7 +29,7 @@ minetest.register_entity(":__builtin:falling_node", { item_texture = minetest.registered_items[itemname].inventory_image item_type = minetest.registered_items[itemname].type end - prop = { + local prop = { is_visible = true, textures = {node.name}, } diff --git a/mods/builtin_item/init.lua b/mods/builtin_item/init.lua index cd58665f..b5fbd6c6 100755 --- a/mods/builtin_item/init.lua +++ b/mods/builtin_item/init.lua @@ -30,7 +30,7 @@ minetest.register_entity(":__builtin:item", { item_texture = minetest.registered_items[itemname].inventory_image item_type = minetest.registered_items[itemname].type end - prop = { + local prop = { is_visible = true, visual = "sprite", textures = {"unknown_item.png"} diff --git a/mods/gauges/init.lua b/mods/gauges/init.lua index f9134cbf..c2c66d0a 100755 --- a/mods/gauges/init.lua +++ b/mods/gauges/init.lua @@ -19,8 +19,8 @@ function hp_bar:on_step(dtime) self.object:remove() return end - hp = wielder:get_hp() - breath = wielder:get_breath() + local hp = wielder:get_hp() + local breath = wielder:get_breath() self.object:set_properties({textures = {"health_" .. tostring(hp) .. ".png^breath_" .. tostring(breath) .. ".png"}}) end diff --git a/mods/lavatemple/dagger.lua b/mods/lavatemple/dagger.lua index bdd3c5d1..e1e24f13 100755 --- a/mods/lavatemple/dagger.lua +++ b/mods/lavatemple/dagger.lua @@ -3,13 +3,13 @@ minetest.register_globalstep(function(dtime) local players = minetest.get_connected_players() for i,player in ipairs(players) do - target = lavatemple.mapgen_data.pos; + local target = lavatemple.mapgen_data.pos; if not target then return end - pos = player:getpos() - dir = player:get_look_yaw() + local pos = player:getpos() + local dir = player:get_look_yaw() local angle_north = math.deg(math.atan2(target.x - pos.x, target.z - pos.z)) if angle_north < 0 then angle_north = angle_north + 360 end - angle_dir = 90 - math.deg(dir) + local angle_dir = 90 - math.deg(dir) local angle_relative = (angle_north - angle_dir) % 360 local compass_image = math.floor((angle_relative/30) + 0.5)%12 From db6c18ee365535eb76d3c2e63f7da3496acd0227 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Wed, 14 Jan 2015 23:16:22 +0100 Subject: [PATCH 04/32] Removed debug print from crabman77's pull-request in sprint --- mods/sprint/esprint.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/mods/sprint/esprint.lua b/mods/sprint/esprint.lua index 4ae36218..d200b2ed 100755 --- a/mods/sprint/esprint.lua +++ b/mods/sprint/esprint.lua @@ -12,7 +12,6 @@ local staminaHud = {} minetest.register_on_joinplayer(function(player) local playerName = player:get_player_name() - print("playename: " ..playerName) players[playerName] = { sprinting = false, timeOut = 0, From a6200223aa8b724bc541b9d45e14bec069c447b7 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 18:40:36 +0100 Subject: [PATCH 05/32] Pipeworks' update to replace nodebox by mesh --- mods/pipeworks/LICENSE | 0 mods/pipeworks/README | 0 mods/pipeworks/autocrafter.lua | 0 mods/pipeworks/autoplace_pipes.lua | 0 mods/pipeworks/changelog.txt | 0 mods/pipeworks/compat.lua | 0 mods/pipeworks/crafts.lua | 0 mods/pipeworks/default_settings.txt | 0 mods/pipeworks/depends.txt | 0 mods/pipeworks/devices.lua | 309 ++---- mods/pipeworks/flowing_logic.lua | 0 mods/pipeworks/init.lua | 1 + mods/pipeworks/legacy.lua | 0 mods/pipeworks/models.lua | 157 +-- .../models/pipeworks_entry_panel.obj | 390 ++++++++ .../models/pipeworks_flow_sensor.obj | 390 ++++++++ .../models/pipeworks_fountainhead.obj | 352 +++++++ mods/pipeworks/models/pipeworks_pipe_10.obj | 891 ++++++++++++++++++ mods/pipeworks/models/pipeworks_pipe_2.obj | 392 ++++++++ mods/pipeworks/models/pipeworks_pipe_3.obj | 354 +++++++ mods/pipeworks/models/pipeworks_pipe_4.obj | 478 ++++++++++ mods/pipeworks/models/pipeworks_pipe_5.obj | 542 +++++++++++ mods/pipeworks/models/pipeworks_pipe_6.obj | 499 ++++++++++ mods/pipeworks/models/pipeworks_pipe_7.obj | 629 +++++++++++++ mods/pipeworks/models/pipeworks_pipe_8.obj | 631 +++++++++++++ mods/pipeworks/models/pipeworks_pipe_9.obj | 759 +++++++++++++++ mods/pipeworks/models/pipeworks_pump.obj | 282 ++++++ mods/pipeworks/models/pipeworks_spigot.obj | 509 ++++++++++ .../models/pipeworks_spigot_pouring.obj | 608 ++++++++++++ mods/pipeworks/models/pipeworks_valve_off.mtl | 11 + mods/pipeworks/models/pipeworks_valve_off.obj | 458 +++++++++ mods/pipeworks/models/pipeworks_valve_on.mtl | 11 + mods/pipeworks/models/pipeworks_valve_on.obj | 458 +++++++++ mods/pipeworks/pipes.lua | 56 +- mods/pipeworks/teleport_tube.lua | 0 .../textures/homedecor_oil_extract.png | Bin .../pipeworks/textures/homedecor_paraffin.png | Bin .../textures/homedecor_plastic_sheeting.png | Bin .../pipeworks_accelerator_tube_end.png | Bin .../pipeworks_accelerator_tube_inv.png | Bin .../pipeworks_accelerator_tube_noctr.png | Bin .../pipeworks_accelerator_tube_plain.png | Bin .../pipeworks_accelerator_tube_short.png | Bin .../textures/pipeworks_autocrafter.png | Bin mods/pipeworks/textures/pipeworks_black.png | Bin mods/pipeworks/textures/pipeworks_blue.png | Bin .../textures/pipeworks_conductor_tube_end.png | Bin .../textures/pipeworks_conductor_tube_inv.png | Bin .../pipeworks_conductor_tube_noctr.png | Bin .../pipeworks_conductor_tube_on_end.png | Bin .../pipeworks_conductor_tube_on_noctr.png | Bin .../pipeworks_conductor_tube_on_plain.png | Bin .../pipeworks_conductor_tube_plain.png | Bin .../pipeworks_conductor_tube_short.png | Bin .../textures/pipeworks_crossing_tube_end.png | Bin .../textures/pipeworks_crossing_tube_inv.png | Bin .../pipeworks_crossing_tube_noctr.png | Bin .../pipeworks_crossing_tube_plain.png | Bin .../pipeworks_crossing_tube_short.png | Bin .../textures/pipeworks_deployer_back.png | Bin .../textures/pipeworks_deployer_bottom.png | Bin .../textures/pipeworks_deployer_front_off.png | Bin .../textures/pipeworks_deployer_front_on.png | Bin .../textures/pipeworks_deployer_side.png | Bin .../textures/pipeworks_deployer_side1.png | Bin .../textures/pipeworks_deployer_side2.png | Bin .../textures/pipeworks_deployer_top.png | Bin .../textures/pipeworks_detector_tube_end.png | Bin .../textures/pipeworks_detector_tube_inv.png | Bin .../pipeworks_detector_tube_noctr.png | Bin .../pipeworks_detector_tube_plain.png | Bin .../pipeworks_detector_tube_short.png | Bin .../textures/pipeworks_dispenser_back.png | Bin .../textures/pipeworks_dispenser_bottom.png | Bin .../pipeworks_dispenser_front_off.png | Bin .../textures/pipeworks_dispenser_front_on.png | Bin .../textures/pipeworks_dispenser_side1.png | Bin .../textures/pipeworks_dispenser_side2.png | Bin .../textures/pipeworks_dispenser_top.png | Bin .../textures/pipeworks_entry_panel.png | Bin 0 -> 5024 bytes .../textures/pipeworks_filter_input.png | Bin .../textures/pipeworks_filter_output.png | Bin .../textures/pipeworks_filter_side.png | Bin .../textures/pipeworks_filter_top.png | Bin .../textures/pipeworks_flow_sensor_off.png | Bin 0 -> 3917 bytes .../textures/pipeworks_flow_sensor_on.png | Bin 0 -> 4619 bytes .../textures/pipeworks_fountainhead.png | Bin 0 -> 3603 bytes .../textures/pipeworks_fountainhead_top.png | Bin 1814 -> 0 bytes .../textures/pipeworks_grating_sides.png | Bin .../textures/pipeworks_grating_top.png | Bin mods/pipeworks/textures/pipeworks_green.png | Bin .../textures/pipeworks_mese_filter_input.png | Bin .../textures/pipeworks_mese_filter_output.png | Bin .../textures/pipeworks_mese_filter_side.png | Bin .../textures/pipeworks_mese_filter_top.png | Bin .../textures/pipeworks_mese_sand_tube_end.png | Bin .../textures/pipeworks_mese_sand_tube_inv.png | Bin .../pipeworks_mese_sand_tube_noctr.png | Bin .../pipeworks_mese_sand_tube_plain.png | Bin .../pipeworks_mese_sand_tube_short.png | Bin .../textures/pipeworks_mese_tube_end.png | Bin .../textures/pipeworks_mese_tube_inv.png | Bin .../textures/pipeworks_mese_tube_noctr_1.png | Bin .../textures/pipeworks_mese_tube_noctr_2.png | Bin .../textures/pipeworks_mese_tube_noctr_3.png | Bin .../textures/pipeworks_mese_tube_noctr_4.png | Bin .../textures/pipeworks_mese_tube_noctr_5.png | Bin .../textures/pipeworks_mese_tube_noctr_6.png | Bin .../textures/pipeworks_mese_tube_plain_1.png | Bin .../textures/pipeworks_mese_tube_plain_2.png | Bin .../textures/pipeworks_mese_tube_plain_3.png | Bin .../textures/pipeworks_mese_tube_plain_4.png | Bin .../textures/pipeworks_mese_tube_plain_5.png | Bin .../textures/pipeworks_mese_tube_plain_6.png | Bin .../textures/pipeworks_mese_tube_short.png | Bin .../textures/pipeworks_nodebreaker_back.png | Bin .../pipeworks_nodebreaker_bottom_off.png | Bin .../pipeworks_nodebreaker_bottom_on.png | Bin .../pipeworks_nodebreaker_front_off.png | Bin .../pipeworks_nodebreaker_front_on.png | Bin .../pipeworks_nodebreaker_side1_off.png | Bin .../pipeworks_nodebreaker_side1_on.png | Bin .../pipeworks_nodebreaker_side2_off.png | Bin .../pipeworks_nodebreaker_side2_on.png | Bin .../pipeworks_nodebreaker_top_off.png | Bin .../textures/pipeworks_nodebreaker_top_on.png | Bin .../textures/pipeworks_one_way_tube_input.png | Bin .../pipeworks_one_way_tube_output.png | Bin .../textures/pipeworks_one_way_tube_side.png | Bin .../textures/pipeworks_one_way_tube_top.png | Bin .../textures/pipeworks_pipe_3_empty.png | Bin 0 -> 2492 bytes .../textures/pipeworks_pipe_3_loaded.png | Bin 0 -> 2520 bytes .../pipeworks/textures/pipeworks_pipe_end.png | Bin 388 -> 0 bytes .../textures/pipeworks_pipe_end_empty.png | Bin 374 -> 0 bytes .../textures/pipeworks_pipe_end_loaded.png | Bin 427 -> 0 bytes .../pipeworks/textures/pipeworks_pipe_inv.png | Bin 1610 -> 4349 bytes .../textures/pipeworks_pipe_plain.png | Bin 0 -> 2471 bytes mods/pipeworks/textures/pipeworks_plain.png | Bin 330 -> 0 bytes .../textures/pipeworks_plastic_sheeting.png | Bin .../textures/pipeworks_pump_bottom.png | Bin 4498 -> 0 bytes .../pipeworks/textures/pipeworks_pump_off.png | Bin 3621 -> 38091 bytes mods/pipeworks/textures/pipeworks_pump_on.png | Bin 3867 -> 39345 bytes .../textures/pipeworks_pump_sides.png | Bin 3742 -> 0 bytes .../pipeworks/textures/pipeworks_pump_top.png | Bin 4504 -> 0 bytes mods/pipeworks/textures/pipeworks_red.png | Bin .../textures/pipeworks_sand_tube_end.png | Bin .../textures/pipeworks_sand_tube_inv.png | Bin .../textures/pipeworks_sand_tube_noctr.png | Bin .../textures/pipeworks_sand_tube_plain.png | Bin .../textures/pipeworks_sand_tube_short.png | Bin .../textures/pipeworks_sensor_sides_on.png | Bin 293 -> 0 bytes .../textures/pipeworks_spigot_bottom2.png | Bin 2444 -> 0 bytes .../textures/pipeworks_spigot_off.png | Bin 0 -> 2621 bytes .../textures/pipeworks_spigot_pouring.png | Bin 0 -> 2977 bytes .../textures/pipeworks_spigot_sides.png | Bin 229 -> 0 bytes .../textures/pipeworks_spigot_sides2.png | Bin 226 -> 0 bytes .../textures/pipeworks_storage_tank_back.png | Bin .../pipeworks_storage_tank_fittings.png | Bin .../pipeworks_storage_tank_front_0.png | Bin .../pipeworks_storage_tank_front_1.png | Bin .../pipeworks_storage_tank_front_10.png | Bin .../pipeworks_storage_tank_front_2.png | Bin .../pipeworks_storage_tank_front_3.png | Bin .../pipeworks_storage_tank_front_4.png | Bin .../pipeworks_storage_tank_front_5.png | Bin .../pipeworks_storage_tank_front_6.png | Bin .../pipeworks_storage_tank_front_7.png | Bin .../pipeworks_storage_tank_front_8.png | Bin .../pipeworks_storage_tank_front_9.png | Bin .../textures/pipeworks_teleport_tube_end.png | Bin .../textures/pipeworks_teleport_tube_inv.png | Bin .../pipeworks_teleport_tube_noctr.png | Bin .../pipeworks_teleport_tube_plain.png | Bin .../pipeworks_teleport_tube_short.png | Bin .../textures/pipeworks_testobject.png | Bin .../textures/pipeworks_trashcan_bottom.png | Bin .../textures/pipeworks_trashcan_side.png | Bin .../pipeworks_tube_connection_metallic.png | Bin .../pipeworks_tube_connection_stony.png | Bin .../pipeworks_tube_connection_wooden.png | Bin .../pipeworks/textures/pipeworks_tube_end.png | Bin .../pipeworks/textures/pipeworks_tube_inv.png | Bin .../textures/pipeworks_tube_noctr.png | Bin .../textures/pipeworks_tube_plain.png | Bin .../textures/pipeworks_tube_short.png | Bin .../textures/pipeworks_tube_transparent.png | Bin mods/pipeworks/textures/pipeworks_valve.png | Bin 0 -> 6328 bytes .../textures/pipeworks_valvebody_bottom.png | Bin 2914 -> 0 bytes .../textures/pipeworks_valvebody_ends.png | Bin 3562 -> 0 bytes .../textures/pipeworks_valvebody_sides.png | Bin 3756 -> 0 bytes .../textures/pipeworks_valvebody_top_off.png | Bin 3538 -> 0 bytes .../textures/pipeworks_valvebody_top_on.png | Bin 3539 -> 0 bytes mods/pipeworks/textures/pipeworks_white.png | Bin .../textures/pipeworks_windowed_empty.png | Bin 388 -> 0 bytes .../textures/pipeworks_windowed_loaded.png | Bin 427 -> 0 bytes mods/pipeworks/textures/pipeworks_yellow.png | Bin mods/pipeworks/trashcan.lua | 0 mods/pipeworks/wielder.lua | 0 198 files changed, 8756 insertions(+), 411 deletions(-) mode change 100755 => 100644 mods/pipeworks/LICENSE mode change 100755 => 100644 mods/pipeworks/README mode change 100755 => 100644 mods/pipeworks/autocrafter.lua mode change 100755 => 100644 mods/pipeworks/autoplace_pipes.lua mode change 100755 => 100644 mods/pipeworks/changelog.txt mode change 100755 => 100644 mods/pipeworks/compat.lua mode change 100755 => 100644 mods/pipeworks/crafts.lua mode change 100755 => 100644 mods/pipeworks/default_settings.txt mode change 100755 => 100644 mods/pipeworks/depends.txt mode change 100755 => 100644 mods/pipeworks/devices.lua mode change 100755 => 100644 mods/pipeworks/flowing_logic.lua mode change 100755 => 100644 mods/pipeworks/legacy.lua mode change 100755 => 100644 mods/pipeworks/models.lua create mode 100644 mods/pipeworks/models/pipeworks_entry_panel.obj create mode 100644 mods/pipeworks/models/pipeworks_flow_sensor.obj create mode 100644 mods/pipeworks/models/pipeworks_fountainhead.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_10.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_2.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_3.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_4.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_5.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_6.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_7.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_8.obj create mode 100644 mods/pipeworks/models/pipeworks_pipe_9.obj create mode 100644 mods/pipeworks/models/pipeworks_pump.obj create mode 100644 mods/pipeworks/models/pipeworks_spigot.obj create mode 100644 mods/pipeworks/models/pipeworks_spigot_pouring.obj create mode 100644 mods/pipeworks/models/pipeworks_valve_off.mtl create mode 100644 mods/pipeworks/models/pipeworks_valve_off.obj create mode 100644 mods/pipeworks/models/pipeworks_valve_on.mtl create mode 100644 mods/pipeworks/models/pipeworks_valve_on.obj mode change 100755 => 100644 mods/pipeworks/pipes.lua mode change 100755 => 100644 mods/pipeworks/teleport_tube.lua mode change 100755 => 100644 mods/pipeworks/textures/homedecor_oil_extract.png mode change 100755 => 100644 mods/pipeworks/textures/homedecor_paraffin.png mode change 100755 => 100644 mods/pipeworks/textures/homedecor_plastic_sheeting.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_accelerator_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_autocrafter.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_black.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_blue.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_conductor_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_crossing_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_crossing_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_crossing_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_crossing_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_back.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_bottom.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_front_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_front_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_side.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_side1.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_side2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_deployer_top.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_detector_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_detector_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_detector_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_detector_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_detector_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_back.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_bottom.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_front_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_front_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_side1.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_side2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_dispenser_top.png create mode 100644 mods/pipeworks/textures/pipeworks_entry_panel.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_filter_input.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_filter_output.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_filter_side.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_filter_top.png create mode 100644 mods/pipeworks/textures/pipeworks_flow_sensor_off.png create mode 100644 mods/pipeworks/textures/pipeworks_flow_sensor_on.png create mode 100644 mods/pipeworks/textures/pipeworks_fountainhead.png delete mode 100755 mods/pipeworks/textures/pipeworks_fountainhead_top.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_grating_sides.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_grating_top.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_green.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_filter_input.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_filter_output.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_filter_side.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_filter_top.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_sand_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_sand_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_sand_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_sand_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_sand_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_1.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_3.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_4.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_5.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_noctr_6.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_1.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_3.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_4.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_5.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_plain_6.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_mese_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_back.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_bottom_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_bottom_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_front_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_front_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side1_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side1_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side2_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_side2_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_top_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_nodebreaker_top_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_one_way_tube_input.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_one_way_tube_output.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_one_way_tube_side.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_one_way_tube_top.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_3_empty.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_3_loaded.png delete mode 100755 mods/pipeworks/textures/pipeworks_pipe_end.png delete mode 100755 mods/pipeworks/textures/pipeworks_pipe_end_empty.png delete mode 100755 mods/pipeworks/textures/pipeworks_pipe_end_loaded.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_pipe_inv.png create mode 100644 mods/pipeworks/textures/pipeworks_pipe_plain.png delete mode 100755 mods/pipeworks/textures/pipeworks_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_plastic_sheeting.png delete mode 100755 mods/pipeworks/textures/pipeworks_pump_bottom.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_pump_off.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_pump_on.png delete mode 100755 mods/pipeworks/textures/pipeworks_pump_sides.png delete mode 100755 mods/pipeworks/textures/pipeworks_pump_top.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_red.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_sand_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_sand_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_sand_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_sand_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_sand_tube_short.png delete mode 100755 mods/pipeworks/textures/pipeworks_sensor_sides_on.png delete mode 100755 mods/pipeworks/textures/pipeworks_spigot_bottom2.png create mode 100644 mods/pipeworks/textures/pipeworks_spigot_off.png create mode 100644 mods/pipeworks/textures/pipeworks_spigot_pouring.png delete mode 100755 mods/pipeworks/textures/pipeworks_spigot_sides.png delete mode 100755 mods/pipeworks/textures/pipeworks_spigot_sides2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_back.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_fittings.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_0.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_1.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_10.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_2.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_3.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_4.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_5.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_6.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_7.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_8.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_storage_tank_front_9.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_teleport_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_teleport_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_teleport_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_teleport_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_testobject.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_trashcan_bottom.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_trashcan_side.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_connection_metallic.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_connection_stony.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_connection_wooden.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_end.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_inv.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_noctr.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_plain.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_short.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_tube_transparent.png create mode 100644 mods/pipeworks/textures/pipeworks_valve.png delete mode 100755 mods/pipeworks/textures/pipeworks_valvebody_bottom.png delete mode 100755 mods/pipeworks/textures/pipeworks_valvebody_ends.png delete mode 100755 mods/pipeworks/textures/pipeworks_valvebody_sides.png delete mode 100755 mods/pipeworks/textures/pipeworks_valvebody_top_off.png delete mode 100755 mods/pipeworks/textures/pipeworks_valvebody_top_on.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_white.png delete mode 100755 mods/pipeworks/textures/pipeworks_windowed_empty.png delete mode 100755 mods/pipeworks/textures/pipeworks_windowed_loaded.png mode change 100755 => 100644 mods/pipeworks/textures/pipeworks_yellow.png mode change 100755 => 100644 mods/pipeworks/trashcan.lua mode change 100755 => 100644 mods/pipeworks/wielder.lua diff --git a/mods/pipeworks/LICENSE b/mods/pipeworks/LICENSE old mode 100755 new mode 100644 diff --git a/mods/pipeworks/README b/mods/pipeworks/README old mode 100755 new mode 100644 diff --git a/mods/pipeworks/autocrafter.lua b/mods/pipeworks/autocrafter.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/autoplace_pipes.lua b/mods/pipeworks/autoplace_pipes.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/changelog.txt b/mods/pipeworks/changelog.txt old mode 100755 new mode 100644 diff --git a/mods/pipeworks/compat.lua b/mods/pipeworks/compat.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/crafts.lua b/mods/pipeworks/crafts.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/default_settings.txt b/mods/pipeworks/default_settings.txt old mode 100755 new mode 100644 diff --git a/mods/pipeworks/depends.txt b/mods/pipeworks/depends.txt old mode 100755 new mode 100644 diff --git a/mods/pipeworks/devices.lua b/mods/pipeworks/devices.lua old mode 100755 new mode 100644 index fc279883..045b2e99 --- a/mods/pipeworks/devices.lua +++ b/mods/pipeworks/devices.lua @@ -39,7 +39,6 @@ local pipes_devicelist = { local states = { "on", "off" } local dgroups = "" -local pumpboxes = {} for s in ipairs(states) do @@ -49,32 +48,13 @@ for s in ipairs(states) do dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1} end - pumpboxes = {} - - pipeworks.add_node_box(pumpboxes, pipeworks.pipe_pumpbody) - pipeworks.add_node_box(pumpboxes, pipeworks.pipe_topstub) - minetest.register_node("pipeworks:pump_"..states[s], { description = "Pump/Intake Module", - drawtype = "nodebox", - tiles = { - "pipeworks_pump_top.png", - "pipeworks_pump_bottom.png", - "pipeworks_pump_sides.png", - "pipeworks_pump_sides.png", - "pipeworks_pump_sides.png", - "pipeworks_pump_"..states[s]..".png" - }, + drawtype = "mesh", + mesh = "pipeworks_pump.obj", + tiles = { "pipeworks_pump_"..states[s]..".png" }, paramtype = "light", paramtype2 = "facedir", - selection_box = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 } - }, - node_box = { - type = "fixed", - fixed = pumpboxes - }, groups = dgroups, sounds = default.node_sound_wood_defaults(), walkable = true, @@ -99,29 +79,11 @@ for s in ipairs(states) do end }) - local valveboxes = {} - pipeworks.add_node_box(valveboxes, pipeworks.pipe_leftstub) - pipeworks.add_node_box(valveboxes, pipeworks.pipe_valvebody) - if states[s] == "off" then - pipeworks.add_node_box(valveboxes, pipeworks.pipe_valvehandle_off) - else - pipeworks.add_node_box(valveboxes, pipeworks.pipe_valvehandle_on) - end - pipeworks.add_node_box(valveboxes, pipeworks.pipe_rightstub) - local tilex = "pipeworks_valvebody_ends.png" - local tilez = "pipeworks_valvebody_sides.png" - minetest.register_node("pipeworks:valve_"..states[s].."_empty", { description = "Valve", - drawtype = "nodebox", - tiles = { - "pipeworks_valvebody_top_"..states[s]..".png", - "pipeworks_valvebody_bottom.png", - tilex, - tilex, - tilez, - tilez, - }, + drawtype = "mesh", + mesh = "pipeworks_valve_"..states[s]..".obj", + tiles = { "pipeworks_valve.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -129,9 +91,9 @@ for s in ipairs(states) do type = "fixed", fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } }, - node_box = { - type = "fixed", - fixed = valveboxes + collision_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } }, groups = dgroups, sounds = default.node_sound_wood_defaults(), @@ -158,23 +120,11 @@ for s in ipairs(states) do }) end -local valveboxes = {} -pipeworks.add_node_box(valveboxes, pipeworks.pipe_leftstub) -pipeworks.add_node_box(valveboxes, pipeworks.pipe_valvebody) -pipeworks.add_node_box(valveboxes, pipeworks.pipe_rightstub) -pipeworks.add_node_box(valveboxes, pipeworks.pipe_valvehandle_on) - minetest.register_node("pipeworks:valve_on_loaded", { description = "Valve", - drawtype = "nodebox", - tiles = { - "pipeworks_valvebody_top_on.png", - "pipeworks_valvebody_bottom.png", - "pipeworks_valvebody_ends.png", - "pipeworks_valvebody_ends.png", - "pipeworks_valvebody_sides.png", - "pipeworks_valvebody_sides.png", - }, + drawtype = "mesh", + mesh = "pipeworks_valve_on.obj", + tiles = { "pipeworks_valve.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -182,9 +132,9 @@ minetest.register_node("pipeworks:valve_on_loaded", { type = "fixed", fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } }, - node_box = { - type = "fixed", - fixed = valveboxes + collision_box = { + type = "fixed", + fixed = { -8/16, -4/16, -5/16, 8/16, 5/16, 5/16 } }, groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), @@ -237,28 +187,11 @@ minetest.register_node("pipeworks:grating", { -- outlet spigot - local spigotboxes = {} - pipeworks.add_node_box(spigotboxes, pipeworks.pipe_backstub) - pipeworks.add_node_box(spigotboxes, pipeworks.spigot_bottomstub) - pipeworks.add_node_box(spigotboxes, pipeworks.pipe_bendsphere) - - local spigotboxes_pouring = {} - pipeworks.add_node_box(spigotboxes_pouring, pipeworks.spigot_stream) - pipeworks.add_node_box(spigotboxes_pouring, pipeworks.pipe_backstub) - pipeworks.add_node_box(spigotboxes_pouring, pipeworks.spigot_bottomstub) - pipeworks.add_node_box(spigotboxes_pouring, pipeworks.pipe_bendsphere) - minetest.register_node("pipeworks:spigot", { description = "Spigot outlet", - drawtype = "nodebox", - tiles = { - "pipeworks_spigot_sides.png", - "pipeworks_pipe_end_empty.png", - "pipeworks_spigot_sides.png", - "pipeworks_spigot_sides.png", - "pipeworks_pipe_end_empty.png", - "pipeworks_spigot_sides.png" - }, + drawtype = "mesh", + mesh = "pipeworks_spigot.obj", + tiles = { "pipeworks_spigot_off.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -271,55 +204,21 @@ minetest.register_node("pipeworks:spigot", { after_dig_node = function(pos) pipeworks.scan_for_pipe_objects(pos) end, - node_box = { - type = "fixed", - fixed = spigotboxes, - }, selection_box = { type = "fixed", fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } } }) minetest.register_node("pipeworks:spigot_pouring", { description = "Spigot outlet", - drawtype = "nodebox", - tiles = { - "pipeworks_spigot_sides.png", - "default_water.png^pipeworks_spigot_bottom2.png", - { name = "default_water_flowing_animated.png^pipeworks_spigot_sides2.png", - animation = { - type = "vertical_frames", - aspect_w=16, - aspect_h=16, - length=0.8 - } - }, - { name = "default_water_flowing_animated.png^pipeworks_spigot_sides2.png", - animation = { - type = "vertical_frames", - aspect_w=16, - aspect_h=16, - length=0.8 - } - }, - { name = "default_water_flowing_animated.png^pipeworks_spigot_sides2.png", - animation = { - type = "vertical_frames", - aspect_w=16, - aspect_h=16, - length=0.8 - } - }, - { name = "default_water_flowing_animated.png^pipeworks_spigot_sides2.png", - animation = { - type = "vertical_frames", - aspect_w=16, - aspect_h=16, - length=0.8 - } - }, - }, + drawtype = "mesh", + mesh = "pipeworks_spigot_pouring.obj", + tiles = { "pipeworks_spigot_pouring.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -332,36 +231,33 @@ minetest.register_node("pipeworks:spigot_pouring", { after_dig_node = function(pos) pipeworks.scan_for_pipe_objects(pos) end, - node_box = { - type = "fixed", - fixed = spigotboxes_pouring, - }, selection_box = { type = "fixed", fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } }, + collision_box = { + type = "fixed", + fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } + }, drop = "pipeworks:spigot", }) -- sealed pipe entry/exit (horizontal pipe passing through a metal -- wall, for use in places where walls should look like they're airtight) -local airtightboxes = {} -pipeworks.add_node_box(airtightboxes, pipeworks.pipe_frontstub) -pipeworks.add_node_box(airtightboxes, pipeworks.pipe_backstub) -pipeworks.add_node_box(airtightboxes, pipeworks.entry_panel) +local panel_cbox = { + type = "fixed", + fixed = { + { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }, + { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } + } +} minetest.register_node("pipeworks:entry_panel_empty", { description = "Airtight Pipe entry/exit", - drawtype = "nodebox", - tiles = { - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_pipe_end_empty.png", - "pipeworks_pipe_end_empty.png" - }, + drawtype = "mesh", + mesh = "pipeworks_entry_panel.obj", + tiles = { "pipeworks_entry_panel.png" }, paramtype = "light", paramtype2 = "facedir", groups = {snappy=3, pipe=1}, @@ -373,17 +269,8 @@ minetest.register_node("pipeworks:entry_panel_empty", { after_dig_node = function(pos) pipeworks.scan_for_pipe_objects(pos) end, - node_box = { - type = "fixed", - fixed = airtightboxes, - }, - selection_box = { - type = "fixed", - fixed = { - { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }, - { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } - } - }, + selection_box = panel_cbox, + collision_box = panel_cbox, on_place = function(itemstack, placer, pointed_thing) if not pipeworks.node_is_owned(pointed_thing.under, placer) and not pipeworks.node_is_owned(pointed_thing.above, placer) then @@ -439,15 +326,9 @@ minetest.register_node("pipeworks:entry_panel_empty", { minetest.register_node("pipeworks:entry_panel_loaded", { description = "Airtight Pipe entry/exit", - drawtype = "nodebox", - tiles = { - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_pipe_end_empty.png", - "pipeworks_pipe_end_empty.png" - }, + drawtype = "mesh", + mesh = "pipeworks_entry_panel.obj", + tiles = { "pipeworks_entry_panel.png" }, paramtype = "light", paramtype2 = "facedir", groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, @@ -459,36 +340,16 @@ minetest.register_node("pipeworks:entry_panel_loaded", { after_dig_node = function(pos) pipeworks.scan_for_pipe_objects(pos) end, - node_box = { - type = "fixed", - fixed = airtightboxes, - }, - selection_box = { - type = "fixed", - fixed = { - { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }, - { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } - } - }, + selection_box = panel_cbox, + collision_box = panel_cbox, drop = "pipeworks:entry_panel_empty" }) -local sensorboxes = {} -pipeworks.add_node_box(sensorboxes, pipeworks.pipe_leftstub) -pipeworks.add_node_box(sensorboxes, pipeworks.pipe_sensorbody) -pipeworks.add_node_box(sensorboxes, pipeworks.pipe_rightstub) - minetest.register_node("pipeworks:flow_sensor_empty", { description = "Flow Sensor", - drawtype = "nodebox", - tiles = { - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_windowed_empty.png", - "pipeworks_windowed_empty.png" - }, + drawtype = "mesh", + mesh = "pipeworks_flow_sensor.obj", + tiles = { "pipeworks_flow_sensor_off.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -506,14 +367,18 @@ minetest.register_node("pipeworks:flow_sensor_empty", { mesecon.receptor_off(pos, rules) end end, - node_box = { - type = "fixed", - fixed = sensorboxes, - }, selection_box = { type = "fixed", fixed = { { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + collision_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, } }, mesecons = pipereceptor_off @@ -521,15 +386,9 @@ minetest.register_node("pipeworks:flow_sensor_empty", { minetest.register_node("pipeworks:flow_sensor_loaded", { description = "Flow sensor (on)", - drawtype = "nodebox", - tiles = { - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_plain.png", - "pipeworks_sensor_sides_on.png", - "pipeworks_sensor_sides_on.png" - }, + drawtype = "mesh", + mesh = "pipeworks_flow_sensor.obj", + tiles = { "pipeworks_flow_sensor_on.png" }, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", @@ -547,14 +406,18 @@ minetest.register_node("pipeworks:flow_sensor_loaded", { mesecon.receptor_on(pos, rules) end end, - node_box = { - type = "fixed", - fixed = sensorboxes, - }, selection_box = { type = "fixed", fixed = { { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, + } + }, + collision_box = { + type = "fixed", + fixed = { + { -8/16, -2/16, -2/16, 8/16, 2/16, 2/16 }, + { -4/16, -3/16, -3/16, 4/16, 3/16, 3/16 }, } }, drop = "pipeworks:flow_sensor_empty", @@ -631,12 +494,9 @@ end minetest.register_node("pipeworks:fountainhead", { description = "Fountainhead", - drawtype = "nodebox", - tiles = { - "pipeworks_fountainhead_top.png", - "pipeworks_pipe_end.png", - "pipeworks_plain.png", - }, + drawtype = "mesh", + mesh = "pipeworks_fountainhead.obj", + tiles = { "pipeworks_fountainhead.png" }, sunlight_propagates = true, paramtype = "light", groups = {snappy=3, pipe=1}, @@ -653,24 +513,21 @@ minetest.register_node("pipeworks:fountainhead", { mesecon.receptor_on(pos, rules) end end, - node_box = { - type = "fixed", - fixed = pipeworks.fountainhead_model , - }, selection_box = { type = "fixed", fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } }, + collision_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, }) minetest.register_node("pipeworks:fountainhead_pouring", { description = "Fountainhead", - drawtype = "nodebox", - tiles = { - "pipeworks_fountainhead_top.png", - "pipeworks_pipe_end.png", - "pipeworks_plain.png", - }, + drawtype = "mesh", + mesh = "pipeworks_fountainhead.obj", + tiles = { "pipeworks_fountainhead.png" }, sunlight_propagates = true, paramtype = "light", groups = {snappy=3, pipe=1, not_in_creative_inventory=1}, @@ -687,13 +544,13 @@ minetest.register_node("pipeworks:fountainhead_pouring", { mesecon.receptor_on(pos, rules) end end, - node_box = { - type = "fixed", - fixed = pipeworks.fountainhead_model, - }, selection_box = { type = "fixed", - fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 }, + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } + }, + collision_box = { + type = "fixed", + fixed = { -2/16, -8/16, -2/16, 2/16, 8/16, 2/16 } }, drop = "pipeworks:fountainhead" }) diff --git a/mods/pipeworks/flowing_logic.lua b/mods/pipeworks/flowing_logic.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/init.lua b/mods/pipeworks/init.lua index b6c91d6c..200bed32 100755 --- a/mods/pipeworks/init.lua +++ b/mods/pipeworks/init.lua @@ -51,6 +51,7 @@ function pipeworks.fix_image_names(table, replacement) end function pipeworks.add_node_box(t, b) + if not t or not b then return end for i in ipairs(b) do table.insert(t, b[i]) end diff --git a/mods/pipeworks/legacy.lua b/mods/pipeworks/legacy.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/models.lua b/mods/pipeworks/models.lua old mode 100755 new mode 100644 index 6a841d3c..3be773cf --- a/mods/pipeworks/models.lua +++ b/mods/pipeworks/models.lua @@ -1,87 +1,5 @@ ---------------------- --- The various models - --- Pipe models - -pipeworks.pipe_leftstub = { - { -32/64, -2/64, -6/64, 1/64, 2/64, 6/64 }, -- pipe segment against -X face - { -32/64, -4/64, -5/64, 1/64, 4/64, 5/64 }, - { -32/64, -5/64, -4/64, 1/64, 5/64, 4/64 }, - { -32/64, -6/64, -2/64, 1/64, 6/64, 2/64 }, - - { -32/64, -3/64, -8/64, -30/64, 3/64, 8/64 }, -- (the flange for it) - { -32/64, -5/64, -7/64, -30/64, 5/64, 7/64 }, - { -32/64, -6/64, -6/64, -30/64, 6/64, 6/64 }, - { -32/64, -7/64, -5/64, -30/64, 7/64, 5/64 }, - { -32/64, -8/64, -3/64, -30/64, 8/64, 3/64 } -} - -pipeworks.pipe_rightstub = { - { -1/64, -2/64, -6/64, 32/64, 2/64, 6/64 }, -- pipe segment against +X face - { -1/64, -4/64, -5/64, 32/64, 4/64, 5/64 }, - { -1/64, -5/64, -4/64, 32/64, 5/64, 4/64 }, - { -1/64, -6/64, -2/64, 32/64, 6/64, 2/64 }, - - { 30/64, -3/64, -8/64, 32/64, 3/64, 8/64 }, -- (the flange for it) - { 30/64, -5/64, -7/64, 32/64, 5/64, 7/64 }, - { 30/64, -6/64, -6/64, 32/64, 6/64, 6/64 }, - { 30/64, -7/64, -5/64, 32/64, 7/64, 5/64 }, - { 30/64, -8/64, -3/64, 32/64, 8/64, 3/64 } -} - -pipeworks.pipe_bottomstub = { - { -2/64, -32/64, -6/64, 2/64, 1/64, 6/64 }, -- pipe segment against -Y face - { -4/64, -32/64, -5/64, 4/64, 1/64, 5/64 }, - { -5/64, -32/64, -4/64, 5/64, 1/64, 4/64 }, - { -6/64, -32/64, -2/64, 6/64, 1/64, 2/64 }, - - { -3/64, -32/64, -8/64, 3/64, -30/64, 8/64 }, -- (the flange for it) - { -5/64, -32/64, -7/64, 5/64, -30/64, 7/64 }, - { -6/64, -32/64, -6/64, 6/64, -30/64, 6/64 }, - { -7/64, -32/64, -5/64, 7/64, -30/64, 5/64 }, - { -8/64, -32/64, -3/64, 8/64, -30/64, 3/64 } -} - -pipeworks.pipe_topstub = { - { -2/64, -1/64, -6/64, 2/64, 32/64, 6/64 }, -- pipe segment against +Y face - { -4/64, -1/64, -5/64, 4/64, 32/64, 5/64 }, - { -5/64, -1/64, -4/64, 5/64, 32/64, 4/64 }, - { -6/64, -1/64, -2/64, 6/64, 32/64, 2/64 }, - - { -3/64, 30/64, -8/64, 3/64, 32/64, 8/64 }, -- (the flange for it) - { -5/64, 30/64, -7/64, 5/64, 32/64, 7/64 }, - { -6/64, 30/64, -6/64, 6/64, 32/64, 6/64 }, - { -7/64, 30/64, -5/64, 7/64, 32/64, 5/64 }, - { -8/64, 30/64, -3/64, 8/64, 32/64, 3/64 } -} - -pipeworks.pipe_frontstub = { - { -6/64, -2/64, -32/64, 6/64, 2/64, 1/64 }, -- pipe segment against -Z face - { -5/64, -4/64, -32/64, 5/64, 4/64, 1/64 }, - { -4/64, -5/64, -32/64, 4/64, 5/64, 1/64 }, - { -2/64, -6/64, -32/64, 2/64, 6/64, 1/64 }, - - { -8/64, -3/64, -32/64, 8/64, 3/64, -30/64 }, -- (the flange for it) - { -7/64, -5/64, -32/64, 7/64, 5/64, -30/64 }, - { -6/64, -6/64, -32/64, 6/64, 6/64, -30/64 }, - { -5/64, -7/64, -32/64, 5/64, 7/64, -30/64 }, - { -3/64, -8/64, -32/64, 3/64, 8/64, -30/64 } -} - -pipeworks.pipe_backstub = { - { -6/64, -2/64, -1/64, 6/64, 2/64, 32/64 }, -- pipe segment against -Z face - { -5/64, -4/64, -1/64, 5/64, 4/64, 32/64 }, - { -4/64, -5/64, -1/64, 4/64, 5/64, 32/64 }, - { -2/64, -6/64, -1/64, 2/64, 6/64, 32/64 }, - - { -8/64, -3/64, 30/64, 8/64, 3/64, 32/64 }, -- (the flange for it) - { -7/64, -5/64, 30/64, 7/64, 5/64, 32/64 }, - { -6/64, -6/64, 30/64, 6/64, 6/64, 32/64 }, - { -5/64, -7/64, 30/64, 5/64, 7/64, 32/64 }, - { -3/64, -8/64, 30/64, 3/64, 8/64, 32/64 } -} - -pipeworks.pipe_boxes = {pipeworks.pipe_leftstub, pipeworks.pipe_rightstub, pipeworks.pipe_bottomstub, pipeworks.pipe_topstub, pipeworks.pipe_frontstub, pipeworks.pipe_backstub} +----------------------------------- +-- The various pipe select boxes pipeworks.pipe_selectboxes = { { -32/64, -8/64, -8/64, 8/64, 8/64, 8/64 }, @@ -92,13 +10,6 @@ pipeworks.pipe_selectboxes = { { -8/64 , -8/64, -8/64, 8/64, 8/64, 32/64 } } -pipeworks.pipe_bendsphere = { - { -4/64, -4/64, -4/64, 4/64, 4/64, 4/64 }, - { -5/64, -3/64, -3/64, 5/64, 3/64, 3/64 }, - { -3/64, -5/64, -3/64, 3/64, 5/64, 3/64 }, - { -3/64, -3/64, -5/64, 3/64, 3/64, 5/64 } -} - -- Tube models pipeworks.tube_leftstub = { @@ -136,67 +47,3 @@ pipeworks.tube_selectboxes = { { -10/64 , -10/64, -10/64, 10/64, 10/64, 32/64 } } --- Device models - -pipeworks.pipe_pumpbody = { - { -7/16, -6/16, -7/16, 7/16, 5/16, 7/16 }, - { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 } -} - -pipeworks.pipe_valvebody = { - { -4/16, -4/16, -4/16, 4/16, 4/16, 4/16 } -} - -pipeworks.pipe_valvehandle_on = { - { -5/16, 4/16, -1/16, 0, 5/16, 1/16 } -} - -pipeworks.pipe_valvehandle_off = { - { -1/16, 4/16, -5/16, 1/16, 5/16, 0 } -} - -pipeworks.pipe_sensorbody = { - { -3/16, -2/16, -2/16, 3/16, 2/16, 2/16 } -} - -pipeworks.spigot_bottomstub = { - { -2/64, -16/64, -6/64, 2/64, 1/64, 6/64 }, -- pipe segment against -Y face - { -4/64, -16/64, -5/64, 4/64, 1/64, 5/64 }, - { -5/64, -16/64, -4/64, 5/64, 1/64, 4/64 }, - { -6/64, -16/64, -2/64, 6/64, 1/64, 2/64 }, - - { -3/64, -16/64, -8/64, 3/64, -14/64, 8/64 }, -- (the flange for it) - { -5/64, -16/64, -7/64, 5/64, -14/64, 7/64 }, - { -6/64, -16/64, -6/64, 6/64, -14/64, 6/64 }, - { -7/64, -16/64, -5/64, 7/64, -14/64, 5/64 }, - { -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 } -} - -pipeworks.spigot_stream = { - { -3/64, (-41/64)-0.01, -5/64, 3/64, -16/64, 5/64 }, - { -4/64, (-41/64)-0.01, -4/64, 4/64, -16/64, 4/64 }, - { -5/64, (-41/64)-0.01, -3/64, 5/64, -16/64, 3/64 } -} - -pipeworks.entry_panel = { - { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } -} - -pipeworks.fountainhead_model = { - { -2/64, -32/64, -6/64, 2/64, 21/64, 6/64 }, -- main segment - { -4/64, -32/64, -5/64, 4/64, 21/64, 5/64 }, - { -5/64, -32/64, -4/64, 5/64, 21/64, 4/64 }, - { -6/64, -32/64, -2/64, 6/64, 21/64, 2/64 }, - - { -3/64, -32/64, -8/64, 3/64, -30/64, 8/64 }, -- bottom flange - { -5/64, -32/64, -7/64, 5/64, -30/64, 7/64 }, - { -6/64, -32/64, -6/64, 6/64, -30/64, 6/64 }, - { -7/64, -32/64, -5/64, 7/64, -30/64, 5/64 }, - { -8/64, -32/64, -3/64, 8/64, -30/64, 3/64 }, - - { -3/64, 20/64, -8/64, 3/64, 32/64, 8/64 }, -- top flange/outlet - { -5/64, 20/64, -7/64, 5/64, 32/64, 7/64 }, - { -6/64, 20/64, -6/64, 6/64, 32/64, 6/64 }, - { -7/64, 20/64, -5/64, 7/64, 32/64, 5/64 }, - { -8/64, 20/64, -3/64, 8/64, 32/64, 3/64 } -} diff --git a/mods/pipeworks/models/pipeworks_entry_panel.obj b/mods/pipeworks/models/pipeworks_entry_panel.obj new file mode 100644 index 00000000..27577d79 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_entry_panel.obj @@ -0,0 +1,390 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-entry-panel.blend' +# www.blender.org +o Cube.001 +v 0.030483 -0.153248 -0.468750 +v 0.030483 -0.153248 -0.500000 +v -0.030483 -0.153248 -0.468750 +v -0.030483 -0.153248 -0.500000 +v -0.086808 -0.129917 -0.468750 +v -0.086808 -0.129917 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.153248 -0.030483 -0.468750 +v -0.153248 -0.030483 -0.500000 +v -0.153248 0.030483 -0.468750 +v -0.153248 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.086808 0.129917 -0.468750 +v -0.086808 0.129917 -0.500000 +v -0.030483 0.153248 -0.468750 +v -0.030483 0.153247 -0.500000 +v 0.030483 0.153248 -0.468750 +v 0.030483 0.153248 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.129917 0.086808 -0.468750 +v 0.129917 0.086808 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.129917 -0.086808 -0.468750 +v 0.129917 -0.086808 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.024386 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.069446 -0.103934 -0.468750 +v -0.103934 -0.069446 -0.468750 +v -0.122598 -0.024386 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.103934 0.069446 -0.468750 +v -0.069446 0.103934 -0.468750 +v -0.024386 0.122598 -0.468750 +v 0.024386 0.122598 -0.468750 +v 0.069446 0.103934 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.122598 0.024386 -0.468750 +v 0.122598 -0.024387 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.069446 -0.103934 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000000 -0.000000 -0.500000 +v -0.103934 -0.069446 0.468750 +v -0.069447 -0.103933 0.468750 +v -0.024387 -0.122598 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.086808 -0.129917 0.500000 +v 0.086808 -0.129917 0.468750 +v 0.129917 -0.086808 0.500000 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.500000 +v 0.153247 -0.030483 0.468750 +v 0.153247 0.030483 0.500000 +v 0.153247 0.030483 0.468750 +v 0.129917 0.086808 0.500000 +v 0.129917 0.086808 0.468750 +v 0.086808 0.129917 0.500000 +v 0.086808 0.129917 0.468750 +v 0.030483 0.153248 0.500000 +v 0.030483 0.153248 0.468750 +v -0.030483 0.153248 0.500000 +v -0.030483 0.153248 0.468750 +v -0.086808 0.129917 0.500000 +v -0.086808 0.129917 0.468750 +v -0.129917 0.086808 0.500000 +v -0.129917 0.086808 0.468750 +v -0.153248 0.030483 0.500000 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.500000 +v -0.153248 -0.030483 0.468750 +v -0.129917 -0.086808 0.500000 +v -0.129917 -0.086808 0.468750 +v -0.086808 -0.129917 0.500000 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153247 0.500000 +v -0.030483 -0.153247 0.468750 +v 0.030483 -0.153247 0.500000 +v 0.030483 -0.153247 0.468750 +v -0.122598 -0.024386 0.468750 +v -0.122598 0.024387 0.468750 +v -0.103934 0.069447 0.468750 +v -0.069447 0.103934 0.468750 +v -0.024387 0.122598 0.468750 +v 0.024386 0.122598 0.468750 +v 0.069446 0.103934 0.468750 +v 0.103933 0.069447 0.468750 +v 0.122598 0.024387 0.468750 +v 0.122598 -0.024386 0.468750 +v 0.103933 -0.069446 0.468750 +v 0.069446 -0.103933 0.468750 +v -0.000000 0.000000 0.468750 +v -0.000000 0.000000 0.500000 +v 0.500000 -0.500000 0.062500 +v -0.500000 -0.500000 0.062500 +v -0.500000 -0.500000 -0.062500 +v 0.500000 -0.500000 -0.062500 +v 0.500000 0.500000 0.062500 +v -0.500000 0.500000 0.062500 +v -0.500000 0.500000 -0.062500 +v 0.500000 0.500000 -0.062500 +vt 0.871212 0.265152 +vt 0.840909 0.265152 +vt 0.840909 0.295455 +vt 0.871212 0.295455 +vt 0.810606 0.265152 +vt 0.810606 0.295455 +vt 0.780303 0.265152 +vt 0.780303 0.295455 +vt 0.750000 0.265152 +vt 0.750000 0.295455 +vt 0.719697 0.265152 +vt 0.719697 0.295455 +vt 0.689394 0.265152 +vt 0.689394 0.295455 +vt 0.659091 0.265152 +vt 0.659091 0.295455 +vt 0.628788 0.265152 +vt 0.628788 0.295455 +vt 0.598485 0.265152 +vt 0.598485 0.295455 +vt 0.568182 0.265152 +vt 0.568182 0.295455 +vt 0.537879 0.265152 +vt 0.537879 0.295455 +vt 0.507576 0.265152 +vt 0.507576 0.295455 +vt 0.992424 0.265152 +vt 0.962121 0.265152 +vt 0.962121 0.295455 +vt 0.992424 0.295455 +vt 0.931818 0.265152 +vt 0.931818 0.295455 +vt 0.901515 0.265152 +vt 0.901515 0.295455 +vt 0.613449 0.318703 +vt 0.597693 0.397916 +vt 0.581936 0.318703 +vt 0.765436 0.318703 +vt 0.781192 0.397916 +vt 0.796949 0.318703 +vt 0.826063 0.330762 +vt 0.848346 0.353045 +vt 0.860405 0.382159 +vt 0.860405 0.413672 +vt 0.848346 0.442786 +vt 0.826063 0.465069 +vt 0.796949 0.477128 +vt 0.765436 0.477128 +vt 0.736322 0.465069 +vt 0.714039 0.442786 +vt 0.701980 0.413672 +vt 0.701980 0.382159 +vt 0.714039 0.353045 +vt 0.736322 0.330762 +vt 0.552823 0.330762 +vt 0.530540 0.353045 +vt 0.518480 0.382159 +vt 0.518480 0.413672 +vt 0.530540 0.442786 +vt 0.552822 0.465069 +vt 0.581936 0.477128 +vt 0.613449 0.477128 +vt 0.642563 0.465069 +vt 0.664846 0.442786 +vt 0.676906 0.413672 +vt 0.676906 0.382159 +vt 0.664846 0.353045 +vt 0.642563 0.330762 +vt 0.598485 0.250000 +vt 0.598485 0.007576 +vt 0.628788 0.007576 +vt 0.628788 0.250000 +vt 0.552823 0.330759 +vt 0.581937 0.318699 +vt 0.597694 0.397912 +vt 0.530540 0.353042 +vt 0.518481 0.382156 +vt 0.518481 0.413668 +vt 0.530540 0.442782 +vt 0.552823 0.465065 +vt 0.581937 0.477125 +vt 0.613450 0.477125 +vt 0.642564 0.465065 +vt 0.664847 0.442782 +vt 0.676906 0.413668 +vt 0.676906 0.382156 +vt 0.664847 0.353042 +vt 0.642564 0.330759 +vt 0.613450 0.318699 +vt 0.736320 0.330759 +vt 0.765434 0.318699 +vt 0.781190 0.397912 +vt 0.714037 0.353041 +vt 0.701978 0.382156 +vt 0.701978 0.413668 +vt 0.714037 0.442782 +vt 0.736320 0.465065 +vt 0.765434 0.477125 +vt 0.796947 0.477125 +vt 0.826061 0.465065 +vt 0.848344 0.442782 +vt 0.860403 0.413668 +vt 0.860403 0.382156 +vt 0.848344 0.353041 +vt 0.826061 0.330759 +vt 0.796947 0.318699 +vt 0.931818 0.250000 +vt 0.931818 0.007576 +vt 0.962121 0.007576 +vt 0.962121 0.250000 +vt 0.871212 0.250000 +vt 0.871212 0.007576 +vt 0.901515 0.007576 +vt 0.901515 0.250000 +vt 0.780303 0.250000 +vt 0.780303 0.007576 +vt 0.810606 0.007576 +vt 0.810606 0.250000 +vt 0.840909 0.250000 +vt 0.840909 0.007576 +vt 0.750000 0.250000 +vt 0.750000 0.007576 +vt 0.719697 0.250000 +vt 0.719697 0.007576 +vt 0.689394 0.250000 +vt 0.689394 0.007576 +vt 0.659091 0.250000 +vt 0.659091 0.007576 +vt 0.568182 0.250000 +vt 0.568182 0.007576 +vt 0.537879 0.250000 +vt 0.537879 0.007576 +vt 0.507576 0.250000 +vt 0.507576 0.007576 +vt 0.992424 0.007576 +vt 0.992424 0.250000 +vt 0.507576 0.507576 +vt 0.992424 0.507576 +vt 0.992424 0.992424 +vt 0.507576 0.992424 +vt 0.068182 0.492424 +vt 0.007576 0.492424 +vt 0.007576 0.007576 +vt 0.068182 0.007576 +vt 0.492424 0.992424 +vt 0.007576 0.992424 +vt 0.007576 0.507576 +vt 0.492424 0.507576 +vt 0.295455 0.492424 +vt 0.234848 0.492424 +vt 0.234848 0.007576 +vt 0.295455 0.007576 +vt 0.219697 0.007576 +vt 0.219697 0.492424 +vt 0.159091 0.492424 +vt 0.159091 0.007576 +vt 0.083333 0.492424 +vt 0.083333 0.007576 +vt 0.143939 0.007576 +vt 0.143939 0.492424 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 +f 105/137 106/138 102/139 101/140 +f 106/141 107/142 103/143 102/144 +f 107/145 108/146 104/147 103/148 +f 108/149 105/150 101/151 104/152 +f 101/153 102/154 103/155 104/156 +f 108/157 107/158 106/159 105/160 diff --git a/mods/pipeworks/models/pipeworks_flow_sensor.obj b/mods/pipeworks/models/pipeworks_flow_sensor.obj new file mode 100644 index 00000000..f0ba87e8 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_flow_sensor.obj @@ -0,0 +1,390 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-flow-sensor.blend' +# www.blender.org +o Cube.001 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v 0.250000 -0.187500 0.187500 +v -0.250000 -0.187500 0.187500 +v -0.250000 -0.187500 -0.187500 +v 0.250000 -0.187500 -0.187500 +v 0.250000 0.187500 0.187500 +v -0.250000 0.187500 0.187500 +v -0.250000 0.187500 -0.187500 +v 0.250000 0.187500 -0.187500 +vt 0.813725 0.460784 +vt 0.774510 0.460784 +vt 0.774510 0.500000 +vt 0.813725 0.500000 +vt 0.735294 0.460784 +vt 0.735294 0.500000 +vt 0.696078 0.460784 +vt 0.696078 0.500000 +vt 0.656863 0.460784 +vt 0.656863 0.500000 +vt 0.617647 0.460784 +vt 0.617647 0.500000 +vt 0.578431 0.460784 +vt 0.578431 0.500000 +vt 0.539216 0.460784 +vt 0.539216 0.500000 +vt 0.500000 0.460784 +vt 0.500000 0.500000 +vt 0.460784 0.460784 +vt 0.460784 0.500000 +vt 0.421569 0.460784 +vt 0.421569 0.500000 +vt 0.382353 0.460784 +vt 0.382353 0.500000 +vt 0.343137 0.460784 +vt 0.343137 0.500000 +vt 0.970588 0.460784 +vt 0.931373 0.460784 +vt 0.931373 0.500000 +vt 0.970588 0.500000 +vt 0.892157 0.460784 +vt 0.892157 0.500000 +vt 0.852941 0.460784 +vt 0.852941 0.500000 +vt 0.480968 0.531171 +vt 0.460590 0.633014 +vt 0.440211 0.531171 +vt 0.677539 0.531171 +vt 0.697917 0.633014 +vt 0.718296 0.531171 +vt 0.755950 0.546676 +vt 0.784770 0.575325 +vt 0.800366 0.612756 +vt 0.800366 0.653272 +vt 0.784770 0.690703 +vt 0.755950 0.719352 +vt 0.718296 0.734857 +vt 0.677539 0.734857 +vt 0.639884 0.719352 +vt 0.611065 0.690703 +vt 0.595468 0.653272 +vt 0.595468 0.612756 +vt 0.611065 0.575325 +vt 0.639885 0.546676 +vt 0.402557 0.546676 +vt 0.373737 0.575325 +vt 0.358140 0.612756 +vt 0.358140 0.653272 +vt 0.373737 0.690703 +vt 0.402557 0.719352 +vt 0.440211 0.734857 +vt 0.480968 0.734857 +vt 0.518622 0.719352 +vt 0.547442 0.690703 +vt 0.563039 0.653272 +vt 0.563039 0.612756 +vt 0.547442 0.575325 +vt 0.518622 0.546676 +vt 0.460784 0.441176 +vt 0.460784 0.127451 +vt 0.500000 0.127451 +vt 0.500000 0.441176 +vt 0.402558 0.546671 +vt 0.440212 0.531167 +vt 0.460591 0.633009 +vt 0.373738 0.575320 +vt 0.358141 0.612752 +vt 0.358141 0.653267 +vt 0.373738 0.690699 +vt 0.402558 0.719348 +vt 0.440212 0.734852 +vt 0.480969 0.734852 +vt 0.518623 0.719348 +vt 0.547443 0.690699 +vt 0.563040 0.653267 +vt 0.563040 0.612752 +vt 0.547443 0.575320 +vt 0.518623 0.546671 +vt 0.480969 0.531167 +vt 0.639882 0.546671 +vt 0.677537 0.531167 +vt 0.697915 0.633009 +vt 0.611063 0.575320 +vt 0.595466 0.612752 +vt 0.595466 0.653267 +vt 0.611063 0.690699 +vt 0.639882 0.719347 +vt 0.677537 0.734852 +vt 0.718293 0.734852 +vt 0.755947 0.719347 +vt 0.784767 0.690699 +vt 0.800364 0.653267 +vt 0.800364 0.612752 +vt 0.784767 0.575320 +vt 0.755948 0.546671 +vt 0.718293 0.531167 +vt 0.892157 0.441176 +vt 0.892157 0.127451 +vt 0.931373 0.127451 +vt 0.931373 0.441176 +vt 0.813725 0.441176 +vt 0.813725 0.127451 +vt 0.852941 0.127451 +vt 0.852941 0.441176 +vt 0.696078 0.441176 +vt 0.696078 0.127451 +vt 0.735294 0.127451 +vt 0.735294 0.441176 +vt 0.774510 0.441176 +vt 0.774510 0.127451 +vt 0.656863 0.441176 +vt 0.656863 0.127451 +vt 0.617647 0.441176 +vt 0.617647 0.127451 +vt 0.578431 0.441176 +vt 0.578431 0.127451 +vt 0.539216 0.441176 +vt 0.539216 0.127451 +vt 0.421569 0.441176 +vt 0.421569 0.127451 +vt 0.382353 0.441176 +vt 0.382353 0.127451 +vt 0.343137 0.441176 +vt 0.343137 0.127451 +vt 0.970588 0.127451 +vt 0.970588 0.441176 +vt 0.009804 0.500000 +vt 0.323529 0.500000 +vt 0.323529 0.735294 +vt 0.009804 0.735294 +vt 0.264706 0.990196 +vt 0.264706 0.754902 +vt 0.500000 0.754902 +vt 0.500000 0.990196 +vt 0.519608 0.754902 +vt 0.833333 0.754902 +vt 0.833333 0.990196 +vt 0.519608 0.990196 +vt 0.245098 0.754902 +vt 0.245098 0.990196 +vt 0.009804 0.990196 +vt 0.009804 0.754902 +vt 0.323529 0.245098 +vt 0.009804 0.245098 +vt 0.009804 0.009804 +vt 0.323529 0.009804 +vt 0.009804 0.254902 +vt 0.323529 0.254902 +vt 0.323529 0.490196 +vt 0.009804 0.490196 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 +f 105/137 106/138 102/139 101/140 +f 106/141 107/142 103/143 102/144 +f 107/145 108/146 104/147 103/148 +f 108/149 105/150 101/151 104/152 +f 101/153 102/154 103/155 104/156 +f 108/157 107/158 106/159 105/160 diff --git a/mods/pipeworks/models/pipeworks_fountainhead.obj b/mods/pipeworks/models/pipeworks_fountainhead.obj new file mode 100644 index 00000000..7685dbfb --- /dev/null +++ b/mods/pipeworks/models/pipeworks_fountainhead.obj @@ -0,0 +1,352 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-fountainhead.blend' +# www.blender.org +o Cube.001 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 0.030483 +v 0.153248 -0.500000 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.129917 -0.500000 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.086808 -0.500000 0.129917 +v 0.030483 -0.468750 0.153248 +v 0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.086808 -0.500000 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.129917 -0.500000 0.086808 +v -0.153247 -0.468750 0.030483 +v -0.153247 -0.500000 0.030483 +v -0.153247 -0.468750 -0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.129917 -0.500000 -0.086808 +v -0.086808 -0.468750 -0.129917 +v -0.086807 -0.500000 -0.129917 +v -0.030482 -0.468750 -0.153248 +v -0.030482 -0.500000 -0.153248 +v 0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153248 +v 0.086808 -0.468750 -0.129917 +v 0.086808 -0.500000 -0.129917 +v 0.129918 -0.468750 -0.086808 +v 0.129918 -0.500000 -0.086808 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.103934 -0.468750 0.069446 +v 0.069447 -0.468750 0.103934 +v 0.024387 -0.468750 0.122598 +v -0.024386 -0.468750 0.122598 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.103933 -0.468750 -0.069446 +v -0.069446 -0.468750 -0.103934 +v -0.024386 -0.468750 -0.122598 +v 0.024387 -0.468750 -0.122598 +v 0.069447 -0.468750 -0.103934 +v 0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 -0.000000 +v 0.069446 0.312500 0.103934 +v 0.103933 0.312500 0.069447 +v 0.122598 0.312500 0.024387 +v 0.122598 0.312500 -0.024386 +v 0.129917 0.500000 -0.086808 +v 0.129917 0.312500 -0.086808 +v 0.086808 0.500000 -0.129917 +v 0.086808 0.312500 -0.129917 +v 0.030483 0.500000 -0.153247 +v 0.030483 0.312500 -0.153248 +v -0.030483 0.500000 -0.153247 +v -0.030483 0.312500 -0.153248 +v -0.086808 0.500000 -0.129917 +v -0.086808 0.312500 -0.129917 +v -0.129918 0.500000 -0.086808 +v -0.129918 0.312500 -0.086808 +v -0.153248 0.500000 -0.030483 +v -0.153248 0.312500 -0.030483 +v -0.153248 0.500000 0.030483 +v -0.153248 0.312500 0.030483 +v -0.129918 0.500000 0.086808 +v -0.129918 0.312500 0.086808 +v -0.086808 0.500000 0.129917 +v -0.086808 0.312500 0.129917 +v -0.030483 0.500000 0.153248 +v -0.030483 0.312500 0.153248 +v 0.030482 0.500000 0.153248 +v 0.030482 0.312500 0.153248 +v 0.086807 0.500000 0.129917 +v 0.086807 0.312500 0.129917 +v 0.129917 0.500000 0.086808 +v 0.129917 0.312500 0.086808 +v 0.153247 0.500000 0.030483 +v 0.153247 0.312500 0.030483 +v 0.153247 0.500000 -0.030483 +v 0.153247 0.312500 -0.030483 +v 0.024386 0.312500 0.122598 +v -0.024387 0.312500 0.122598 +v -0.069447 0.312500 0.103934 +v -0.103934 0.312500 0.069446 +v -0.122599 0.312500 0.024386 +v -0.122599 0.312500 -0.024386 +v -0.103934 0.312500 -0.069446 +v -0.069447 0.312500 -0.103934 +v -0.024387 0.312500 -0.122598 +v 0.024386 0.312500 -0.122598 +v 0.069446 0.312500 -0.103933 +v 0.103933 0.312500 -0.069446 +v -0.000000 0.312500 0.000000 +v -0.000000 0.500000 0.000000 +vt 0.680556 0.486111 +vt 0.625000 0.486111 +vt 0.625000 0.652778 +vt 0.680556 0.652778 +vt 0.569444 0.486111 +vt 0.569444 0.652778 +vt 0.513889 0.486111 +vt 0.513889 0.652778 +vt 0.458333 0.486111 +vt 0.458333 0.652778 +vt 0.402778 0.486111 +vt 0.402778 0.652778 +vt 0.347222 0.486111 +vt 0.347222 0.652778 +vt 0.291667 0.486111 +vt 0.291667 0.652778 +vt 0.236111 0.486111 +vt 0.236111 0.652778 +vt 0.180556 0.486111 +vt 0.180556 0.652778 +vt 0.125000 0.486111 +vt 0.125000 0.652778 +vt 0.069444 0.486111 +vt 0.069444 0.652778 +vt 0.013889 0.486111 +vt 0.013889 0.652778 +vt 0.902778 0.486111 +vt 0.847222 0.486111 +vt 0.847222 0.652778 +vt 0.902778 0.652778 +vt 0.791667 0.486111 +vt 0.791667 0.652778 +vt 0.736111 0.486111 +vt 0.736111 0.652778 +vt 0.194034 0.696809 +vt 0.165430 0.839757 +vt 0.136827 0.696809 +vt 0.469943 0.696809 +vt 0.498546 0.839757 +vt 0.527150 0.696809 +vt 0.580002 0.718572 +vt 0.620453 0.758784 +vt 0.642345 0.811323 +vt 0.642345 0.868191 +vt 0.620453 0.920730 +vt 0.580002 0.960942 +vt 0.527149 0.982704 +vt 0.469943 0.982704 +vt 0.417091 0.960942 +vt 0.376639 0.920730 +vt 0.354747 0.868191 +vt 0.354747 0.811323 +vt 0.376639 0.758784 +vt 0.417091 0.718572 +vt 0.083975 0.718572 +vt 0.043524 0.758784 +vt 0.021631 0.811323 +vt 0.021631 0.868191 +vt 0.043523 0.920730 +vt 0.083975 0.960942 +vt 0.136827 0.982704 +vt 0.194034 0.982704 +vt 0.246886 0.960942 +vt 0.287337 0.920730 +vt 0.309229 0.868191 +vt 0.309229 0.811323 +vt 0.287337 0.758784 +vt 0.246886 0.718572 +vt 0.180556 0.458333 +vt 0.180556 0.013889 +vt 0.236111 0.013889 +vt 0.236111 0.458333 +vt 0.750889 0.718565 +vt 0.803741 0.696803 +vt 0.832345 0.839750 +vt 0.710438 0.758777 +vt 0.688546 0.811316 +vt 0.688546 0.868184 +vt 0.710438 0.920723 +vt 0.750889 0.960935 +vt 0.803741 0.982698 +vt 0.860948 0.982698 +vt 0.913800 0.960935 +vt 0.954251 0.920723 +vt 0.976143 0.868184 +vt 0.976143 0.811316 +vt 0.954251 0.758777 +vt 0.913800 0.718565 +vt 0.860948 0.696803 +vt 0.417087 0.718565 +vt 0.469939 0.696803 +vt 0.498543 0.839750 +vt 0.376636 0.758777 +vt 0.354744 0.811316 +vt 0.354744 0.868184 +vt 0.376636 0.920723 +vt 0.417087 0.960935 +vt 0.469939 0.982698 +vt 0.527146 0.982698 +vt 0.579998 0.960935 +vt 0.620449 0.920723 +vt 0.642341 0.868184 +vt 0.642341 0.811316 +vt 0.620449 0.758777 +vt 0.579998 0.718565 +vt 0.527146 0.696803 +vt 0.791667 0.458333 +vt 0.791667 0.013889 +vt 0.847222 0.013889 +vt 0.847222 0.458333 +vt 0.680556 0.458333 +vt 0.680556 0.013889 +vt 0.736111 0.013889 +vt 0.736111 0.458333 +vt 0.513889 0.458333 +vt 0.513889 0.013889 +vt 0.569444 0.013889 +vt 0.569444 0.458333 +vt 0.625000 0.458333 +vt 0.625000 0.013889 +vt 0.458333 0.458333 +vt 0.458333 0.013889 +vt 0.402778 0.458333 +vt 0.402778 0.013889 +vt 0.347222 0.458333 +vt 0.347222 0.013889 +vt 0.291667 0.458333 +vt 0.291667 0.013889 +vt 0.125000 0.458333 +vt 0.125000 0.013889 +vt 0.069444 0.458333 +vt 0.069444 0.013889 +vt 0.013889 0.458333 +vt 0.013889 0.013889 +vt 0.902778 0.013889 +vt 0.902778 0.458333 +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 diff --git a/mods/pipeworks/models/pipeworks_pipe_10.obj b/mods/pipeworks/models/pipeworks_pipe_10.obj new file mode 100644 index 00000000..9edb938d --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_10.obj @@ -0,0 +1,891 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-6way.blend' +# www.blender.org +mtllib pipeworks_pipe_10.mtl +o Cube.000 +v 0.069446 -0.468750 -0.103934 +v 0.103933 -0.468750 -0.069446 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153247 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153247 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129918 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129918 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030482 -0.500000 -0.153248 +v 0.030482 -0.468750 -0.153248 +v 0.086807 -0.500000 -0.129917 +v 0.086807 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153247 -0.500000 -0.030483 +v 0.153247 -0.468750 -0.030483 +v 0.153247 -0.500000 0.030483 +v 0.153247 -0.468750 0.030483 +v 0.024386 -0.468750 -0.122598 +v -0.024387 -0.468750 -0.122598 +v -0.069447 -0.468750 -0.103934 +v -0.103934 -0.468750 -0.069446 +v -0.122599 -0.468750 -0.024386 +v -0.122599 -0.468750 0.024386 +v -0.103934 -0.468750 0.069446 +v -0.069447 -0.468750 0.103934 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103933 +v 0.103933 -0.468750 0.069446 +v -0.000000 -0.468750 -0.000000 +v -0.000000 -0.500000 -0.000000 +v -0.024386 -0.024391 -0.122598 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 0.122598 +v 0.103934 -0.024391 0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v -0.024386 0.024390 -0.122598 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 -0.069446 +v -0.122598 0.024390 -0.024386 +v -0.122598 0.024390 0.024386 +v -0.103934 0.024390 0.069446 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024389 0.122598 +v 0.024386 0.024389 0.122598 +v 0.103934 0.024390 0.069446 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 -0.069446 +v 0.122598 0.024390 -0.024386 +v 0.122598 0.024390 0.024386 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024390 -0.122598 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +v 0.069446 -0.103934 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.122598 -0.024387 0.468750 +v 0.122598 0.024386 0.468750 +v 0.129917 0.086807 0.500000 +v 0.129917 0.086807 0.468750 +v 0.086808 0.129917 0.500000 +v 0.086808 0.129917 0.468750 +v 0.030483 0.153247 0.500000 +v 0.030483 0.153247 0.468750 +v -0.030483 0.153247 0.500000 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.500000 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.500000 +v -0.129917 0.086808 0.468750 +v -0.153248 0.030483 0.500000 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.500000 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.500000 +v -0.129917 -0.086808 0.468750 +v -0.086808 -0.129917 0.500000 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.500000 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.500000 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.500000 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.500000 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.500000 +v 0.153247 -0.030483 0.468750 +v 0.153247 0.030483 0.500000 +v 0.153247 0.030483 0.468750 +v 0.024386 -0.122598 0.468750 +v -0.024387 -0.122598 0.468750 +v -0.069447 -0.103934 0.468750 +v -0.103934 -0.069447 0.468750 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.103934 0.069446 0.468750 +v -0.069447 0.103933 0.468750 +v -0.024387 0.122598 0.468750 +v 0.024386 0.122598 0.468750 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v -0.000000 -0.000000 0.468750 +v -0.000000 -0.000000 0.500000 +v -0.024386 -0.122598 0.024391 +v -0.069446 -0.103934 0.024391 +v -0.103934 -0.069446 0.024391 +v -0.122598 -0.024386 0.024391 +v -0.122598 0.024386 0.024391 +v -0.103934 0.069446 0.024391 +v -0.069446 0.103934 0.024391 +v -0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.024391 +v 0.103934 0.069446 0.024391 +v 0.069446 0.103934 0.024391 +v 0.103934 -0.069446 0.024391 +v 0.122598 -0.024386 0.024391 +v 0.122598 0.024386 0.024391 +v 0.069446 -0.103934 0.024391 +v 0.024386 -0.122598 0.024391 +v 0.153248 0.030483 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.129917 -0.086808 -0.468750 +v 0.129917 -0.086808 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.030483 -0.153248 -0.468750 +v 0.030483 -0.153248 -0.500000 +v -0.030483 -0.153248 -0.468750 +v -0.030483 -0.153248 -0.500000 +v -0.086808 -0.129917 -0.468750 +v -0.086808 -0.129917 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.086808 0.129917 -0.468750 +v -0.086808 0.129917 -0.500000 +v -0.030483 0.153248 -0.468750 +v -0.030483 0.153248 -0.500000 +v 0.030483 0.153248 -0.468750 +v 0.030483 0.153248 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.129917 0.086808 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.122598 0.024386 -0.468750 +v 0.122598 -0.024386 -0.468750 +v 0.103934 -0.069446 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.024387 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069446 -0.468750 +v -0.122598 -0.024386 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.103933 0.069446 -0.468750 +v -0.069446 0.103934 -0.468750 +v -0.024386 0.122598 -0.468750 +v 0.024387 0.122598 -0.468750 +v 0.069447 0.103934 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000000 0.000000 -0.500000 +v -0.024386 -0.122598 -0.024390 +v -0.069446 -0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.103934 0.069446 -0.024390 +v -0.069446 0.103934 -0.024390 +v -0.024386 0.122598 -0.024389 +v 0.024386 0.122598 -0.024389 +v 0.103934 0.069446 -0.024390 +v 0.069446 0.103934 -0.024390 +v 0.103934 -0.069446 -0.024390 +v 0.122598 -0.024386 -0.024390 +v 0.122598 0.024386 -0.024390 +v 0.069446 -0.103934 -0.024390 +v 0.024386 -0.122598 -0.024390 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +usemtl None +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 +f 286/1 273/2 274/3 287/4 +f 263/5 265/6 282/7 +f 261/8 263/5 282/7 +f 259/9 261/8 282/7 +f 257/10 259/9 282/7 +f 255/11 257/10 282/7 +f 253/12 255/11 282/7 +f 251/13 253/12 282/7 +f 249/14 251/13 282/7 +f 247/15 249/14 282/7 +f 245/16 247/15 282/7 +f 243/17 245/16 282/7 +f 241/18 243/17 282/7 +f 239/19 241/18 282/7 +f 237/20 239/19 282/7 +f 267/21 237/20 282/7 +f 238/22 268/23 281/24 +f 240/25 238/22 281/24 +f 242/26 240/25 281/24 +f 244/27 242/26 281/24 +f 246/28 244/27 281/24 +f 248/29 246/28 281/24 +f 250/30 248/29 281/24 +f 252/31 250/30 281/24 +f 254/32 252/31 281/24 +f 256/33 254/32 281/24 +f 258/34 256/33 281/24 +f 260/35 258/34 281/24 +f 262/36 260/35 281/24 +f 264/37 262/36 281/24 +f 266/38 264/37 281/24 +f 268/23 266/38 281/24 +f 265/6 267/21 282/7 +f 240/39 239/40 237/41 238/42 +f 238/42 237/41 267/43 268/44 +f 242/45 241/46 239/40 240/39 +f 244/47 243/48 241/46 242/45 +f 246/49 245/50 243/51 244/52 +f 248/53 247/54 245/50 246/49 +f 250/55 249/56 247/54 248/53 +f 252/57 251/58 249/56 250/55 +f 254/59 253/60 251/58 252/57 +f 256/61 255/62 253/60 254/59 +f 258/63 257/64 255/62 256/61 +f 260/65 259/66 257/64 258/63 +f 262/67 261/68 259/66 260/65 +f 264/69 263/70 261/68 262/67 +f 266/71 265/72 263/70 264/69 +f 268/44 267/43 265/72 266/71 +f 297/73 233/74 269/75 298/76 +f 295/77 235/78 234/79 294/80 +f 293/81 279/82 280/83 292/84 +f 296/85 236/86 235/78 295/77 +f 294/80 234/79 233/74 297/73 +f 292/84 280/83 236/86 296/85 +f 291/87 278/88 279/82 293/81 +f 290/89 277/90 278/88 291/87 +f 289/91 276/92 277/90 290/89 +f 288/93 275/94 276/92 289/91 +f 287/4 274/3 275/94 288/93 +f 285/95 272/96 273/2 286/1 +f 284/97 271/98 272/96 285/95 +f 283/99 270/100 271/98 284/97 +f 298/76 269/75 270/101 283/102 +f 299/58 301/60 302/59 300/57 +f 301/60 303/62 304/61 302/59 +f 303/62 305/64 306/63 304/61 +f 305/64 307/66 308/65 306/63 +f 307/66 309/68 310/67 308/65 +f 309/68 311/70 312/69 310/67 +f 311/70 313/72 314/71 312/69 +f 313/72 315/43 316/44 314/71 +f 315/43 317/41 318/42 316/44 +f 317/41 319/40 320/39 318/42 +f 319/40 321/46 322/45 320/39 +f 321/46 323/48 324/47 322/45 +f 323/51 325/50 326/49 324/52 +f 325/50 327/54 328/53 326/49 +f 329/56 299/58 300/57 330/55 +f 327/54 329/56 330/55 328/53 +f 302/103 348/104 300/105 +f 299/106 347/107 301/108 +f 301/108 347/107 303/109 +f 303/109 347/107 305/110 +f 305/110 347/107 307/111 +f 307/111 347/107 309/112 +f 309/112 347/107 311/113 +f 311/113 347/107 313/114 +f 313/114 347/107 315/115 +f 315/115 347/107 317/116 +f 317/116 347/107 319/117 +f 319/117 347/107 321/118 +f 321/118 347/107 323/119 +f 323/119 347/107 325/120 +f 325/120 347/107 327/121 +f 327/121 347/107 329/122 +f 329/122 347/107 299/106 +f 300/105 348/104 330/123 +f 330/123 348/104 328/124 +f 328/124 348/104 326/125 +f 326/125 348/104 324/126 +f 324/126 348/104 322/127 +f 322/127 348/104 320/128 +f 320/128 348/104 318/129 +f 318/129 348/104 316/130 +f 316/130 348/104 314/131 +f 314/131 348/104 312/132 +f 312/132 348/104 310/133 +f 310/133 348/104 308/134 +f 308/134 348/104 306/135 +f 306/135 348/104 304/136 +f 304/136 348/104 302/103 +f 339/137 352/1 353/4 340/138 +f 334/139 363/73 364/76 335/140 +f 332/141 361/77 360/80 333/142 +f 345/143 359/81 358/84 346/144 +f 331/145 362/85 361/77 332/141 +f 333/142 360/80 363/73 334/139 +f 346/144 358/84 362/85 331/145 +f 344/146 357/87 359/81 345/143 +f 343/147 356/89 357/87 344/146 +f 342/148 355/91 356/89 343/147 +f 341/149 354/93 355/91 342/148 +f 340/138 353/4 354/93 341/149 +f 338/150 351/95 352/1 339/137 +f 337/151 350/97 351/95 338/150 +f 336/152 349/99 350/97 337/151 +f 335/140 364/76 349/102 336/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_2.obj b/mods/pipeworks/models/pipeworks_pipe_2.obj new file mode 100644 index 00000000..c75bca41 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_2.obj @@ -0,0 +1,392 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-stub-end.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v 0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 -0.122598 +v 0.468750 -0.024387 0.122599 +v 0.468750 0.024386 0.122599 +v 0.024391 0.024386 0.122598 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.000000 0.000001 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.500000 -0.153248 0.030483 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.086808 0.129918 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129918 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153247 0.030483 +v 0.500000 0.153247 -0.030482 +v 0.500000 0.129917 -0.086807 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.030483 -0.153247 +v 0.468750 -0.000000 -0.000000 +v 0.468750 0.129917 -0.086807 +v 0.468750 0.153247 -0.030482 +v 0.468750 0.153247 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129918 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129918 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.024391 -0.103934 -0.069446 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.024391 -0.122598 -0.024386 +v 0.468750 -0.024387 -0.122598 +v 0.468750 -0.069447 -0.103933 +v 0.024391 -0.069446 -0.103934 +v 0.468750 0.103933 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.024391 0.069446 -0.103934 +v 0.024391 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024391 0.122598 -0.024386 +v 0.468750 0.122598 -0.024386 +v 0.024391 0.122598 0.024386 +v 0.468750 0.122598 0.024387 +v 0.024391 0.103934 0.069446 +v 0.468750 0.103933 0.069447 +v 0.024391 0.069446 0.103934 +v 0.468750 0.069446 0.103934 +v 0.024391 -0.069446 0.103934 +v 0.468750 -0.069447 0.103934 +v 0.024391 -0.103934 0.069446 +v 0.468750 -0.103934 0.069447 +v 0.024391 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.024390 0.103934 -0.069446 +v -0.042016 -0.000000 0.000000 +v -0.034206 -0.012195 0.061299 +v -0.034203 -0.034723 0.051967 +v -0.034203 -0.061299 0.012193 +v -0.034203 -0.061299 -0.012193 +v -0.034203 -0.051967 -0.034723 +v -0.034203 -0.051967 0.034723 +v -0.034203 -0.034723 -0.051967 +v -0.034206 -0.012196 -0.061299 +v -0.034203 0.012193 -0.061299 +v -0.034203 0.034723 -0.051967 +v -0.034203 0.051967 -0.034723 +v -0.034203 0.061299 -0.012193 +v -0.034203 0.061299 0.012193 +v -0.034203 0.051967 0.034723 +v -0.034203 0.034723 0.051967 +v -0.034203 0.012193 0.061299 +v -0.042017 -0.006098 0.030650 +v -0.042016 -0.017362 0.025984 +v -0.042016 -0.030650 0.006097 +v -0.042016 -0.030650 -0.006096 +v -0.042016 -0.025984 -0.017361 +v -0.014672 -0.077950 0.052085 +v -0.042016 -0.017362 -0.025983 +v -0.042017 -0.006098 -0.030649 +v -0.042016 0.006096 -0.030649 +v -0.042016 0.017361 -0.025983 +v -0.042016 0.025983 -0.017362 +v -0.042016 0.030649 -0.006096 +v -0.042016 0.030649 0.006097 +v -0.042016 0.025983 0.017362 +v -0.042016 0.017361 0.025984 +v -0.042016 0.006096 0.030650 +v -0.014675 -0.018293 0.091949 +v -0.014672 -0.052084 0.077951 +v -0.014672 -0.091948 0.018290 +v -0.014672 -0.091949 -0.018289 +v -0.014672 -0.077951 -0.052084 +v -0.042016 -0.025984 0.017362 +v -0.014672 -0.052085 -0.077950 +v -0.014675 -0.018293 -0.091948 +v -0.014672 0.018289 -0.091948 +v -0.014672 0.052084 -0.077950 +v -0.014672 0.077950 -0.052085 +v -0.014672 0.091948 -0.018289 +v -0.014672 0.091949 0.018290 +v -0.014672 0.077951 0.052085 +v -0.014672 0.052085 0.077951 +v -0.014672 0.018290 0.091949 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.648437 0.265625 +vt 0.414062 0.265625 +vt 0.531250 0.265625 +vt 0.632812 0.265625 +vt 0.617187 0.265625 +vt 0.601562 0.265625 +vt 0.585937 0.265625 +vt 0.570312 0.265625 +vt 0.554687 0.265625 +vt 0.539062 0.265625 +vt 0.523437 0.265625 +vt 0.507812 0.265625 +vt 0.492187 0.265625 +vt 0.476562 0.265625 +vt 0.460937 0.265625 +vt 0.445312 0.265625 +vt 0.429687 0.265625 +vt 0.882812 0.265625 +vt 0.179687 0.265625 +vt 0.296875 0.265625 +vt 0.765625 0.265625 +vt 0.835937 0.265625 +vt 0.734375 0.265625 +vt 0.789062 0.265625 +vt 0.703125 0.265625 +vt 0.742187 0.265625 +vt 0.671875 0.265625 +vt 0.695312 0.265625 +vt 0.640625 0.265625 +vt 0.609375 0.265625 +vt 0.578125 0.265625 +vt 0.546875 0.265625 +vt 0.515625 0.265625 +vt 0.484375 0.265625 +vt 0.453125 0.265625 +vt 0.367187 0.265625 +vt 0.421875 0.265625 +vt 0.320312 0.265625 +vt 0.390625 0.265625 +vt 0.273437 0.265625 +vt 0.359375 0.265625 +vt 0.226562 0.265625 +vt 0.328125 0.265625 +s off +f 6/1 7/2 8/3 +f 9/4 6/1 8/3 +f 10/5 9/4 8/3 +f 11/6 10/5 8/3 +f 12/7 11/6 8/3 +f 13/8 12/7 8/3 +f 14/9 13/8 8/3 +f 15/10 14/9 8/3 +f 16/11 15/10 8/3 +f 17/12 16/11 8/3 +f 18/13 17/12 8/3 +f 19/14 18/13 8/3 +f 20/15 19/14 8/3 +f 21/16 20/15 8/3 +f 22/17 21/16 8/3 +f 23/18 24/19 25/20 +f 26/21 23/18 25/20 +f 27/22 26/21 25/20 +f 28/23 27/22 25/20 +f 29/24 28/23 25/20 +f 30/25 29/24 25/20 +f 31/26 30/25 25/20 +f 32/27 31/26 25/20 +f 33/28 32/27 25/20 +f 34/29 33/28 25/20 +f 35/30 34/29 25/20 +f 36/31 35/30 25/20 +f 37/32 36/31 25/20 +f 38/33 37/32 25/20 +f 39/34 38/33 25/20 +f 24/19 39/34 25/20 +f 7/2 22/17 8/3 +f 26/35 20/36 21/37 23/38 +f 23/38 21/37 22/39 24/40 +f 27/41 19/42 20/36 26/35 +f 28/43 18/44 19/42 27/41 +f 29/45 17/46 18/47 28/48 +f 30/49 16/50 17/46 29/45 +f 31/51 15/52 16/50 30/49 +f 32/53 14/54 15/52 31/51 +f 33/55 13/56 14/54 32/53 +f 34/57 12/58 13/56 33/55 +f 35/59 11/60 12/58 34/57 +f 36/61 10/62 11/60 35/59 +f 37/63 9/64 10/62 36/61 +f 38/65 6/66 9/64 37/63 +f 39/67 7/68 6/66 38/65 +f 24/40 22/39 7/68 39/67 +f 40/69 41/70 42/71 43/72 +f 46/73 45/74 41/70 40/69 +f 49/75 48/76 51/77 50/78 +f 54/79 55/80 53/81 52/82 +f 56/83 57/84 55/80 54/79 +f 58/85 59/86 57/84 56/83 +f 5/87 4/88 59/86 58/85 +f 62/89 63/90 61/91 60/92 +f 64/93 65/94 63/90 62/89 +f 43/72 42/71 65/95 64/96 +f 1/97 3/98 4/88 5/87 +f 2/99 44/100 45/74 46/73 +f 66/101 47/102 48/76 49/75 +f 50/78 51/77 44/100 2/99 +f 52/82 53/81 47/102 66/101 +f 60/92 61/91 3/98 1/97 +f 86/103 105/104 67/105 +f 87/106 86/103 67/105 +f 88/107 87/106 67/105 +f 90/108 88/107 67/105 +f 91/109 90/108 67/105 +f 92/110 91/109 67/105 +f 93/111 92/110 67/105 +f 94/112 93/111 67/105 +f 95/113 94/112 67/105 +f 96/114 95/113 67/105 +f 97/115 96/114 67/105 +f 98/116 97/115 67/105 +f 99/117 98/116 67/105 +f 84/118 99/117 67/105 +f 85/119 84/118 67/105 +f 105/104 85/119 67/105 +f 102/120 89/121 73/122 70/123 +f 103/124 102/120 70/123 71/125 +f 104/126 103/124 71/125 72/127 +f 106/128 104/126 72/127 74/129 +f 107/130 106/128 74/129 75/131 +f 108/103 107/130 75/131 76/132 +f 109/108 108/103 76/132 77/133 +f 110/111 109/108 77/133 78/134 +f 111/114 110/111 78/134 79/135 +f 112/117 111/114 79/135 80/136 +f 113/104 112/117 80/136 81/137 +f 114/138 113/104 81/137 82/139 +f 115/140 114/138 82/139 83/141 +f 100/142 115/140 83/141 68/143 +f 101/144 100/142 68/143 69/145 +f 89/121 101/144 69/145 73/122 +f 70/123 73/122 105/104 86/103 +f 71/125 70/123 86/103 87/106 +f 72/127 71/125 87/106 88/107 +f 74/129 72/127 88/107 90/108 +f 75/131 74/129 90/108 91/109 +f 76/132 75/131 91/109 92/110 +f 77/133 76/132 92/110 93/111 +f 78/134 77/133 93/111 94/112 +f 79/135 78/134 94/112 95/113 +f 80/136 79/135 95/113 96/114 +f 81/137 80/136 96/114 97/115 +f 82/139 81/137 97/115 98/116 +f 83/141 82/139 98/116 99/117 +f 68/143 83/141 99/117 84/118 +f 69/145 68/143 84/118 85/119 +f 73/122 69/145 85/119 105/104 +f 64/96 62/89 89/121 102/120 +f 43/72 64/96 102/120 103/124 +f 40/69 43/72 103/124 104/126 +f 46/73 40/69 104/126 106/128 +f 2/99 46/73 106/128 107/130 +f 50/78 2/99 107/130 108/103 +f 49/75 50/78 108/103 109/108 +f 66/101 49/75 109/108 110/111 +f 52/82 66/101 110/111 111/114 +f 54/79 52/82 111/114 112/117 +f 56/83 54/79 112/117 113/104 +f 58/85 56/83 113/104 114/138 +f 5/87 58/85 114/138 115/140 +f 1/97 5/87 115/140 100/142 +f 60/92 1/97 100/142 101/144 +f 62/89 60/92 101/144 89/121 diff --git a/mods/pipeworks/models/pipeworks_pipe_3.obj b/mods/pipeworks/models/pipeworks_pipe_3.obj new file mode 100644 index 00000000..f126551d --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_3.obj @@ -0,0 +1,354 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-straight.blend' +# www.blender.org +mtllib pipeworks_pipe_3.mtl +o Cube.001 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +vt 0.750000 0.546875 +vt 0.687500 0.546875 +vt 0.687500 0.609375 +vt 0.750000 0.609375 +vt 0.625000 0.546875 +vt 0.625000 0.609375 +vt 0.562500 0.546875 +vt 0.562500 0.609375 +vt 0.500000 0.546875 +vt 0.500000 0.609375 +vt 0.437500 0.546875 +vt 0.437500 0.609375 +vt 0.375000 0.546875 +vt 0.375000 0.609375 +vt 0.312500 0.546875 +vt 0.312500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.125000 0.546875 +vt 0.125000 0.609375 +vt 0.062500 0.546875 +vt 0.062500 0.609375 +vt 0.000000 0.546875 +vt 0.000000 0.609375 +vt 1.000000 0.546875 +vt 0.937500 0.546875 +vt 0.937500 0.609375 +vt 1.000000 0.609375 +vt 0.875000 0.546875 +vt 0.875000 0.609375 +vt 0.812500 0.546875 +vt 0.812500 0.609375 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.515625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.875000 0.515625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.687500 0.015625 +vt 0.500000 0.515625 +vt 0.500000 0.015625 +vt 0.437500 0.515625 +vt 0.437500 0.015625 +vt 0.375000 0.515625 +vt 0.375000 0.015625 +vt 0.312500 0.515625 +vt 0.312500 0.015625 +vt 0.125000 0.515625 +vt 0.125000 0.015625 +vt 0.062500 0.515625 +vt 0.062500 0.015625 +vt 0.000000 0.515625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.515625 +usemtl None +s off +f 1/1 3/2 4/3 2/4 +f 3/2 5/5 6/6 4/3 +f 5/5 7/7 8/8 6/6 +f 7/7 9/9 10/10 8/8 +f 9/9 11/11 12/12 10/10 +f 11/11 13/13 14/14 12/12 +f 13/13 15/15 16/16 14/14 +f 15/15 17/17 18/18 16/16 +f 17/17 19/19 20/20 18/18 +f 19/19 21/21 22/22 20/20 +f 21/21 23/23 24/24 22/22 +f 23/23 25/25 26/26 24/24 +f 25/27 27/28 28/29 26/30 +f 27/28 29/31 30/32 28/29 +f 31/33 1/1 2/4 32/34 +f 29/31 31/33 32/34 30/32 +f 4/35 50/36 2/37 +f 1/38 49/39 3/40 +f 3/40 49/39 5/41 +f 5/41 49/39 7/42 +f 7/42 49/39 9/43 +f 9/43 49/39 11/44 +f 11/44 49/39 13/45 +f 13/45 49/39 15/46 +f 15/46 49/39 17/47 +f 17/47 49/39 19/48 +f 19/48 49/39 21/49 +f 21/49 49/39 23/50 +f 23/50 49/39 25/51 +f 25/51 49/39 27/52 +f 27/52 49/39 29/53 +f 29/53 49/39 31/54 +f 31/54 49/39 1/38 +f 2/37 50/36 32/55 +f 32/55 50/36 30/56 +f 30/56 50/36 28/57 +f 28/57 50/36 26/58 +f 26/58 50/36 24/59 +f 24/59 50/36 22/60 +f 22/60 50/36 20/61 +f 20/61 50/36 18/62 +f 18/62 50/36 16/63 +f 16/63 50/36 14/64 +f 14/64 50/36 12/65 +f 12/65 50/36 10/66 +f 10/66 50/36 8/67 +f 8/67 50/36 6/68 +f 6/68 50/36 4/35 +f 41/69 91/70 92/71 42/72 +f 81/73 83/74 100/75 +f 79/76 81/73 100/75 +f 77/77 79/76 100/75 +f 75/78 77/77 100/75 +f 73/79 75/78 100/75 +f 71/80 73/79 100/75 +f 69/81 71/80 100/75 +f 67/82 69/81 100/75 +f 65/83 67/82 100/75 +f 63/84 65/83 100/75 +f 61/85 63/84 100/75 +f 59/86 61/85 100/75 +f 57/87 59/86 100/75 +f 55/88 57/87 100/75 +f 85/89 55/88 100/75 +f 56/90 86/91 99/92 +f 58/93 56/90 99/92 +f 60/94 58/93 99/92 +f 62/95 60/94 99/92 +f 64/96 62/95 99/92 +f 66/97 64/96 99/92 +f 68/98 66/97 99/92 +f 70/99 68/98 99/92 +f 72/100 70/99 99/92 +f 74/101 72/100 99/92 +f 76/102 74/101 99/92 +f 78/103 76/102 99/92 +f 80/104 78/103 99/92 +f 82/105 80/104 99/92 +f 84/106 82/105 99/92 +f 86/91 84/106 99/92 +f 83/74 85/89 100/75 +f 58/22 57/21 55/19 56/20 +f 56/20 55/19 85/17 86/18 +f 60/24 59/23 57/21 58/22 +f 62/26 61/25 59/23 60/24 +f 64/29 63/28 61/27 62/30 +f 66/32 65/31 63/28 64/29 +f 68/34 67/33 65/31 66/32 +f 70/4 69/1 67/33 68/34 +f 72/3 71/2 69/1 70/4 +f 74/6 73/5 71/2 72/3 +f 76/8 75/7 73/5 74/6 +f 78/10 77/9 75/7 76/8 +f 80/12 79/11 77/9 78/10 +f 82/14 81/13 79/11 80/12 +f 84/16 83/15 81/13 82/14 +f 86/18 85/17 83/15 84/16 +f 36/107 51/108 87/109 37/110 +f 34/111 53/112 52/113 35/114 +f 47/115 97/116 98/117 48/118 +f 33/119 54/120 53/112 34/111 +f 35/114 52/113 51/108 36/107 +f 48/118 98/117 54/120 33/119 +f 46/121 96/122 97/116 47/115 +f 45/123 95/124 96/122 46/121 +f 44/125 94/126 95/124 45/123 +f 43/127 93/128 94/126 44/125 +f 42/72 92/71 93/128 43/127 +f 40/129 90/130 91/70 41/69 +f 39/131 89/132 90/130 40/129 +f 38/133 88/134 89/132 39/131 +f 37/110 87/109 88/135 38/136 diff --git a/mods/pipeworks/models/pipeworks_pipe_4.obj b/mods/pipeworks/models/pipeworks_pipe_4.obj new file mode 100644 index 00000000..0ef583f8 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_4.obj @@ -0,0 +1,478 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-2way-corner.blend' +# www.blender.org +mtllib pipeworks_pipe_4.mtl +o pipe.001_Cylinder.000 +v -0.024386 -0.024391 0.122598 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.024386 -0.024391 0.122598 +v -0.086808 -0.500000 -0.129917 +v -0.030483 -0.500000 -0.153247 +v -0.000000 -0.500000 0.000000 +v -0.129917 -0.500000 -0.086808 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.500000 0.030483 +v -0.129917 -0.500000 0.086808 +v -0.086808 -0.500000 0.129917 +v -0.030483 -0.500000 0.153248 +v 0.030483 -0.500000 0.153248 +v 0.086808 -0.500000 0.129917 +v 0.129917 -0.500000 0.086808 +v 0.153247 -0.500000 0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.129917 -0.500000 -0.086808 +v 0.086808 -0.500000 -0.129917 +v 0.030483 -0.500000 -0.153247 +v 0.086808 -0.468750 -0.129917 +v 0.030483 -0.468750 -0.153248 +v -0.000000 -0.468750 0.000000 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.468750 -0.030483 +v 0.153247 -0.468750 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.468750 -0.153248 +v -0.103934 -0.024391 -0.069446 +v -0.103934 -0.468750 -0.069446 +v -0.122598 -0.468750 -0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.024386 -0.024391 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.069446 -0.024391 -0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.103933 -0.468750 -0.069446 +v 0.069446 -0.468750 -0.103934 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.024386 -0.468750 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.468750 0.024386 +v 0.103934 -0.024391 0.069446 +v 0.103933 -0.468750 0.069447 +v 0.069446 -0.024391 0.103934 +v 0.069446 -0.468750 0.103934 +v -0.069446 -0.024391 0.103934 +v -0.069447 -0.468750 0.103934 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.468750 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.468750 0.024386 +v -0.041924 0.041589 0.103934 +v -0.041925 0.041589 -0.103934 +v -0.010062 0.009727 -0.122598 +v -0.079509 0.079173 -0.024386 +v -0.066311 0.065976 -0.069446 +v -0.024663 0.094826 -0.069446 +v -0.011464 0.062964 0.103934 +v -0.024662 0.094827 0.069446 +v -0.031805 0.112070 0.024386 +v -0.031805 0.112070 -0.024386 +v 0.005779 0.021334 -0.122598 +v -0.011464 0.062964 -0.103934 +v 0.005780 0.021334 0.122598 +v -0.079509 0.079173 0.024386 +v -0.066311 0.065976 0.069446 +v 0.468750 -0.024387 0.122599 +v 0.468750 0.024386 0.122599 +v 0.024391 0.024386 0.122598 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.000000 0.000001 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.500000 -0.153248 0.030483 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.086808 0.129918 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129918 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153247 0.030483 +v 0.500000 0.153247 -0.030482 +v 0.500000 0.129917 -0.086807 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.030483 -0.153247 +v 0.468750 -0.000000 -0.000000 +v 0.468750 0.129917 -0.086807 +v 0.468750 0.153247 -0.030482 +v 0.468750 0.153247 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129918 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129918 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.024391 -0.103934 -0.069446 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.024391 -0.122598 -0.024386 +v 0.468750 -0.024387 -0.122598 +v 0.468750 -0.069447 -0.103933 +v 0.024391 -0.069446 -0.103934 +v 0.468750 0.103933 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.024391 0.069446 -0.103934 +v 0.024391 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024391 0.122598 -0.024386 +v 0.468750 0.122598 -0.024386 +v 0.024391 0.122598 0.024386 +v 0.468750 0.122598 0.024387 +v 0.024391 0.103934 0.069446 +v 0.468750 0.103933 0.069447 +v 0.024391 0.069446 0.103934 +v 0.468750 0.069446 0.103934 +v 0.024391 -0.069446 0.103934 +v 0.468750 -0.069447 0.103934 +v 0.024391 -0.103934 0.069446 +v 0.468750 -0.103934 0.069447 +v 0.024391 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.024390 0.103934 -0.069446 +v -0.020763 -0.005780 0.122598 +v -0.111499 0.031804 0.024386 +v -0.094256 0.024662 0.069446 +v -0.062393 0.011464 0.103934 +v -0.062393 0.011464 -0.103934 +v -0.020763 -0.005780 -0.122598 +v -0.111499 0.031804 -0.024386 +v -0.094256 0.024662 -0.069446 +v -0.010062 0.009727 0.122598 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.201671 0.341280 +vt 0.315528 0.341280 +vt 0.307071 0.384726 +vt 0.531250 0.296875 +vt 0.531250 0.343750 +vt 0.484375 0.343750 +vt 0.484375 0.296875 +vt 0.437500 0.343750 +vt 0.437500 0.296875 +vt 0.390625 0.296875 +vt 0.390625 0.343750 +vt 0.343750 0.343750 +vt 0.343750 0.296875 +vt 0.578125 0.296875 +vt 0.578125 0.343750 +vt 0.625000 0.296875 +vt 0.625000 0.343750 +vt 0.671875 0.296875 +vt 0.671875 0.343750 +vt 0.801371 0.340121 +vt 0.695971 0.383568 +vt 0.687514 0.340121 +vt 0.720953 0.419768 +vt 0.757935 0.446864 +vt 0.801382 0.453989 +vt 0.625000 0.484375 +vt 0.625000 0.437500 +vt 0.671875 0.437500 +vt 0.671875 0.484375 +vt 0.625000 0.390625 +vt 0.671875 0.390625 +vt 0.578125 0.390625 +vt 0.531250 0.390625 +vt 0.484375 0.390625 +vt 0.437500 0.390625 +vt 0.282090 0.420927 +vt 0.245108 0.448023 +vt 0.201660 0.455148 +vt 0.390625 0.390625 +vt 0.343750 0.390625 +vt 0.390625 0.437500 +vt 0.343750 0.437500 +vt 0.343750 0.484375 +vt 0.390625 0.484375 +vt 0.437500 0.437500 +vt 0.437500 0.484375 +vt 0.484375 0.437500 +vt 0.484375 0.484375 +vt 0.531250 0.437500 +vt 0.531250 0.484375 +vt 0.578125 0.484375 +vt 0.578125 0.437500 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 +f 8/8 5/5 7/7 +f 9/9 8/8 7/7 +f 10/10 9/9 7/7 +f 11/11 10/10 7/7 +f 12/12 11/11 7/7 +f 13/13 12/12 7/7 +f 14/14 13/13 7/7 +f 15/15 14/14 7/7 +f 16/16 15/15 7/7 +f 17/17 16/16 7/7 +f 18/18 17/17 7/7 +f 19/19 18/18 7/7 +f 20/20 19/19 7/7 +f 21/21 20/20 7/7 +f 22/22 23/23 24/24 +f 25/25 22/22 24/24 +f 26/26 25/25 24/24 +f 27/27 26/26 24/24 +f 28/28 27/27 24/24 +f 29/29 28/28 24/24 +f 30/30 29/29 24/24 +f 31/31 30/30 24/24 +f 32/32 31/31 24/24 +f 33/33 32/32 24/24 +f 34/34 33/33 24/24 +f 35/35 34/34 24/24 +f 36/36 35/35 24/24 +f 37/37 36/36 24/24 +f 38/38 37/37 24/24 +f 23/23 38/38 24/24 +f 6/6 21/21 7/7 +f 25/39 19/40 20/41 22/42 +f 22/42 20/41 21/43 23/44 +f 26/45 18/46 19/40 25/39 +f 27/47 17/48 18/46 26/45 +f 28/49 16/50 17/51 27/52 +f 29/53 15/54 16/50 28/49 +f 30/55 14/56 15/54 29/53 +f 31/57 13/58 14/56 30/55 +f 32/59 12/60 13/58 31/57 +f 33/61 11/62 12/60 32/59 +f 34/63 10/64 11/62 33/61 +f 35/65 9/66 10/64 34/63 +f 36/67 8/68 9/66 35/65 +f 37/69 5/70 8/68 36/67 +f 38/71 6/72 5/70 37/69 +f 23/44 21/43 6/72 38/71 +f 39/73 40/74 41/75 42/76 +f 43/77 44/78 45/79 46/80 +f 47/81 48/82 49/83 50/84 +f 51/85 52/86 44/78 43/77 +f 46/80 45/79 40/74 39/73 +f 50/84 49/83 52/86 51/85 +f 53/87 54/88 48/82 47/81 +f 55/89 56/90 54/88 53/87 +f 57/91 58/92 56/90 55/89 +f 59/93 60/94 58/92 57/91 +f 4/4 3/3 60/94 59/93 +f 2/2 1/1 61/95 62/96 +f 63/97 64/98 62/96 61/95 +f 65/99 66/100 64/98 63/97 +f 42/76 41/75 66/101 65/102 +f 85/5 86/6 87/7 +f 88/8 85/5 87/7 +f 89/9 88/8 87/7 +f 90/10 89/9 87/7 +f 91/11 90/10 87/7 +f 92/12 91/11 87/7 +f 93/13 92/12 87/7 +f 94/14 93/13 87/7 +f 95/15 94/14 87/7 +f 96/16 95/15 87/7 +f 97/17 96/16 87/7 +f 98/18 97/17 87/7 +f 99/19 98/18 87/7 +f 100/20 99/19 87/7 +f 101/21 100/20 87/7 +f 102/22 103/23 104/24 +f 105/25 102/22 104/24 +f 106/26 105/25 104/24 +f 107/27 106/26 104/24 +f 108/28 107/27 104/24 +f 109/29 108/28 104/24 +f 110/30 109/29 104/24 +f 111/31 110/30 104/24 +f 112/32 111/31 104/24 +f 113/33 112/32 104/24 +f 114/34 113/33 104/24 +f 115/35 114/34 104/24 +f 116/36 115/35 104/24 +f 117/37 116/36 104/24 +f 118/38 117/37 104/24 +f 103/23 118/38 104/24 +f 86/6 101/21 87/7 +f 105/39 99/40 100/41 102/42 +f 102/42 100/41 101/43 103/44 +f 106/45 98/46 99/40 105/39 +f 107/47 97/48 98/46 106/45 +f 108/49 96/50 97/51 107/52 +f 109/53 95/54 96/50 108/49 +f 110/55 94/56 95/54 109/53 +f 111/57 93/58 94/56 110/55 +f 112/59 92/60 93/58 111/57 +f 113/61 91/62 92/60 112/59 +f 114/63 90/64 91/62 113/61 +f 115/65 89/66 90/64 114/63 +f 116/67 88/68 89/66 115/65 +f 117/69 85/70 88/68 116/67 +f 118/71 86/72 85/70 117/69 +f 103/44 101/43 86/72 118/71 +f 119/73 120/74 121/75 122/76 +f 125/80 124/79 120/74 119/73 +f 128/84 127/83 130/86 129/85 +f 133/89 134/90 132/88 131/87 +f 135/91 136/92 134/90 133/89 +f 137/93 138/94 136/92 135/91 +f 84/4 83/3 138/94 137/93 +f 141/97 142/98 140/96 139/95 +f 143/99 144/100 142/98 141/97 +f 122/76 121/75 144/101 143/102 +f 4/1 82/2 83/3 84/4 +f 51/77 123/78 124/79 125/80 +f 145/81 126/82 127/83 128/84 +f 129/85 130/86 123/78 51/77 +f 131/87 132/88 126/82 145/81 +f 139/95 140/96 82/2 4/1 +f 51/103 43/104 151/105 +f 65/106 147/107 152/108 42/109 +f 42/109 152/108 153/110 39/111 +f 46/112 39/111 153/110 150/113 +f 46/112 150/113 151/114 43/115 +f 65/106 63/116 148/117 147/107 +f 63/116 61/118 149/119 148/117 +f 61/118 1/120 146/121 149/119 +f 4/122 146/123 1/124 +f 4/122 154/125 146/123 +f 4/122 79/126 154/125 +f 79/126 4/122 84/127 +f 137/128 73/129 79/130 84/131 +f 73/129 67/132 154/133 79/130 +f 149/119 146/121 154/133 67/132 +f 81/134 148/117 149/119 67/132 +f 80/135 147/107 148/117 81/134 +f 80/135 70/136 152/108 147/107 +f 70/136 71/137 153/110 152/108 +f 51/103 151/105 69/138 +f 51/103 69/138 77/139 +f 77/139 129/140 51/103 +f 150/113 68/141 69/142 151/114 +f 78/143 77/144 69/142 68/141 +f 68/141 150/113 153/110 71/137 +f 129/145 77/144 78/143 128/146 +f 78/143 68/141 71/137 72/147 +f 78/143 72/147 145/148 128/146 +f 76/149 72/147 71/137 70/136 +f 76/149 131/150 145/148 72/147 +f 80/135 75/151 76/149 70/136 +f 133/152 131/150 76/149 75/151 +f 135/153 133/152 75/151 74/154 +f 75/151 80/135 81/134 74/154 +f 74/154 81/134 67/132 73/129 +f 137/128 135/153 74/154 73/129 diff --git a/mods/pipeworks/models/pipeworks_pipe_5.obj b/mods/pipeworks/models/pipeworks_pipe_5.obj new file mode 100644 index 00000000..abf8b97b --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_5.obj @@ -0,0 +1,542 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-3way-corner.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.024391 -0.024386 +v -0.129917 -0.500000 0.086808 +v -0.153247 -0.500000 0.030483 +v 0.000000 -0.500000 -0.000000 +v -0.086808 -0.500000 0.129917 +v -0.030483 -0.500000 0.153248 +v 0.030483 -0.500000 0.153248 +v 0.086808 -0.500000 0.129917 +v 0.129917 -0.500000 0.086808 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.500000 -0.030483 +v 0.129917 -0.500000 -0.086808 +v 0.086808 -0.500000 -0.129917 +v 0.030483 -0.500000 -0.153247 +v -0.030483 -0.500000 -0.153248 +v -0.086808 -0.500000 -0.129917 +v -0.129917 -0.500000 -0.086808 +v -0.153247 -0.500000 -0.030483 +v -0.129917 -0.468750 -0.086808 +v -0.153248 -0.468750 -0.030483 +v 0.000000 -0.468750 -0.000000 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.468750 0.030483 +v -0.069446 -0.024391 0.103934 +v -0.069446 -0.468750 0.103934 +v -0.024386 -0.468750 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.468750 0.024386 +v -0.103933 -0.468750 0.069446 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.024386 -0.024391 -0.122598 +v -0.024386 -0.468750 -0.122598 +v 0.024386 -0.024391 -0.122598 +v 0.024386 -0.468750 -0.122598 +v 0.069446 -0.024391 -0.103934 +v 0.069447 -0.468750 -0.103933 +v 0.103934 -0.024391 -0.069446 +v 0.103934 -0.468750 -0.069446 +v 0.103934 -0.024391 0.069446 +v 0.103934 -0.468750 0.069447 +v 0.069446 -0.024391 0.103934 +v 0.069446 -0.468750 0.103934 +v 0.024386 -0.024391 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.500000 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.500000 0.000000 0.000000 +v 0.500000 -0.086808 0.129917 +v 0.500000 -0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.500000 0.086808 0.129917 +v 0.500000 0.129917 0.086808 +v 0.500000 0.153248 0.030483 +v 0.500000 0.153248 -0.030483 +v 0.500000 0.129917 -0.086808 +v 0.500000 0.086808 -0.129917 +v 0.500000 0.030483 -0.153247 +v 0.500000 -0.030483 -0.153247 +v 0.500000 -0.086808 -0.129917 +v 0.500000 -0.129917 -0.086807 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.129917 -0.086807 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.000000 0.000000 +v 0.468750 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.468750 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.468750 -0.153248 0.030483 +v 0.024386 -0.069446 0.103934 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.024386 0.122598 +v 0.024386 -0.122598 0.024386 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.103934 0.069447 +v 0.024386 -0.103934 0.069446 +v 0.024386 -0.069446 -0.103934 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.024386 -0.103934 -0.069446 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.024386 -0.122598 +v 0.024386 0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.024386 0.069446 -0.103934 +v 0.468750 0.069446 -0.103933 +v 0.024386 0.103934 -0.069446 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.103934 0.069447 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.122598 0.024386 -0.024391 +v -0.129917 -0.086808 -0.500000 +v -0.153247 -0.030483 -0.500000 +v 0.000001 0.000000 -0.500000 +v -0.086807 -0.129917 -0.500000 +v -0.030482 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.500000 +v 0.086808 -0.129917 -0.500000 +v 0.129918 -0.086808 -0.500000 +v 0.153248 -0.030483 -0.500000 +v 0.153248 0.030483 -0.500000 +v 0.129918 0.086808 -0.500000 +v 0.086808 0.129917 -0.500000 +v 0.030483 0.153247 -0.500000 +v -0.030482 0.153247 -0.500000 +v -0.086807 0.129917 -0.500000 +v -0.129917 0.086808 -0.500000 +v -0.153247 0.030483 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.153247 0.030483 -0.468750 +v 0.000000 0.000000 -0.468750 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.468750 +v -0.069446 -0.103934 -0.024391 +v -0.069446 -0.103934 -0.468750 +v -0.024386 -0.122598 -0.468750 +v -0.024386 -0.122598 -0.024391 +v -0.122598 -0.024387 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.103934 -0.069446 -0.024391 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v -0.103934 0.069446 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.122598 0.024386 -0.468750 +v -0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.468750 +v 0.024386 0.122598 -0.024391 +v 0.024387 0.122598 -0.468750 +v 0.069446 0.103934 -0.024391 +v 0.069447 0.103933 -0.468750 +v 0.103934 0.069446 -0.024391 +v 0.103934 0.069446 -0.468750 +v 0.103934 -0.069446 -0.024391 +v 0.103934 -0.069447 -0.468750 +v 0.069446 -0.103934 -0.024391 +v 0.069447 -0.103934 -0.468750 +v 0.024386 -0.122598 -0.024391 +v 0.024387 -0.122598 -0.468750 +v -0.069446 0.103934 -0.024390 +v 0.024386 0.024386 0.122594 +v 0.024386 0.069446 0.103930 +v 0.024386 0.103933 0.069442 +v 0.024386 0.122598 0.024382 +v -0.028389 0.109793 0.028385 +v -0.109793 0.028389 0.028387 +v -0.028389 0.028389 0.109791 +v -0.073974 0.029365 0.073972 +v -0.073974 0.070067 0.028386 +v -0.028389 0.070067 0.073971 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.934657 0.863213 +vt 0.901601 0.899049 +vt 0.865820 0.861492 +vt 0.925541 0.762929 +vt 0.899262 0.810455 +vt 0.865821 0.758725 +vt 0.832379 0.810455 +vt 0.806102 0.762929 +vt 0.959958 0.821457 +vt 0.796982 0.863213 +vt 0.973651 0.780138 +vt 0.830039 0.899049 +vt 0.865820 0.923510 +vt 0.757989 0.745545 +vt 0.793772 0.721082 +vt 0.757989 0.780138 +vt 0.937873 0.721082 +vt 0.973654 0.745543 +vt 0.771681 0.821457 +vt 0.840522 0.707845 +vt 0.891124 0.707845 +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 +f 8/8 5/5 7/7 +f 9/9 8/8 7/7 +f 10/10 9/9 7/7 +f 11/11 10/10 7/7 +f 12/12 11/11 7/7 +f 13/13 12/12 7/7 +f 14/14 13/13 7/7 +f 15/15 14/14 7/7 +f 16/16 15/15 7/7 +f 17/17 16/16 7/7 +f 18/18 17/17 7/7 +f 19/19 18/18 7/7 +f 20/20 19/19 7/7 +f 21/21 20/20 7/7 +f 22/22 23/23 24/24 +f 25/25 22/22 24/24 +f 26/26 25/25 24/24 +f 27/27 26/26 24/24 +f 28/28 27/27 24/24 +f 29/29 28/28 24/24 +f 30/30 29/29 24/24 +f 31/31 30/30 24/24 +f 32/32 31/31 24/24 +f 33/33 32/32 24/24 +f 34/34 33/33 24/24 +f 35/35 34/34 24/24 +f 36/36 35/35 24/24 +f 37/37 36/36 24/24 +f 38/38 37/37 24/24 +f 23/23 38/38 24/24 +f 6/6 21/21 7/7 +f 25/39 19/40 20/41 22/42 +f 22/42 20/41 21/43 23/44 +f 26/45 18/46 19/40 25/39 +f 27/47 17/48 18/46 26/45 +f 28/49 16/50 17/51 27/52 +f 29/53 15/54 16/50 28/49 +f 30/55 14/56 15/54 29/53 +f 31/57 13/58 14/56 30/55 +f 32/59 12/60 13/58 31/57 +f 33/61 11/62 12/60 32/59 +f 34/63 10/64 11/62 33/61 +f 35/65 9/66 10/64 34/63 +f 36/67 8/68 9/66 35/65 +f 37/69 5/70 8/68 36/67 +f 38/71 6/72 5/70 37/69 +f 23/44 21/43 6/72 38/71 +f 39/73 40/74 41/75 42/76 +f 43/77 44/78 45/79 46/80 +f 47/81 48/82 49/83 50/84 +f 51/85 52/86 44/78 43/77 +f 46/80 45/79 40/74 39/73 +f 50/84 49/83 52/86 51/85 +f 53/87 54/88 48/82 47/81 +f 55/89 56/90 54/88 53/87 +f 57/91 58/92 56/90 55/89 +f 59/93 60/94 58/92 57/91 +f 4/4 3/3 60/94 59/93 +f 2/2 1/1 61/95 62/96 +f 63/97 64/98 62/96 61/95 +f 65/99 66/100 64/98 63/97 +f 42/76 41/75 66/101 65/102 +f 69/5 70/6 71/7 +f 72/8 69/5 71/7 +f 73/9 72/8 71/7 +f 74/10 73/9 71/7 +f 75/11 74/10 71/7 +f 76/12 75/11 71/7 +f 77/13 76/12 71/7 +f 78/14 77/13 71/7 +f 79/15 78/14 71/7 +f 80/16 79/15 71/7 +f 81/17 80/16 71/7 +f 82/18 81/17 71/7 +f 83/19 82/18 71/7 +f 84/20 83/19 71/7 +f 85/21 84/20 71/7 +f 86/22 87/23 88/24 +f 89/25 86/22 88/24 +f 90/26 89/25 88/24 +f 91/27 90/26 88/24 +f 92/28 91/27 88/24 +f 93/29 92/28 88/24 +f 94/30 93/29 88/24 +f 95/31 94/30 88/24 +f 96/32 95/31 88/24 +f 97/33 96/32 88/24 +f 98/34 97/33 88/24 +f 99/35 98/34 88/24 +f 100/36 99/35 88/24 +f 101/37 100/36 88/24 +f 102/38 101/37 88/24 +f 87/23 102/38 88/24 +f 70/6 85/21 71/7 +f 89/39 83/40 84/41 86/42 +f 86/42 84/41 85/43 87/44 +f 90/45 82/46 83/40 89/39 +f 91/47 81/48 82/46 90/45 +f 92/49 80/50 81/51 91/52 +f 93/53 79/54 80/50 92/49 +f 94/55 78/56 79/54 93/53 +f 95/57 77/58 78/56 94/55 +f 96/59 76/60 77/58 95/57 +f 97/61 75/62 76/60 96/59 +f 98/63 74/64 75/62 97/61 +f 99/65 73/66 74/64 98/63 +f 100/67 72/68 73/66 99/65 +f 101/69 69/70 72/68 100/67 +f 102/71 70/72 69/70 101/69 +f 87/44 85/43 70/72 102/71 +f 106/77 107/78 108/79 109/80 +f 110/81 111/82 112/83 113/84 +f 109/80 108/79 104/74 103/73 +f 118/91 119/92 117/90 116/89 +f 120/93 121/94 119/92 118/91 +f 128/5 129/6 130/7 +f 131/8 128/5 130/7 +f 132/9 131/8 130/7 +f 133/10 132/9 130/7 +f 134/11 133/10 130/7 +f 135/12 134/11 130/7 +f 136/13 135/12 130/7 +f 137/14 136/13 130/7 +f 138/15 137/14 130/7 +f 139/16 138/15 130/7 +f 140/17 139/16 130/7 +f 141/18 140/17 130/7 +f 142/19 141/18 130/7 +f 143/20 142/19 130/7 +f 144/21 143/20 130/7 +f 145/22 146/23 147/24 +f 148/25 145/22 147/24 +f 149/26 148/25 147/24 +f 150/27 149/26 147/24 +f 151/28 150/27 147/24 +f 152/29 151/28 147/24 +f 153/30 152/29 147/24 +f 154/31 153/30 147/24 +f 155/32 154/31 147/24 +f 156/33 155/32 147/24 +f 157/34 156/33 147/24 +f 158/35 157/34 147/24 +f 159/36 158/35 147/24 +f 160/37 159/36 147/24 +f 161/38 160/37 147/24 +f 146/23 161/38 147/24 +f 129/6 144/21 130/7 +f 148/39 142/40 143/41 145/42 +f 145/42 143/41 144/43 146/44 +f 149/45 141/46 142/40 148/39 +f 150/47 140/48 141/46 149/45 +f 151/49 139/50 140/51 150/52 +f 152/53 138/54 139/50 151/49 +f 153/55 137/56 138/54 152/53 +f 154/57 136/58 137/56 153/55 +f 155/59 135/60 136/58 154/57 +f 156/61 134/62 135/60 155/59 +f 157/63 133/64 134/62 156/61 +f 158/65 132/66 133/64 157/63 +f 159/67 131/68 132/66 158/65 +f 160/69 128/70 131/68 159/67 +f 161/71 129/72 128/70 160/69 +f 146/44 144/43 129/72 161/71 +f 162/73 163/74 164/75 165/76 +f 168/80 167/79 163/74 162/73 +f 171/84 170/83 173/86 172/85 +f 176/89 177/90 175/88 174/87 +f 178/91 179/92 177/90 176/89 +f 180/93 181/94 179/92 178/91 +f 127/4 126/3 181/94 180/93 +f 184/97 185/98 183/96 182/95 +f 186/99 187/100 185/98 184/97 +f 165/76 164/75 187/101 186/102 +f 191/103 192/104 193/105 +f 195/106 198/107 196/108 +f 198/107 193/105 197/109 +f 198/107 197/109 196/108 +f 196/108 197/109 194/110 +f 190/111 191/103 198/107 +f 193/105 188/112 197/109 +f 193/105 198/107 191/103 +f 195/106 190/111 198/107 +f 190/111 195/106 189/113 +f 192/1 67/2 68/3 176/4 +f 103/73 104/74 105/75 65/76 +f 186/85 114/86 107/78 106/77 +f 113/84 112/83 114/86 186/85 +f 55/87 115/88 111/82 110/81 +f 116/89 117/90 115/88 55/87 +f 176/4 68/3 121/94 120/93 +f 191/95 122/96 67/2 192/1 +f 190/97 123/98 122/96 191/95 +f 189/99 124/100 123/98 190/97 +f 65/76 105/75 124/101 189/102 +f 4/1 125/2 126/3 127/4 +f 51/77 166/78 167/79 168/80 +f 188/81 169/82 170/83 171/84 +f 172/85 173/86 166/78 51/77 +f 174/87 175/88 169/82 188/81 +f 182/95 183/96 125/2 4/1 +f 174/114 192/104 176/115 +f 51/116 43/117 172/118 +f 42/119 65/120 189/113 +f 192/104 174/114 193/105 +f 188/112 193/105 174/114 +f 188/112 171/121 197/109 +f 46/122 39/123 196/108 +f 195/106 196/108 39/123 +f 194/110 46/122 196/108 +f 194/110 197/109 171/121 +f 171/121 172/118 194/110 +f 43/117 194/110 172/118 +f 46/122 194/110 43/117 +f 39/123 42/119 195/106 +f 189/113 195/106 42/119 diff --git a/mods/pipeworks/models/pipeworks_pipe_6.obj b/mods/pipeworks/models/pipeworks_pipe_6.obj new file mode 100644 index 00000000..0744c453 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_6.obj @@ -0,0 +1,499 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-3way.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 157/2 158/3 108/138 +f 147/5 149/6 166/7 +f 145/8 147/5 166/7 +f 143/9 145/8 166/7 +f 141/10 143/9 166/7 +f 139/11 141/10 166/7 +f 137/12 139/11 166/7 +f 135/13 137/12 166/7 +f 133/14 135/13 166/7 +f 131/15 133/14 166/7 +f 129/16 131/15 166/7 +f 127/17 129/16 166/7 +f 125/18 127/17 166/7 +f 123/19 125/18 166/7 +f 121/20 123/19 166/7 +f 151/21 121/20 166/7 +f 122/22 152/23 165/24 +f 124/25 122/22 165/24 +f 126/26 124/25 165/24 +f 128/27 126/26 165/24 +f 130/28 128/27 165/24 +f 132/29 130/28 165/24 +f 134/30 132/29 165/24 +f 136/31 134/30 165/24 +f 138/32 136/31 165/24 +f 140/33 138/32 165/24 +f 142/34 140/33 165/24 +f 144/35 142/34 165/24 +f 146/36 144/35 165/24 +f 148/37 146/36 165/24 +f 150/38 148/37 165/24 +f 152/23 150/38 165/24 +f 149/6 151/21 166/7 +f 124/39 123/40 121/41 122/42 +f 122/42 121/41 151/43 152/44 +f 126/45 125/46 123/40 124/39 +f 128/47 127/48 125/46 126/45 +f 130/49 129/50 127/51 128/52 +f 132/53 131/54 129/50 130/49 +f 134/55 133/56 131/54 132/53 +f 136/57 135/58 133/56 134/55 +f 138/59 137/60 135/58 136/57 +f 140/61 139/62 137/60 138/59 +f 142/63 141/64 139/62 140/61 +f 144/65 143/66 141/64 142/63 +f 146/67 145/68 143/66 144/65 +f 148/69 147/70 145/68 146/67 +f 150/71 149/72 147/70 148/69 +f 152/44 151/43 149/72 150/71 +f 102/139 117/74 153/75 103/140 +f 100/141 119/78 118/79 101/142 +f 113/143 163/82 164/83 114/144 +f 99/145 120/86 119/78 100/141 +f 101/142 118/79 117/74 102/139 +f 114/144 164/83 120/86 99/145 +f 112/146 162/88 163/82 113/143 +f 111/147 161/90 162/88 112/146 +f 110/148 160/92 161/90 111/147 +f 109/149 159/94 160/92 110/148 +f 108/138 158/3 159/94 109/149 +f 106/150 156/96 157/2 107/137 +f 105/151 155/98 156/96 106/150 +f 104/152 154/100 155/98 105/151 +f 103/140 153/75 154/101 104/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_7.obj b/mods/pipeworks/models/pipeworks_pipe_7.obj new file mode 100644 index 00000000..d2993614 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_7.obj @@ -0,0 +1,629 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-4way-corner.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.122598 -0.024387 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.086807 0.129917 -0.500000 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.500000 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.500000 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.500000 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.500000 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.500000 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.024386 -0.122598 -0.468750 +v 0.024387 -0.122598 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.069447 0.103933 -0.468750 +v 0.024387 0.122598 -0.468750 +v -0.024386 0.122598 -0.468750 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000001 -0.000000 -0.500000 +v 0.024386 -0.122598 -0.024391 +v 0.069446 -0.103934 -0.024391 +v 0.103934 -0.069446 -0.024391 +v 0.122598 -0.024386 -0.024391 +v 0.122598 0.024386 -0.024391 +v 0.103934 0.069446 -0.024391 +v 0.069446 0.103934 -0.024391 +v 0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.024391 +v -0.103934 0.069446 -0.024391 +v -0.069446 0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.069446 -0.103934 -0.024391 +v -0.024386 -0.122598 -0.024391 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 157/2 158/3 108/138 +f 147/5 149/6 166/7 +f 145/8 147/5 166/7 +f 143/9 145/8 166/7 +f 141/10 143/9 166/7 +f 139/11 141/10 166/7 +f 137/12 139/11 166/7 +f 135/13 137/12 166/7 +f 133/14 135/13 166/7 +f 131/15 133/14 166/7 +f 129/16 131/15 166/7 +f 127/17 129/16 166/7 +f 125/18 127/17 166/7 +f 123/19 125/18 166/7 +f 121/20 123/19 166/7 +f 151/21 121/20 166/7 +f 122/22 152/23 165/24 +f 124/25 122/22 165/24 +f 126/26 124/25 165/24 +f 128/27 126/26 165/24 +f 130/28 128/27 165/24 +f 132/29 130/28 165/24 +f 134/30 132/29 165/24 +f 136/31 134/30 165/24 +f 138/32 136/31 165/24 +f 140/33 138/32 165/24 +f 142/34 140/33 165/24 +f 144/35 142/34 165/24 +f 146/36 144/35 165/24 +f 148/37 146/36 165/24 +f 150/38 148/37 165/24 +f 152/23 150/38 165/24 +f 149/6 151/21 166/7 +f 124/39 123/40 121/41 122/42 +f 122/42 121/41 151/43 152/44 +f 126/45 125/46 123/40 124/39 +f 128/47 127/48 125/46 126/45 +f 130/49 129/50 127/51 128/52 +f 132/53 131/54 129/50 130/49 +f 134/55 133/56 131/54 132/53 +f 136/57 135/58 133/56 134/55 +f 138/59 137/60 135/58 136/57 +f 140/61 139/62 137/60 138/59 +f 142/63 141/64 139/62 140/61 +f 144/65 143/66 141/64 142/63 +f 146/67 145/68 143/66 144/65 +f 148/69 147/70 145/68 146/67 +f 150/71 149/72 147/70 148/69 +f 152/44 151/43 149/72 150/71 +f 102/139 117/74 153/75 103/140 +f 100/141 119/78 118/79 101/142 +f 113/143 163/82 164/83 114/144 +f 99/145 120/86 119/78 100/141 +f 101/142 118/79 117/74 102/139 +f 114/144 164/83 120/86 99/145 +f 112/146 162/88 163/82 113/143 +f 111/147 161/90 162/88 112/146 +f 110/148 160/92 161/90 111/147 +f 109/149 159/94 160/92 110/148 +f 108/138 158/3 159/94 109/149 +f 106/150 156/96 157/2 107/137 +f 105/151 155/98 156/96 106/150 +f 104/152 154/100 155/98 105/151 +f 103/140 153/75 154/101 104/153 +f 220/1 207/2 208/3 221/4 +f 197/5 199/6 216/7 +f 195/8 197/5 216/7 +f 193/9 195/8 216/7 +f 191/10 193/9 216/7 +f 189/11 191/10 216/7 +f 187/12 189/11 216/7 +f 185/13 187/12 216/7 +f 183/14 185/13 216/7 +f 181/15 183/14 216/7 +f 179/16 181/15 216/7 +f 177/17 179/16 216/7 +f 175/18 177/17 216/7 +f 173/19 175/18 216/7 +f 171/20 173/19 216/7 +f 201/21 171/20 216/7 +f 172/22 202/23 215/24 +f 174/25 172/22 215/24 +f 176/26 174/25 215/24 +f 178/27 176/26 215/24 +f 180/28 178/27 215/24 +f 182/29 180/28 215/24 +f 184/30 182/29 215/24 +f 186/31 184/30 215/24 +f 188/32 186/31 215/24 +f 190/33 188/32 215/24 +f 192/34 190/33 215/24 +f 194/35 192/34 215/24 +f 196/36 194/35 215/24 +f 198/37 196/36 215/24 +f 200/38 198/37 215/24 +f 202/23 200/38 215/24 +f 199/6 201/21 216/7 +f 174/39 173/40 171/41 172/42 +f 172/42 171/41 201/43 202/44 +f 176/45 175/46 173/40 174/39 +f 178/47 177/48 175/46 176/45 +f 180/49 179/50 177/51 178/52 +f 182/53 181/54 179/50 180/49 +f 184/55 183/56 181/54 182/53 +f 186/57 185/58 183/56 184/55 +f 188/59 187/60 185/58 186/57 +f 190/61 189/62 187/60 188/59 +f 192/63 191/64 189/62 190/61 +f 194/65 193/66 191/64 192/63 +f 196/67 195/68 193/66 194/65 +f 198/69 197/70 195/68 196/67 +f 200/71 199/72 197/70 198/69 +f 202/44 201/43 199/72 200/71 +f 231/73 167/74 203/75 232/76 +f 229/77 169/78 168/79 228/80 +f 227/81 213/82 214/83 226/84 +f 230/85 170/86 169/78 229/77 +f 228/80 168/79 167/74 231/73 +f 226/84 214/83 170/86 230/85 +f 225/87 212/88 213/82 227/81 +f 224/89 211/90 212/88 225/87 +f 223/91 210/92 211/90 224/89 +f 222/93 209/94 210/92 223/91 +f 221/4 208/3 209/94 222/93 +f 219/95 206/96 207/2 220/1 +f 218/97 205/98 206/96 219/95 +f 217/99 204/100 205/98 218/97 +f 232/76 203/75 204/101 217/102 diff --git a/mods/pipeworks/models/pipeworks_pipe_8.obj b/mods/pipeworks/models/pipeworks_pipe_8.obj new file mode 100644 index 00000000..5dc58f9f --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_8.obj @@ -0,0 +1,631 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-4way.blend' +# www.blender.org +mtllib pipeworks_pipe_8.mtl +o Cube.000 +v 0.069446 -0.468750 -0.103934 +v 0.103933 -0.468750 -0.069446 +v 0.122598 -0.468750 -0.024386 +v 0.122598 -0.468750 0.024386 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153247 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153247 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129918 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153248 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153248 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.129918 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030482 -0.500000 -0.153248 +v 0.030482 -0.468750 -0.153248 +v 0.086807 -0.500000 -0.129917 +v 0.086807 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153247 -0.500000 -0.030483 +v 0.153247 -0.468750 -0.030483 +v 0.153247 -0.500000 0.030483 +v 0.153247 -0.468750 0.030483 +v 0.024386 -0.468750 -0.122598 +v -0.024387 -0.468750 -0.122598 +v -0.069447 -0.468750 -0.103934 +v -0.103934 -0.468750 -0.069446 +v -0.122599 -0.468750 -0.024386 +v -0.122599 -0.468750 0.024386 +v -0.103934 -0.468750 0.069446 +v -0.069447 -0.468750 0.103934 +v -0.024387 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103933 +v 0.103933 -0.468750 0.069446 +v -0.000000 -0.468750 -0.000000 +v -0.000000 -0.500000 -0.000000 +v -0.024386 -0.024391 -0.122598 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 -0.069446 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v -0.103934 -0.024391 0.069446 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v 0.024386 -0.024391 0.122598 +v 0.103934 -0.024391 0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 -0.069446 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.024391 0.024386 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v -0.024386 0.024390 -0.122598 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 -0.069446 +v -0.122598 0.024390 -0.024386 +v -0.122598 0.024390 0.024386 +v -0.103934 0.024390 0.069446 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024389 0.122598 +v 0.024386 0.024389 0.122598 +v 0.103934 0.024390 0.069446 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 -0.069446 +v 0.122598 0.024390 -0.024386 +v 0.122598 0.024390 0.024386 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024390 -0.122598 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 -0.030483 +v 0.500000 -0.153248 -0.030483 +v 0.468750 -0.129917 -0.086808 +v 0.500000 -0.129917 -0.086808 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.030483 -0.153248 +v 0.500000 -0.030483 -0.153248 +v 0.468750 0.030483 -0.153248 +v 0.500000 0.030483 -0.153248 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153247 -0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.129917 0.086808 +v 0.500000 0.129917 0.086808 +v 0.468750 0.086808 0.129917 +v 0.500000 0.086808 0.129917 +v 0.468750 0.030483 0.153248 +v 0.500000 0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.122598 0.024386 +v 0.468750 -0.122598 -0.024386 +v 0.468750 -0.103934 -0.069446 +v 0.468750 -0.069446 -0.103934 +v 0.468750 -0.024386 -0.122598 +v 0.468750 0.024386 -0.122598 +v 0.468750 0.069446 -0.103934 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.122598 0.024386 +v 0.468750 0.103934 0.069446 +v 0.468750 0.069446 0.103934 +v 0.468750 0.024386 0.122598 +v 0.468750 -0.024387 0.122598 +v 0.468750 -0.069447 0.103934 +v 0.468750 -0.103934 0.069446 +v 0.468750 -0.000000 -0.000000 +v 0.500000 -0.000000 0.000000 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103933 -0.069446 +v -0.468750 -0.122598 -0.024387 +v -0.468750 -0.122598 0.024386 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.030483 0.153247 +v -0.468750 -0.030483 0.153248 +v -0.500000 0.030483 0.153247 +v -0.468750 0.030483 0.153248 +v -0.500000 0.086808 0.129917 +v -0.468750 0.086808 0.129917 +v -0.500000 0.129917 0.086808 +v -0.468750 0.129917 0.086808 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.030483 -0.153248 +v -0.468750 0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.153247 -0.030483 +v -0.468750 -0.153247 -0.030483 +v -0.500000 -0.153247 0.030483 +v -0.468750 -0.153247 0.030483 +v -0.468750 -0.024386 -0.122598 +v -0.468750 0.024387 -0.122598 +v -0.468750 0.069447 -0.103934 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.122598 0.024386 +v -0.468750 0.103934 0.069446 +v -0.468750 0.069447 0.103934 +v -0.468750 0.024387 0.122598 +v -0.468750 -0.024386 0.122598 +v -0.468750 -0.069446 0.103933 +v -0.468750 -0.103933 0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 0.000000 -0.000000 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +usemtl None +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 diff --git a/mods/pipeworks/models/pipeworks_pipe_9.obj b/mods/pipeworks/models/pipeworks_pipe_9.obj new file mode 100644 index 00000000..8c6e03b1 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pipe_9.obj @@ -0,0 +1,759 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-5way.blend' +# www.blender.org +o Cube.000 +v -0.069446 -0.468750 0.103934 +v -0.103933 -0.468750 0.069446 +v -0.122598 -0.468750 0.024386 +v -0.122598 -0.468750 -0.024386 +v -0.129917 -0.500000 -0.086808 +v -0.129917 -0.468750 -0.086808 +v -0.086808 -0.500000 -0.129917 +v -0.086808 -0.468750 -0.129917 +v -0.030483 -0.500000 -0.153248 +v -0.030483 -0.468750 -0.153248 +v 0.030483 -0.500000 -0.153247 +v 0.030483 -0.468750 -0.153247 +v 0.086808 -0.500000 -0.129917 +v 0.086808 -0.468750 -0.129917 +v 0.129917 -0.500000 -0.086808 +v 0.129917 -0.468750 -0.086808 +v 0.153248 -0.500000 -0.030483 +v 0.153248 -0.468750 -0.030483 +v 0.153248 -0.500000 0.030483 +v 0.153248 -0.468750 0.030483 +v 0.129917 -0.500000 0.086808 +v 0.129917 -0.468750 0.086808 +v 0.086808 -0.500000 0.129917 +v 0.086808 -0.468750 0.129917 +v 0.030483 -0.500000 0.153248 +v 0.030483 -0.468750 0.153248 +v -0.030483 -0.500000 0.153248 +v -0.030483 -0.468750 0.153248 +v -0.086808 -0.500000 0.129917 +v -0.086808 -0.468750 0.129917 +v -0.129917 -0.500000 0.086808 +v -0.129917 -0.468750 0.086808 +v -0.153247 -0.500000 0.030483 +v -0.153248 -0.468750 0.030483 +v -0.153247 -0.500000 -0.030483 +v -0.153248 -0.468750 -0.030483 +v -0.024386 -0.468750 0.122598 +v 0.024386 -0.468750 0.122598 +v 0.069446 -0.468750 0.103934 +v 0.103934 -0.468750 0.069447 +v 0.122598 -0.468750 0.024387 +v 0.122598 -0.468750 -0.024386 +v 0.103934 -0.468750 -0.069446 +v 0.069447 -0.468750 -0.103933 +v 0.024386 -0.468750 -0.122598 +v -0.024386 -0.468750 -0.122598 +v -0.069446 -0.468750 -0.103933 +v -0.103934 -0.468750 -0.069446 +v 0.000000 -0.468750 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.024386 -0.024391 0.122598 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v -0.024386 -0.024391 -0.122598 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.103934 -0.024391 0.069446 +v -0.122598 -0.024391 0.024386 +v -0.122598 -0.024391 -0.024386 +v -0.069446 -0.024391 0.103934 +v -0.024386 -0.024391 0.122598 +v -0.153248 0.468750 -0.030483 +v -0.153248 0.500000 -0.030483 +v -0.153248 0.468750 0.030483 +v -0.153248 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129917 0.500000 0.086808 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103934 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024386 0.468750 0.122598 +v 0.069446 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069446 0.468750 -0.103934 +v 0.024386 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103934 0.468750 -0.069446 +v -0.000000 0.468750 0.000000 +v -0.000000 0.500000 -0.000000 +v 0.024386 0.024390 0.122598 +v 0.069446 0.024390 0.103934 +v 0.103934 0.024390 0.069446 +v 0.122598 0.024390 0.024386 +v 0.122598 0.024390 -0.024386 +v 0.103934 0.024390 -0.069446 +v 0.069446 0.024390 -0.103934 +v 0.024386 0.024389 -0.122598 +v -0.024386 0.024389 -0.122598 +v -0.103934 0.024390 -0.069446 +v -0.069446 0.024390 -0.103934 +v -0.103934 0.024390 0.069446 +v -0.122598 0.024390 0.024386 +v -0.122598 0.024390 -0.024386 +v -0.069446 0.024390 0.103934 +v -0.024386 0.024390 0.122598 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153248 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024386 -0.122598 +v -0.468750 -0.069446 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103934 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086808 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153248 0.030483 +v 0.468750 -0.153248 0.030483 +v 0.500000 -0.153248 -0.030482 +v 0.468750 -0.153248 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024386 0.122598 +v 0.468750 0.069446 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069446 -0.103933 +v 0.468750 0.024386 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103934 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.069446 -0.103934 -0.468750 +v -0.103933 -0.069447 -0.468750 +v -0.122598 -0.024387 -0.468750 +v -0.122598 0.024386 -0.468750 +v -0.129917 0.086808 -0.500000 +v -0.129917 0.086808 -0.468750 +v -0.086807 0.129917 -0.500000 +v -0.086807 0.129917 -0.468750 +v -0.030482 0.153247 -0.500000 +v -0.030482 0.153247 -0.468750 +v 0.030483 0.153247 -0.500000 +v 0.030483 0.153247 -0.468750 +v 0.086808 0.129917 -0.500000 +v 0.086808 0.129917 -0.468750 +v 0.129918 0.086808 -0.500000 +v 0.129918 0.086808 -0.468750 +v 0.153248 0.030483 -0.500000 +v 0.153248 0.030483 -0.468750 +v 0.153248 -0.030483 -0.500000 +v 0.153248 -0.030483 -0.468750 +v 0.129918 -0.086808 -0.500000 +v 0.129918 -0.086808 -0.468750 +v 0.086808 -0.129917 -0.500000 +v 0.086808 -0.129917 -0.468750 +v 0.030483 -0.153248 -0.500000 +v 0.030483 -0.153248 -0.468750 +v -0.030482 -0.153248 -0.500000 +v -0.030482 -0.153248 -0.468750 +v -0.086807 -0.129917 -0.500000 +v -0.086807 -0.129917 -0.468750 +v -0.129917 -0.086808 -0.500000 +v -0.129917 -0.086808 -0.468750 +v -0.153247 -0.030483 -0.500000 +v -0.153247 -0.030483 -0.468750 +v -0.153247 0.030483 -0.500000 +v -0.153247 0.030483 -0.468750 +v -0.024386 -0.122598 -0.468750 +v 0.024387 -0.122598 -0.468750 +v 0.069447 -0.103934 -0.468750 +v 0.103934 -0.069447 -0.468750 +v 0.122599 -0.024387 -0.468750 +v 0.122599 0.024386 -0.468750 +v 0.103934 0.069446 -0.468750 +v 0.069447 0.103933 -0.468750 +v 0.024387 0.122598 -0.468750 +v -0.024386 0.122598 -0.468750 +v -0.069446 0.103933 -0.468750 +v -0.103933 0.069446 -0.468750 +v 0.000000 -0.000000 -0.468750 +v 0.000001 -0.000000 -0.500000 +v 0.024386 -0.122598 -0.024391 +v 0.069446 -0.103934 -0.024391 +v 0.103934 -0.069446 -0.024391 +v 0.122598 -0.024386 -0.024391 +v 0.122598 0.024386 -0.024391 +v 0.103934 0.069446 -0.024391 +v 0.069446 0.103934 -0.024391 +v 0.024386 0.122598 -0.024391 +v -0.024386 0.122598 -0.024391 +v -0.103934 0.069446 -0.024391 +v -0.069446 0.103934 -0.024391 +v -0.103934 -0.069446 -0.024391 +v -0.122598 -0.024386 -0.024391 +v -0.122598 0.024386 -0.024391 +v -0.069446 -0.103934 -0.024391 +v -0.024386 -0.122598 -0.024391 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.250000 0.015625 +vt 0.250000 0.265625 +vt 0.093322 0.682190 +vt 0.153370 0.657318 +vt 0.185867 0.820694 +vt 0.047364 0.728149 +vt 0.022491 0.788196 +vt 0.022491 0.853192 +vt 0.047364 0.913239 +vt 0.093322 0.959198 +vt 0.153370 0.984070 +vt 0.218365 0.984070 +vt 0.278413 0.959198 +vt 0.324371 0.913239 +vt 0.349244 0.853192 +vt 0.349244 0.788196 +vt 0.324371 0.728149 +vt 0.278413 0.682190 +vt 0.218365 0.657318 +vt 0.471785 0.682190 +vt 0.531832 0.657318 +vt 0.564330 0.820694 +vt 0.425826 0.728149 +vt 0.400953 0.788196 +vt 0.400953 0.853192 +vt 0.425826 0.913239 +vt 0.471785 0.959198 +vt 0.531832 0.984070 +vt 0.596827 0.984070 +vt 0.656875 0.959198 +vt 0.702834 0.913239 +vt 0.727706 0.853192 +vt 0.727706 0.788196 +vt 0.702834 0.728149 +vt 0.656875 0.682190 +vt 0.596827 0.657318 +vt 0.125000 0.609375 +vt 0.125000 0.546875 +vt 0.187500 0.546875 +vt 0.187500 0.609375 +vt 0.250000 0.546875 +vt 0.250000 0.609375 +vt 0.062500 0.609375 +vt 0.062500 0.546875 +vt 0.000000 0.609375 +vt 0.000000 0.546875 +vt 0.937500 0.609375 +vt 0.937500 0.546875 +vt 1.000000 0.546875 +vt 1.000000 0.609375 +vt 0.875000 0.609375 +vt 0.875000 0.546875 +vt 0.812500 0.609375 +vt 0.812500 0.546875 +vt 0.750000 0.609375 +vt 0.750000 0.546875 +vt 0.687500 0.609375 +vt 0.687500 0.546875 +vt 0.625000 0.609375 +vt 0.625000 0.546875 +vt 0.562500 0.609375 +vt 0.562500 0.546875 +vt 0.500000 0.609375 +vt 0.500000 0.546875 +vt 0.437500 0.609375 +vt 0.437500 0.546875 +vt 0.375000 0.609375 +vt 0.375000 0.546875 +vt 0.312500 0.609375 +vt 0.312500 0.546875 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.812500 0.015625 +vt 0.812500 0.265625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.625000 0.015625 +vt 0.625000 0.265625 +vt 0.687500 0.265625 +vt 0.687500 0.015625 +vt 0.500000 0.265625 +vt 0.500000 0.015625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.125000 0.265625 +vt 0.125000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.218363 0.657325 +vt 0.185866 0.820702 +vt 0.153368 0.657325 +vt 0.531836 0.657325 +vt 0.564334 0.820702 +vt 0.596832 0.657325 +vt 0.656879 0.682198 +vt 0.702838 0.728156 +vt 0.727710 0.788204 +vt 0.727710 0.853199 +vt 0.702838 0.913247 +vt 0.656879 0.959205 +vt 0.596831 0.984078 +vt 0.531836 0.984078 +vt 0.471788 0.959205 +vt 0.425830 0.913247 +vt 0.400957 0.853199 +vt 0.400957 0.788204 +vt 0.425830 0.728156 +vt 0.471789 0.682198 +vt 0.093321 0.682198 +vt 0.047362 0.728156 +vt 0.022489 0.788204 +vt 0.022489 0.853199 +vt 0.047362 0.913247 +vt 0.093320 0.959205 +vt 0.153368 0.984078 +vt 0.218363 0.984078 +vt 0.278411 0.959205 +vt 0.324369 0.913247 +vt 0.349242 0.853199 +vt 0.349242 0.788204 +vt 0.324369 0.728156 +vt 0.278411 0.682198 +vt 0.187500 0.515625 +vt 0.250000 0.515625 +vt 0.875000 0.515625 +vt 0.937500 0.515625 +vt 0.750000 0.515625 +vt 0.812500 0.515625 +vt 0.562500 0.515625 +vt 0.625000 0.515625 +vt 0.687500 0.515625 +vt 0.500000 0.515625 +vt 0.437500 0.515625 +vt 0.375000 0.515625 +vt 0.312500 0.515625 +vt 0.125000 0.515625 +vt 0.062500 0.515625 +vt 0.000000 0.515625 +vt 1.000000 0.515625 +s off +f 54/1 41/2 42/3 55/4 +f 31/5 33/6 50/7 +f 29/8 31/5 50/7 +f 27/9 29/8 50/7 +f 25/10 27/9 50/7 +f 23/11 25/10 50/7 +f 21/12 23/11 50/7 +f 19/13 21/12 50/7 +f 17/14 19/13 50/7 +f 15/15 17/14 50/7 +f 13/16 15/15 50/7 +f 11/17 13/16 50/7 +f 9/18 11/17 50/7 +f 7/19 9/18 50/7 +f 5/20 7/19 50/7 +f 35/21 5/20 50/7 +f 6/22 36/23 49/24 +f 8/25 6/22 49/24 +f 10/26 8/25 49/24 +f 12/27 10/26 49/24 +f 14/28 12/27 49/24 +f 16/29 14/28 49/24 +f 18/30 16/29 49/24 +f 20/31 18/30 49/24 +f 22/32 20/31 49/24 +f 24/33 22/32 49/24 +f 26/34 24/33 49/24 +f 28/35 26/34 49/24 +f 30/36 28/35 49/24 +f 32/37 30/36 49/24 +f 34/38 32/37 49/24 +f 36/23 34/38 49/24 +f 33/6 35/21 50/7 +f 8/39 7/40 5/41 6/42 +f 6/42 5/41 35/43 36/44 +f 10/45 9/46 7/40 8/39 +f 12/47 11/48 9/46 10/45 +f 14/49 13/50 11/51 12/52 +f 16/53 15/54 13/50 14/49 +f 18/55 17/56 15/54 16/53 +f 20/57 19/58 17/56 18/55 +f 22/59 21/60 19/58 20/57 +f 24/61 23/62 21/60 22/59 +f 26/63 25/64 23/62 24/61 +f 28/65 27/66 25/64 26/63 +f 30/67 29/68 27/66 28/65 +f 32/69 31/70 29/68 30/67 +f 34/71 33/72 31/70 32/69 +f 36/44 35/43 33/72 34/71 +f 65/73 1/74 37/75 66/76 +f 63/77 3/78 2/79 62/80 +f 61/81 47/82 48/83 60/84 +f 64/85 4/86 3/78 63/77 +f 62/80 2/79 1/74 65/73 +f 60/84 48/83 4/86 64/85 +f 59/87 46/88 47/82 61/81 +f 58/89 45/90 46/88 59/87 +f 57/91 44/92 45/90 58/89 +f 56/93 43/94 44/92 57/91 +f 55/4 42/3 43/94 56/93 +f 53/95 40/96 41/2 54/1 +f 52/97 39/98 40/96 53/95 +f 51/99 38/100 39/98 52/97 +f 66/76 37/75 38/101 51/102 +f 67/58 69/60 70/59 68/57 +f 69/60 71/62 72/61 70/59 +f 71/62 73/64 74/63 72/61 +f 73/64 75/66 76/65 74/63 +f 75/66 77/68 78/67 76/65 +f 77/68 79/70 80/69 78/67 +f 79/70 81/72 82/71 80/69 +f 81/72 83/43 84/44 82/71 +f 83/43 85/41 86/42 84/44 +f 85/41 87/40 88/39 86/42 +f 87/40 89/46 90/45 88/39 +f 89/46 91/48 92/47 90/45 +f 91/51 93/50 94/49 92/52 +f 93/50 95/54 96/53 94/49 +f 97/56 67/58 68/57 98/55 +f 95/54 97/56 98/55 96/53 +f 70/103 116/104 68/105 +f 67/106 115/107 69/108 +f 69/108 115/107 71/109 +f 71/109 115/107 73/110 +f 73/110 115/107 75/111 +f 75/111 115/107 77/112 +f 77/112 115/107 79/113 +f 79/113 115/107 81/114 +f 81/114 115/107 83/115 +f 83/115 115/107 85/116 +f 85/116 115/107 87/117 +f 87/117 115/107 89/118 +f 89/118 115/107 91/119 +f 91/119 115/107 93/120 +f 93/120 115/107 95/121 +f 95/121 115/107 97/122 +f 97/122 115/107 67/106 +f 68/105 116/104 98/123 +f 98/123 116/104 96/124 +f 96/124 116/104 94/125 +f 94/125 116/104 92/126 +f 92/126 116/104 90/127 +f 90/127 116/104 88/128 +f 88/128 116/104 86/129 +f 86/129 116/104 84/130 +f 84/130 116/104 82/131 +f 82/131 116/104 80/132 +f 80/132 116/104 78/133 +f 78/133 116/104 76/134 +f 76/134 116/104 74/135 +f 74/135 116/104 72/136 +f 72/136 116/104 70/103 +f 107/137 120/1 121/4 108/138 +f 102/139 131/73 132/76 103/140 +f 100/141 129/77 128/80 101/142 +f 113/143 127/81 126/84 114/144 +f 99/145 130/85 129/77 100/141 +f 101/142 128/80 131/73 102/139 +f 114/144 126/84 130/85 99/145 +f 112/146 125/87 127/81 113/143 +f 111/147 124/89 125/87 112/146 +f 110/148 123/91 124/89 111/147 +f 109/149 122/93 123/91 110/148 +f 108/138 121/4 122/93 109/149 +f 106/150 119/95 120/1 107/137 +f 105/151 118/97 119/95 106/150 +f 104/152 117/99 118/97 105/151 +f 103/140 132/76 117/102 104/153 +f 133/58 135/60 136/59 134/57 +f 135/60 137/62 138/61 136/59 +f 137/62 139/64 140/63 138/61 +f 139/64 141/66 142/65 140/63 +f 141/66 143/68 144/67 142/65 +f 143/68 145/70 146/69 144/67 +f 145/70 147/72 148/71 146/69 +f 147/72 149/43 150/44 148/71 +f 149/43 151/41 152/42 150/44 +f 151/41 153/40 154/39 152/42 +f 153/40 155/46 156/45 154/39 +f 155/46 157/48 158/47 156/45 +f 157/51 159/50 160/49 158/52 +f 159/50 161/54 162/53 160/49 +f 163/56 133/58 134/57 164/55 +f 161/54 163/56 164/55 162/53 +f 136/103 182/104 134/105 +f 133/106 181/107 135/108 +f 135/108 181/107 137/109 +f 137/109 181/107 139/110 +f 139/110 181/107 141/111 +f 141/111 181/107 143/112 +f 143/112 181/107 145/113 +f 145/113 181/107 147/114 +f 147/114 181/107 149/115 +f 149/115 181/107 151/116 +f 151/116 181/107 153/117 +f 153/117 181/107 155/118 +f 155/118 181/107 157/119 +f 157/119 181/107 159/120 +f 159/120 181/107 161/121 +f 161/121 181/107 163/122 +f 163/122 181/107 133/106 +f 134/105 182/104 164/123 +f 164/123 182/104 162/124 +f 162/124 182/104 160/125 +f 160/125 182/104 158/126 +f 158/126 182/104 156/127 +f 156/127 182/104 154/128 +f 154/128 182/104 152/129 +f 152/129 182/104 150/130 +f 150/130 182/104 148/131 +f 148/131 182/104 146/132 +f 146/132 182/104 144/133 +f 144/133 182/104 142/134 +f 142/134 182/104 140/135 +f 140/135 182/104 138/136 +f 138/136 182/104 136/103 +f 173/137 223/2 224/3 174/138 +f 213/5 215/6 232/7 +f 211/8 213/5 232/7 +f 209/9 211/8 232/7 +f 207/10 209/9 232/7 +f 205/11 207/10 232/7 +f 203/12 205/11 232/7 +f 201/13 203/12 232/7 +f 199/14 201/13 232/7 +f 197/15 199/14 232/7 +f 195/16 197/15 232/7 +f 193/17 195/16 232/7 +f 191/18 193/17 232/7 +f 189/19 191/18 232/7 +f 187/20 189/19 232/7 +f 217/21 187/20 232/7 +f 188/22 218/23 231/24 +f 190/25 188/22 231/24 +f 192/26 190/25 231/24 +f 194/27 192/26 231/24 +f 196/28 194/27 231/24 +f 198/29 196/28 231/24 +f 200/30 198/29 231/24 +f 202/31 200/30 231/24 +f 204/32 202/31 231/24 +f 206/33 204/32 231/24 +f 208/34 206/33 231/24 +f 210/35 208/34 231/24 +f 212/36 210/35 231/24 +f 214/37 212/36 231/24 +f 216/38 214/37 231/24 +f 218/23 216/38 231/24 +f 215/6 217/21 232/7 +f 190/39 189/40 187/41 188/42 +f 188/42 187/41 217/43 218/44 +f 192/45 191/46 189/40 190/39 +f 194/47 193/48 191/46 192/45 +f 196/49 195/50 193/51 194/52 +f 198/53 197/54 195/50 196/49 +f 200/55 199/56 197/54 198/53 +f 202/57 201/58 199/56 200/55 +f 204/59 203/60 201/58 202/57 +f 206/61 205/62 203/60 204/59 +f 208/63 207/64 205/62 206/61 +f 210/65 209/66 207/64 208/63 +f 212/67 211/68 209/66 210/65 +f 214/69 213/70 211/68 212/67 +f 216/71 215/72 213/70 214/69 +f 218/44 217/43 215/72 216/71 +f 168/139 183/74 219/75 169/140 +f 166/141 185/78 184/79 167/142 +f 179/143 229/82 230/83 180/144 +f 165/145 186/86 185/78 166/141 +f 167/142 184/79 183/74 168/139 +f 180/144 230/83 186/86 165/145 +f 178/146 228/88 229/82 179/143 +f 177/147 227/90 228/88 178/146 +f 176/148 226/92 227/90 177/147 +f 175/149 225/94 226/92 176/148 +f 174/138 224/3 225/94 175/149 +f 172/150 222/96 223/2 173/137 +f 171/151 221/98 222/96 172/150 +f 170/152 220/100 221/98 171/151 +f 169/140 219/75 220/101 170/153 +f 286/1 273/2 274/3 287/4 +f 263/5 265/6 282/7 +f 261/8 263/5 282/7 +f 259/9 261/8 282/7 +f 257/10 259/9 282/7 +f 255/11 257/10 282/7 +f 253/12 255/11 282/7 +f 251/13 253/12 282/7 +f 249/14 251/13 282/7 +f 247/15 249/14 282/7 +f 245/16 247/15 282/7 +f 243/17 245/16 282/7 +f 241/18 243/17 282/7 +f 239/19 241/18 282/7 +f 237/20 239/19 282/7 +f 267/21 237/20 282/7 +f 238/22 268/23 281/24 +f 240/25 238/22 281/24 +f 242/26 240/25 281/24 +f 244/27 242/26 281/24 +f 246/28 244/27 281/24 +f 248/29 246/28 281/24 +f 250/30 248/29 281/24 +f 252/31 250/30 281/24 +f 254/32 252/31 281/24 +f 256/33 254/32 281/24 +f 258/34 256/33 281/24 +f 260/35 258/34 281/24 +f 262/36 260/35 281/24 +f 264/37 262/36 281/24 +f 266/38 264/37 281/24 +f 268/23 266/38 281/24 +f 265/6 267/21 282/7 +f 240/39 239/40 237/41 238/42 +f 238/42 237/41 267/43 268/44 +f 242/45 241/46 239/40 240/39 +f 244/47 243/48 241/46 242/45 +f 246/49 245/50 243/51 244/52 +f 248/53 247/54 245/50 246/49 +f 250/55 249/56 247/54 248/53 +f 252/57 251/58 249/56 250/55 +f 254/59 253/60 251/58 252/57 +f 256/61 255/62 253/60 254/59 +f 258/63 257/64 255/62 256/61 +f 260/65 259/66 257/64 258/63 +f 262/67 261/68 259/66 260/65 +f 264/69 263/70 261/68 262/67 +f 266/71 265/72 263/70 264/69 +f 268/44 267/43 265/72 266/71 +f 297/73 233/74 269/75 298/76 +f 295/77 235/78 234/79 294/80 +f 293/81 279/82 280/83 292/84 +f 296/85 236/86 235/78 295/77 +f 294/80 234/79 233/74 297/73 +f 292/84 280/83 236/86 296/85 +f 291/87 278/88 279/82 293/81 +f 290/89 277/90 278/88 291/87 +f 289/91 276/92 277/90 290/89 +f 288/93 275/94 276/92 289/91 +f 287/4 274/3 275/94 288/93 +f 285/95 272/96 273/2 286/1 +f 284/97 271/98 272/96 285/95 +f 283/99 270/100 271/98 284/97 +f 298/76 269/75 270/101 283/102 diff --git a/mods/pipeworks/models/pipeworks_pump.obj b/mods/pipeworks/models/pipeworks_pump.obj new file mode 100644 index 00000000..f05dd02e --- /dev/null +++ b/mods/pipeworks/models/pipeworks_pump.obj @@ -0,0 +1,282 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-pump.blend' +# www.blender.org +mtllib pipeworks_pump.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.375000 0.500000 +v -0.500000 -0.375000 -0.500000 +v 0.500000 -0.375000 -0.500000 +v 0.500000 -0.375000 0.500000 +v -0.437500 -0.375000 0.437500 +v -0.437500 -0.375000 -0.437500 +v 0.437500 -0.375000 -0.437500 +v 0.437500 -0.375000 0.437500 +v -0.437500 0.375000 0.437500 +v -0.437500 0.375000 -0.437500 +v 0.437500 0.375000 -0.437500 +v 0.437500 0.375000 0.437500 +v 0.153248 0.468750 0.030483 +v 0.153248 0.500000 0.030483 +v 0.153248 0.468750 -0.030483 +v 0.153248 0.500000 -0.030483 +v 0.129917 0.468750 -0.086808 +v 0.129917 0.500000 -0.086808 +v 0.086808 0.468750 -0.129917 +v 0.086808 0.500000 -0.129917 +v 0.030483 0.468750 -0.153248 +v 0.030483 0.500000 -0.153248 +v -0.030483 0.468750 -0.153248 +v -0.030483 0.500000 -0.153248 +v -0.086808 0.468750 -0.129917 +v -0.086808 0.500000 -0.129917 +v -0.129917 0.468750 -0.086808 +v -0.129917 0.500000 -0.086808 +v -0.153247 0.468750 -0.030483 +v -0.153247 0.500000 -0.030483 +v -0.153247 0.468750 0.030483 +v -0.153247 0.500000 0.030483 +v -0.129917 0.468750 0.086808 +v -0.129917 0.500000 0.086808 +v -0.086808 0.468750 0.129917 +v -0.086808 0.500000 0.129917 +v -0.030483 0.468750 0.153248 +v -0.030483 0.500000 0.153248 +v 0.030483 0.468750 0.153248 +v 0.030483 0.500000 0.153248 +v 0.086808 0.468750 0.129917 +v 0.086808 0.500000 0.129917 +v 0.129917 0.468750 0.086808 +v 0.129918 0.500000 0.086808 +v 0.122598 0.468750 0.024386 +v 0.122598 0.468750 -0.024386 +v 0.103934 0.468750 -0.069446 +v 0.069447 0.468750 -0.103934 +v 0.024387 0.468750 -0.122598 +v -0.024386 0.468750 -0.122598 +v -0.069446 0.468750 -0.103934 +v -0.103933 0.468750 -0.069446 +v -0.122598 0.468750 -0.024386 +v -0.122598 0.468750 0.024386 +v -0.103933 0.468750 0.069446 +v -0.069446 0.468750 0.103934 +v -0.024386 0.468750 0.122598 +v 0.024387 0.468750 0.122598 +v 0.069447 0.468750 0.103934 +v 0.103934 0.468750 0.069446 +v 0.000000 0.468750 -0.000000 +v 0.000000 0.500000 0.000000 +v 0.122598 0.375003 0.024386 +v 0.122598 0.375003 -0.024386 +v 0.103934 0.375003 -0.069446 +v 0.069446 0.375003 0.103934 +v 0.103934 0.375003 0.069446 +v 0.024386 0.375003 0.122598 +v -0.024386 0.375003 0.122598 +v -0.069446 0.375003 0.103934 +v -0.103934 0.375003 0.069446 +v -0.122598 0.375003 0.024386 +v -0.122598 0.375003 -0.024386 +v -0.103934 0.375003 -0.069446 +v -0.069446 0.375003 -0.103934 +v -0.024386 0.375003 -0.122598 +v 0.069446 0.375003 -0.103934 +v 0.024386 0.375003 -0.122598 +vt 0.714844 0.761719 +vt 0.714844 0.511719 +vt 0.746094 0.511719 +vt 0.746094 0.761719 +vt 0.621094 0.761719 +vt 0.621094 0.511719 +vt 0.652344 0.511719 +vt 0.652344 0.761719 +vt 0.683594 0.761719 +vt 0.683594 0.511719 +vt 0.996094 0.511719 +vt 0.996094 0.761719 +vt 0.996094 0.261719 +vt 0.746094 0.261719 +vt 0.230469 0.261719 +vt 0.449219 0.261719 +vt 0.449219 0.433594 +vt 0.230469 0.433594 +vt 0.222656 0.613281 +vt 0.003906 0.613281 +vt 0.003906 0.441406 +vt 0.222656 0.441406 +vt 0.222656 0.433594 +vt 0.003906 0.433594 +vt 0.003906 0.261719 +vt 0.222656 0.261719 +vt 0.675781 0.433594 +vt 0.457031 0.433594 +vt 0.457031 0.261719 +vt 0.675781 0.261719 +vt 0.230469 0.660156 +vt 0.230469 0.441406 +vt 0.449219 0.441406 +vt 0.449219 0.660156 +vt 0.750000 0.996094 +vt 0.812500 0.996094 +vt 0.812500 0.945313 +vt 0.750000 0.945313 +vt 0.875000 0.996094 +vt 0.875000 0.945313 +vt 0.937500 0.996094 +vt 0.937500 0.945313 +vt 1.000000 0.996094 +vt 1.000000 0.945313 +vt 0.000000 0.996094 +vt 0.062500 0.996094 +vt 0.062500 0.945313 +vt 0.000000 0.945313 +vt 0.125000 0.996094 +vt 0.125000 0.945313 +vt 0.187500 0.996094 +vt 0.187500 0.945313 +vt 0.250000 0.996094 +vt 0.250000 0.945313 +vt 0.312500 0.996094 +vt 0.312500 0.945313 +vt 0.375000 0.996094 +vt 0.375000 0.945313 +vt 0.437500 0.996094 +vt 0.437500 0.945313 +vt 0.500000 0.996094 +vt 0.500000 0.945313 +vt 0.562500 0.996094 +vt 0.562500 0.945313 +vt 0.625000 0.996094 +vt 0.625000 0.945313 +vt 0.687500 0.996094 +vt 0.687500 0.945313 +vt 0.007550 0.738767 +vt 0.046892 0.730976 +vt 0.007550 0.723186 +vt 0.101275 0.738767 +vt 0.140617 0.730976 +vt 0.101275 0.723186 +vt 0.107265 0.708790 +vt 0.118332 0.697773 +vt 0.132792 0.691810 +vt 0.148443 0.691810 +vt 0.162903 0.697773 +vt 0.173970 0.708790 +vt 0.179959 0.723186 +vt 0.179959 0.738767 +vt 0.173970 0.753163 +vt 0.162903 0.764180 +vt 0.148443 0.770143 +vt 0.132792 0.770143 +vt 0.118332 0.764180 +vt 0.107265 0.753163 +vt 0.013540 0.708790 +vt 0.024607 0.697773 +vt 0.039067 0.691810 +vt 0.054718 0.691810 +vt 0.069178 0.697773 +vt 0.080245 0.708790 +vt 0.086234 0.723186 +vt 0.086234 0.738767 +vt 0.080245 0.753162 +vt 0.069178 0.764180 +vt 0.054718 0.770143 +vt 0.039067 0.770143 +vt 0.024607 0.764180 +vt 0.013540 0.753162 +vt 0.250000 0.777344 +vt 0.312500 0.777344 +vt 0.937500 0.777344 +vt 1.000000 0.777344 +vt 0.812500 0.777344 +vt 0.875000 0.777344 +vt 0.625000 0.777344 +vt 0.687500 0.777344 +vt 0.750000 0.777344 +vt 0.562500 0.777344 +vt 0.500000 0.777344 +vt 0.437500 0.777344 +vt 0.375000 0.777344 +vt 0.187500 0.777344 +vt 0.125000 0.777344 +vt 0.062500 0.777344 +vt 0.000000 0.777344 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/2 3/1 +f 8/10 5/9 1/8 4/7 +f 1/4 2/3 3/11 4/12 +f 8/13 7/11 6/3 5/14 +f 13/15 14/16 10/17 9/18 +f 14/19 15/20 11/21 10/22 +f 15/23 16/24 12/25 11/26 +f 16/27 13/28 9/29 12/30 +f 16/31 15/32 14/33 13/34 +f 17/35 19/36 20/37 18/38 +f 19/36 21/39 22/40 20/37 +f 21/39 23/41 24/42 22/40 +f 23/41 25/43 26/44 24/42 +f 25/45 27/46 28/47 26/48 +f 27/46 29/49 30/50 28/47 +f 29/49 31/51 32/52 30/50 +f 31/51 33/53 34/54 32/52 +f 33/53 35/55 36/56 34/54 +f 35/55 37/57 38/58 36/56 +f 37/57 39/59 40/60 38/58 +f 39/59 41/61 42/62 40/60 +f 41/61 43/63 44/64 42/62 +f 43/63 45/65 46/66 44/64 +f 47/67 17/35 18/38 48/68 +f 45/65 47/67 48/68 46/66 +f 20/69 66/70 18/71 +f 17/72 65/73 19/74 +f 19/74 65/73 21/75 +f 21/75 65/73 23/76 +f 23/76 65/73 25/77 +f 25/77 65/73 27/78 +f 27/78 65/73 29/79 +f 29/79 65/73 31/80 +f 31/80 65/73 33/81 +f 33/81 65/73 35/82 +f 35/82 65/73 37/83 +f 37/83 65/73 39/84 +f 39/84 65/73 41/85 +f 41/85 65/73 43/86 +f 43/86 65/73 45/87 +f 45/87 65/73 47/88 +f 47/88 65/73 17/72 +f 18/71 66/70 48/89 +f 48/89 66/70 46/90 +f 46/90 66/70 44/91 +f 44/91 66/70 42/92 +f 42/92 66/70 40/93 +f 40/93 66/70 38/94 +f 38/94 66/70 36/95 +f 36/95 66/70 34/96 +f 34/96 66/70 32/97 +f 32/97 66/70 30/98 +f 30/98 66/70 28/99 +f 28/99 66/70 26/100 +f 26/100 66/70 24/101 +f 24/101 66/70 22/102 +f 22/102 66/70 20/69 +f 57/54 77/103 76/104 58/56 +f 52/42 81/105 82/106 53/44 +f 50/37 68/107 69/108 51/40 +f 63/66 70/109 71/110 64/68 +f 49/38 67/111 68/107 50/37 +f 51/40 69/108 81/105 52/42 +f 64/68 71/110 67/111 49/38 +f 62/64 72/112 70/109 63/66 +f 61/62 73/113 72/112 62/64 +f 60/60 74/114 73/113 61/62 +f 59/58 75/115 74/114 60/60 +f 58/56 76/104 75/115 59/58 +f 56/52 78/116 77/103 57/54 +f 55/50 79/117 78/116 56/52 +f 54/47 80/118 79/117 55/50 +f 53/48 82/119 80/118 54/47 diff --git a/mods/pipeworks/models/pipeworks_spigot.obj b/mods/pipeworks/models/pipeworks_spigot.obj new file mode 100644 index 00000000..615b9ffe --- /dev/null +++ b/mods/pipeworks/models/pipeworks_spigot.obj @@ -0,0 +1,509 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.187500 -0.024387 +v -0.122598 -0.187500 0.024386 +v -0.122598 -0.024391 0.024386 +v 0.129917 -0.250000 -0.086808 +v 0.153247 -0.250000 -0.030483 +v -0.000000 -0.250000 -0.000000 +v 0.086808 -0.250000 -0.129917 +v 0.030483 -0.250000 -0.153248 +v -0.030483 -0.250000 -0.153248 +v -0.086808 -0.250000 -0.129917 +v -0.129917 -0.250000 -0.086808 +v -0.153248 -0.250000 -0.030483 +v -0.153248 -0.250000 0.030483 +v -0.129917 -0.250000 0.086808 +v -0.086808 -0.250000 0.129917 +v -0.030483 -0.250000 0.153247 +v 0.030483 -0.250000 0.153248 +v 0.086808 -0.250000 0.129917 +v 0.129917 -0.250000 0.086808 +v 0.153247 -0.250000 0.030483 +v 0.129917 -0.187500 0.086808 +v 0.153248 -0.187500 0.030483 +v -0.000000 -0.187500 -0.000000 +v 0.086808 -0.187500 0.129917 +v 0.030483 -0.187500 0.153248 +v -0.030483 -0.187500 0.153247 +v -0.086808 -0.187500 0.129917 +v -0.129917 -0.187500 0.086808 +v -0.153248 -0.187500 0.030483 +v -0.153248 -0.187500 -0.030483 +v -0.129917 -0.187500 -0.086808 +v -0.086808 -0.187500 -0.129917 +v -0.030483 -0.187500 -0.153248 +v 0.030483 -0.187500 -0.153248 +v 0.086808 -0.187500 -0.129917 +v 0.129917 -0.187500 -0.086808 +v 0.153248 -0.187500 -0.030483 +v 0.069446 -0.024391 -0.103934 +v 0.069446 -0.187500 -0.103934 +v 0.024386 -0.187500 -0.122598 +v 0.024386 -0.024391 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.122598 -0.187500 -0.024386 +v 0.103933 -0.187500 -0.069446 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 0.103934 +v 0.069446 -0.187500 0.103933 +v 0.103934 -0.187500 0.069446 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.122598 -0.187500 0.024386 +v 0.024386 -0.024391 0.122598 +v 0.024386 -0.187500 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.024386 -0.187500 0.122598 +v -0.069446 -0.024391 0.103934 +v -0.069447 -0.187500 0.103933 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.187500 0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.103934 -0.187500 -0.069447 +v -0.069446 -0.024391 -0.103934 +v -0.069446 -0.187500 -0.103934 +v -0.024386 -0.024391 -0.122598 +v -0.024386 -0.187500 -0.122598 +v -0.103934 0.041589 -0.041924 +v 0.103934 0.041589 -0.041925 +v 0.122598 0.009727 -0.010062 +v 0.024386 0.079173 -0.079509 +v 0.069446 0.065976 -0.066311 +v 0.069446 0.094826 -0.024663 +v -0.103934 0.062964 -0.011464 +v -0.069446 0.094827 -0.024662 +v -0.024386 0.112070 -0.031805 +v 0.024386 0.112070 -0.031805 +v 0.122598 0.021334 0.005779 +v 0.103934 0.062964 -0.011464 +v -0.122598 0.021334 0.005780 +v -0.024386 0.079173 -0.079509 +v -0.069446 0.065976 -0.066311 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.122598 0.024386 0.024391 +v 0.129917 -0.086808 0.500000 +v 0.153247 -0.030483 0.500000 +v -0.000001 0.000000 0.500000 +v 0.086807 -0.129917 0.500000 +v 0.030482 -0.153248 0.500000 +v -0.030483 -0.153248 0.500000 +v -0.086808 -0.129917 0.500000 +v -0.129918 -0.086808 0.500000 +v -0.153248 -0.030483 0.500000 +v -0.153248 0.030483 0.500000 +v -0.129918 0.086808 0.500000 +v -0.086808 0.129917 0.500000 +v -0.030483 0.153247 0.500000 +v 0.030482 0.153247 0.500000 +v 0.086807 0.129917 0.500000 +v 0.129917 0.086808 0.500000 +v 0.153247 0.030483 0.500000 +v 0.129917 0.086808 0.468750 +v 0.153247 0.030483 0.468750 +v 0.000000 0.000000 0.468750 +v 0.086807 0.129917 0.468750 +v 0.030482 0.153247 0.468750 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.468750 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.468750 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.468750 +v 0.069446 -0.103934 0.024391 +v 0.069446 -0.103934 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.024386 -0.122598 0.024391 +v 0.122598 -0.024387 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.103934 -0.069446 0.024391 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v 0.103934 0.069446 0.024391 +v 0.122598 0.024386 0.024391 +v 0.122598 0.024386 0.468750 +v 0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.468750 +v -0.024386 0.122598 0.024391 +v -0.024387 0.122598 0.468750 +v -0.069446 0.103934 0.024391 +v -0.069447 0.103933 0.468750 +v -0.103934 0.069446 0.024391 +v -0.103934 0.069446 0.468750 +v -0.103934 -0.069446 0.024391 +v -0.103934 -0.069447 0.468750 +v -0.069446 -0.103934 0.024391 +v -0.069447 -0.103934 0.468750 +v -0.024386 -0.122598 0.024391 +v -0.024387 -0.122598 0.468750 +v 0.069446 0.103934 0.024390 +v -0.122598 -0.005780 -0.020763 +v -0.024386 0.031804 -0.111499 +v -0.069446 0.024662 -0.094256 +v -0.103934 0.011464 -0.062393 +v 0.103934 0.011464 -0.062393 +v 0.122598 -0.005780 -0.020763 +v 0.024386 0.031804 -0.111499 +v 0.069446 0.024662 -0.094256 +v -0.122598 0.009727 -0.010062 +vt 0.187500 0.578125 +vt 0.187500 0.328125 +vt 0.250000 0.328125 +vt 0.250000 0.578125 +vt 0.139725 0.682190 +vt 0.199773 0.657318 +vt 0.232270 0.820694 +vt 0.093767 0.728149 +vt 0.068894 0.788196 +vt 0.068894 0.853192 +vt 0.093767 0.913239 +vt 0.139725 0.959198 +vt 0.199773 0.984070 +vt 0.264768 0.984070 +vt 0.324816 0.959198 +vt 0.370774 0.913239 +vt 0.395647 0.853192 +vt 0.395647 0.788196 +vt 0.370774 0.728149 +vt 0.324816 0.682190 +vt 0.264768 0.657318 +vt 0.487410 0.682190 +vt 0.547457 0.657318 +vt 0.579955 0.820694 +vt 0.441451 0.728149 +vt 0.416578 0.788196 +vt 0.416578 0.853192 +vt 0.441451 0.913239 +vt 0.487410 0.959198 +vt 0.547457 0.984070 +vt 0.612452 0.984070 +vt 0.672500 0.959198 +vt 0.718459 0.913239 +vt 0.743331 0.853192 +vt 0.743331 0.788196 +vt 0.718459 0.728149 +vt 0.672500 0.682190 +vt 0.612452 0.657318 +vt 0.125000 0.640625 +vt 0.125000 0.578125 +vt 0.187500 0.640625 +vt 0.250000 0.640625 +vt 0.062500 0.640625 +vt 0.062500 0.578125 +vt 0.000000 0.640625 +vt 0.000000 0.578125 +vt 0.937500 0.640625 +vt 0.937500 0.578125 +vt 1.000000 0.578125 +vt 1.000000 0.640625 +vt 0.875000 0.640625 +vt 0.875000 0.578125 +vt 0.812500 0.640625 +vt 0.812500 0.578125 +vt 0.750000 0.640625 +vt 0.750000 0.578125 +vt 0.687500 0.640625 +vt 0.687500 0.578125 +vt 0.625000 0.640625 +vt 0.625000 0.578125 +vt 0.562500 0.640625 +vt 0.562500 0.578125 +vt 0.500000 0.640625 +vt 0.500000 0.578125 +vt 0.437500 0.640625 +vt 0.437500 0.578125 +vt 0.375000 0.640625 +vt 0.375000 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.578125 +vt 0.875000 0.328125 +vt 0.937500 0.328125 +vt 0.750000 0.328125 +vt 0.812500 0.328125 +vt 0.562500 0.328125 +vt 0.625000 0.328125 +vt 0.687500 0.328125 +vt 0.500000 0.328125 +vt 0.437500 0.328125 +vt 0.375000 0.328125 +vt 0.312500 0.328125 +vt 0.125000 0.328125 +vt 0.062500 0.328125 +vt 0.000000 0.328125 +vt 1.000000 0.328125 +vt 0.139892 0.682190 +vt 0.199940 0.657318 +vt 0.232437 0.820694 +vt 0.093934 0.728149 +vt 0.069061 0.788196 +vt 0.069061 0.853192 +vt 0.093934 0.913239 +vt 0.139892 0.959198 +vt 0.199940 0.984070 +vt 0.264935 0.984070 +vt 0.324983 0.959198 +vt 0.370941 0.913239 +vt 0.395814 0.853192 +vt 0.395814 0.788196 +vt 0.370941 0.728149 +vt 0.324983 0.682190 +vt 0.264935 0.657318 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.000000 0.999989 +vt 0.000000 0.890943 +vt 0.041611 0.899043 +vt 0.941956 0.794823 +vt 0.941956 0.841698 +vt 0.895081 0.841698 +vt 0.895081 0.794823 +vt 0.848206 0.841698 +vt 0.848206 0.794823 +vt 0.801331 0.794823 +vt 0.801331 0.841698 +vt 0.754456 0.841698 +vt 0.754456 0.794823 +vt 0.988831 0.794823 +vt 0.988831 0.841698 +vt 0.941956 0.701073 +vt 0.941956 0.747948 +vt 0.895081 0.747948 +vt 0.895081 0.701073 +vt 0.041611 0.741571 +vt 0.000000 0.749671 +vt 0.076282 0.717645 +vt 0.102233 0.682226 +vt 0.109057 0.640614 +vt 0.754456 0.747948 +vt 0.801331 0.747948 +vt 0.848206 0.747948 +vt 0.848206 0.701073 +vt 0.941956 0.888573 +vt 0.988831 0.888573 +vt 0.895081 0.888573 +vt 0.848206 0.888573 +vt 0.076282 0.922969 +vt 0.102233 0.958388 +vt 0.109057 1.000000 +vt 0.801331 0.888573 +vt 0.754456 0.888573 +vt 0.801331 0.935448 +vt 0.754456 0.935448 +vt 0.754456 0.982323 +vt 0.801331 0.982323 +vt 0.848206 0.935448 +vt 0.848206 0.982323 +vt 0.895081 0.935448 +vt 0.895081 0.982323 +vt 0.941956 0.935448 +vt 0.941956 0.982323 +vt 0.988831 0.982323 +vt 0.988831 0.935448 +vt 0.801331 0.701073 +vt 0.754456 0.701073 +s off +f 1/1 2/2 3/3 4/4 +f 5/5 6/6 7/7 +f 8/8 5/5 7/7 +f 9/9 8/8 7/7 +f 10/10 9/9 7/7 +f 11/11 10/10 7/7 +f 12/12 11/11 7/7 +f 13/13 12/12 7/7 +f 14/14 13/13 7/7 +f 15/15 14/14 7/7 +f 16/16 15/15 7/7 +f 17/17 16/16 7/7 +f 18/18 17/17 7/7 +f 19/19 18/18 7/7 +f 20/20 19/19 7/7 +f 21/21 20/20 7/7 +f 22/22 23/23 24/24 +f 25/25 22/22 24/24 +f 26/26 25/25 24/24 +f 27/27 26/26 24/24 +f 28/28 27/27 24/24 +f 29/29 28/28 24/24 +f 30/30 29/29 24/24 +f 31/31 30/30 24/24 +f 32/32 31/31 24/24 +f 33/33 32/32 24/24 +f 34/34 33/33 24/24 +f 35/35 34/34 24/24 +f 36/36 35/35 24/24 +f 37/37 36/36 24/24 +f 38/38 37/37 24/24 +f 23/23 38/38 24/24 +f 6/6 21/21 7/7 +f 25/39 19/40 20/1 22/41 +f 22/41 20/1 21/4 23/42 +f 26/43 18/44 19/40 25/39 +f 27/45 17/46 18/44 26/43 +f 28/47 16/48 17/49 27/50 +f 29/51 15/52 16/48 28/47 +f 30/53 14/54 15/52 29/51 +f 31/55 13/56 14/54 30/53 +f 32/57 12/58 13/56 31/55 +f 33/59 11/60 12/58 32/57 +f 34/61 10/62 11/60 33/59 +f 35/63 9/64 10/62 34/61 +f 36/65 8/66 9/64 35/63 +f 37/67 5/68 8/66 36/65 +f 38/69 6/70 5/68 37/67 +f 23/42 21/4 6/70 38/69 +f 39/52 40/71 41/72 42/48 +f 43/56 44/73 45/74 46/54 +f 47/62 48/75 49/76 50/60 +f 51/58 52/77 44/73 43/56 +f 46/54 45/74 40/71 39/52 +f 50/60 49/76 52/77 51/58 +f 53/64 54/78 48/75 47/62 +f 55/66 56/79 54/78 53/64 +f 57/68 58/80 56/79 55/66 +f 59/70 60/81 58/80 57/68 +f 4/4 3/3 60/81 59/70 +f 2/2 1/1 61/40 62/82 +f 63/44 64/83 62/82 61/40 +f 65/46 66/84 64/83 63/44 +f 42/48 41/72 66/85 65/49 +f 85/86 86/87 87/88 +f 88/89 85/86 87/88 +f 89/90 88/89 87/88 +f 90/91 89/90 87/88 +f 91/92 90/91 87/88 +f 92/93 91/92 87/88 +f 93/94 92/93 87/88 +f 94/95 93/94 87/88 +f 95/96 94/95 87/88 +f 96/97 95/96 87/88 +f 97/98 96/97 87/88 +f 98/99 97/98 87/88 +f 99/100 98/99 87/88 +f 100/101 99/100 87/88 +f 101/102 100/101 87/88 +f 102/22 103/23 104/24 +f 105/25 102/22 104/24 +f 106/26 105/25 104/24 +f 107/27 106/26 104/24 +f 108/28 107/27 104/24 +f 109/29 108/28 104/24 +f 110/30 109/29 104/24 +f 111/31 110/30 104/24 +f 112/32 111/31 104/24 +f 113/33 112/32 104/24 +f 114/34 113/33 104/24 +f 115/35 114/34 104/24 +f 116/36 115/35 104/24 +f 117/37 116/36 104/24 +f 118/38 117/37 104/24 +f 103/23 118/38 104/24 +f 86/87 101/102 87/88 +f 105/39 99/40 100/1 102/41 +f 102/41 100/1 101/4 103/42 +f 106/43 98/44 99/40 105/39 +f 107/45 97/46 98/44 106/43 +f 108/47 96/48 97/49 107/50 +f 109/51 95/52 96/48 108/47 +f 110/53 94/54 95/52 109/51 +f 111/55 93/56 94/54 110/53 +f 112/57 92/58 93/56 111/55 +f 113/59 91/60 92/58 112/57 +f 114/61 90/62 91/60 113/59 +f 115/63 89/64 90/62 114/61 +f 116/65 88/66 89/64 115/63 +f 117/67 85/68 88/66 116/65 +f 118/69 86/70 85/68 117/67 +f 103/42 101/4 86/70 118/69 +f 119/103 120/104 121/105 122/106 +f 125/107 124/108 120/104 119/103 +f 128/109 127/110 130/111 129/112 +f 133/113 134/114 132/115 131/116 +f 135/117 136/118 134/114 133/113 +f 137/119 138/120 136/118 135/117 +f 84/121 83/122 138/120 137/119 +f 141/123 142/124 140/125 139/126 +f 143/127 144/128 142/124 141/123 +f 122/106 121/105 144/129 143/130 +f 4/131 82/132 83/122 84/121 +f 51/133 123/134 124/108 125/107 +f 145/135 126/136 127/110 128/109 +f 129/112 130/111 123/134 51/133 +f 131/116 132/115 126/136 145/135 +f 139/126 140/125 82/132 4/131 +f 51/137 43/138 151/139 +f 65/140 147/141 152/142 42/143 +f 42/143 152/142 153/144 39/145 +f 46/146 39/145 153/144 150/147 +f 46/146 150/147 151/148 43/149 +f 65/140 63/150 148/151 147/141 +f 63/152 61/153 149/154 148/155 +f 61/153 1/140 146/143 149/154 +f 4/45 146/156 1/157 +f 4/45 154/158 146/156 +f 4/45 79/159 154/158 +f 79/159 4/45 84/160 +f 137/161 73/162 79/146 84/149 +f 73/162 67/163 154/145 79/146 +f 149/154 146/143 154/145 67/163 +f 81/164 148/155 149/154 67/163 +f 80/165 147/141 148/151 81/166 +f 80/165 70/167 152/142 147/141 +f 70/167 71/168 153/144 152/142 +f 51/137 151/139 69/169 +f 51/137 69/169 77/170 +f 77/170 129/171 51/137 +f 150/147 68/172 69/173 151/148 +f 78/174 77/175 69/173 68/172 +f 68/172 150/147 153/144 71/168 +f 129/176 77/175 78/174 128/177 +f 78/174 68/172 71/168 72/178 +f 78/174 72/178 145/179 128/177 +f 76/180 72/178 71/168 70/167 +f 76/180 131/181 145/179 72/178 +f 80/165 75/182 76/180 70/167 +f 133/183 131/181 76/180 75/182 +f 135/184 133/183 75/182 74/185 +f 75/182 80/165 81/166 74/185 +f 74/186 81/164 67/163 73/162 +f 137/161 135/187 74/186 73/162 diff --git a/mods/pipeworks/models/pipeworks_spigot_pouring.obj b/mods/pipeworks/models/pipeworks_spigot_pouring.obj new file mode 100644 index 00000000..34d73a6e --- /dev/null +++ b/mods/pipeworks/models/pipeworks_spigot_pouring.obj @@ -0,0 +1,608 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-spigot-pouring.blend' +# www.blender.org +o pipe.001_Cylinder.000 +v -0.122598 -0.024391 -0.024386 +v -0.122598 -0.024391 0.024386 +v 0.129917 -0.250000 -0.086808 +v 0.153247 -0.250000 -0.030483 +v -0.000000 -0.250000 -0.000000 +v 0.086808 -0.250000 -0.129917 +v 0.030483 -0.250000 -0.153248 +v -0.030483 -0.250000 -0.153248 +v -0.086808 -0.250000 -0.129917 +v -0.129917 -0.250000 -0.086808 +v -0.153248 -0.250000 -0.030483 +v -0.153248 -0.250000 0.030483 +v -0.129917 -0.250000 0.086808 +v -0.086808 -0.250000 0.129917 +v -0.030483 -0.250000 0.153247 +v 0.030483 -0.250000 0.153248 +v 0.086808 -0.250000 0.129917 +v 0.129917 -0.250000 0.086808 +v 0.153247 -0.250000 0.030483 +v 0.129917 -0.187500 0.086808 +v 0.153248 -0.187500 0.030483 +v -0.000000 -0.187500 -0.000000 +v 0.086808 -0.187500 0.129917 +v 0.030483 -0.187500 0.153248 +v -0.030483 -0.187500 0.153247 +v -0.086808 -0.187500 0.129917 +v -0.129917 -0.187500 0.086808 +v -0.153248 -0.187500 0.030483 +v -0.153248 -0.187500 -0.030483 +v -0.129917 -0.187500 -0.086808 +v -0.086808 -0.187500 -0.129917 +v -0.030483 -0.187500 -0.153248 +v 0.030483 -0.187500 -0.153248 +v 0.086808 -0.187500 -0.129917 +v 0.129917 -0.187500 -0.086808 +v 0.153248 -0.187500 -0.030483 +v 0.069446 -0.024391 -0.103934 +v 0.024386 -0.024391 -0.122598 +v 0.122598 -0.024391 -0.024386 +v 0.103934 -0.024391 -0.069446 +v 0.069446 -0.024391 0.103934 +v 0.103934 -0.024391 0.069446 +v 0.122598 -0.024391 0.024386 +v 0.024386 -0.024391 0.122598 +v -0.024386 -0.024391 0.122598 +v -0.069446 -0.024391 0.103934 +v -0.103934 -0.024391 0.069446 +v -0.103934 -0.024391 -0.069446 +v -0.069446 -0.024391 -0.103934 +v -0.024386 -0.024391 -0.122598 +v -0.103934 0.041589 -0.041924 +v 0.103934 0.041589 -0.041925 +v 0.122598 0.009727 -0.010062 +v 0.024386 0.079173 -0.079509 +v 0.069446 0.065976 -0.066311 +v 0.069446 0.094826 -0.024663 +v -0.103934 0.062964 -0.011464 +v -0.069446 0.094827 -0.024662 +v -0.024386 0.112070 -0.031805 +v 0.024386 0.112070 -0.031805 +v 0.122598 0.021334 0.005779 +v 0.103934 0.062964 -0.011464 +v -0.122598 0.021334 0.005780 +v -0.024386 0.079173 -0.079509 +v -0.069446 0.065976 -0.066311 +v -0.122599 -0.024387 0.468750 +v -0.122599 0.024386 0.468750 +v -0.122598 0.024386 0.024391 +v 0.129917 -0.086808 0.500000 +v 0.153247 -0.030483 0.500000 +v -0.000001 0.000000 0.500000 +v 0.086807 -0.129917 0.500000 +v 0.030482 -0.153248 0.500000 +v -0.030483 -0.153248 0.500000 +v -0.086808 -0.129917 0.500000 +v -0.129918 -0.086808 0.500000 +v -0.153248 -0.030483 0.500000 +v -0.153248 0.030483 0.500000 +v -0.129918 0.086808 0.500000 +v -0.086808 0.129917 0.500000 +v -0.030483 0.153247 0.500000 +v 0.030482 0.153247 0.500000 +v 0.086807 0.129917 0.500000 +v 0.129917 0.086808 0.500000 +v 0.153247 0.030483 0.500000 +v 0.129917 0.086808 0.468750 +v 0.153247 0.030483 0.468750 +v 0.000000 0.000000 0.468750 +v 0.086807 0.129917 0.468750 +v 0.030482 0.153247 0.468750 +v -0.030483 0.153247 0.468750 +v -0.086808 0.129917 0.468750 +v -0.129918 0.086808 0.468750 +v -0.153248 0.030483 0.468750 +v -0.153248 -0.030483 0.468750 +v -0.129918 -0.086808 0.468750 +v -0.086808 -0.129917 0.468750 +v -0.030483 -0.153248 0.468750 +v 0.030482 -0.153248 0.468750 +v 0.086807 -0.129917 0.468750 +v 0.129917 -0.086808 0.468750 +v 0.153247 -0.030483 0.468750 +v 0.069446 -0.103934 0.024391 +v 0.069446 -0.103934 0.468750 +v 0.024386 -0.122598 0.468750 +v 0.024386 -0.122598 0.024391 +v 0.122598 -0.024387 0.468750 +v 0.103933 -0.069447 0.468750 +v 0.103934 -0.069446 0.024391 +v 0.069446 0.103933 0.468750 +v 0.103933 0.069446 0.468750 +v 0.103934 0.069446 0.024391 +v 0.122598 0.024386 0.024391 +v 0.122598 0.024386 0.468750 +v 0.024386 0.122598 0.024391 +v 0.024386 0.122598 0.468750 +v -0.024386 0.122598 0.024391 +v -0.024387 0.122598 0.468750 +v -0.069446 0.103934 0.024391 +v -0.069447 0.103933 0.468750 +v -0.103934 0.069446 0.024391 +v -0.103934 0.069446 0.468750 +v -0.103934 -0.069446 0.024391 +v -0.103934 -0.069447 0.468750 +v -0.069446 -0.103934 0.024391 +v -0.069447 -0.103934 0.468750 +v -0.024386 -0.122598 0.024391 +v -0.024387 -0.122598 0.468750 +v 0.069446 0.103934 0.024390 +v -0.122598 -0.005780 -0.020763 +v -0.024386 0.031804 -0.111499 +v -0.069446 0.024662 -0.094256 +v -0.103934 0.011464 -0.062393 +v 0.103934 0.011464 -0.062393 +v 0.122598 -0.005780 -0.020763 +v 0.024386 0.031804 -0.111499 +v 0.069446 0.024662 -0.094256 +v -0.122598 0.009727 -0.010062 +v -0.122598 -0.246570 0.024386 +v -0.103934 -0.246570 0.069446 +v -0.069447 -0.246570 0.103934 +v -0.122598 -0.246570 -0.024386 +v 0.069446 -0.246571 0.103933 +v 0.122598 -0.246571 0.024386 +v 0.103934 -0.246571 0.069446 +v 0.103933 -0.246571 -0.069446 +v -0.024386 -0.246570 0.122598 +v 0.122598 -0.246571 -0.024386 +v -0.024386 -0.246571 -0.122598 +v 0.024386 -0.246571 -0.122598 +v 0.069446 -0.246571 -0.103934 +v -0.103934 -0.246570 -0.069446 +v -0.069446 -0.246570 -0.103934 +v 0.024386 -0.246570 0.122598 +v -0.098079 -0.593750 -0.019510 +v -0.098079 -0.593750 0.019509 +v 0.055556 -0.593750 -0.083147 +v 0.019508 -0.593750 -0.098078 +v 0.098078 -0.593750 -0.019509 +v 0.083146 -0.593750 -0.055557 +v 0.055557 -0.593750 0.083146 +v 0.083147 -0.593750 0.055557 +v 0.098078 -0.593750 0.019509 +v 0.019509 -0.593750 0.098078 +v -0.019509 -0.593750 0.098078 +v -0.055558 -0.593750 0.083146 +v -0.083147 -0.593750 0.055557 +v -0.083147 -0.593750 -0.055558 +v -0.055557 -0.593750 -0.083147 +v -0.019509 -0.593750 -0.098078 +v -0.000000 -0.593750 -0.000000 +v -0.098079 -0.246570 0.019509 +v -0.083147 -0.246570 0.055557 +v -0.055557 -0.246570 0.083147 +v -0.098079 -0.246570 -0.019509 +v 0.055557 -0.246571 0.083147 +v 0.098078 -0.246571 0.019509 +v 0.083147 -0.246571 0.055557 +v 0.083147 -0.246571 -0.055557 +v -0.019509 -0.246570 0.098078 +v 0.098078 -0.246571 -0.019509 +v -0.019509 -0.246571 -0.098078 +v 0.019509 -0.246571 -0.098079 +v 0.055557 -0.246571 -0.083147 +v -0.083147 -0.246570 -0.055557 +v -0.055557 -0.246570 -0.083147 +v 0.019509 -0.246570 0.098078 +vt 0.139725 0.682190 +vt 0.199773 0.657318 +vt 0.232270 0.820694 +vt 0.093767 0.728149 +vt 0.068894 0.788196 +vt 0.068894 0.853192 +vt 0.093767 0.913239 +vt 0.139725 0.959198 +vt 0.199773 0.984070 +vt 0.264768 0.984070 +vt 0.324816 0.959198 +vt 0.370774 0.913239 +vt 0.395647 0.853192 +vt 0.395647 0.788196 +vt 0.370774 0.728149 +vt 0.324816 0.682190 +vt 0.264768 0.657318 +vt 0.487410 0.682190 +vt 0.547457 0.657318 +vt 0.579955 0.820694 +vt 0.441451 0.728149 +vt 0.416578 0.788196 +vt 0.416578 0.853192 +vt 0.441451 0.913239 +vt 0.487410 0.959198 +vt 0.547457 0.984070 +vt 0.612452 0.984070 +vt 0.672500 0.959198 +vt 0.718459 0.913239 +vt 0.743331 0.853192 +vt 0.743331 0.788196 +vt 0.718459 0.728149 +vt 0.672500 0.682190 +vt 0.612452 0.657318 +vt 0.125000 0.640625 +vt 0.125000 0.578125 +vt 0.187500 0.578125 +vt 0.187500 0.640625 +vt 0.250000 0.578125 +vt 0.250000 0.640625 +vt 0.062500 0.640625 +vt 0.062500 0.578125 +vt 0.000000 0.640625 +vt 0.000000 0.578125 +vt 0.937500 0.640625 +vt 0.937500 0.578125 +vt 1.000000 0.578125 +vt 1.000000 0.640625 +vt 0.875000 0.640625 +vt 0.875000 0.578125 +vt 0.812500 0.640625 +vt 0.812500 0.578125 +vt 0.750000 0.640625 +vt 0.750000 0.578125 +vt 0.687500 0.640625 +vt 0.687500 0.578125 +vt 0.625000 0.640625 +vt 0.625000 0.578125 +vt 0.562500 0.640625 +vt 0.562500 0.578125 +vt 0.500000 0.640625 +vt 0.500000 0.578125 +vt 0.437500 0.640625 +vt 0.437500 0.578125 +vt 0.375000 0.640625 +vt 0.375000 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.578125 +vt 0.187500 0.453125 +vt 0.125000 0.453125 +vt 0.139892 0.682190 +vt 0.199940 0.657318 +vt 0.232437 0.820694 +vt 0.093934 0.728149 +vt 0.069061 0.788196 +vt 0.069061 0.853192 +vt 0.093934 0.913239 +vt 0.139892 0.959198 +vt 0.199940 0.984070 +vt 0.264935 0.984070 +vt 0.324983 0.959198 +vt 0.370941 0.913239 +vt 0.395814 0.853192 +vt 0.395814 0.788196 +vt 0.370941 0.728149 +vt 0.324983 0.682190 +vt 0.264935 0.657318 +vt 0.875000 0.265625 +vt 0.875000 0.015625 +vt 0.937500 0.015625 +vt 0.937500 0.265625 +vt 0.812500 0.265625 +vt 0.812500 0.015625 +vt 0.625000 0.265625 +vt 0.625000 0.015625 +vt 0.687500 0.015625 +vt 0.687500 0.265625 +vt 0.437500 0.265625 +vt 0.437500 0.015625 +vt 0.500000 0.015625 +vt 0.500000 0.265625 +vt 0.375000 0.265625 +vt 0.375000 0.015625 +vt 0.312500 0.265625 +vt 0.312500 0.015625 +vt 0.250000 0.265625 +vt 0.250000 0.015625 +vt 0.062500 0.265625 +vt 0.062500 0.015625 +vt 0.125000 0.015625 +vt 0.125000 0.265625 +vt 0.000000 0.265625 +vt 0.000000 0.015625 +vt 1.000000 0.015625 +vt 1.000000 0.265625 +vt 0.187500 0.265625 +vt 0.187500 0.015625 +vt 0.750000 0.265625 +vt 0.750000 0.015625 +vt 0.562500 0.265625 +vt 0.562500 0.015625 +vt 0.000000 0.999989 +vt 0.000000 0.890943 +vt 0.041611 0.899043 +vt 0.941956 0.794823 +vt 0.941956 0.841698 +vt 0.895081 0.841698 +vt 0.895081 0.794823 +vt 0.848206 0.841698 +vt 0.848206 0.794823 +vt 0.801331 0.794823 +vt 0.801331 0.841698 +vt 0.754456 0.841698 +vt 0.754456 0.794823 +vt 0.988831 0.794823 +vt 0.988831 0.841698 +vt 0.941956 0.701073 +vt 0.941956 0.747948 +vt 0.895081 0.747948 +vt 0.895081 0.701073 +vt 0.041611 0.741571 +vt 0.000000 0.749671 +vt 0.076282 0.717645 +vt 0.102233 0.682226 +vt 0.109057 0.640614 +vt 0.754456 0.747948 +vt 0.801331 0.747948 +vt 0.848206 0.747948 +vt 0.848206 0.701073 +vt 0.941956 0.888573 +vt 0.988831 0.888573 +vt 0.895081 0.888573 +vt 0.848206 0.888573 +vt 0.076282 0.922969 +vt 0.102233 0.958388 +vt 0.109057 1.000000 +vt 0.801331 0.888573 +vt 0.754456 0.888573 +vt 0.801331 0.935448 +vt 0.754456 0.935448 +vt 0.754456 0.982323 +vt 0.801331 0.982323 +vt 0.848206 0.935448 +vt 0.848206 0.982323 +vt 0.895081 0.935448 +vt 0.895081 0.982323 +vt 0.941956 0.935448 +vt 0.941956 0.982323 +vt 0.988831 0.982323 +vt 0.988831 0.935448 +vt 0.801331 0.701073 +vt 0.754456 0.701073 +vt 0.250000 0.453125 +vt 0.875000 0.453125 +vt 0.937500 0.453125 +vt 0.750000 0.453125 +vt 0.812500 0.453125 +vt 0.562500 0.453125 +vt 0.625000 0.453125 +vt 0.687500 0.453125 +vt 0.500000 0.453125 +vt 0.437500 0.453125 +vt 0.375000 0.453125 +vt 0.312500 0.453125 +vt 0.062500 0.453125 +vt 0.000000 0.453125 +vt 1.000000 0.453125 +vt 0.187500 0.281250 +vt 0.250000 0.281250 +vt 0.875000 0.281250 +vt 0.937500 0.281250 +vt 0.750000 0.281250 +vt 0.812500 0.281250 +vt 0.562500 0.281250 +vt 0.625000 0.281250 +vt 0.687500 0.281250 +vt 0.500000 0.281250 +vt 0.437500 0.281250 +vt 0.375000 0.281250 +vt 0.312500 0.281250 +vt 0.062500 0.281250 +vt 0.125000 0.281250 +vt 0.000000 0.281250 +vt 1.000000 0.281250 +vt 0.036995 0.295282 +vt 0.068358 0.282292 +vt 0.085331 0.367623 +vt 0.102305 0.282292 +vt 0.133667 0.295282 +vt 0.157671 0.319287 +vt 0.170663 0.350650 +vt 0.170663 0.384596 +vt 0.157672 0.415959 +vt 0.133668 0.439963 +vt 0.102305 0.452954 +vt 0.068358 0.452954 +vt 0.036994 0.439963 +vt 0.012991 0.415959 +vt 0.000000 0.384596 +vt 0.000000 0.350649 +vt 0.012991 0.319286 +s off +f 3/1 4/2 5/3 +f 6/4 3/1 5/3 +f 7/5 6/4 5/3 +f 8/6 7/5 5/3 +f 9/7 8/6 5/3 +f 10/8 9/7 5/3 +f 11/9 10/8 5/3 +f 12/10 11/9 5/3 +f 13/11 12/10 5/3 +f 14/12 13/11 5/3 +f 15/13 14/12 5/3 +f 16/14 15/13 5/3 +f 17/15 16/14 5/3 +f 18/16 17/15 5/3 +f 19/17 18/16 5/3 +f 20/18 21/19 22/20 +f 23/21 20/18 22/20 +f 24/22 23/21 22/20 +f 25/23 24/22 22/20 +f 26/24 25/23 22/20 +f 27/25 26/24 22/20 +f 28/26 27/25 22/20 +f 29/27 28/26 22/20 +f 30/28 29/27 22/20 +f 31/29 30/28 22/20 +f 32/30 31/29 22/20 +f 33/31 32/30 22/20 +f 34/32 33/31 22/20 +f 35/33 34/32 22/20 +f 36/34 35/33 22/20 +f 21/19 36/34 22/20 +f 4/2 19/17 5/3 +f 23/35 17/36 18/37 20/38 +f 20/38 18/37 19/39 21/40 +f 24/41 16/42 17/36 23/35 +f 25/43 15/44 16/42 24/41 +f 26/45 14/46 15/47 25/48 +f 27/49 13/50 14/46 26/45 +f 28/51 12/52 13/50 27/49 +f 29/53 11/54 12/52 28/51 +f 30/55 10/56 11/54 29/53 +f 31/57 9/58 10/56 30/55 +f 32/59 8/60 9/58 31/57 +f 33/61 7/62 8/60 32/59 +f 34/63 6/64 7/62 33/61 +f 35/65 3/66 6/64 34/63 +f 36/67 4/68 3/66 35/65 +f 21/40 19/39 4/68 36/67 +f 142/69 1/37 48/36 152/70 +f 69/71 70/72 71/73 +f 72/74 69/71 71/73 +f 73/75 72/74 71/73 +f 74/76 73/75 71/73 +f 75/77 74/76 71/73 +f 76/78 75/77 71/73 +f 77/79 76/78 71/73 +f 78/80 77/79 71/73 +f 79/81 78/80 71/73 +f 80/82 79/81 71/73 +f 81/83 80/82 71/73 +f 82/84 81/83 71/73 +f 83/85 82/84 71/73 +f 84/86 83/85 71/73 +f 85/87 84/86 71/73 +f 86/18 87/19 88/20 +f 89/21 86/18 88/20 +f 90/22 89/21 88/20 +f 91/23 90/22 88/20 +f 92/24 91/23 88/20 +f 93/25 92/24 88/20 +f 94/26 93/25 88/20 +f 95/27 94/26 88/20 +f 96/28 95/27 88/20 +f 97/29 96/28 88/20 +f 98/30 97/29 88/20 +f 99/31 98/30 88/20 +f 100/32 99/31 88/20 +f 101/33 100/32 88/20 +f 102/34 101/33 88/20 +f 87/19 102/34 88/20 +f 70/72 85/87 71/73 +f 89/35 83/36 84/37 86/38 +f 86/38 84/37 85/39 87/40 +f 90/41 82/42 83/36 89/35 +f 91/43 81/44 82/42 90/41 +f 92/45 80/46 81/47 91/48 +f 93/49 79/50 80/46 92/45 +f 94/51 78/52 79/50 93/49 +f 95/53 77/54 78/52 94/51 +f 96/55 76/56 77/54 95/53 +f 97/57 75/58 76/56 96/55 +f 98/59 74/60 75/58 97/57 +f 99/61 73/62 74/60 98/59 +f 100/63 72/64 73/62 99/61 +f 101/65 69/66 72/64 100/63 +f 102/67 70/68 69/66 101/65 +f 87/40 85/39 70/68 102/67 +f 103/88 104/89 105/90 106/91 +f 109/92 108/93 104/89 103/88 +f 112/94 111/95 114/96 113/97 +f 117/98 118/99 116/100 115/101 +f 119/102 120/103 118/99 117/98 +f 121/104 122/105 120/103 119/102 +f 68/106 67/107 122/105 121/104 +f 125/108 126/109 124/110 123/111 +f 127/112 128/113 126/109 125/108 +f 106/91 105/90 128/114 127/115 +f 2/116 66/117 67/107 68/106 +f 43/118 107/119 108/93 109/92 +f 129/120 110/121 111/95 112/94 +f 113/97 114/96 107/119 43/118 +f 115/101 116/100 110/121 129/120 +f 123/111 124/110 66/117 2/116 +f 43/122 39/123 135/124 +f 50/125 131/126 136/127 38/128 +f 38/128 136/127 137/129 37/130 +f 40/131 37/130 137/129 134/132 +f 40/131 134/132 135/133 39/134 +f 50/125 49/135 132/136 131/126 +f 49/137 48/138 133/139 132/140 +f 48/138 1/125 130/128 133/139 +f 2/43 130/141 1/142 +f 2/43 138/143 130/141 +f 2/43 63/144 138/143 +f 63/144 2/43 68/145 +f 121/146 57/147 63/131 68/134 +f 57/147 51/148 138/130 63/131 +f 133/139 130/128 138/130 51/148 +f 65/149 132/140 133/139 51/148 +f 64/150 131/126 132/136 65/151 +f 64/150 54/152 136/127 131/126 +f 54/152 55/153 137/129 136/127 +f 43/122 135/124 53/154 +f 43/122 53/154 61/155 +f 61/155 113/156 43/122 +f 134/132 52/157 53/158 135/133 +f 62/159 61/160 53/158 52/157 +f 52/157 134/132 137/129 55/153 +f 113/161 61/160 62/159 112/162 +f 62/159 52/157 55/153 56/163 +f 62/159 56/163 129/164 112/162 +f 60/165 56/163 55/153 54/152 +f 60/165 115/166 129/164 56/163 +f 64/150 59/167 60/165 54/152 +f 117/168 115/166 60/165 59/167 +f 119/169 117/168 59/167 58/170 +f 59/167 64/150 65/151 58/170 +f 58/171 65/149 51/148 57/147 +f 121/146 119/172 58/171 57/147 +f 1/37 142/69 139/173 2/39 +f 37/50 151/174 150/175 38/46 +f 39/54 148/176 146/177 40/52 +f 41/60 143/178 145/179 42/58 +f 43/56 144/180 148/176 39/54 +f 40/52 146/177 151/174 37/50 +f 42/58 145/179 144/180 43/56 +f 44/62 154/181 143/178 41/60 +f 45/64 147/182 154/181 44/62 +f 46/66 141/183 147/182 45/64 +f 47/68 140/184 141/183 46/66 +f 2/39 139/173 140/184 47/68 +f 49/42 153/185 152/70 48/36 +f 50/44 149/186 153/185 49/42 +f 38/46 150/175 149/187 50/47 +f 175/69 155/188 156/189 172/173 +f 184/174 157/190 158/191 183/175 +f 181/176 159/192 160/193 179/177 +f 176/178 161/194 162/195 178/179 +f 177/180 163/196 159/192 181/176 +f 179/177 160/193 157/190 184/174 +f 178/179 162/195 163/196 177/180 +f 187/181 164/197 161/194 176/178 +f 180/182 165/198 164/197 187/181 +f 174/183 166/199 165/198 180/182 +f 173/184 167/200 166/199 174/183 +f 172/173 156/189 167/200 173/184 +f 186/185 169/201 168/202 185/70 +f 182/186 170/203 169/201 186/185 +f 183/175 158/191 170/204 182/187 +f 169/205 170/206 171/207 +f 170/206 158/208 171/207 +f 158/208 157/209 171/207 +f 157/209 160/210 171/207 +f 160/210 159/211 171/207 +f 159/211 163/212 171/207 +f 163/212 162/213 171/207 +f 162/213 161/214 171/207 +f 161/214 164/215 171/207 +f 164/215 165/216 171/207 +f 165/216 166/217 171/207 +f 166/217 167/218 171/207 +f 167/218 156/219 171/207 +f 156/219 155/220 171/207 +f 155/220 168/221 171/207 +f 168/221 169/205 171/207 +f 155/188 175/69 185/70 168/202 diff --git a/mods/pipeworks/models/pipeworks_valve_off.mtl b/mods/pipeworks/models/pipeworks_valve_off.mtl new file mode 100644 index 00000000..8270973e --- /dev/null +++ b/mods/pipeworks/models/pipeworks_valve_off.mtl @@ -0,0 +1,11 @@ +# Blender MTL File: 'pipe-valve-off.blend' +# Material Count: 1 + +newmtl None +Ns 0 +Ka 0.000000 0.000000 0.000000 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 +map_Kd /home/vanessa/Minetest-related/mods/my_mods/pipeworks/textures/pipeworks_valve.png diff --git a/mods/pipeworks/models/pipeworks_valve_off.obj b/mods/pipeworks/models/pipeworks_valve_off.obj new file mode 100644 index 00000000..c5f71be5 --- /dev/null +++ b/mods/pipeworks/models/pipeworks_valve_off.obj @@ -0,0 +1,458 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-off.blend' +# www.blender.org +mtllib pipeworks_valve_off.mtl +o Cube.003 +v 0.062500 0.281250 -0.312500 +v 0.062500 0.281250 0.093750 +v -0.062500 0.281250 0.093750 +v -0.062500 0.281250 -0.312500 +v 0.062500 0.343750 -0.312500 +v 0.062500 0.343750 0.093750 +v -0.062500 0.343750 0.093750 +v -0.062500 0.343750 -0.312500 +v 0.031250 0.250000 -0.031250 +v 0.031250 0.250000 0.031250 +v -0.031250 0.250000 0.031250 +v -0.031250 0.250000 -0.031250 +v 0.031250 0.281250 -0.031250 +v 0.031250 0.281250 0.031250 +v -0.031250 0.281250 0.031250 +v -0.031250 0.281250 -0.031250 +v 0.250000 -0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 0.250000 0.250000 +v -0.250000 0.250000 -0.250000 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086807 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.265625 0.234375 +vt 0.468750 0.234375 +vt 0.468750 0.265625 +vt 0.265625 0.265625 +vt 0.265625 0.187500 +vt 0.328125 0.187500 +vt 0.328125 0.218750 +vt 0.265625 0.218750 +vt 0.468750 0.312500 +vt 0.265625 0.312500 +vt 0.265625 0.281250 +vt 0.468750 0.281250 +vt 0.406250 0.218750 +vt 0.343750 0.218750 +vt 0.343750 0.187500 +vt 0.406250 0.187500 +vt 0.468750 0.468750 +vt 0.265625 0.468750 +vt 0.265625 0.406250 +vt 0.468750 0.406250 +vt 0.468750 0.390625 +vt 0.265625 0.390625 +vt 0.265625 0.328125 +vt 0.468750 0.328125 +vt 0.039062 0.203125 +vt 0.007812 0.203125 +vt 0.007812 0.187500 +vt 0.039062 0.187500 +vt 0.085938 0.203125 +vt 0.054688 0.203125 +vt 0.054688 0.187500 +vt 0.085938 0.187500 +vt 0.148438 0.187500 +vt 0.179688 0.187500 +vt 0.179688 0.203125 +vt 0.148438 0.203125 +vt 0.132812 0.203125 +vt 0.101562 0.203125 +vt 0.101562 0.187500 +vt 0.132812 0.187500 +vt 0.515625 0.484375 +vt 0.515625 0.734375 +vt 0.265625 0.734375 +vt 0.265625 0.484375 +vt 0.000000 0.468750 +vt 0.000000 0.218750 +vt 0.250000 0.218750 +vt 0.250000 0.468750 +vt 0.515625 1.000000 +vt 0.265625 1.000000 +vt 0.265625 0.750000 +vt 0.515625 0.750000 +vt 0.250000 0.734375 +vt 0.000000 0.734375 +vt 0.000000 0.484375 +vt 0.250000 0.484375 +vt 0.781250 1.000000 +vt 0.531250 1.000000 +vt 0.531250 0.750000 +vt 0.781250 0.750000 +vt 0.000847 0.750015 +vt 0.250216 0.750015 +vt 0.250216 0.999385 +vt 0.000847 0.999385 +vt 0.867188 0.273438 +vt 0.835938 0.273438 +vt 0.835938 0.304688 +vt 0.867188 0.304688 +vt 0.804688 0.273438 +vt 0.804688 0.304688 +vt 0.773438 0.273438 +vt 0.773438 0.304688 +vt 0.742188 0.273438 +vt 0.742188 0.304688 +vt 0.710938 0.273438 +vt 0.710938 0.304688 +vt 0.679688 0.273438 +vt 0.679688 0.304688 +vt 0.648438 0.273438 +vt 0.648438 0.304688 +vt 0.617188 0.273438 +vt 0.617188 0.304688 +vt 0.585938 0.273438 +vt 0.585938 0.304688 +vt 0.554688 0.273438 +vt 0.554688 0.304688 +vt 0.523438 0.273438 +vt 0.523438 0.304688 +vt 0.492188 0.273438 +vt 0.492188 0.304688 +vt 0.992188 0.273438 +vt 0.960938 0.273438 +vt 0.960938 0.304688 +vt 0.992188 0.304688 +vt 0.929688 0.273438 +vt 0.929688 0.304688 +vt 0.898438 0.273438 +vt 0.898438 0.304688 +vt 0.600936 0.328499 +vt 0.584692 0.410164 +vt 0.568448 0.328499 +vt 0.757628 0.328499 +vt 0.773872 0.410164 +vt 0.790117 0.328499 +vt 0.820132 0.340932 +vt 0.843105 0.363905 +vt 0.855537 0.393920 +vt 0.855537 0.426408 +vt 0.843105 0.456424 +vt 0.820132 0.479396 +vt 0.790117 0.491829 +vt 0.757628 0.491829 +vt 0.727613 0.479396 +vt 0.704640 0.456424 +vt 0.692207 0.426408 +vt 0.692207 0.393920 +vt 0.704640 0.363905 +vt 0.727613 0.340932 +vt 0.538432 0.340932 +vt 0.515460 0.363905 +vt 0.503027 0.393920 +vt 0.503027 0.426408 +vt 0.515460 0.456424 +vt 0.538432 0.479396 +vt 0.568448 0.491829 +vt 0.600936 0.491829 +vt 0.630951 0.479396 +vt 0.653924 0.456424 +vt 0.666357 0.426408 +vt 0.666357 0.393920 +vt 0.653924 0.363905 +vt 0.630951 0.340932 +vt 0.585938 0.257812 +vt 0.585938 0.007812 +vt 0.617188 0.007812 +vt 0.617188 0.257812 +vt 0.538433 0.340928 +vt 0.568449 0.328495 +vt 0.584693 0.410160 +vt 0.515460 0.363901 +vt 0.503028 0.393916 +vt 0.503028 0.426405 +vt 0.515460 0.456420 +vt 0.538433 0.479393 +vt 0.568449 0.491826 +vt 0.600937 0.491826 +vt 0.630952 0.479393 +vt 0.653925 0.456420 +vt 0.666358 0.426405 +vt 0.666358 0.393916 +vt 0.653925 0.363901 +vt 0.630952 0.340928 +vt 0.600937 0.328495 +vt 0.727611 0.340928 +vt 0.757626 0.328495 +vt 0.773870 0.410160 +vt 0.704638 0.363901 +vt 0.692205 0.393916 +vt 0.692205 0.426405 +vt 0.704638 0.456420 +vt 0.727611 0.479393 +vt 0.757626 0.491826 +vt 0.790115 0.491826 +vt 0.820130 0.479393 +vt 0.843103 0.456420 +vt 0.855535 0.426405 +vt 0.855535 0.393916 +vt 0.843103 0.363901 +vt 0.820130 0.340928 +vt 0.790115 0.328495 +vt 0.929688 0.257812 +vt 0.929688 0.007812 +vt 0.960938 0.007812 +vt 0.960938 0.257812 +vt 0.867188 0.257812 +vt 0.867188 0.007812 +vt 0.898438 0.007812 +vt 0.898438 0.257812 +vt 0.773438 0.257812 +vt 0.773438 0.007812 +vt 0.804688 0.007812 +vt 0.804688 0.257812 +vt 0.835938 0.257812 +vt 0.835938 0.007812 +vt 0.742188 0.257812 +vt 0.742188 0.007812 +vt 0.710938 0.257812 +vt 0.710938 0.007812 +vt 0.679688 0.257812 +vt 0.679688 0.007812 +vt 0.648438 0.257812 +vt 0.648438 0.007812 +vt 0.554688 0.257812 +vt 0.554688 0.007812 +vt 0.523438 0.257812 +vt 0.523438 0.007812 +vt 0.492188 0.257812 +vt 0.492188 0.007812 +vt 0.992188 0.007812 +vt 0.992188 0.257812 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/11 3/12 +f 8/13 5/14 1/15 4/16 +f 1/17 2/18 3/19 4/20 +f 8/21 7/22 6/23 5/24 +f 13/25 14/26 10/27 9/28 +f 14/29 15/30 11/31 10/32 +f 15/33 16/34 12/35 11/36 +f 16/37 13/38 9/39 12/40 +f 21/41 22/42 18/43 17/44 +f 22/45 23/46 19/47 18/48 +f 23/49 24/50 20/51 19/52 +f 24/53 21/54 17/55 20/56 +f 17/57 18/58 19/59 20/60 +f 24/61 23/62 22/63 21/64 +f 25/65 27/66 28/67 26/68 +f 27/66 29/69 30/70 28/67 +f 29/69 31/71 32/72 30/70 +f 31/71 33/73 34/74 32/72 +f 33/73 35/75 36/76 34/74 +f 35/75 37/77 38/78 36/76 +f 37/77 39/79 40/80 38/78 +f 39/79 41/81 42/82 40/80 +f 41/81 43/83 44/84 42/82 +f 43/83 45/85 46/86 44/84 +f 45/85 47/87 48/88 46/86 +f 47/87 49/89 50/90 48/88 +f 49/91 51/92 52/93 50/94 +f 51/92 53/95 54/96 52/93 +f 55/97 25/65 26/68 56/98 +f 53/95 55/97 56/98 54/96 +f 28/99 74/100 26/101 +f 25/102 73/103 27/104 +f 27/104 73/103 29/105 +f 29/105 73/103 31/106 +f 31/106 73/103 33/107 +f 33/107 73/103 35/108 +f 35/108 73/103 37/109 +f 37/109 73/103 39/110 +f 39/110 73/103 41/111 +f 41/111 73/103 43/112 +f 43/112 73/103 45/113 +f 45/113 73/103 47/114 +f 47/114 73/103 49/115 +f 49/115 73/103 51/116 +f 51/116 73/103 53/117 +f 53/117 73/103 55/118 +f 55/118 73/103 25/102 +f 26/101 74/100 56/119 +f 56/119 74/100 54/120 +f 54/120 74/100 52/121 +f 52/121 74/100 50/122 +f 50/122 74/100 48/123 +f 48/123 74/100 46/124 +f 46/124 74/100 44/125 +f 44/125 74/100 42/126 +f 42/126 74/100 40/127 +f 40/127 74/100 38/128 +f 38/128 74/100 36/129 +f 36/129 74/100 34/130 +f 34/130 74/100 32/131 +f 32/131 74/100 30/132 +f 30/132 74/100 28/99 +f 65/133 115/134 116/135 66/136 +f 105/137 107/138 124/139 +f 103/140 105/137 124/139 +f 101/141 103/140 124/139 +f 99/142 101/141 124/139 +f 97/143 99/142 124/139 +f 95/144 97/143 124/139 +f 93/145 95/144 124/139 +f 91/146 93/145 124/139 +f 89/147 91/146 124/139 +f 87/148 89/147 124/139 +f 85/149 87/148 124/139 +f 83/150 85/149 124/139 +f 81/151 83/150 124/139 +f 79/152 81/151 124/139 +f 109/153 79/152 124/139 +f 80/154 110/155 123/156 +f 82/157 80/154 123/156 +f 84/158 82/157 123/156 +f 86/159 84/158 123/156 +f 88/160 86/159 123/156 +f 90/161 88/160 123/156 +f 92/162 90/161 123/156 +f 94/163 92/162 123/156 +f 96/164 94/163 123/156 +f 98/165 96/164 123/156 +f 100/166 98/165 123/156 +f 102/167 100/166 123/156 +f 104/168 102/167 123/156 +f 106/169 104/168 123/156 +f 108/170 106/169 123/156 +f 110/155 108/170 123/156 +f 107/138 109/153 124/139 +f 82/86 81/85 79/83 80/84 +f 80/84 79/83 109/81 110/82 +f 84/88 83/87 81/85 82/86 +f 86/90 85/89 83/87 84/88 +f 88/93 87/92 85/91 86/94 +f 90/96 89/95 87/92 88/93 +f 92/98 91/97 89/95 90/96 +f 94/68 93/65 91/97 92/98 +f 96/67 95/66 93/65 94/68 +f 98/70 97/69 95/66 96/67 +f 100/72 99/71 97/69 98/70 +f 102/74 101/73 99/71 100/72 +f 104/76 103/75 101/73 102/74 +f 106/78 105/77 103/75 104/76 +f 108/80 107/79 105/77 106/78 +f 110/82 109/81 107/79 108/80 +f 60/171 75/172 111/173 61/174 +f 58/175 77/176 76/177 59/178 +f 71/179 121/180 122/181 72/182 +f 57/183 78/184 77/176 58/175 +f 59/178 76/177 75/172 60/171 +f 72/182 122/181 78/184 57/183 +f 70/185 120/186 121/180 71/179 +f 69/187 119/188 120/186 70/185 +f 68/189 118/190 119/188 69/187 +f 67/191 117/192 118/190 68/189 +f 66/136 116/135 117/192 67/191 +f 64/193 114/194 115/134 65/133 +f 63/195 113/196 114/194 64/193 +f 62/197 112/198 113/196 63/195 +f 61/174 111/173 112/199 62/200 diff --git a/mods/pipeworks/models/pipeworks_valve_on.mtl b/mods/pipeworks/models/pipeworks_valve_on.mtl new file mode 100644 index 00000000..d5c178ea --- /dev/null +++ b/mods/pipeworks/models/pipeworks_valve_on.mtl @@ -0,0 +1,11 @@ +# Blender MTL File: 'pipe-valve-on.blend' +# Material Count: 1 + +newmtl None +Ns 0 +Ka 0.000000 0.000000 0.000000 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 +map_Kd /home/vanessa/Minetest-related/mods/my_mods/pipeworks/textures/pipeworks_valve.png diff --git a/mods/pipeworks/models/pipeworks_valve_on.obj b/mods/pipeworks/models/pipeworks_valve_on.obj new file mode 100644 index 00000000..ba08b30d --- /dev/null +++ b/mods/pipeworks/models/pipeworks_valve_on.obj @@ -0,0 +1,458 @@ +# Blender v2.69 (sub 0) OBJ File: 'pipe-valve-on.blend' +# www.blender.org +mtllib pipeworks_valve_on.mtl +o Cube.003 +v 0.312500 0.281250 0.062500 +v -0.093750 0.281250 0.062500 +v -0.093750 0.281250 -0.062500 +v 0.312500 0.281250 -0.062500 +v 0.312500 0.343750 0.062500 +v -0.093750 0.343750 0.062500 +v -0.093750 0.343750 -0.062500 +v 0.312500 0.343750 -0.062500 +v 0.031250 0.250000 -0.031250 +v 0.031250 0.250000 0.031250 +v -0.031250 0.250000 0.031250 +v -0.031250 0.250000 -0.031250 +v 0.031250 0.281250 -0.031250 +v 0.031250 0.281250 0.031250 +v -0.031250 0.281250 0.031250 +v -0.031250 0.281250 -0.031250 +v 0.250000 -0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 0.250000 0.250000 +v -0.250000 0.250000 -0.250000 +v -0.468750 -0.153248 -0.030483 +v -0.500000 -0.153248 -0.030483 +v -0.468750 -0.153248 0.030483 +v -0.500000 -0.153248 0.030483 +v -0.468750 -0.129917 0.086808 +v -0.500000 -0.129917 0.086808 +v -0.468750 -0.086808 0.129917 +v -0.500000 -0.086808 0.129917 +v -0.468750 -0.030483 0.153248 +v -0.500000 -0.030483 0.153248 +v -0.468750 0.030483 0.153248 +v -0.500000 0.030483 0.153248 +v -0.468750 0.086808 0.129917 +v -0.500000 0.086808 0.129917 +v -0.468750 0.129917 0.086808 +v -0.500000 0.129917 0.086808 +v -0.468750 0.153248 0.030483 +v -0.500000 0.153247 0.030483 +v -0.468750 0.153248 -0.030483 +v -0.500000 0.153248 -0.030483 +v -0.468750 0.129917 -0.086808 +v -0.500000 0.129917 -0.086808 +v -0.468750 0.086808 -0.129917 +v -0.500000 0.086808 -0.129917 +v -0.468750 0.030483 -0.153248 +v -0.500000 0.030483 -0.153248 +v -0.468750 -0.030483 -0.153248 +v -0.500000 -0.030483 -0.153248 +v -0.468750 -0.086808 -0.129917 +v -0.500000 -0.086808 -0.129917 +v -0.468750 -0.129917 -0.086808 +v -0.500000 -0.129917 -0.086808 +v -0.468750 -0.122598 -0.024386 +v -0.468750 -0.122598 0.024386 +v -0.468750 -0.103934 0.069446 +v -0.468750 -0.069446 0.103934 +v -0.468750 -0.024386 0.122598 +v -0.468750 0.024386 0.122598 +v -0.468750 0.069446 0.103934 +v -0.468750 0.103934 0.069446 +v -0.468750 0.122598 0.024386 +v -0.468750 0.122598 -0.024386 +v -0.468750 0.103934 -0.069446 +v -0.468750 0.069446 -0.103934 +v -0.468750 0.024386 -0.122598 +v -0.468750 -0.024387 -0.122598 +v -0.468750 -0.069447 -0.103934 +v -0.468750 -0.103934 -0.069446 +v -0.468750 -0.000000 -0.000000 +v -0.500000 -0.000000 -0.000000 +v 0.468750 -0.069446 0.103934 +v 0.468750 -0.103933 0.069447 +v 0.468750 -0.122598 0.024387 +v 0.468750 -0.122598 -0.024386 +v 0.500000 -0.129917 -0.086807 +v 0.468750 -0.129917 -0.086807 +v 0.500000 -0.086808 -0.129917 +v 0.468750 -0.086808 -0.129917 +v 0.500000 -0.030483 -0.153247 +v 0.468750 -0.030483 -0.153247 +v 0.500000 0.030483 -0.153247 +v 0.468750 0.030483 -0.153247 +v 0.500000 0.086808 -0.129917 +v 0.468750 0.086808 -0.129917 +v 0.500000 0.129917 -0.086808 +v 0.468750 0.129917 -0.086808 +v 0.500000 0.153248 -0.030483 +v 0.468750 0.153248 -0.030483 +v 0.500000 0.153248 0.030483 +v 0.468750 0.153248 0.030483 +v 0.500000 0.129917 0.086808 +v 0.468750 0.129917 0.086808 +v 0.500000 0.086808 0.129917 +v 0.468750 0.086808 0.129917 +v 0.500000 0.030483 0.153248 +v 0.468750 0.030483 0.153248 +v 0.500000 -0.030483 0.153248 +v 0.468750 -0.030483 0.153248 +v 0.500000 -0.086807 0.129917 +v 0.468750 -0.086808 0.129917 +v 0.500000 -0.129917 0.086808 +v 0.468750 -0.129917 0.086808 +v 0.500000 -0.153247 0.030483 +v 0.468750 -0.153247 0.030483 +v 0.500000 -0.153247 -0.030483 +v 0.468750 -0.153247 -0.030483 +v 0.468750 -0.024386 0.122598 +v 0.468750 0.024387 0.122598 +v 0.468750 0.069447 0.103934 +v 0.468750 0.103934 0.069447 +v 0.468750 0.122598 0.024387 +v 0.468750 0.122598 -0.024386 +v 0.468750 0.103934 -0.069446 +v 0.468750 0.069447 -0.103933 +v 0.468750 0.024387 -0.122598 +v 0.468750 -0.024386 -0.122598 +v 0.468750 -0.069446 -0.103933 +v 0.468750 -0.103933 -0.069446 +v 0.468750 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +vt 0.265625 0.234375 +vt 0.468750 0.234375 +vt 0.468750 0.265625 +vt 0.265625 0.265625 +vt 0.265625 0.187500 +vt 0.328125 0.187500 +vt 0.328125 0.218750 +vt 0.265625 0.218750 +vt 0.468750 0.312500 +vt 0.265625 0.312500 +vt 0.265625 0.281250 +vt 0.468750 0.281250 +vt 0.406250 0.218750 +vt 0.343750 0.218750 +vt 0.343750 0.187500 +vt 0.406250 0.187500 +vt 0.468750 0.468750 +vt 0.265625 0.468750 +vt 0.265625 0.406250 +vt 0.468750 0.406250 +vt 0.468750 0.390625 +vt 0.265625 0.390625 +vt 0.265625 0.328125 +vt 0.468750 0.328125 +vt 0.039062 0.203125 +vt 0.007812 0.203125 +vt 0.007812 0.187500 +vt 0.039062 0.187500 +vt 0.085938 0.203125 +vt 0.054688 0.203125 +vt 0.054688 0.187500 +vt 0.085938 0.187500 +vt 0.148438 0.187500 +vt 0.179688 0.187500 +vt 0.179688 0.203125 +vt 0.148438 0.203125 +vt 0.132812 0.203125 +vt 0.101562 0.203125 +vt 0.101562 0.187500 +vt 0.132812 0.187500 +vt 0.515625 0.484375 +vt 0.515625 0.734375 +vt 0.265625 0.734375 +vt 0.265625 0.484375 +vt 0.000000 0.468750 +vt 0.000000 0.218750 +vt 0.250000 0.218750 +vt 0.250000 0.468750 +vt 0.515625 1.000000 +vt 0.265625 1.000000 +vt 0.265625 0.750000 +vt 0.515625 0.750000 +vt 0.250000 0.734375 +vt 0.000000 0.734375 +vt 0.000000 0.484375 +vt 0.250000 0.484375 +vt 0.781250 1.000000 +vt 0.531250 1.000000 +vt 0.531250 0.750000 +vt 0.781250 0.750000 +vt 0.000847 0.750015 +vt 0.250216 0.750015 +vt 0.250216 0.999385 +vt 0.000847 0.999385 +vt 0.867188 0.273438 +vt 0.835938 0.273438 +vt 0.835938 0.304688 +vt 0.867188 0.304688 +vt 0.804688 0.273438 +vt 0.804688 0.304688 +vt 0.773438 0.273438 +vt 0.773438 0.304688 +vt 0.742188 0.273438 +vt 0.742188 0.304688 +vt 0.710938 0.273438 +vt 0.710938 0.304688 +vt 0.679688 0.273438 +vt 0.679688 0.304688 +vt 0.648438 0.273438 +vt 0.648438 0.304688 +vt 0.617188 0.273438 +vt 0.617188 0.304688 +vt 0.585938 0.273438 +vt 0.585938 0.304688 +vt 0.554688 0.273438 +vt 0.554688 0.304688 +vt 0.523438 0.273438 +vt 0.523438 0.304688 +vt 0.492188 0.273438 +vt 0.492188 0.304688 +vt 0.992188 0.273438 +vt 0.960938 0.273438 +vt 0.960938 0.304688 +vt 0.992188 0.304688 +vt 0.929688 0.273438 +vt 0.929688 0.304688 +vt 0.898438 0.273438 +vt 0.898438 0.304688 +vt 0.600936 0.328499 +vt 0.584692 0.410164 +vt 0.568448 0.328499 +vt 0.757628 0.328499 +vt 0.773872 0.410164 +vt 0.790117 0.328499 +vt 0.820132 0.340932 +vt 0.843105 0.363905 +vt 0.855537 0.393920 +vt 0.855537 0.426408 +vt 0.843105 0.456424 +vt 0.820132 0.479396 +vt 0.790117 0.491829 +vt 0.757628 0.491829 +vt 0.727613 0.479396 +vt 0.704640 0.456424 +vt 0.692207 0.426408 +vt 0.692207 0.393920 +vt 0.704640 0.363905 +vt 0.727613 0.340932 +vt 0.538432 0.340932 +vt 0.515460 0.363905 +vt 0.503027 0.393920 +vt 0.503027 0.426408 +vt 0.515460 0.456424 +vt 0.538432 0.479396 +vt 0.568448 0.491829 +vt 0.600936 0.491829 +vt 0.630951 0.479396 +vt 0.653924 0.456424 +vt 0.666357 0.426408 +vt 0.666357 0.393920 +vt 0.653924 0.363905 +vt 0.630951 0.340932 +vt 0.585938 0.257812 +vt 0.585938 0.007812 +vt 0.617188 0.007812 +vt 0.617188 0.257812 +vt 0.538433 0.340928 +vt 0.568449 0.328495 +vt 0.584693 0.410160 +vt 0.515460 0.363901 +vt 0.503028 0.393916 +vt 0.503028 0.426405 +vt 0.515460 0.456420 +vt 0.538433 0.479393 +vt 0.568449 0.491826 +vt 0.600937 0.491826 +vt 0.630952 0.479393 +vt 0.653925 0.456420 +vt 0.666358 0.426405 +vt 0.666358 0.393916 +vt 0.653925 0.363901 +vt 0.630952 0.340928 +vt 0.600937 0.328495 +vt 0.727611 0.340928 +vt 0.757626 0.328495 +vt 0.773870 0.410160 +vt 0.704638 0.363901 +vt 0.692205 0.393916 +vt 0.692205 0.426405 +vt 0.704638 0.456420 +vt 0.727611 0.479393 +vt 0.757626 0.491826 +vt 0.790115 0.491826 +vt 0.820130 0.479393 +vt 0.843103 0.456420 +vt 0.855535 0.426405 +vt 0.855535 0.393916 +vt 0.843103 0.363901 +vt 0.820130 0.340928 +vt 0.790115 0.328495 +vt 0.929688 0.257812 +vt 0.929688 0.007812 +vt 0.960938 0.007812 +vt 0.960938 0.257812 +vt 0.867188 0.257812 +vt 0.867188 0.007812 +vt 0.898438 0.007812 +vt 0.898438 0.257812 +vt 0.773438 0.257812 +vt 0.773438 0.007812 +vt 0.804688 0.007812 +vt 0.804688 0.257812 +vt 0.835938 0.257812 +vt 0.835938 0.007812 +vt 0.742188 0.257812 +vt 0.742188 0.007812 +vt 0.710938 0.257812 +vt 0.710938 0.007812 +vt 0.679688 0.257812 +vt 0.679688 0.007812 +vt 0.648438 0.257812 +vt 0.648438 0.007812 +vt 0.554688 0.257812 +vt 0.554688 0.007812 +vt 0.523438 0.257812 +vt 0.523438 0.007812 +vt 0.492188 0.257812 +vt 0.492188 0.007812 +vt 0.992188 0.007812 +vt 0.992188 0.257812 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/6 3/7 2/8 +f 7/9 8/10 4/11 3/12 +f 8/13 5/14 1/15 4/16 +f 1/17 2/18 3/19 4/20 +f 8/21 7/22 6/23 5/24 +f 13/25 14/26 10/27 9/28 +f 14/29 15/30 11/31 10/32 +f 15/33 16/34 12/35 11/36 +f 16/37 13/38 9/39 12/40 +f 21/41 22/42 18/43 17/44 +f 22/45 23/46 19/47 18/48 +f 23/49 24/50 20/51 19/52 +f 24/53 21/54 17/55 20/56 +f 17/57 18/58 19/59 20/60 +f 24/61 23/62 22/63 21/64 +f 25/65 27/66 28/67 26/68 +f 27/66 29/69 30/70 28/67 +f 29/69 31/71 32/72 30/70 +f 31/71 33/73 34/74 32/72 +f 33/73 35/75 36/76 34/74 +f 35/75 37/77 38/78 36/76 +f 37/77 39/79 40/80 38/78 +f 39/79 41/81 42/82 40/80 +f 41/81 43/83 44/84 42/82 +f 43/83 45/85 46/86 44/84 +f 45/85 47/87 48/88 46/86 +f 47/87 49/89 50/90 48/88 +f 49/91 51/92 52/93 50/94 +f 51/92 53/95 54/96 52/93 +f 55/97 25/65 26/68 56/98 +f 53/95 55/97 56/98 54/96 +f 28/99 74/100 26/101 +f 25/102 73/103 27/104 +f 27/104 73/103 29/105 +f 29/105 73/103 31/106 +f 31/106 73/103 33/107 +f 33/107 73/103 35/108 +f 35/108 73/103 37/109 +f 37/109 73/103 39/110 +f 39/110 73/103 41/111 +f 41/111 73/103 43/112 +f 43/112 73/103 45/113 +f 45/113 73/103 47/114 +f 47/114 73/103 49/115 +f 49/115 73/103 51/116 +f 51/116 73/103 53/117 +f 53/117 73/103 55/118 +f 55/118 73/103 25/102 +f 26/101 74/100 56/119 +f 56/119 74/100 54/120 +f 54/120 74/100 52/121 +f 52/121 74/100 50/122 +f 50/122 74/100 48/123 +f 48/123 74/100 46/124 +f 46/124 74/100 44/125 +f 44/125 74/100 42/126 +f 42/126 74/100 40/127 +f 40/127 74/100 38/128 +f 38/128 74/100 36/129 +f 36/129 74/100 34/130 +f 34/130 74/100 32/131 +f 32/131 74/100 30/132 +f 30/132 74/100 28/99 +f 65/133 115/134 116/135 66/136 +f 105/137 107/138 124/139 +f 103/140 105/137 124/139 +f 101/141 103/140 124/139 +f 99/142 101/141 124/139 +f 97/143 99/142 124/139 +f 95/144 97/143 124/139 +f 93/145 95/144 124/139 +f 91/146 93/145 124/139 +f 89/147 91/146 124/139 +f 87/148 89/147 124/139 +f 85/149 87/148 124/139 +f 83/150 85/149 124/139 +f 81/151 83/150 124/139 +f 79/152 81/151 124/139 +f 109/153 79/152 124/139 +f 80/154 110/155 123/156 +f 82/157 80/154 123/156 +f 84/158 82/157 123/156 +f 86/159 84/158 123/156 +f 88/160 86/159 123/156 +f 90/161 88/160 123/156 +f 92/162 90/161 123/156 +f 94/163 92/162 123/156 +f 96/164 94/163 123/156 +f 98/165 96/164 123/156 +f 100/166 98/165 123/156 +f 102/167 100/166 123/156 +f 104/168 102/167 123/156 +f 106/169 104/168 123/156 +f 108/170 106/169 123/156 +f 110/155 108/170 123/156 +f 107/138 109/153 124/139 +f 82/86 81/85 79/83 80/84 +f 80/84 79/83 109/81 110/82 +f 84/88 83/87 81/85 82/86 +f 86/90 85/89 83/87 84/88 +f 88/93 87/92 85/91 86/94 +f 90/96 89/95 87/92 88/93 +f 92/98 91/97 89/95 90/96 +f 94/68 93/65 91/97 92/98 +f 96/67 95/66 93/65 94/68 +f 98/70 97/69 95/66 96/67 +f 100/72 99/71 97/69 98/70 +f 102/74 101/73 99/71 100/72 +f 104/76 103/75 101/73 102/74 +f 106/78 105/77 103/75 104/76 +f 108/80 107/79 105/77 106/78 +f 110/82 109/81 107/79 108/80 +f 60/171 75/172 111/173 61/174 +f 58/175 77/176 76/177 59/178 +f 71/179 121/180 122/181 72/182 +f 57/183 78/184 77/176 58/175 +f 59/178 76/177 75/172 60/171 +f 72/182 122/181 78/184 57/183 +f 70/185 120/186 121/180 71/179 +f 69/187 119/188 120/186 70/185 +f 68/189 118/190 119/188 69/187 +f 67/191 117/192 118/190 68/189 +f 66/136 116/135 117/192 67/191 +f 64/193 114/194 115/134 65/133 +f 63/195 113/196 114/194 64/193 +f 62/197 112/198 113/196 63/195 +f 61/174 111/173 112/199 62/200 diff --git a/mods/pipeworks/pipes.lua b/mods/pipeworks/pipes.lua old mode 100755 new mode 100644 index ad79a3ed..2056fdfa --- a/mods/pipeworks/pipes.lua +++ b/mods/pipeworks/pipes.lua @@ -8,13 +8,7 @@ local pipes_full_nodenames = {} local vti = {4, 3, 2, 1, 6, 5} local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}} for index, connects in ipairs(cconnects) do - local outboxes = {} local outsel = {} - local outimgs = {} - - for i = 1, 6 do - outimgs[vti[i]] = "pipeworks_plain.png" - end local jx = 0 local jy = 0 @@ -27,24 +21,12 @@ for index, connects in ipairs(cconnects) do else jz = jz + 1 end - pipeworks.add_node_box(outboxes, pipeworks.pipe_boxes[v]) table.insert(outsel, pipeworks.pipe_selectboxes[v]) - outimgs[vti[v]] = "pipeworks_pipe_end.png" end if #connects == 1 then local v = connects[1] v = v-1 + 2*(v%2) -- Opposite side - outimgs[vti[v]] = "^pipeworks_plain.png" - end - - if #connects >= 2 then - pipeworks.add_node_box(outboxes, pipeworks.pipe_bendsphere) - end - - if jx == 2 and jy ~= 2 and jz ~= 2 then - outimgs[5] = pipeworks.liquid_texture.."^pipeworks_windowed_XXXXX.png" - outimgs[6] = outimgs[5] end local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1} @@ -57,24 +39,37 @@ for index, connects in ipairs(cconnects) do image = "pipeworks_pipe_inv.png" end - --table.insert(pipeworks.tubenodes, name.."_"..tname) - + local outimg_e = { "pipeworks_pipe_plain.png" } + local outimg_l = { "pipeworks_pipe_plain.png" } + + if index == 3 then + outimg_e = { "pipeworks_pipe_3_empty.png" } + outimg_l = { "pipeworks_pipe_3_loaded.png" } + end + + local mesh = "pipeworks_pipe_"..index..".obj" + + if index == 1 then + mesh = "pipeworks_pipe_3.obj" + end + minetest.register_node("pipeworks:pipe_"..index.."_empty", { description = pipedesc, - drawtype = "nodebox", - tiles = pipeworks.fix_image_names(outimgs, "_empty"), + drawtype = "mesh", + mesh = mesh, + tiles = outimg_e, sunlight_propagates = true, inventory_image = image, wield_image = image, paramtype = "light", paramtype2 = "facedir", selection_box = { - type = "fixed", + type = "fixed", fixed = outsel }, - node_box = { + collision_box = { type = "fixed", - fixed = outboxes + fixed = outsel }, groups = pgroups, sounds = default.node_sound_wood_defaults(), @@ -92,18 +87,19 @@ for index, connects in ipairs(cconnects) do minetest.register_node("pipeworks:pipe_"..index.."_loaded", { description = pipedesc, - drawtype = "nodebox", - tiles = pipeworks.fix_image_names(outimgs, "_loaded"), + drawtype = "mesh", + mesh = mesh, + tiles = outimg_l, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", selection_box = { - type = "fixed", + type = "fixed", fixed = outsel }, - node_box = { + collision_box = { type = "fixed", - fixed = outboxes + fixed = outsel }, groups = pgroups, sounds = default.node_sound_wood_defaults(), diff --git a/mods/pipeworks/teleport_tube.lua b/mods/pipeworks/teleport_tube.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/homedecor_oil_extract.png b/mods/pipeworks/textures/homedecor_oil_extract.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/homedecor_paraffin.png b/mods/pipeworks/textures/homedecor_paraffin.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/homedecor_plastic_sheeting.png b/mods/pipeworks/textures/homedecor_plastic_sheeting.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_end.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png b/mods/pipeworks/textures/pipeworks_accelerator_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_autocrafter.png b/mods/pipeworks/textures/pipeworks_autocrafter.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_black.png b/mods/pipeworks/textures/pipeworks_black.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_blue.png b/mods/pipeworks/textures/pipeworks_blue.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_end.png b/mods/pipeworks/textures/pipeworks_conductor_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_inv.png b/mods/pipeworks/textures/pipeworks_conductor_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png b/mods/pipeworks/textures/pipeworks_conductor_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png b/mods/pipeworks/textures/pipeworks_conductor_tube_on_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_plain.png b/mods/pipeworks/textures/pipeworks_conductor_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_conductor_tube_short.png b/mods/pipeworks/textures/pipeworks_conductor_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_end.png b/mods/pipeworks/textures/pipeworks_crossing_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_inv.png b/mods/pipeworks/textures/pipeworks_crossing_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png b/mods/pipeworks/textures/pipeworks_crossing_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_plain.png b/mods/pipeworks/textures/pipeworks_crossing_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_crossing_tube_short.png b/mods/pipeworks/textures/pipeworks_crossing_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_back.png b/mods/pipeworks/textures/pipeworks_deployer_back.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_bottom.png b/mods/pipeworks/textures/pipeworks_deployer_bottom.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_front_off.png b/mods/pipeworks/textures/pipeworks_deployer_front_off.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_front_on.png b/mods/pipeworks/textures/pipeworks_deployer_front_on.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_side.png b/mods/pipeworks/textures/pipeworks_deployer_side.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_side1.png b/mods/pipeworks/textures/pipeworks_deployer_side1.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_side2.png b/mods/pipeworks/textures/pipeworks_deployer_side2.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_deployer_top.png b/mods/pipeworks/textures/pipeworks_deployer_top.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_end.png b/mods/pipeworks/textures/pipeworks_detector_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_inv.png b/mods/pipeworks/textures/pipeworks_detector_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png b/mods/pipeworks/textures/pipeworks_detector_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_plain.png b/mods/pipeworks/textures/pipeworks_detector_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_detector_tube_short.png b/mods/pipeworks/textures/pipeworks_detector_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_back.png b/mods/pipeworks/textures/pipeworks_dispenser_back.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_bottom.png b/mods/pipeworks/textures/pipeworks_dispenser_bottom.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_front_off.png b/mods/pipeworks/textures/pipeworks_dispenser_front_off.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_front_on.png b/mods/pipeworks/textures/pipeworks_dispenser_front_on.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_side1.png b/mods/pipeworks/textures/pipeworks_dispenser_side1.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_side2.png b/mods/pipeworks/textures/pipeworks_dispenser_side2.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_dispenser_top.png b/mods/pipeworks/textures/pipeworks_dispenser_top.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_entry_panel.png b/mods/pipeworks/textures/pipeworks_entry_panel.png new file mode 100644 index 0000000000000000000000000000000000000000..42aba4a0d56d2aa81e9498cd5d37cb6223986333 GIT binary patch literal 5024 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 z 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 b&&>EgAsBvRsDq*g00000NkvXXu0mjf!lj)5 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_flow_sensor_on.png b/mods/pipeworks/textures/pipeworks_flow_sensor_on.png new file mode 100644 index 0000000000000000000000000000000000000000..5c147facf855e62dbec0938d92a8fe0577fe4e04 GIT binary patch literal 4619 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_fountainhead.png b/mods/pipeworks/textures/pipeworks_fountainhead.png new file mode 100644 index 0000000000000000000000000000000000000000..516bd2ff6b5945c7263cd8eebfb7a1402dc43728 GIT binary patch literal 3603 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 Z_#YxKic@vsWKsYC002ovPDHLkV1f}c?9BiG literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_fountainhead_top.png b/mods/pipeworks/textures/pipeworks_fountainhead_top.png deleted file mode 100755 index 503d051732caac58f90808860e4dd570a710d70a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1814 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 diff --git a/mods/pipeworks/textures/pipeworks_pipe_inv.png b/mods/pipeworks/textures/pipeworks_pipe_inv.png old mode 100755 new mode 100644 index 567b77137e933faf4cf20d31139ba42430f5d007..821ec4b6f7e07b133b0dab0ed86095c4828f09a1 GIT binary patch literal 4349 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_plain.png b/mods/pipeworks/textures/pipeworks_plain.png deleted file mode 100755 index 48af08f5dffc23826b4fcf0d22da914481ce9d06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^#P)o}He_$;tcs`-+Q;m6Vl>i;CLX+Vk`C+1c5@zrXA2>#nY@;^N|+ot?nI zz@DC-udlDs(b34r$c&7PhK7c>x3{LIrj?bI{qjFEwmwQji1(MX%t@mTu2?3d6;!mbo>7E7=LzKZyq|Dxf(Q7Xdka_}Vi!H!e?Q-` cOBoxNAD9^(e)53fyZ`_I07*qoM6N<$f`CY(XaE2J diff --git a/mods/pipeworks/textures/pipeworks_plastic_sheeting.png b/mods/pipeworks/textures/pipeworks_plastic_sheeting.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_pump_bottom.png b/mods/pipeworks/textures/pipeworks_pump_bottom.png deleted file mode 100755 index 615965bab2481b57598fb0b1ead8bd7690a746e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4498 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 diff --git a/mods/pipeworks/textures/pipeworks_pump_off.png b/mods/pipeworks/textures/pipeworks_pump_off.png old mode 100755 new mode 100644 index 0b640c92462def2cc52c38880f19cb6bda77f3b9..48b5bfdd4650b5efc7585bb953c6195107b224a7 GIT binary patch literal 38091 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 ZzP>KT%;VR0EDHY7P`RaCp?Ej!{{oyoE6D%= literal 3621 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 RPltmn^K|udS?83{1OROOd{6)Y literal 3867 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 XLJ13s`DAnWu?Lvn0hw0ac8&fo1*jn; diff --git a/mods/pipeworks/textures/pipeworks_pump_sides.png b/mods/pipeworks/textures/pipeworks_pump_sides.png deleted file mode 100755 index 11b6c64db428807f4caf3472ca23e43bdb607214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3742 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 diff --git a/mods/pipeworks/textures/pipeworks_red.png b/mods/pipeworks/textures/pipeworks_red.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_end.png b/mods/pipeworks/textures/pipeworks_sand_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_inv.png b/mods/pipeworks/textures/pipeworks_sand_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png b/mods/pipeworks/textures/pipeworks_sand_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_plain.png b/mods/pipeworks/textures/pipeworks_sand_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sand_tube_short.png b/mods/pipeworks/textures/pipeworks_sand_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_sensor_sides_on.png b/mods/pipeworks/textures/pipeworks_sensor_sides_on.png deleted file mode 100755 index 3551191b7a4e7fed2ca73af7c68ef0537c499d66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmV+=0owkFP)TrR422=%jNUWXtkfQ;=NPFwZo~yfI7$k15&j8k7GA`koR`n_G)==Wm{|y+T+J*5 zGc&Uoqg?5H)|;@Sz4x+lJG@AXh^org`)9VOHYDXXi3JPGZ10r{0D!yAy`viv1j+e@ zD?N^*b1vs@lmJPP1Ry7mA%qy?$LCkqRX?xqx~_qFI)K9;!V)E>*mc$WT>)^;Wp1r? z+qQk*@13NSa_{+ko@kP;;QR6L-WO>A2d%SjHre2nCMnnL09c)z>ZUcuD9h~JDAIGJ rWjnfV=Z*#-DgAoyRTVt=F4H1^(=d|9(wba}00000NkvXXu0mjfWIKb> diff --git a/mods/pipeworks/textures/pipeworks_spigot_bottom2.png b/mods/pipeworks/textures/pipeworks_spigot_bottom2.png deleted file mode 100755 index 86b96961069d608744c289f31b657d6dc4c4779f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2444 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 KMNUMnLSTZz(8dD* diff --git a/mods/pipeworks/textures/pipeworks_spigot_off.png b/mods/pipeworks/textures/pipeworks_spigot_off.png new file mode 100644 index 0000000000000000000000000000000000000000..12ae1f62a07c1b2fbe56b3e133492399b05eccc2 GIT binary patch literal 2621 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_spigot_pouring.png b/mods/pipeworks/textures/pipeworks_spigot_pouring.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9019a9377a0641faf2776874b30198c0cccb51 GIT binary patch literal 2977 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 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_back.png b/mods/pipeworks/textures/pipeworks_storage_tank_back.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png b/mods/pipeworks/textures/pipeworks_storage_tank_fittings.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_0.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_0.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_1.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_1.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_10.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_2.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_2.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_3.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_4.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_5.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_6.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_7.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_8.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png b/mods/pipeworks/textures/pipeworks_storage_tank_front_9.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_end.png b/mods/pipeworks/textures/pipeworks_teleport_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png b/mods/pipeworks/textures/pipeworks_teleport_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png b/mods/pipeworks/textures/pipeworks_teleport_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_plain.png b/mods/pipeworks/textures/pipeworks_teleport_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_teleport_tube_short.png b/mods/pipeworks/textures/pipeworks_teleport_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_testobject.png b/mods/pipeworks/textures/pipeworks_testobject.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_trashcan_bottom.png b/mods/pipeworks/textures/pipeworks_trashcan_bottom.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_trashcan_side.png b/mods/pipeworks/textures/pipeworks_trashcan_side.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_metallic.png b/mods/pipeworks/textures/pipeworks_tube_connection_metallic.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_stony.png b/mods/pipeworks/textures/pipeworks_tube_connection_stony.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_connection_wooden.png b/mods/pipeworks/textures/pipeworks_tube_connection_wooden.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_end.png b/mods/pipeworks/textures/pipeworks_tube_end.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_inv.png b/mods/pipeworks/textures/pipeworks_tube_inv.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_noctr.png b/mods/pipeworks/textures/pipeworks_tube_noctr.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_plain.png b/mods/pipeworks/textures/pipeworks_tube_plain.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_short.png b/mods/pipeworks/textures/pipeworks_tube_short.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_tube_transparent.png b/mods/pipeworks/textures/pipeworks_tube_transparent.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/textures/pipeworks_valve.png b/mods/pipeworks/textures/pipeworks_valve.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3f578fbd340c10adecbc1f28118157c8c8c7de GIT binary patch literal 6328 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 literal 0 HcmV?d00001 diff --git a/mods/pipeworks/textures/pipeworks_valvebody_bottom.png b/mods/pipeworks/textures/pipeworks_valvebody_bottom.png deleted file mode 100755 index 43d30d58af4fb2d50fc74eed9a5e3d9336aadb55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2914 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 M07*qoM6N<$g7gf;$^ZZW diff --git a/mods/pipeworks/textures/pipeworks_valvebody_ends.png b/mods/pipeworks/textures/pipeworks_valvebody_ends.png deleted file mode 100755 index 69a615f8d5d69eee1d938513934715b895019590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3562 zcmVBnUj)|kB*Lac6NPyd`L)0U|?S-CniZrNjy9}BO@aqARr|rBo7Y{Dk>@m2L}`s z6e%ew92^@dDJU>7FjiMrJ3Bj1PEJTkNIpJ3Pft!wPEJ%*Rcvc)S65b5Ra9tbXiiQ} zl9Q56O-*cUY*0{8N=iyOIXN#cFB}{kE-o%5B_%{eL^n4#K|w(o85tND7!D2&GBPqO zEG$JuMK(4zMn*J7 zahI2uWMpJdPfuoMW^{CPb#--ic6L)!Q)y{wn3$M%cXyVSmYkfNQc_Zsl$4p7nPp{V zVq#*Im6c;-W0RAUR8&-WczAhvc~w26I&0`q_YZIU6 zYHs4C-1Sx2$M7v`n&mhzn=0D@n{^(~M?m|7s#@o2cdo{2T%+5j8pkN89UcMZS{kqOaV6Iu$ zu_&UdU(2;@#)b5M2fL-Z zx>~CBxB#nn$N3geoHs>0munSAXde6Hd>qd`G_gDY0RlXi%enxv@vh(O zju+K=-c{>WUsmfmhEH<xGKxLc&v6~(ceY!-MowudzxU^?V6>_)->2eB6Kn%DbWgJ~nFOMC}(K?_UYgH9We z{~XWHf-}?%wUi5V{cJowH2*yALG#BR1_KbAZ_9oL9hCs{2!xJTU!3RaVlCqa2H-YW zqGhb2C7zqLxPk|&O}U=ua(uB{n*Q_WyNd|gc@CH_cMD(vX-1gE&9Yo9$K49EQ0(UM zxPBhk9mjco5g*4A68G!X^10i1F6MHc0Z>2{FxrfugsTz84ivdm!1_`J{)UtMuyrP6 zn)=C_T5*nfMjiZtMb=J?x2-eUIpw7A!bzVnOH~`l&Kst(3<^@VrI*qrVdvgb=e#*3SQ8_1FDK7BG1*QF z$-OWd3x7GdgMKXoBZkZ)CCI_(R-%`haL=UjoyAHVsJO-`%qe_1<n+2qe2WgT)}qlpC8CC<{z5M-*A5r|UOwLB6(i~s%k;y>?RGH;DNj8t@f5Q)e- zr?|?T#Li$JXyKWmK4jMxV>~_Gaz}>X&Gke4m%jCbKmOPM>i4XBtp(swYWP4>THTGl`dQSlU_piVD)j#>@hd=uF>SIaT8o$X&=cTuU361as z1N=G@fy7dCdhN7emchJP;Kw{m9{T@-Z+z|hAO6b^{_P+BkhJMZL{j=kuMO+iD~XNL zHgs5_zz_A{Q-k;fy&agDOs9D~JmB|7fBMb8{QGZz^v_rQ@201FQm|Ho=$O$Hamvt% zGFeZ7oG^@oVM%z>mdkc)p}u0e|H4n|?|%2|KmD8U|Kqp*>74$~{o5gizR6y{lvy}* z$U7U;nF)BpM3kG|4C{3r5#tvfxvex*og z7{xF+Q=Y2;cf=8xD2oY_6Tvh)Nc*|SgMJQw_p=1wd7i($dAEK4NoaLSSxuDjj-N;d z4&@an(JMc=4sca_*_~)N(L|4-1pWQqx4-_)uYLHH1H}J$y6bp*(qIIwM$x=Goo+k zQ_ih?OL9BtKoiRL9rZG$cG7$ZQ{|Zpf9p z4+is+G45e`wuYxFRB!Qhm+fmoG(EUc9 z7x&oLj(}WFTuR*;k%r#4V13Ff&=`fCJt+yr*UkY7olCTGZE%>3qA1xap_n8|=4)eQ zXJ9p)^fiE$V(bJHss^hwO4Q)(pj7Gco`V2|39{Uv39I2WA$~pWDOe;dH)#?et+v?G zmrh$hv>6|2O$jy`%Lq{u0aNGHh=2<}!G=yQ&EQmf#J9xcyG9^$!3nzsjLV=ZGy`?O#g#~lM&NJQm0~`@f;AsnaJc3aY-G1sO z0~1Vy0OnPIx(*hFvKk!HA%4>NqplX->|K5UgP#D8kRUqz;c!;*jzq}EV4-ULu+6c?1r5Ge(#t+s-*UledD=>eWZd8dM zF1-gtEk#7SuEqz3I+|M^ur!n!X?5>F$ifOa2-taMKz?#?=Cz7KzCjMCr5-L47@Caw zp(8#^6XFvYg!|VV>re}D5-nTE0KXC;_po&p!8RpQD*OnZxA5Ijgs^n5(zw@`G#$X! z;iQ7NPC4_+NzU|S$<4!(r3k~-$t?CB5Jm`Ax3XTT+H?C#OR!~5GiCy=JLk8cBjsvb zAD%Kyh;xZ*_uMk@|3MinEk@KU>avavV4Pq*PLYJdj^KfP*sL6M113q-!`LZ(Z|*-O z%!sEtP2s?st_Ak6JiUZ#2e?!emIQTlS!Uu0w~B8 z15c~jE1oL^M0d)ZXy!$i;pC~vz*K9B>un3LJWL^&t+m2U5NmPXnVg4%wUQd<*!7?_ kQYo`$pbics3Ija+A2xc%B?Ba7yZ`_I07*qoM6N<$g1{)sng9R* diff --git a/mods/pipeworks/textures/pipeworks_valvebody_sides.png b/mods/pipeworks/textures/pipeworks_valvebody_sides.png deleted file mode 100755 index 47e80ea3ea3e5550fcad3b4c4b94ce7f548c2f53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3756 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 diff --git a/mods/pipeworks/textures/pipeworks_yellow.png b/mods/pipeworks/textures/pipeworks_yellow.png old mode 100755 new mode 100644 diff --git a/mods/pipeworks/trashcan.lua b/mods/pipeworks/trashcan.lua old mode 100755 new mode 100644 diff --git a/mods/pipeworks/wielder.lua b/mods/pipeworks/wielder.lua old mode 100755 new mode 100644 From e1ba20639b9453aed40b93af9b551fdd782840e0 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 18:57:59 +0100 Subject: [PATCH 06/32] Removed global variables in maptools --- mods/maptools/default_nodes.lua | 70 +++++++++++++++++---------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index 83d0df02..f7667586 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -6,13 +6,15 @@ if (minetest.get_modpath("intllib")) then S = function ( s ) return s end end + + minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), range = 12, stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -22,7 +24,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -32,7 +34,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -43,7 +45,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -54,7 +56,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -75,7 +77,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_leaves_defaults(), }) @@ -85,7 +87,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults(), }) @@ -95,7 +97,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), }) @@ -105,7 +107,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), }) @@ -118,7 +120,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_glass_defaults(), }) @@ -130,7 +132,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_leaves_defaults(), }) @@ -140,7 +142,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_sand_defaults(), }) @@ -150,7 +152,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -163,7 +165,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults(), }) @@ -173,7 +175,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_sand_defaults(), }) @@ -183,7 +185,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -193,7 +195,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -203,7 +205,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -213,7 +215,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -223,7 +225,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -234,7 +236,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -246,7 +248,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -267,7 +269,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -278,7 +280,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -288,7 +290,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -298,7 +300,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -308,7 +310,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -319,7 +321,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -329,7 +331,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -339,7 +341,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -349,7 +351,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -359,7 +361,7 @@ minetest.register_node("maptools:diamondblock", { stack_max = 10000, tiles = {"default_diamond_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -371,7 +373,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -381,6 +383,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) From a19c57fe440216c262ca8406ee23caeee24e6623 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 19:06:12 +0100 Subject: [PATCH 07/32] Maptool's update --- mods/maptools/{LICENSE.txt => LICENSE.md} | 7 +- mods/maptools/NODES.md | 45 ++ mods/maptools/README.md | 11 + mods/maptools/README.txt | 22 - mods/maptools/_README.txt | 53 -- mods/maptools/aliases.lua | 9 +- mods/maptools/config.lua | 29 + mods/maptools/craftitems.lua | 47 ++ mods/maptools/default_nodes.lua | 85 +-- mods/maptools/init.lua | 583 +----------------- mods/maptools/nodes.lua | 429 +++++++++++++ .../textures/maptools_super_apple_bottom.png | Bin 295 -> 0 bytes .../textures/maptools_super_apple_side.png | Bin 295 -> 0 bytes .../textures/maptools_super_apple_top.png | Bin 498 -> 0 bytes mods/maptools/tools.lua | 61 ++ 15 files changed, 707 insertions(+), 674 deletions(-) rename mods/maptools/{LICENSE.txt => LICENSE.md} (71%) create mode 100644 mods/maptools/NODES.md create mode 100644 mods/maptools/README.md delete mode 100644 mods/maptools/README.txt delete mode 100644 mods/maptools/_README.txt create mode 100644 mods/maptools/config.lua create mode 100644 mods/maptools/craftitems.lua create mode 100644 mods/maptools/nodes.lua delete mode 100644 mods/maptools/textures/maptools_super_apple_bottom.png delete mode 100644 mods/maptools/textures/maptools_super_apple_side.png delete mode 100644 mods/maptools/textures/maptools_super_apple_top.png create mode 100644 mods/maptools/tools.lua diff --git a/mods/maptools/LICENSE.txt b/mods/maptools/LICENSE.md similarity index 71% rename from mods/maptools/LICENSE.txt rename to mods/maptools/LICENSE.md index f42bd647..ca48e3a1 100644 --- a/mods/maptools/LICENSE.txt +++ b/mods/maptools/LICENSE.md @@ -1,8 +1,9 @@ -+---- zlib/libpng license ----+ +zlib license +============ -Copyright (c) 2013 Calinou +Copyright (c) 2012-2015 Calinou and contributors -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/maptools/NODES.md b/mods/maptools/NODES.md new file mode 100644 index 00000000..f5ce3cc3 --- /dev/null +++ b/mods/maptools/NODES.md @@ -0,0 +1,45 @@ +Item names for spawning the items using /give or /giveme +======================================================== + +Items +----- + +* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course. + +* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff. + +* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years. + +* `super_apple:` a yellow apple which heals 20 HP. + +* `copper_coin,` +* `silver_coin,` +* `gold_coin:` these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. + +Blocks +------ + +**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar). + + +* `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, … + +* `full_grass:` unbreakable block with the grass texture on all sides. + +* `player_clip:` **[!]** invisible block, not pointable. + +* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face. + +* `smoke_block:` some smoke (does not harm players or entities). + +* `no_build:` **[!]** very basic building prevention. + +* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …). + +* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). + +* `kill:` **[!]** instant kill (deals 10 heart damage) blocks. + +* `light_block:` **[!]** invisible non-solid block, prevents light from passing through. + +* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/README.md b/mods/maptools/README.md new file mode 100644 index 00000000..3a428b7e --- /dev/null +++ b/mods/maptools/README.md @@ -0,0 +1,11 @@ +Map Tools +========= + +Map Tools for Minetest , a free/libre infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. + +**Forum topic:** diff --git a/mods/maptools/README.txt b/mods/maptools/README.txt deleted file mode 100644 index 4c155813..00000000 --- a/mods/maptools/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -Calinou's Minetest Mods -===================== - -Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. - -This Git repository is mostly made for servers; it allows easy updating. - -To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. - - - -Misc stuff -===================== - -All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. - -Mods' forum threads: -More Blocks: http://minetest.net/forum/viewtopic.php?id=509 -More Ores: http://minetest.net/forum/viewtopic.php?id=549 -Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 -Doors+: http://minetest.net/forum/viewtopic.php?id=2059 -Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 diff --git a/mods/maptools/_README.txt b/mods/maptools/_README.txt deleted file mode 100644 index cfbe0b2e..00000000 --- a/mods/maptools/_README.txt +++ /dev/null @@ -1,53 +0,0 @@ -*** Item names for spawning the items using /give or /giveme *** - -Items: - -- admin_pick -Purple pickaxe, infinite durability, mines everything including unbreakable blocks instantly. Don't put this pickaxe in the hands of a griefer, of course. :) - -- infinitefuel -Fuel lasting for a (near)-infinite time. Don't worry about the "near" - it lasts for about 50 in-real-life years. - -- superapple -An apple which heals all 10 hearts. - -- copper_coin -- silver_coin -- gold_coin -These have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. - -Blocks: -A /!\ denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit). - -- (insert block name here)_u -- example: stone_u -Unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). - -- fullgrass -Unbrakable block with the "grass" texture on all sides. - -- playerclip -/!\ Invisible block, not pointable. - -- fullclip -Invisible block, pointable. - -- smoke_block -Some smoke (does not harm players or entities). - -- nobuild -/!\ Very basic building prevention. - -- nointeract -Prevents interacting through the block (interacting as in opening chests, furnaces, attacking entities...). - -- damage_(insert damage in half hearts here) -/!\ Damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). - -- killblock -/!\ Instant kill (deals 10 heart damage) blocks. - -- lightblock -/!\ Invisible non-solid block, prevents light from passing through. - -- lightbulb -/!\ Invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/aliases.lua b/mods/maptools/aliases.lua index 8742f44e..f1f0cc57 100644 --- a/mods/maptools/aliases.lua +++ b/mods/maptools/aliases.lua @@ -1,4 +1,9 @@ --- Aliases +--[[ +Map Tools: alias definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] minetest.register_alias("adminpick", "maptools:pick_admin") minetest.register_alias("adminpickaxe", "maptools:pick_admin") @@ -69,8 +74,6 @@ minetest.register_alias("fake_fire", "maptools:fake_fire") minetest.register_alias("ffire", "maptools:fake_fire") minetest.register_alias("igniter", "maptools:igniter") --- Unbreakable block aliases - minetest.register_alias("stone_u", "maptools:stone") minetest.register_alias("tree_u", "maptools:tree") minetest.register_alias("cobble_u", "maptools:cobble") diff --git a/mods/maptools/config.lua b/mods/maptools/config.lua new file mode 100644 index 00000000..63f1a260 --- /dev/null +++ b/mods/maptools/config.lua @@ -0,0 +1,29 @@ +--[[ +Map Tools: configuration handling + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +maptools.config = {} + +local function getbool_default(setting, default) + local value = minetest.setting_getbool(setting) + if value == nil then + value = default + end + return value +end + +local function setting(settingtype, name, default) + if settingtype == "bool" then + maptools.config[name] = + getbool_default("maptools." .. name, default) + else + maptools.config[name] = + minetest.setting_get("maptools." .. name) or default + end +end + +-- Show Map Tools stuff in creative inventory (1 or 0): +setting("integer", "hide_from_creative_inventory", 1) diff --git a/mods/maptools/craftitems.lua b/mods/maptools/craftitems.lua new file mode 100644 index 00000000..c311aa95 --- /dev/null +++ b/mods/maptools/craftitems.lua @@ -0,0 +1,47 @@ +--[[ +Map Tools: item definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] + +minetest.register_craftitem("maptools:copper_coin", { + description = S("Copper Coin"), + inventory_image = "maptools_copper_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:silver_coin", { + description = S("Silver Coin"), + inventory_image = "maptools_silver_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:gold_coin", { + description = S("Gold Coin"), + inventory_image = "maptools_gold_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:infinitefuel", { + description = S("Infinite Fuel"), + inventory_image = "maptools_infinitefuel.png", + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "maptools:infinitefuel", + burntime = 1000000000, +}) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index f7667586..3ac0caf5 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -1,12 +1,13 @@ -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) - else - S = function ( s ) return s end -end +--[[ +Map Tools: unbreakable default nodes +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), @@ -14,7 +15,7 @@ minetest.register_node("maptools:stone", { stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -24,7 +25,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -34,7 +35,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -45,7 +46,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -56,7 +57,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -77,7 +78,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -87,7 +88,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -97,7 +98,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), }) @@ -107,7 +108,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), }) @@ -120,7 +121,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_glass_defaults(), }) @@ -132,7 +133,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -142,7 +143,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_sand_defaults(), }) @@ -152,7 +153,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -165,7 +166,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -175,7 +176,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_sand_defaults(), }) @@ -185,7 +186,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -195,7 +196,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -205,7 +206,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -215,7 +216,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -225,7 +226,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -236,7 +237,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -248,7 +249,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -269,7 +270,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -280,7 +281,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -290,7 +291,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -300,7 +301,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -310,7 +311,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -321,7 +322,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -331,7 +332,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -341,7 +342,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -351,7 +352,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -359,9 +360,9 @@ minetest.register_node("maptools:diamondblock", { description = S("Unbreakable Diamond Block"), range = 12, stack_max = 10000, - tiles = {"default_diamond_block.png"}, + tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -373,7 +374,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -383,6 +384,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) diff --git a/mods/maptools/init.lua b/mods/maptools/init.lua index c5178fae..dbff209c 100644 --- a/mods/maptools/init.lua +++ b/mods/maptools/init.lua @@ -1,551 +1,32 @@ -MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory. - --- Load translation library if intllib is installed - -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) - else - S = function ( s ) return s end -end - -dofile(minetest.get_modpath("maptools").."/aliases.lua") -dofile(minetest.get_modpath("maptools").."/default_nodes.lua") - ---[[ -Map Tools by Calinou -Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. ---]] - --- Redefine cloud so that the admin pickaxe can mine it. - -minetest.register_node(":default:cloud", { - description = S("Cloud"), - tiles = {"default_cloud.png"}, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_defaults(), -}) - --- Items - -minetest.register_craft({ - type = "fuel", - recipe = "maptools:infinitefuel", - burntime = 1000000000, -}) - --- Nodes - -minetest.register_node("maptools:black", { - description = S("Black"), - range = 12, - stack_max = 10000, - tiles = {"black.png"}, - drop = "", - post_effect_color = {a=255, r=0, g=0, b=0}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:white", { - description = S("White"), - range = 12, - stack_max = 10000, - tiles = {"white.png"}, - drop = "", - post_effect_color = {a=255, r=128, g=128, b=128}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:playerclip", { - description = S("Player Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fake_walkable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fullclip", { - description = S("Full Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_blue.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fake_walkable_pointable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like", { - description = S("Ignore-like"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like_no_clip", { - description = S("Ignore-like (no clip)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - - -minetest.register_node("maptools:ignore_like_no_point", { - description = S("Ignore-like (no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like_no_clip_no_point", { - description = S("Ignore-like (no clip, no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fullclip_face", { - description = S("Full Clip Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_white.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_bottom", { - description = S("Player Clip Bottom Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_orange.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_top", { - description = S("Player Clip Top Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_yellow.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -for pusher_num=1,10,1 do -minetest.register_node("maptools:pusher_" .. pusher_num, { - description = S("Pusher (%s)"):format(pusher_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_apple.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100, bouncy=pusher_num*100}, -}) -end - -minetest.register_node("maptools:lightbulb", { - description = S("Light Bulb"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", - drawtype = "airlike", - walkable = false, - pointable = false, - light_source = 15, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:nobuild", { - description = S("Build Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^bones_bones.png", - drawtype = "airlike", - walkable = false, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:nointeract", { - description = S("Interact Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_scorched_stuff.png", - drawtype = "airlike", - walkable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:climb", { - description = S("Climb Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_ladder.png", - drawtype = "airlike", - walkable = false, - climbable = true, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -for damage_num=1,5,1 do -minetest.register_node("maptools:damage_" .. damage_num, { - description = S("Damaging Block (%s)"):format(damage_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = damage_num, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) -end - -minetest.register_node("maptools:kill", { - description = S("Kill Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_black.png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = 20, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:smoke", { - description = S("Smoke Block"), - range = 12, - stack_max = 10000, - tiles = {"maptools_smoke.png"}, - drawtype = "allfaces_optional", - walkable = false, - paramtype = "light", - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - post_effect_color = {a=192, r=96, g=96, b=96}, -}) - -minetest.register_node("maptools:ladder", { - description = S("Fake Ladder"), - range = 12, - stack_max = 10000, - drawtype = "signlike", - tiles = {"default_ladder.png"}, - inventory_image = "default_ladder.png", - wield_image = "default_ladder.png", - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = { - type = "wallmounted", - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("maptools:permanent_fire", { - description = S("Permanent Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - walkable = false, - damage_per_second = 4, -}) - -minetest.register_node("maptools:fake_fire", { - description = S("Fake Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - walkable = false, -}) - -minetest.register_node("maptools:igniter", { - drawtype = "airlike", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^crosshair.png", - description = S("Igniter"), - paramtype = "light", - inventory_image = "fire_basic_flame.png", - drop = "", - groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - pointable = false, - walkable = false, -}) - -minetest.register_node("maptools:superapple", { - description = S("Super Apple"), - range = 12, - stack_max = 99, - drawtype = "nodebox", - visual_scale = 1.0, - tiles = {"maptools_super_apple_top.png","maptools_super_apple_bottom.png","maptools_super_apple_side.png"}, - inventory_image = "maptools_superapple.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - node_box = { - type = "fixed", - fixed = { - {-3/16, -7/16, -3/16, 3/16, 1/16, 3/16}, - {-4/16, -6/16, -3/16, 4/16, 0, 3/16}, - {-3/16, -6/16, -4/16, 3/16, 0, 4/16}, - {-1/32, 1/16, -1/32, 1/32, 4/16, 1/32}, - {-1/16, 1.6/16, 0, 1/16, 1.8/16, 1/16}, - {-2/16, 1.4/16, 1/16, 1/16, 1.6/16, 2/16}, - {-2/16, 1.2/16, 2/16, 0, 1.4/16, 3/16}, - {-1.5/16, 1/16, .5/16, 0.5/16, 1.2/16, 2.5/16}, - } - }, - is_ground_content = true, - groups = {fleshy = 3, dig_immediate = 3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1}, - on_use = minetest.item_eat(20), - sounds = default.node_sound_leaves_defaults(), - after_place_node = function(pos, placer, itemstack) - if placer:is_player() then - minetest.set_node(pos, {name = "maptools:superapple", param2= 1}) - end - end, -}) - --- Items - -minetest.register_craftitem("maptools:copper_coin", { - description = S("Copper Coin"), - inventory_image = "maptools_copper_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:silver_coin", { - description = S("Silver Coin"), - inventory_image = "maptools_silver_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:gold_coin", { - description = S("Gold Coin"), - inventory_image = "maptools_gold_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:infinitefuel", { - description = S("Infinite Fuel"), - inventory_image = "maptools_infinitefuel.png", - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - --- Tools - -minetest.register_tool("maptools:pick_admin", { - description = S("Admin Pickaxe"), - range = 12, - inventory_image = "maptools_adminpick.png", - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, - tool_capabilities = { - full_punch_interval = 0.1, - max_drop_level = 3, - groupcaps= { - unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - }, - damage_groups = {fleshy = 1000}, - }, -}) - -minetest.register_tool("maptools:pick_admin_with_drops", { - description = S("Admin Pickaxe with Drops"), - range = 12, - inventory_image = "maptools_adminpick_with_drops.png", - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, - tool_capabilities = { - full_punch_interval = 0.35, - max_drop_level = 3, - groupcaps = { - unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - }, - damage_groups = {fleshy = 1000}, - }, -}) - -minetest.register_on_punchnode(function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "maptools:pick_admin" - and minetest.get_node(pos).name ~= "air" then - minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") - minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. - nodeupdate(pos) -- Run node update actions like falling nodes. - end -end) - -if minetest.setting_getbool("log_mods") then - minetest.log("action", "Carbone: [maptools] loaded.") -end +--[[ +===================================================================== +** Map Tools ** +By Calinou. + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +===================================================================== +--]] + +maptools = {} + +local S +if minetest.get_modpath("intllib") then + S = intllib.Getter() +else + S = function(s) return s end +end +maptools.intllib = S + +local modpath = minetest.get_modpath("maptools") + +dofile(modpath .. "/config.lua") +dofile(modpath .. "/aliases.lua") +dofile(modpath .. "/craftitems.lua") +dofile(modpath .. "/default_nodes.lua") +dofile(modpath .. "/nodes.lua") +dofile(modpath .. "/tools.lua") + +if minetest.setting_getbool("log_mods") then + minetest.log("action", S("[maptools] loaded.")) +end diff --git a/mods/maptools/nodes.lua b/mods/maptools/nodes.lua new file mode 100644 index 00000000..8ceef647 --- /dev/null +++ b/mods/maptools/nodes.lua @@ -0,0 +1,429 @@ +--[[ +Map Tools: node definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] + +-- Redefine cloud so that the admin pickaxe can mine it: +minetest.register_node(":default:cloud", { + description = S("Cloud"), + tiles = {"default_cloud.png"}, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_defaults(), +}) + +-- Nodes +-- ===== + +minetest.register_node("maptools:black", { + description = S("Black"), + range = 12, + stack_max = 10000, + tiles = {"black.png"}, + drop = "", + post_effect_color = {a=255, r=0, g=0, b=0}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:white", { + description = S("White"), + range = 12, + stack_max = 10000, + tiles = {"white.png"}, + drop = "", + post_effect_color = {a=255, r=128, g=128, b=128}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:playerclip", { + description = S("Player Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fake_walkable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fullclip", { + description = S("Full Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_blue.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fake_walkable_pointable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like", { + description = S("Ignore-like"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like_no_clip", { + description = S("Ignore-like (no clip)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + + +minetest.register_node("maptools:ignore_like_no_point", { + description = S("Ignore-like (no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like_no_clip_no_point", { + description = S("Ignore-like (no clip, no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fullclip_face", { + description = S("Full Clip Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_white.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_bottom", { + description = S("Player Clip Bottom Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_orange.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_top", { + description = S("Player Clip Top Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_yellow.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +for pusher_num=1,10,1 do +minetest.register_node("maptools:pusher_" .. pusher_num, { + description = S("Pusher (%s)"):format(pusher_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_apple.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100}, +}) +end + +minetest.register_node("maptools:lightbulb", { + description = S("Light Bulb"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", + drawtype = "airlike", + walkable = false, + pointable = false, + light_source = 15, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:nobuild", { + description = S("Build Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^bones_bones.png", + drawtype = "airlike", + walkable = false, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:nointeract", { + description = S("Interact Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_scorched_stuff.png", + drawtype = "airlike", + walkable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:climb", { + description = S("Climb Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_ladder.png", + drawtype = "airlike", + walkable = false, + climbable = true, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +for damage_num=1,5,1 do +minetest.register_node("maptools:damage_" .. damage_num, { + description = S("Damaging Block (%s)"):format(damage_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = damage_num, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) +end + +minetest.register_node("maptools:kill", { + description = S("Kill Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_black.png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = 20, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:smoke", { + description = S("Smoke Block"), + range = 12, + stack_max = 10000, + tiles = {"maptools_smoke.png"}, + drawtype = "allfaces_optional", + walkable = false, + paramtype = "light", + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + post_effect_color = {a=192, r=96, g=96, b=96}, +}) + +minetest.register_node("maptools:ladder", { + description = S("Fake Ladder"), + range = 12, + stack_max = 10000, + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "wallmounted", + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("maptools:permanent_fire", { + description = S("Permanent Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + walkable = false, + damage_per_second = 4, +}) + +minetest.register_node("maptools:fake_fire", { + description = S("Fake Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + walkable = false, +}) + +minetest.register_node("maptools:igniter", { + drawtype = "airlike", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^crosshair.png", + description = S("Igniter"), + paramtype = "light", + inventory_image = "fire_basic_flame.png", + drop = "", + groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + pointable = false, + walkable = false, +}) + +minetest.register_node("maptools:superapple", { + description = S("Super Apple"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"maptools_superapple.png"}, + inventory_image = "maptools_superapple.png", + paramtype = "light", + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} + }, + walkable = false, + groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative}, + on_use = minetest.item_eat(20), + sounds = default.node_sound_defaults(), +}) diff --git a/mods/maptools/textures/maptools_super_apple_bottom.png b/mods/maptools/textures/maptools_super_apple_bottom.png deleted file mode 100644 index 97f61e171c0291015d80fb19c8cbae5a11436b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEEyw(>0&3oIs&1o-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)Rt8^Iv diff --git a/mods/maptools/textures/maptools_super_apple_side.png b/mods/maptools/textures/maptools_super_apple_side.png deleted file mode 100644 index cd4c83153f2abe5c0c2ed349e3c0d676b27a2f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEE!u^3{~$2|%GOo-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)>;dE61 diff --git a/mods/maptools/textures/maptools_super_apple_top.png b/mods/maptools/textures/maptools_super_apple_top.png deleted file mode 100644 index 4d4dbc056e1913768f70134e28a6bf551b87216b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 498 zcmV{Ut&2O5LW0q`a zv=Id$>4dnxgUhon0QI^&*J}AI;MYCiTY+p=^8M`^$0rfegE#=`xRfTB8%?L Date: Thu, 15 Jan 2015 19:12:20 +0100 Subject: [PATCH 08/32] Moreblocks' update - Moreblocks' update to use last version's nodes and features --- mods/moreblocks/{LICENSE.txt => LICENSE.md} | 7 +- mods/moreblocks/README.md | 11 + mods/moreblocks/README.txt | 12 - mods/moreblocks/aliases.lua | 21 +- mods/moreblocks/circular_saw.lua | 10 +- mods/moreblocks/config.lua | 7 + mods/moreblocks/crafting.lua | 7 +- mods/moreblocks/depends.txt | 4 +- mods/moreblocks/init.lua | 23 +- mods/moreblocks/locale/de.txt | 0 mods/moreblocks/locale/es.txt | 0 mods/moreblocks/locale/fr.txt | 0 mods/moreblocks/locale/template.txt | 0 mods/moreblocks/models/moreblocks_slope.obj | 21 + .../models/moreblocks_slope_half.obj | 23 + .../models/moreblocks_slope_half_raised.obj | 26 + .../models/moreblocks_slope_inner.obj | 26 + .../models/moreblocks_slope_inner_half.obj | 28 ++ .../moreblocks_slope_inner_half_raised.obj | 31 ++ .../models/moreblocks_slope_outer.obj | 18 + .../models/moreblocks_slope_outer_cut.obj | 19 + .../moreblocks_slope_outer_cut_half.obj | 20 + ...moreblocks_slope_outer_cut_half_raised.obj | 23 + .../models/moreblocks_slope_outer_half.obj | 22 + .../moreblocks_slope_outer_half_raised.obj | 27 ++ mods/moreblocks/nodes.lua | 14 +- mods/moreblocks/ownership.lua | 6 + mods/moreblocks/redefinitions.lua | 12 + mods/moreblocks/stairsplus/API.md | 3 +- mods/moreblocks/stairsplus/aliases.lua | 8 + mods/moreblocks/stairsplus/conversion.lua | 7 + mods/moreblocks/stairsplus/init.lua | 19 +- mods/moreblocks/stairsplus/microblocks.lua | 15 +- mods/moreblocks/stairsplus/panels.lua | 15 +- mods/moreblocks/stairsplus/registrations.lua | 11 +- mods/moreblocks/stairsplus/slabs.lua | 21 +- mods/moreblocks/stairsplus/slopes.lua | 459 ++++++++++++++++++ mods/moreblocks/stairsplus/stairs.lua | 21 +- mods/moreblocks/textures/default_brick.png | Bin .../textures/default_fence_overlay.png | Bin mods/moreblocks/textures/invisible.png | Bin .../textures/moreblocks_cactus_brick.png | Bin .../textures/moreblocks_cactus_checker.png | Bin .../moreblocks_circle_stone_bricks.png | Bin .../moreblocks_circular_saw_bottom.png | Bin .../textures/moreblocks_circular_saw_side.png | Bin .../textures/moreblocks_circular_saw_top.png | Bin .../textures/moreblocks_clean_glass.png | Bin .../textures/moreblocks_coal_checker.png | Bin .../textures/moreblocks_coal_glass.png | Bin .../moreblocks_coal_glass_stairsplus.png | Bin .../textures/moreblocks_coal_stone.png | Bin .../textures/moreblocks_coal_stone_bricks.png | Bin .../textures/moreblocks_empty_bookshelf.png | Bin .../textures/moreblocks_fence_jungle_wood.png | Bin .../textures/moreblocks_fence_wood.png | Bin mods/moreblocks/textures/moreblocks_glass.png | Bin .../textures/moreblocks_glass_stairsplus.png | Bin .../textures/moreblocks_glow_glass.png | Bin .../moreblocks_glow_glass_stairsplus.png | Bin .../textures/moreblocks_grey_bricks.png | Bin .../textures/moreblocks_iron_checker.png | Bin .../textures/moreblocks_iron_glass.png | Bin .../moreblocks_iron_glass_stairsplus.png | Bin .../textures/moreblocks_iron_stone.png | Bin .../textures/moreblocks_iron_stone_bricks.png | Bin .../textures/moreblocks_junglestick.png | Bin .../moreblocks_obsidian_glass_stairsplus.png | Bin .../textures/moreblocks_plankstone.png | Bin .../textures/moreblocks_plankstone_2.png | Bin mods/moreblocks/textures/moreblocks_rope.png | Bin .../textures/moreblocks_split_stone_tile.png | Bin .../moreblocks_split_stone_tile_alt.png | Bin .../moreblocks_split_stone_tile_top.png | Bin .../textures/moreblocks_stone_tile.png | Bin .../textures/moreblocks_super_glow_glass.png | Bin ...moreblocks_super_glow_glass_stairsplus.png | Bin .../textures/moreblocks_sweeper.png | Bin mods/moreblocks/textures/moreblocks_tar.png | Bin .../textures/moreblocks_trap_glass.png | Bin .../textures/moreblocks_trap_glow_glass.png | Bin .../textures/moreblocks_trap_stone.png | Bin .../moreblocks_trap_super_glow_glass.png | Bin .../textures/moreblocks_tree_stairsplus.png | Bin .../textures/moreblocks_wood_tile.png | Bin .../textures/moreblocks_wood_tile_center.png | Bin .../textures/moreblocks_wood_tile_full.png | Bin .../textures/moreblocks_wood_tile_up.png | Bin 88 files changed, 915 insertions(+), 82 deletions(-) rename mods/moreblocks/{LICENSE.txt => LICENSE.md} (71%) mode change 100755 => 100644 create mode 100644 mods/moreblocks/README.md delete mode 100755 mods/moreblocks/README.txt mode change 100755 => 100644 mods/moreblocks/aliases.lua mode change 100755 => 100644 mods/moreblocks/circular_saw.lua mode change 100755 => 100644 mods/moreblocks/config.lua mode change 100755 => 100644 mods/moreblocks/crafting.lua mode change 100755 => 100644 mods/moreblocks/depends.txt mode change 100755 => 100644 mods/moreblocks/init.lua mode change 100755 => 100644 mods/moreblocks/locale/de.txt mode change 100755 => 100644 mods/moreblocks/locale/es.txt mode change 100755 => 100644 mods/moreblocks/locale/fr.txt mode change 100755 => 100644 mods/moreblocks/locale/template.txt create mode 100644 mods/moreblocks/models/moreblocks_slope.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj mode change 100755 => 100644 mods/moreblocks/nodes.lua mode change 100755 => 100644 mods/moreblocks/ownership.lua mode change 100755 => 100644 mods/moreblocks/redefinitions.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/API.md mode change 100755 => 100644 mods/moreblocks/stairsplus/aliases.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/conversion.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/init.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/microblocks.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/panels.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/registrations.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/slabs.lua create mode 100644 mods/moreblocks/stairsplus/slopes.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/stairs.lua mode change 100755 => 100644 mods/moreblocks/textures/default_brick.png mode change 100755 => 100644 mods/moreblocks/textures/default_fence_overlay.png mode change 100755 => 100644 mods/moreblocks/textures/invisible.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_cactus_brick.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_cactus_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circle_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_bottom.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_side.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_top.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_clean_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_empty_bookshelf.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_fence_jungle_wood.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_fence_wood.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_grey_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_junglestick.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_plankstone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_plankstone_2.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_rope.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile_top.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_stone_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_super_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_sweeper.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_tar.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_tree_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_center.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_full.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_up.png diff --git a/mods/moreblocks/LICENSE.txt b/mods/moreblocks/LICENSE.md old mode 100755 new mode 100644 similarity index 71% rename from mods/moreblocks/LICENSE.txt rename to mods/moreblocks/LICENSE.md index 726257de..45c5ff5a --- a/mods/moreblocks/LICENSE.txt +++ b/mods/moreblocks/LICENSE.md @@ -1,8 +1,9 @@ -+---- zlib/libpng license ----+ +zlib license +============ -Copyright (c) 2013-2014 Calinou and contributors +Copyright (c) 2011-2015 Calinou and contributors -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/moreblocks/README.md b/mods/moreblocks/README.md new file mode 100644 index 00000000..228ce97d --- /dev/null +++ b/mods/moreblocks/README.md @@ -0,0 +1,11 @@ +More Blocks +=========== + +More Blocks for Minetest , a free/libre infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. + +**Forum topic:** diff --git a/mods/moreblocks/README.txt b/mods/moreblocks/README.txt deleted file mode 100755 index aa99eda3..00000000 --- a/mods/moreblocks/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -More Blocks -========== - -More Blocks for Minetest (http://minetest.net), a free and open source infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -More Blocks code is under the zlib license, textures are under CC BY-SA 3.0 unported. - -Forum topic: http://forum.minetest.net/viewtopic.php?id=509 - diff --git a/mods/moreblocks/aliases.lua b/mods/moreblocks/aliases.lua old mode 100755 new mode 100644 index df820c33..15f7b6b2 --- a/mods/moreblocks/aliases.lua +++ b/mods/moreblocks/aliases.lua @@ -1,24 +1,28 @@ --- More Blocks aliases +--[[ +More Blocks: alias definitions +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +-- More Blocks aliases: minetest.register_alias("sweeper", "moreblocks:sweeper") minetest.register_alias("circular_saw", "moreblocks:circular_saw") minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") --- Old block/item replacement - +-- Old block/item replacement: minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") --- Node and item renaming - +-- Node and item renaming: minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick") minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") minetest.register_alias("moreblocks:junglewood", "default:junglewood") minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") for _, t in pairs(circular_saw.names) do - minetest.register_alias("moreblocks:" ..t[1].. "_jungle_wood" ..t[2], - "moreblocks:" ..t[1].. "_junglewood" ..t[2]) + minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], + "moreblocks:" .. t[1] .. "_junglewood" .. t[2]) end minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") @@ -51,8 +55,7 @@ minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") --- ABM for horizontal trees (fix facedir). - +-- ABM for horizontal trees (fix facedir): local horizontal_tree_convert_facedir = {7, 12, 9, 18} minetest.register_abm({ diff --git a/mods/moreblocks/circular_saw.lua b/mods/moreblocks/circular_saw.lua old mode 100755 new mode 100644 index 2af5972a..98ddecbc --- a/mods/moreblocks/circular_saw.lua +++ b/mods/moreblocks/circular_saw.lua @@ -1,4 +1,12 @@ -local S = moreblocks.gettext +--[[ +More Blocks: circular saw + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib + circular_saw = {} circular_saw.known_stairs = setmetatable({}, { diff --git a/mods/moreblocks/config.lua b/mods/moreblocks/config.lua old mode 100755 new mode 100644 index e5db0861..d646dacd --- a/mods/moreblocks/config.lua +++ b/mods/moreblocks/config.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: configuration handling + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + moreblocks.config = {} local function getbool_default(setting, default) diff --git a/mods/moreblocks/crafting.lua b/mods/moreblocks/crafting.lua old mode 100755 new mode 100644 index 158d40a5..4429d9ae --- a/mods/moreblocks/crafting.lua +++ b/mods/moreblocks/crafting.lua @@ -1,4 +1,9 @@ --- Crafting +--[[ +More Blocks: crafting recipes + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] minetest.register_craft({ output = "default:stick", diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt old mode 100755 new mode 100644 index 9207dab8..198fe8a6 --- a/mods/moreblocks/depends.txt +++ b/mods/moreblocks/depends.txt @@ -1,2 +1,2 @@ -default -intllib? +default +intllib? diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua old mode 100755 new mode 100644 index a86a38ea..2919a308 --- a/mods/moreblocks/init.lua +++ b/mods/moreblocks/init.lua @@ -1,20 +1,22 @@ --[[ --- More Blocks (moreblocks) by Calinou --- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. +===================================================================== +** More Blocks ** +By Calinou, with the help of ShadowNinja and VanessaE. + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +===================================================================== --]] moreblocks = {} --- Load translation library if intllib is installed - -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) +local S +if minetest.get_modpath("intllib") then + S = intllib.Getter() else S = function(s) return s end end -moreblocks.gettext = S +moreblocks.intllib = S local modpath = minetest.get_modpath("moreblocks") @@ -27,6 +29,5 @@ dofile(modpath .. "/crafting.lua") dofile(modpath .. "/aliases.lua") if minetest.setting_getbool("log_mods") then - print(S("[moreblocks] loaded.")) + minetest.log("action", S("[moreblocks] loaded.")) end - diff --git a/mods/moreblocks/locale/de.txt b/mods/moreblocks/locale/de.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/es.txt b/mods/moreblocks/locale/es.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/fr.txt b/mods/moreblocks/locale/fr.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/template.txt b/mods/moreblocks/locale/template.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/models/moreblocks_slope.obj b/mods/moreblocks/models/moreblocks_slope.obj new file mode 100644 index 00000000..05c853b7 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope.obj @@ -0,0 +1,21 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_onetexture.mtl +o Cube_Cube.002 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/3 3/4 5/1 6/2 +f 2/1 5/3 3/4 +f 1/2 4/3 6/4 +f 2/1 1/2 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half.obj b/mods/moreblocks/models/moreblocks_slope_half.obj new file mode 100644 index 00000000..bc96bb8b --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_half.obj @@ -0,0 +1,23 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_fronthalf_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_long_fronthalf_onetexture.mtl +o Cube_Cube.002 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/3 3/4 5/5 6/6 +f 2/1 5/3 3/4 +f 1/2 4/3 6/4 +f 2/5 1/6 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_half_raised.obj new file mode 100644 index 00000000..79e0dc01 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_half_raised.obj @@ -0,0 +1,26 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_backhalf_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_long_backhalf_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/2 3/3 2/4 +f 7/5 8/6 4/3 3/4 +f 8/1 5/6 1/3 4/4 +f 1/4 2/1 3/6 4/3 +f 8/6 7/3 6/4 5/1 diff --git a/mods/moreblocks/models/moreblocks_slope_inner.obj b/mods/moreblocks/models/moreblocks_slope_inner.obj new file mode 100644 index 00000000..68fc1700 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner.obj @@ -0,0 +1,26 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend' +# www.blender.org +o Cube_Cube.000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +s off +f 6/1 1/2 7/3 8/4 +f 2/1 5/3 3/4 +f 2/1 1/2 5/4 +f 6/2 8/3 9/4 +f 9/1 8/2 7/3 3/4 +f 3/3 7/4 1/1 2/2 +f 1/1 6/2 9/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_half.obj new file mode 100644 index 00000000..6decaea3 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner_half.obj @@ -0,0 +1,28 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_short_onetexture.blend' +# www.blender.org +mtllib slope_test_icorner_half_short_onetexture.mtl +o Cube_Cube.000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 6/1 1/2 7/3 8/4 +f 2/1 5/3 3/4 +f 2/1 1/2 5/4 +f 6/2 8/3 9/4 +f 9/1 8/2 7/3 3/4 +f 3/3 7/4 1/1 2/2 +f 1/1 6/2 9/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj new file mode 100644 index 00000000..8aff6cab --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj @@ -0,0 +1,31 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_tall_onetexture.blend' +# www.blender.org +mtllib slope_test_icorner_half_tall_onetexture.mtl +o Cube_Cube.000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +usemtl None +s off +f 6/1 1/2 7/3 8/4 +f 2/1 1/2 5/4 +f 3/3 7/4 1/1 2/2 +f 1/2 6/3 9/4 +f 3/1 10/2 8/3 7/4 +f 8/3 10/4 5/5 6/2 +f 3/4 2/1 5/6 10/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer.obj b/mods/moreblocks/models/moreblocks_slope_outer.obj new file mode 100644 index 00000000..383c195f --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer.obj @@ -0,0 +1,18 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend' +# www.blender.org +o Cube_Cube.002 +v 0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +s off +f 3/1 2/2 4/3 5/4 +f 1/2 3/3 5/4 +f 1/1 2/3 3/4 +f 1/1 4/3 2/4 +f 1/2 5/3 4/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj new file mode 100644 index 00000000..4608c69c --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj @@ -0,0 +1,19 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_2_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_tall_2_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +usemtl None +s off +f 4/1 1/2 3/3 +f 2/3 4/4 3/2 +f 3/2 1/3 2/4 +f 1/3 4/5 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj new file mode 100644 index 00000000..e4be8825 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj @@ -0,0 +1,20 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_2_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_2_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.500000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +usemtl None +s off +f 4/1 1/2 3/3 +f 2/3 4/4 3/2 +f 3/2 1/3 2/5 +f 1/3 4/6 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj new file mode 100644 index 00000000..65a3b8ac --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj @@ -0,0 +1,23 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_3_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_3_onetexture.mtl +o Cube_Cube.002 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/5 3/2 5/3 6/6 +f 2/5 5/3 3/4 +f 1/2 4/3 6/4 +f 2/3 1/6 6/1 5/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_half.obj new file mode 100644 index 00000000..0c56e26a --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_half.obj @@ -0,0 +1,22 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_1_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_1_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 5/5 1/3 4/4 +f 3/4 5/6 4/3 +f 2/4 5/2 3/3 +f 1/4 5/1 2/3 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj new file mode 100644 index 00000000..e4fa3d1f --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj @@ -0,0 +1,27 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_3_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_tall_3_onetexture.mtl +o Cube_Cube.002 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.000000 -0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/5 3/2 5/3 6/6 +f 8/3 4/5 6/2 +f 1/6 8/1 7/2 2/3 +f 4/5 8/3 1/4 +f 6/1 5/2 7/3 8/6 +f 5/5 3/2 2/3 7/4 diff --git a/mods/moreblocks/nodes.lua b/mods/moreblocks/nodes.lua old mode 100755 new mode 100644 index 5efda8f8..d3120c9a --- a/mods/moreblocks/nodes.lua +++ b/mods/moreblocks/nodes.lua @@ -1,4 +1,11 @@ -local S = moreblocks.gettext +--[[ +More Blocks: node definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib local sound_wood = default.node_sound_wood_defaults() local sound_stone = default.node_sound_stone_defaults() @@ -116,6 +123,11 @@ local nodes = { groups = {cracky = 2}, sounds = sound_stone, }, + ["cobble_compressed"] = { + description = S("Compressed Cobblestone"), + groups = {cracky = 1}, + sounds = sound_stone, + }, ["plankstone"] = { description = S("Plankstone"), groups = {cracky = 3}, diff --git a/mods/moreblocks/ownership.lua b/mods/moreblocks/ownership.lua old mode 100755 new mode 100644 index 9cd4cb30..1c2431ba --- a/mods/moreblocks/ownership.lua +++ b/mods/moreblocks/ownership.lua @@ -1,3 +1,9 @@ +--[[ +More Blocks: ownership handling + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] local S = moreblocks.gettext diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua old mode 100755 new mode 100644 index 4db169b1..a6498f16 --- a/mods/moreblocks/redefinitions.lua +++ b/mods/moreblocks/redefinitions.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: redefinitions of default stuff + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Redefinitions of some default crafting recipes: minetest.register_craft({ @@ -71,6 +78,11 @@ minetest.override_item("default:papyrus", { sunlight_propagates = true, }) +minetest.override_item("default:fence_wood", { + paramtype = "light", + sunlight_propagates = true, +}) + minetest.override_item("default:junglegrass", { paramtype = "light", sunlight_propagates = true, diff --git a/mods/moreblocks/stairsplus/API.md b/mods/moreblocks/stairsplus/API.md old mode 100755 new mode 100644 index a98ec81e..2db0f2b3 --- a/mods/moreblocks/stairsplus/API.md +++ b/mods/moreblocks/stairsplus/API.md @@ -1,6 +1,5 @@ API documentation for Stairs+ -================================ -- - - - - - - - - - - - - - - - +============================= * `stairsplus:register_all(modname, subname, recipeitem, fields)` Registers a stair, slab, panel, microblock, and any other types of diff --git a/mods/moreblocks/stairsplus/aliases.lua b/mods/moreblocks/stairsplus/aliases.lua old mode 100755 new mode 100644 index c92df483..c235d342 --- a/mods/moreblocks/stairsplus/aliases.lua +++ b/mods/moreblocks/stairsplus/aliases.lua @@ -1,3 +1,9 @@ +--[[ +More Blocks: alias definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] local function register_stairsplus_alias(modname, origname, newname) minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname) @@ -33,12 +39,14 @@ end register_stairsplus_alias("stairsplus", "stone", "stone") register_stairsplus_alias("stairsplus", "wood", "wood") +register_stairsplus_alias("stairsplus", "pinewood", "pinewood") register_stairsplus_alias("stairsplus", "cobble", "cobble") register_stairsplus_alias("stairsplus", "brick", "brick") register_stairsplus_alias("stairsplus", "sandstone", "sandstone") register_stairsplus_alias("stairsplus", "glass", "glass") register_stairsplus_alias("stairsplus", "tree", "tree") register_stairsplus_alias("stairsplus", "jungletree", "jungletree") +register_stairsplus_alias("stairsplus", "pinetree", "pinetree") register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") register_stairsplus_alias("stairsplus", "steelblock", "steelblock") register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") diff --git a/mods/moreblocks/stairsplus/conversion.lua b/mods/moreblocks/stairsplus/conversion.lua old mode 100755 new mode 100644 index fda30c7b..13966b66 --- a/mods/moreblocks/stairsplus/conversion.lua +++ b/mods/moreblocks/stairsplus/conversion.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: conversion + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Function to convert all stairs/slabs/etc nodes from -- inverted, wall, etc to regular + 6d facedir diff --git a/mods/moreblocks/stairsplus/init.lua b/mods/moreblocks/stairsplus/init.lua old mode 100755 new mode 100644 index ae09b7d3..ffec1b7f --- a/mods/moreblocks/stairsplus/init.lua +++ b/mods/moreblocks/stairsplus/init.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: Stairs+ + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Nodes will be called :{stair,slab,panel,micro}_ local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" @@ -18,6 +25,7 @@ function stairsplus:register_all(modname, subname, recipeitem, fields) end self:register_stair(modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields) + self:register_slope(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields) -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. @@ -36,8 +44,9 @@ end -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -dofile(modpath.. "/stairs.lua") -dofile(modpath.. "/slabs.lua") -dofile(modpath.. "/panels.lua") -dofile(modpath.. "/microblocks.lua") -dofile(modpath.. "/registrations.lua") +dofile(modpath .. "/stairs.lua") +dofile(modpath .. "/slabs.lua") +dofile(modpath .. "/slopes.lua") +dofile(modpath .. "/panels.lua") +dofile(modpath .. "/microblocks.lua") +dofile(modpath .. "/registrations.lua") diff --git a/mods/moreblocks/stairsplus/microblocks.lua b/mods/moreblocks/stairsplus/microblocks.lua old mode 100755 new mode 100644 index f88ed12e..8d52c4a2 --- a/mods/moreblocks/stairsplus/microblocks.lua +++ b/mods/moreblocks/stairsplus/microblocks.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: microblock definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :micro_ diff --git a/mods/moreblocks/stairsplus/panels.lua b/mods/moreblocks/stairsplus/panels.lua old mode 100755 new mode 100644 index 73b283ed..2220fe42 --- a/mods/moreblocks/stairsplus/panels.lua +++ b/mods/moreblocks/stairsplus/panels.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: panel definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :panel_ diff --git a/mods/moreblocks/stairsplus/registrations.lua b/mods/moreblocks/stairsplus/registrations.lua old mode 100755 new mode 100644 index cc22d333..7b38b13b --- a/mods/moreblocks/stairsplus/registrations.lua +++ b/mods/moreblocks/stairsplus/registrations.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: registrations + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + local default_nodes = { -- Default stairs/slabs/panels/microblocks: "stone", "cobble", @@ -10,12 +17,14 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks: "bronzeblock", "diamondblock", "desert_stone", --- "desert_cobble", + "desert_cobble", "glass", "tree", "wood", "jungletree", "junglewood", + "pinetree", + "pinewood", "obsidian", "obsidian_glass", "stonebrick", diff --git a/mods/moreblocks/stairsplus/slabs.lua b/mods/moreblocks/stairsplus/slabs.lua old mode 100755 new mode 100644 index 9c31745d..68ba5200 --- a/mods/moreblocks/stairsplus/slabs.lua +++ b/mods/moreblocks/stairsplus/slabs.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: slab definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :slab_ @@ -75,11 +76,11 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":slab_" ..fields.drop..alternate + def.drop = modname.. ":slab_" .. fields.drop .. alternate end - minetest.register_node(":" ..modname.. ":slab_" ..subname..alternate, def) + minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) end - minetest.register_alias("stairs:slab_" ..subname, modname.. ":slab_" ..subname) + minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/stairsplus/slopes.lua b/mods/moreblocks/stairsplus/slopes.lua new file mode 100644 index 00000000..3a169060 --- /dev/null +++ b/mods/moreblocks/stairsplus/slopes.lua @@ -0,0 +1,459 @@ +--[[ +More Blocks: slope definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib + +local box_slope = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } +} + +local box_slope_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, + {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, + {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, + } +} + +local box_slope_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, + {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, + } +} + +--============================================================== + +local box_slope_inner = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, + {-0.5, 0, -0.5, 0, 0.25, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, + } +} + +local box_slope_inner_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, + {-0.5, -0.375, -0.5, 0.25, -0.25, 0.5}, + {-0.5, -0.25, -0.5, 0, -0.125, 0.5}, + {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, + {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, + {-0.5, -0.125, -0.5, -0.25, 0, 0.5}, + } +} + +local box_slope_inner_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, + {-0.5, 0.125, -0.5, 0.25, 0.25, 0.5}, + {-0.5, 0.25, -0.5, 0, 0.375, 0.5}, + {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, + {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.375, -0.5, -0.25, 0.5, 0.5}, + } +} + +--============================================================== + +local box_slope_outer = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, + {-0.5, 0, 0, 0, 0.25, 0.5}, + {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} + } +} + +local box_slope_outer_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.25, -0.25, 0.5}, + {-0.5, -0.25, 0, 0, -0.125, 0.5}, + {-0.5, -0.125, 0.25, -0.25, 0, 0.5} + } +} + +local box_slope_outer_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.25, 0.25, 0.5}, + {-0.5, 0.25, 0, 0, 0.375, 0.5}, + {-0.5, 0.375, 0.25, -0.25, 0.5, 0.5} + } +} + +-- Node will be called :slope_ + +function register_slope(modname, subname, recipeitem, groups, images, description, drop, light) + return stairsplus:register_slope(modname, subname, recipeitem, { + groups = groups, + tiles = images, + description = description, + drop = drop, + light_source = light, + sounds = default.node_sound_stone_defaults(), + }) +end + +function stairsplus:register_slope(modname, subname, recipeitem, fields) + local defs = { + [""] = { + mesh = "moreblocks_slope.obj", + collision_box = box_slope, + selection_box = box_slope, + + }, + ["_half"] = { + mesh = "moreblocks_slope_half.obj", + collision_box = box_slope_half, + selection_box = box_slope_half, + }, + ["_half_raised"] = { + mesh = "moreblocks_slope_half_raised.obj", + collision_box = box_slope_half_raised, + selection_box = box_slope_half_raised, + }, + +--============================================================== + + ["_inner"] = { + mesh = "moreblocks_slope_inner.obj", + collision_box = box_slope_inner, + selection_box = box_slope_inner, + }, + ["_inner_half"] = { + mesh = "moreblocks_slope_inner_half.obj", + collision_box = box_slope_inner_half, + selection_box = box_slope_inner_half, + }, + ["_inner_half_raised"] = { + mesh = "moreblocks_slope_inner_half_raised.obj", + collision_box = box_slope_inner_half_raised, + selection_box = box_slope_inner_half_raised, + }, + +--============================================================== + + ["_outer"] = { + mesh = "moreblocks_slope_outer.obj", + collision_box = box_slope_outer, + selection_box = box_slope_outer, + }, + ["_outer_half"] = { + mesh = "moreblocks_slope_outer_half.obj", + collision_box = box_slope_outer_half, + selection_box = box_slope_outer_half, + }, + ["_outer_half_raised"] = { + mesh = "moreblocks_slope_outer_half_raised.obj", + collision_box = box_slope_outer_half_raised, + selection_box = box_slope_outer_half_raised, + }, + +--============================================================== + + ["_outer_cut"] = { + mesh = "moreblocks_slope_outer_cut.obj", + collision_box = box_slope_outer, + selection_box = box_slope_outer, + }, + ["_outer_cut_half"] = { + mesh = "moreblocks_slope_outer_cut_half.obj", + collision_box = box_slope_outer_half, + selection_box = box_slope_outer_half, + }, + ["_outer_cut_half_raised"] = { + mesh = "moreblocks_slope_outer_cut_half_raised.obj", + collision_box = box_slope_outer_half_raised, + selection_box = box_slope_outer_half_raised, + }, + } + + local desc = S("%s Slope"):format(fields.description) + for alternate, def in pairs(defs) do + def.drawtype = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.on_place = minetest.rotate_node + for k, v in pairs(fields) do + def[k] = v + end + def.description = desc + if fields.drop then + def.drop = modname.. ":slope_" ..fields.drop..alternate + end + minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) + end + + -- Some saw-less recipes: + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. " 7", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, modname .. ":panel_" .. subname, ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. " 7", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {"", modname .. ":panel_" .. subname, recipeitem}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half 10", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half 10", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half_raised 7", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half_raised 7", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--===================================================== Inner == + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner 7", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, modname .. ":stair_" .. subname .. "_half", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner 7", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {"", modname .. ":stair_" .. subname .. "_half", recipeitem}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half 10", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half 10", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--===================================================== Outer == + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer 7", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, modname .. ":micro_" .. subname, ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer 7", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {"", modname .. ":micro_" .. subname, recipeitem}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half 10", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half 10", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--================================================= Shapeless == + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_outer_cut"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", + modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slab_" .. subname, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_half_raised", + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", + modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_inner_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_cut_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut", + recipe = {modname .. ":slope_" .. subname .. "_outer"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half", + recipe = {modname .. ":slope_" .. subname .. "_outer_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", + recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised"}, + }) +end diff --git a/mods/moreblocks/stairsplus/stairs.lua b/mods/moreblocks/stairsplus/stairs.lua old mode 100755 new mode 100644 index a4f54e39..a93cda08 --- a/mods/moreblocks/stairsplus/stairs.lua +++ b/mods/moreblocks/stairsplus/stairs.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: stair definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :stair_ @@ -116,11 +117,11 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":stair_" ..fields.drop..alternate + def.drop = modname .. ":stair_" .. fields.drop .. alternate end - minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def) + minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) end - minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname) + minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/textures/default_brick.png b/mods/moreblocks/textures/default_brick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/default_fence_overlay.png b/mods/moreblocks/textures/default_fence_overlay.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/invisible.png b/mods/moreblocks/textures/invisible.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_cactus_brick.png b/mods/moreblocks/textures/moreblocks_cactus_brick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_cactus_checker.png b/mods/moreblocks/textures/moreblocks_cactus_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png b/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png b/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_side.png b/mods/moreblocks/textures/moreblocks_circular_saw_side.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_top.png b/mods/moreblocks/textures/moreblocks_circular_saw_top.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_clean_glass.png b/mods/moreblocks/textures/moreblocks_clean_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_checker.png b/mods/moreblocks/textures/moreblocks_coal_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass.png b/mods/moreblocks/textures/moreblocks_coal_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone.png b/mods/moreblocks/textures/moreblocks_coal_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png b/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png b/mods/moreblocks/textures/moreblocks_empty_bookshelf.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png b/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_fence_wood.png b/mods/moreblocks/textures/moreblocks_fence_wood.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glass.png b/mods/moreblocks/textures/moreblocks_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass.png b/mods/moreblocks/textures/moreblocks_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_grey_bricks.png b/mods/moreblocks/textures/moreblocks_grey_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_checker.png b/mods/moreblocks/textures/moreblocks_iron_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass.png b/mods/moreblocks/textures/moreblocks_iron_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone.png b/mods/moreblocks/textures/moreblocks_iron_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png b/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_rope.png b/mods/moreblocks/textures/moreblocks_rope.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile.png b/mods/moreblocks/textures/moreblocks_split_stone_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_stone_tile.png b/mods/moreblocks/textures/moreblocks_stone_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_super_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_sweeper.png b/mods/moreblocks/textures/moreblocks_sweeper.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_tar.png b/mods/moreblocks/textures/moreblocks_tar.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_glass.png b/mods/moreblocks/textures/moreblocks_trap_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_stone.png b/mods/moreblocks/textures/moreblocks_trap_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png b/mods/moreblocks/textures/moreblocks_tree_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile.png b/mods/moreblocks/textures/moreblocks_wood_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_center.png b/mods/moreblocks/textures/moreblocks_wood_tile_center.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_full.png b/mods/moreblocks/textures/moreblocks_wood_tile_full.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_up.png b/mods/moreblocks/textures/moreblocks_wood_tile_up.png old mode 100755 new mode 100644 From d7eeffa5b18289017d04aa52d3f7b8ca9815c7a2 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 19:57:57 +0100 Subject: [PATCH 09/32] Sent last global variables' patchs - There is, from now on, no more known global variables error in the repository! (not 100% guaranteed) --- mods/chesttools/init.lua | 2 +- mods/fences/init.lua | 3 ++- mods/snow/src/nodes.lua | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mods/chesttools/init.lua b/mods/chesttools/init.lua index e2dcb6b2..fa219361 100755 --- a/mods/chesttools/init.lua +++ b/mods/chesttools/init.lua @@ -58,7 +58,7 @@ chesttools.may_use = function( pos, player ) local meta = minetest.get_meta( pos ); local owner = meta:get_string( 'owner' ) -- the owner can access the chest - if( onwer == name or owner == "" ) then + if( owner == name or owner == "" ) then return true; end -- the shared function only kicks in if the area is protected diff --git a/mods/fences/init.lua b/mods/fences/init.lua index 82c8da9e..8ab786c5 100755 --- a/mods/fences/init.lua +++ b/mods/fences/init.lua @@ -71,6 +71,7 @@ end local p0 = {-2/16, -1/2, -2/16, 2/16, 1/2, 2/16} local p1 = {-2/16, 1/2, -2/16, -2/16, 1/2+8/16, -2/16} local p2 = {-2/16, 1/2, 2/16, -2/16, 1/2+8/16, 2/16} +local p3 = {0, 0, 0, 0, 0, 0} local p4 = {2/16, 1/2, -2/16, 2/16, 1/2+8/16, -2/16} local p5 = {2/16, 1/2, 2/16, 2/16, 1/2+8/16, 2/16} @@ -532,7 +533,7 @@ minetest.register_node("fences:fence_wood_13", { --right(2)+top(11)=13 type = "fixed", fixed = { p0,p1,p2,p3,p4,p5, - z2,z22,x1,x12, + z2,z22,x1,x22, bz1,bz11,bx1,bx11, } }, diff --git a/mods/snow/src/nodes.lua b/mods/snow/src/nodes.lua index cd6d02f8..a6113c20 100755 --- a/mods/snow/src/nodes.lua +++ b/mods/snow/src/nodes.lua @@ -66,7 +66,7 @@ end --Christmas easter egg minetest.register_on_mapgen_init( function() - if skins then + if minetest.get_modpath("skins") ~= nil then skins.add("character_snow_man") end end From 9cc798c461686d371e9e89c66b6b205e205be30e Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:06:57 +0100 Subject: [PATCH 10/32] Reverted moreblocks and maptools updates --- mods/maptools/{LICENSE.md => LICENSE.txt} | 7 +- mods/maptools/NODES.md | 45 -- mods/maptools/README.md | 11 - mods/maptools/README.txt | 22 + mods/maptools/_README.txt | 53 ++ mods/maptools/aliases.lua | 9 +- mods/maptools/config.lua | 29 - mods/maptools/craftitems.lua | 47 -- mods/maptools/default_nodes.lua | 87 ++- mods/maptools/init.lua | 583 +++++++++++++++++- mods/maptools/nodes.lua | 429 ------------- .../textures/maptools_super_apple_bottom.png | Bin 0 -> 295 bytes .../textures/maptools_super_apple_side.png | Bin 0 -> 295 bytes .../textures/maptools_super_apple_top.png | Bin 0 -> 498 bytes mods/maptools/tools.lua | 61 -- mods/moreblocks/{LICENSE.md => LICENSE.txt} | 7 +- mods/moreblocks/README.md | 11 - mods/moreblocks/README.txt | 12 + mods/moreblocks/aliases.lua | 21 +- mods/moreblocks/circular_saw.lua | 10 +- mods/moreblocks/config.lua | 7 - mods/moreblocks/crafting.lua | 7 +- mods/moreblocks/depends.txt | 4 +- mods/moreblocks/init.lua | 23 +- mods/moreblocks/locale/de.txt | 0 mods/moreblocks/locale/es.txt | 0 mods/moreblocks/locale/fr.txt | 0 mods/moreblocks/locale/template.txt | 0 mods/moreblocks/models/moreblocks_slope.obj | 21 - .../models/moreblocks_slope_half.obj | 23 - .../models/moreblocks_slope_half_raised.obj | 26 - .../models/moreblocks_slope_inner.obj | 26 - .../models/moreblocks_slope_inner_half.obj | 28 - .../moreblocks_slope_inner_half_raised.obj | 31 - .../models/moreblocks_slope_outer.obj | 18 - .../models/moreblocks_slope_outer_cut.obj | 19 - .../moreblocks_slope_outer_cut_half.obj | 20 - ...moreblocks_slope_outer_cut_half_raised.obj | 23 - .../models/moreblocks_slope_outer_half.obj | 22 - .../moreblocks_slope_outer_half_raised.obj | 27 - mods/moreblocks/nodes.lua | 14 +- mods/moreblocks/ownership.lua | 6 - mods/moreblocks/redefinitions.lua | 12 - mods/moreblocks/stairsplus/API.md | 3 +- mods/moreblocks/stairsplus/aliases.lua | 8 - mods/moreblocks/stairsplus/conversion.lua | 7 - mods/moreblocks/stairsplus/init.lua | 19 +- mods/moreblocks/stairsplus/microblocks.lua | 15 +- mods/moreblocks/stairsplus/panels.lua | 15 +- mods/moreblocks/stairsplus/registrations.lua | 11 +- mods/moreblocks/stairsplus/slabs.lua | 21 +- mods/moreblocks/stairsplus/slopes.lua | 459 -------------- mods/moreblocks/stairsplus/stairs.lua | 21 +- mods/moreblocks/textures/default_brick.png | Bin .../textures/default_fence_overlay.png | Bin mods/moreblocks/textures/invisible.png | Bin .../textures/moreblocks_cactus_brick.png | Bin .../textures/moreblocks_cactus_checker.png | Bin .../moreblocks_circle_stone_bricks.png | Bin .../moreblocks_circular_saw_bottom.png | Bin .../textures/moreblocks_circular_saw_side.png | Bin .../textures/moreblocks_circular_saw_top.png | Bin .../textures/moreblocks_clean_glass.png | Bin .../textures/moreblocks_coal_checker.png | Bin .../textures/moreblocks_coal_glass.png | Bin .../moreblocks_coal_glass_stairsplus.png | Bin .../textures/moreblocks_coal_stone.png | Bin .../textures/moreblocks_coal_stone_bricks.png | Bin .../textures/moreblocks_empty_bookshelf.png | Bin .../textures/moreblocks_fence_jungle_wood.png | Bin .../textures/moreblocks_fence_wood.png | Bin mods/moreblocks/textures/moreblocks_glass.png | Bin .../textures/moreblocks_glass_stairsplus.png | Bin .../textures/moreblocks_glow_glass.png | Bin .../moreblocks_glow_glass_stairsplus.png | Bin .../textures/moreblocks_grey_bricks.png | Bin .../textures/moreblocks_iron_checker.png | Bin .../textures/moreblocks_iron_glass.png | Bin .../moreblocks_iron_glass_stairsplus.png | Bin .../textures/moreblocks_iron_stone.png | Bin .../textures/moreblocks_iron_stone_bricks.png | Bin .../textures/moreblocks_junglestick.png | Bin .../moreblocks_obsidian_glass_stairsplus.png | Bin .../textures/moreblocks_plankstone.png | Bin .../textures/moreblocks_plankstone_2.png | Bin mods/moreblocks/textures/moreblocks_rope.png | Bin .../textures/moreblocks_split_stone_tile.png | Bin .../moreblocks_split_stone_tile_alt.png | Bin .../moreblocks_split_stone_tile_top.png | Bin .../textures/moreblocks_stone_tile.png | Bin .../textures/moreblocks_super_glow_glass.png | Bin ...moreblocks_super_glow_glass_stairsplus.png | Bin .../textures/moreblocks_sweeper.png | Bin mods/moreblocks/textures/moreblocks_tar.png | Bin .../textures/moreblocks_trap_glass.png | Bin .../textures/moreblocks_trap_glow_glass.png | Bin .../textures/moreblocks_trap_stone.png | Bin .../moreblocks_trap_super_glow_glass.png | Bin .../textures/moreblocks_tree_stairsplus.png | Bin .../textures/moreblocks_wood_tile.png | Bin .../textures/moreblocks_wood_tile_center.png | Bin .../textures/moreblocks_wood_tile_full.png | Bin .../textures/moreblocks_wood_tile_up.png | Bin 103 files changed, 756 insertions(+), 1624 deletions(-) rename mods/maptools/{LICENSE.md => LICENSE.txt} (71%) delete mode 100644 mods/maptools/NODES.md delete mode 100644 mods/maptools/README.md create mode 100644 mods/maptools/README.txt create mode 100644 mods/maptools/_README.txt delete mode 100644 mods/maptools/config.lua delete mode 100644 mods/maptools/craftitems.lua delete mode 100644 mods/maptools/nodes.lua create mode 100644 mods/maptools/textures/maptools_super_apple_bottom.png create mode 100644 mods/maptools/textures/maptools_super_apple_side.png create mode 100644 mods/maptools/textures/maptools_super_apple_top.png delete mode 100644 mods/maptools/tools.lua rename mods/moreblocks/{LICENSE.md => LICENSE.txt} (71%) mode change 100644 => 100755 delete mode 100644 mods/moreblocks/README.md create mode 100755 mods/moreblocks/README.txt mode change 100644 => 100755 mods/moreblocks/aliases.lua mode change 100644 => 100755 mods/moreblocks/circular_saw.lua mode change 100644 => 100755 mods/moreblocks/config.lua mode change 100644 => 100755 mods/moreblocks/crafting.lua mode change 100644 => 100755 mods/moreblocks/depends.txt mode change 100644 => 100755 mods/moreblocks/init.lua mode change 100644 => 100755 mods/moreblocks/locale/de.txt mode change 100644 => 100755 mods/moreblocks/locale/es.txt mode change 100644 => 100755 mods/moreblocks/locale/fr.txt mode change 100644 => 100755 mods/moreblocks/locale/template.txt delete mode 100644 mods/moreblocks/models/moreblocks_slope.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj mode change 100644 => 100755 mods/moreblocks/nodes.lua mode change 100644 => 100755 mods/moreblocks/ownership.lua mode change 100644 => 100755 mods/moreblocks/redefinitions.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/API.md mode change 100644 => 100755 mods/moreblocks/stairsplus/aliases.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/conversion.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/init.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/microblocks.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/panels.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/registrations.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/slabs.lua delete mode 100644 mods/moreblocks/stairsplus/slopes.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/stairs.lua mode change 100644 => 100755 mods/moreblocks/textures/default_brick.png mode change 100644 => 100755 mods/moreblocks/textures/default_fence_overlay.png mode change 100644 => 100755 mods/moreblocks/textures/invisible.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_cactus_brick.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_cactus_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circle_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_bottom.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_side.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_top.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_clean_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_empty_bookshelf.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_fence_jungle_wood.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_fence_wood.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_grey_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_junglestick.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_plankstone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_plankstone_2.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_rope.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile_top.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_stone_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_super_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_sweeper.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_tar.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_tree_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_center.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_full.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_up.png diff --git a/mods/maptools/LICENSE.md b/mods/maptools/LICENSE.txt similarity index 71% rename from mods/maptools/LICENSE.md rename to mods/maptools/LICENSE.txt index ca48e3a1..f42bd647 100644 --- a/mods/maptools/LICENSE.md +++ b/mods/maptools/LICENSE.txt @@ -1,9 +1,8 @@ -zlib license -============ ++---- zlib/libpng license ----+ -Copyright (c) 2012-2015 Calinou and contributors +Copyright (c) 2013 Calinou -**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/maptools/NODES.md b/mods/maptools/NODES.md deleted file mode 100644 index f5ce3cc3..00000000 --- a/mods/maptools/NODES.md +++ /dev/null @@ -1,45 +0,0 @@ -Item names for spawning the items using /give or /giveme -======================================================== - -Items ------ - -* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course. - -* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff. - -* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years. - -* `super_apple:` a yellow apple which heals 20 HP. - -* `copper_coin,` -* `silver_coin,` -* `gold_coin:` these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. - -Blocks ------- - -**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar). - - -* `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, … - -* `full_grass:` unbreakable block with the grass texture on all sides. - -* `player_clip:` **[!]** invisible block, not pointable. - -* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face. - -* `smoke_block:` some smoke (does not harm players or entities). - -* `no_build:` **[!]** very basic building prevention. - -* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …). - -* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). - -* `kill:` **[!]** instant kill (deals 10 heart damage) blocks. - -* `light_block:` **[!]** invisible non-solid block, prevents light from passing through. - -* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/README.md b/mods/maptools/README.md deleted file mode 100644 index 3a428b7e..00000000 --- a/mods/maptools/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Map Tools -========= - -Map Tools for Minetest , a free/libre infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. - -**Forum topic:** diff --git a/mods/maptools/README.txt b/mods/maptools/README.txt new file mode 100644 index 00000000..4c155813 --- /dev/null +++ b/mods/maptools/README.txt @@ -0,0 +1,22 @@ +Calinou's Minetest Mods +===================== + +Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. + +This Git repository is mostly made for servers; it allows easy updating. + +To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. + + + +Misc stuff +===================== + +All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. + +Mods' forum threads: +More Blocks: http://minetest.net/forum/viewtopic.php?id=509 +More Ores: http://minetest.net/forum/viewtopic.php?id=549 +Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 +Doors+: http://minetest.net/forum/viewtopic.php?id=2059 +Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 diff --git a/mods/maptools/_README.txt b/mods/maptools/_README.txt new file mode 100644 index 00000000..cfbe0b2e --- /dev/null +++ b/mods/maptools/_README.txt @@ -0,0 +1,53 @@ +*** Item names for spawning the items using /give or /giveme *** + +Items: + +- admin_pick +Purple pickaxe, infinite durability, mines everything including unbreakable blocks instantly. Don't put this pickaxe in the hands of a griefer, of course. :) + +- infinitefuel +Fuel lasting for a (near)-infinite time. Don't worry about the "near" - it lasts for about 50 in-real-life years. + +- superapple +An apple which heals all 10 hearts. + +- copper_coin +- silver_coin +- gold_coin +These have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. + +Blocks: +A /!\ denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit). + +- (insert block name here)_u -- example: stone_u +Unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). + +- fullgrass +Unbrakable block with the "grass" texture on all sides. + +- playerclip +/!\ Invisible block, not pointable. + +- fullclip +Invisible block, pointable. + +- smoke_block +Some smoke (does not harm players or entities). + +- nobuild +/!\ Very basic building prevention. + +- nointeract +Prevents interacting through the block (interacting as in opening chests, furnaces, attacking entities...). + +- damage_(insert damage in half hearts here) +/!\ Damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). + +- killblock +/!\ Instant kill (deals 10 heart damage) blocks. + +- lightblock +/!\ Invisible non-solid block, prevents light from passing through. + +- lightbulb +/!\ Invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/aliases.lua b/mods/maptools/aliases.lua index f1f0cc57..8742f44e 100644 --- a/mods/maptools/aliases.lua +++ b/mods/maptools/aliases.lua @@ -1,9 +1,4 @@ ---[[ -Map Tools: alias definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] +-- Aliases minetest.register_alias("adminpick", "maptools:pick_admin") minetest.register_alias("adminpickaxe", "maptools:pick_admin") @@ -74,6 +69,8 @@ minetest.register_alias("fake_fire", "maptools:fake_fire") minetest.register_alias("ffire", "maptools:fake_fire") minetest.register_alias("igniter", "maptools:igniter") +-- Unbreakable block aliases + minetest.register_alias("stone_u", "maptools:stone") minetest.register_alias("tree_u", "maptools:tree") minetest.register_alias("cobble_u", "maptools:cobble") diff --git a/mods/maptools/config.lua b/mods/maptools/config.lua deleted file mode 100644 index 63f1a260..00000000 --- a/mods/maptools/config.lua +++ /dev/null @@ -1,29 +0,0 @@ ---[[ -Map Tools: configuration handling - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -maptools.config = {} - -local function getbool_default(setting, default) - local value = minetest.setting_getbool(setting) - if value == nil then - value = default - end - return value -end - -local function setting(settingtype, name, default) - if settingtype == "bool" then - maptools.config[name] = - getbool_default("maptools." .. name, default) - else - maptools.config[name] = - minetest.setting_get("maptools." .. name) or default - end -end - --- Show Map Tools stuff in creative inventory (1 or 0): -setting("integer", "hide_from_creative_inventory", 1) diff --git a/mods/maptools/craftitems.lua b/mods/maptools/craftitems.lua deleted file mode 100644 index c311aa95..00000000 --- a/mods/maptools/craftitems.lua +++ /dev/null @@ -1,47 +0,0 @@ ---[[ -Map Tools: item definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] - -minetest.register_craftitem("maptools:copper_coin", { - description = S("Copper Coin"), - inventory_image = "maptools_copper_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:silver_coin", { - description = S("Silver Coin"), - inventory_image = "maptools_silver_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:gold_coin", { - description = S("Gold Coin"), - inventory_image = "maptools_gold_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:infinitefuel", { - description = S("Infinite Fuel"), - inventory_image = "maptools_infinitefuel.png", - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "maptools:infinitefuel", - burntime = 1000000000, -}) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index 3ac0caf5..83d0df02 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -1,13 +1,10 @@ ---[[ -Map Tools: unbreakable default nodes - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) + else + S = function ( s ) return s end +end minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), @@ -15,7 +12,7 @@ minetest.register_node("maptools:stone", { stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -25,7 +22,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -35,7 +32,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -46,7 +43,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -57,7 +54,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -78,7 +75,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -88,7 +85,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -98,7 +95,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), }) @@ -108,7 +105,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), }) @@ -121,7 +118,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_glass_defaults(), }) @@ -133,7 +130,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -143,7 +140,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_sand_defaults(), }) @@ -153,7 +150,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -166,7 +163,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -176,7 +173,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_sand_defaults(), }) @@ -186,7 +183,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -196,7 +193,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -206,7 +203,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -216,7 +213,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -226,7 +223,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -237,7 +234,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -249,7 +246,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -270,7 +267,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -281,7 +278,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -291,7 +288,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -301,7 +298,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -311,7 +308,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -322,7 +319,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -332,7 +329,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -342,7 +339,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -352,7 +349,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -360,9 +357,9 @@ minetest.register_node("maptools:diamondblock", { description = S("Unbreakable Diamond Block"), range = 12, stack_max = 10000, - tiles = {"default_steel_block.png"}, + tiles = {"default_diamond_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -374,7 +371,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -384,6 +381,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) diff --git a/mods/maptools/init.lua b/mods/maptools/init.lua index dbff209c..c5178fae 100644 --- a/mods/maptools/init.lua +++ b/mods/maptools/init.lua @@ -1,32 +1,551 @@ ---[[ -===================================================================== -** Map Tools ** -By Calinou. - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. -===================================================================== ---]] - -maptools = {} - -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s) return s end -end -maptools.intllib = S - -local modpath = minetest.get_modpath("maptools") - -dofile(modpath .. "/config.lua") -dofile(modpath .. "/aliases.lua") -dofile(modpath .. "/craftitems.lua") -dofile(modpath .. "/default_nodes.lua") -dofile(modpath .. "/nodes.lua") -dofile(modpath .. "/tools.lua") - -if minetest.setting_getbool("log_mods") then - minetest.log("action", S("[maptools] loaded.")) -end +MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory. + +-- Load translation library if intllib is installed + +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) + else + S = function ( s ) return s end +end + +dofile(minetest.get_modpath("maptools").."/aliases.lua") +dofile(minetest.get_modpath("maptools").."/default_nodes.lua") + +--[[ +Map Tools by Calinou +Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. +--]] + +-- Redefine cloud so that the admin pickaxe can mine it. + +minetest.register_node(":default:cloud", { + description = S("Cloud"), + tiles = {"default_cloud.png"}, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_defaults(), +}) + +-- Items + +minetest.register_craft({ + type = "fuel", + recipe = "maptools:infinitefuel", + burntime = 1000000000, +}) + +-- Nodes + +minetest.register_node("maptools:black", { + description = S("Black"), + range = 12, + stack_max = 10000, + tiles = {"black.png"}, + drop = "", + post_effect_color = {a=255, r=0, g=0, b=0}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:white", { + description = S("White"), + range = 12, + stack_max = 10000, + tiles = {"white.png"}, + drop = "", + post_effect_color = {a=255, r=128, g=128, b=128}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:playerclip", { + description = S("Player Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fake_walkable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fullclip", { + description = S("Full Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_blue.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fake_walkable_pointable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like", { + description = S("Ignore-like"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like_no_clip", { + description = S("Ignore-like (no clip)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + + +minetest.register_node("maptools:ignore_like_no_point", { + description = S("Ignore-like (no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like_no_clip_no_point", { + description = S("Ignore-like (no clip, no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fullclip_face", { + description = S("Full Clip Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_white.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_bottom", { + description = S("Player Clip Bottom Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_orange.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_top", { + description = S("Player Clip Top Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_yellow.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +for pusher_num=1,10,1 do +minetest.register_node("maptools:pusher_" .. pusher_num, { + description = S("Pusher (%s)"):format(pusher_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_apple.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100, bouncy=pusher_num*100}, +}) +end + +minetest.register_node("maptools:lightbulb", { + description = S("Light Bulb"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", + drawtype = "airlike", + walkable = false, + pointable = false, + light_source = 15, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:nobuild", { + description = S("Build Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^bones_bones.png", + drawtype = "airlike", + walkable = false, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:nointeract", { + description = S("Interact Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_scorched_stuff.png", + drawtype = "airlike", + walkable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:climb", { + description = S("Climb Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_ladder.png", + drawtype = "airlike", + walkable = false, + climbable = true, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +for damage_num=1,5,1 do +minetest.register_node("maptools:damage_" .. damage_num, { + description = S("Damaging Block (%s)"):format(damage_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = damage_num, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) +end + +minetest.register_node("maptools:kill", { + description = S("Kill Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_black.png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = 20, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:smoke", { + description = S("Smoke Block"), + range = 12, + stack_max = 10000, + tiles = {"maptools_smoke.png"}, + drawtype = "allfaces_optional", + walkable = false, + paramtype = "light", + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + post_effect_color = {a=192, r=96, g=96, b=96}, +}) + +minetest.register_node("maptools:ladder", { + description = S("Fake Ladder"), + range = 12, + stack_max = 10000, + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "wallmounted", + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("maptools:permanent_fire", { + description = S("Permanent Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + walkable = false, + damage_per_second = 4, +}) + +minetest.register_node("maptools:fake_fire", { + description = S("Fake Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + walkable = false, +}) + +minetest.register_node("maptools:igniter", { + drawtype = "airlike", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^crosshair.png", + description = S("Igniter"), + paramtype = "light", + inventory_image = "fire_basic_flame.png", + drop = "", + groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + pointable = false, + walkable = false, +}) + +minetest.register_node("maptools:superapple", { + description = S("Super Apple"), + range = 12, + stack_max = 99, + drawtype = "nodebox", + visual_scale = 1.0, + tiles = {"maptools_super_apple_top.png","maptools_super_apple_bottom.png","maptools_super_apple_side.png"}, + inventory_image = "maptools_superapple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + {-3/16, -7/16, -3/16, 3/16, 1/16, 3/16}, + {-4/16, -6/16, -3/16, 4/16, 0, 3/16}, + {-3/16, -6/16, -4/16, 3/16, 0, 4/16}, + {-1/32, 1/16, -1/32, 1/32, 4/16, 1/32}, + {-1/16, 1.6/16, 0, 1/16, 1.8/16, 1/16}, + {-2/16, 1.4/16, 1/16, 1/16, 1.6/16, 2/16}, + {-2/16, 1.2/16, 2/16, 0, 1.4/16, 3/16}, + {-1.5/16, 1/16, .5/16, 0.5/16, 1.2/16, 2.5/16}, + } + }, + is_ground_content = true, + groups = {fleshy = 3, dig_immediate = 3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1}, + on_use = minetest.item_eat(20), + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos, placer, itemstack) + if placer:is_player() then + minetest.set_node(pos, {name = "maptools:superapple", param2= 1}) + end + end, +}) + +-- Items + +minetest.register_craftitem("maptools:copper_coin", { + description = S("Copper Coin"), + inventory_image = "maptools_copper_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:silver_coin", { + description = S("Silver Coin"), + inventory_image = "maptools_silver_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:gold_coin", { + description = S("Gold Coin"), + inventory_image = "maptools_gold_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:infinitefuel", { + description = S("Infinite Fuel"), + inventory_image = "maptools_infinitefuel.png", + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +-- Tools + +minetest.register_tool("maptools:pick_admin", { + description = S("Admin Pickaxe"), + range = 12, + inventory_image = "maptools_adminpick.png", + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, + tool_capabilities = { + full_punch_interval = 0.1, + max_drop_level = 3, + groupcaps= { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy = 1000}, + }, +}) + +minetest.register_tool("maptools:pick_admin_with_drops", { + description = S("Admin Pickaxe with Drops"), + range = 12, + inventory_image = "maptools_adminpick_with_drops.png", + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, + tool_capabilities = { + full_punch_interval = 0.35, + max_drop_level = 3, + groupcaps = { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy = 1000}, + }, +}) + +minetest.register_on_punchnode(function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "maptools:pick_admin" + and minetest.get_node(pos).name ~= "air" then + minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") + minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. + nodeupdate(pos) -- Run node update actions like falling nodes. + end +end) + +if minetest.setting_getbool("log_mods") then + minetest.log("action", "Carbone: [maptools] loaded.") +end diff --git a/mods/maptools/nodes.lua b/mods/maptools/nodes.lua deleted file mode 100644 index 8ceef647..00000000 --- a/mods/maptools/nodes.lua +++ /dev/null @@ -1,429 +0,0 @@ ---[[ -Map Tools: node definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] - --- Redefine cloud so that the admin pickaxe can mine it: -minetest.register_node(":default:cloud", { - description = S("Cloud"), - tiles = {"default_cloud.png"}, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_defaults(), -}) - --- Nodes --- ===== - -minetest.register_node("maptools:black", { - description = S("Black"), - range = 12, - stack_max = 10000, - tiles = {"black.png"}, - drop = "", - post_effect_color = {a=255, r=0, g=0, b=0}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:white", { - description = S("White"), - range = 12, - stack_max = 10000, - tiles = {"white.png"}, - drop = "", - post_effect_color = {a=255, r=128, g=128, b=128}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:playerclip", { - description = S("Player Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fake_walkable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fullclip", { - description = S("Full Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_blue.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fake_walkable_pointable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like", { - description = S("Ignore-like"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like_no_clip", { - description = S("Ignore-like (no clip)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - - -minetest.register_node("maptools:ignore_like_no_point", { - description = S("Ignore-like (no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like_no_clip_no_point", { - description = S("Ignore-like (no clip, no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fullclip_face", { - description = S("Full Clip Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_white.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_bottom", { - description = S("Player Clip Bottom Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_orange.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_top", { - description = S("Player Clip Top Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_yellow.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -for pusher_num=1,10,1 do -minetest.register_node("maptools:pusher_" .. pusher_num, { - description = S("Pusher (%s)"):format(pusher_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_apple.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100}, -}) -end - -minetest.register_node("maptools:lightbulb", { - description = S("Light Bulb"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", - drawtype = "airlike", - walkable = false, - pointable = false, - light_source = 15, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:nobuild", { - description = S("Build Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^bones_bones.png", - drawtype = "airlike", - walkable = false, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:nointeract", { - description = S("Interact Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_scorched_stuff.png", - drawtype = "airlike", - walkable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:climb", { - description = S("Climb Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_ladder.png", - drawtype = "airlike", - walkable = false, - climbable = true, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -for damage_num=1,5,1 do -minetest.register_node("maptools:damage_" .. damage_num, { - description = S("Damaging Block (%s)"):format(damage_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = damage_num, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) -end - -minetest.register_node("maptools:kill", { - description = S("Kill Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_black.png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = 20, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:smoke", { - description = S("Smoke Block"), - range = 12, - stack_max = 10000, - tiles = {"maptools_smoke.png"}, - drawtype = "allfaces_optional", - walkable = false, - paramtype = "light", - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - post_effect_color = {a=192, r=96, g=96, b=96}, -}) - -minetest.register_node("maptools:ladder", { - description = S("Fake Ladder"), - range = 12, - stack_max = 10000, - drawtype = "signlike", - tiles = {"default_ladder.png"}, - inventory_image = "default_ladder.png", - wield_image = "default_ladder.png", - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = { - type = "wallmounted", - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("maptools:permanent_fire", { - description = S("Permanent Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - walkable = false, - damage_per_second = 4, -}) - -minetest.register_node("maptools:fake_fire", { - description = S("Fake Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - walkable = false, -}) - -minetest.register_node("maptools:igniter", { - drawtype = "airlike", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^crosshair.png", - description = S("Igniter"), - paramtype = "light", - inventory_image = "fire_basic_flame.png", - drop = "", - groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - pointable = false, - walkable = false, -}) - -minetest.register_node("maptools:superapple", { - description = S("Super Apple"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"maptools_superapple.png"}, - inventory_image = "maptools_superapple.png", - paramtype = "light", - sunlight_propagates = true, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} - }, - walkable = false, - groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative}, - on_use = minetest.item_eat(20), - sounds = default.node_sound_defaults(), -}) diff --git a/mods/maptools/textures/maptools_super_apple_bottom.png b/mods/maptools/textures/maptools_super_apple_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..97f61e171c0291015d80fb19c8cbae5a11436b2b GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEEyw(>0&3oIs&1o-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)Rt8^Iv literal 0 HcmV?d00001 diff --git a/mods/maptools/textures/maptools_super_apple_side.png b/mods/maptools/textures/maptools_super_apple_side.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4c83153f2abe5c0c2ed349e3c0d676b27a2f80 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEE!u^3{~$2|%GOo-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)>;dE61 literal 0 HcmV?d00001 diff --git a/mods/maptools/textures/maptools_super_apple_top.png b/mods/maptools/textures/maptools_super_apple_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4d4dbc056e1913768f70134e28a6bf551b87216b GIT binary patch literal 498 zcmV{Ut&2O5LW0q`a zv=Id$>4dnxgUhon0QI^&*J}AI;MYCiTY+p=^8M`^$0rfegE#=`xRfTB8%?L, a free/libre infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. - -**Forum topic:** diff --git a/mods/moreblocks/README.txt b/mods/moreblocks/README.txt new file mode 100755 index 00000000..aa99eda3 --- /dev/null +++ b/mods/moreblocks/README.txt @@ -0,0 +1,12 @@ +More Blocks +========== + +More Blocks for Minetest (http://minetest.net), a free and open source infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +More Blocks code is under the zlib license, textures are under CC BY-SA 3.0 unported. + +Forum topic: http://forum.minetest.net/viewtopic.php?id=509 + diff --git a/mods/moreblocks/aliases.lua b/mods/moreblocks/aliases.lua old mode 100644 new mode 100755 index 15f7b6b2..df820c33 --- a/mods/moreblocks/aliases.lua +++ b/mods/moreblocks/aliases.lua @@ -1,28 +1,24 @@ ---[[ -More Blocks: alias definitions +-- More Blocks aliases -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- More Blocks aliases: minetest.register_alias("sweeper", "moreblocks:sweeper") minetest.register_alias("circular_saw", "moreblocks:circular_saw") minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") --- Old block/item replacement: +-- Old block/item replacement + minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") --- Node and item renaming: +-- Node and item renaming + minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick") minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") minetest.register_alias("moreblocks:junglewood", "default:junglewood") minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") for _, t in pairs(circular_saw.names) do - minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], - "moreblocks:" .. t[1] .. "_junglewood" .. t[2]) + minetest.register_alias("moreblocks:" ..t[1].. "_jungle_wood" ..t[2], + "moreblocks:" ..t[1].. "_junglewood" ..t[2]) end minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") @@ -55,7 +51,8 @@ minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") --- ABM for horizontal trees (fix facedir): +-- ABM for horizontal trees (fix facedir). + local horizontal_tree_convert_facedir = {7, 12, 9, 18} minetest.register_abm({ diff --git a/mods/moreblocks/circular_saw.lua b/mods/moreblocks/circular_saw.lua old mode 100644 new mode 100755 index 98ddecbc..2af5972a --- a/mods/moreblocks/circular_saw.lua +++ b/mods/moreblocks/circular_saw.lua @@ -1,12 +1,4 @@ ---[[ -More Blocks: circular saw - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - +local S = moreblocks.gettext circular_saw = {} circular_saw.known_stairs = setmetatable({}, { diff --git a/mods/moreblocks/config.lua b/mods/moreblocks/config.lua old mode 100644 new mode 100755 index d646dacd..e5db0861 --- a/mods/moreblocks/config.lua +++ b/mods/moreblocks/config.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: configuration handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - moreblocks.config = {} local function getbool_default(setting, default) diff --git a/mods/moreblocks/crafting.lua b/mods/moreblocks/crafting.lua old mode 100644 new mode 100755 index 4429d9ae..158d40a5 --- a/mods/moreblocks/crafting.lua +++ b/mods/moreblocks/crafting.lua @@ -1,9 +1,4 @@ ---[[ -More Blocks: crafting recipes - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] +-- Crafting minetest.register_craft({ output = "default:stick", diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt old mode 100644 new mode 100755 index 198fe8a6..9207dab8 --- a/mods/moreblocks/depends.txt +++ b/mods/moreblocks/depends.txt @@ -1,2 +1,2 @@ -default -intllib? +default +intllib? diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua old mode 100644 new mode 100755 index 2919a308..a86a38ea --- a/mods/moreblocks/init.lua +++ b/mods/moreblocks/init.lua @@ -1,22 +1,20 @@ --[[ -===================================================================== -** More Blocks ** -By Calinou, with the help of ShadowNinja and VanessaE. - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. -===================================================================== +-- More Blocks (moreblocks) by Calinou +-- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. --]] moreblocks = {} -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() +-- Load translation library if intllib is installed + +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) else S = function(s) return s end end -moreblocks.intllib = S +moreblocks.gettext = S local modpath = minetest.get_modpath("moreblocks") @@ -29,5 +27,6 @@ dofile(modpath .. "/crafting.lua") dofile(modpath .. "/aliases.lua") if minetest.setting_getbool("log_mods") then - minetest.log("action", S("[moreblocks] loaded.")) + print(S("[moreblocks] loaded.")) end + diff --git a/mods/moreblocks/locale/de.txt b/mods/moreblocks/locale/de.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/es.txt b/mods/moreblocks/locale/es.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/fr.txt b/mods/moreblocks/locale/fr.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/template.txt b/mods/moreblocks/locale/template.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/models/moreblocks_slope.obj b/mods/moreblocks/models/moreblocks_slope.obj deleted file mode 100644 index 05c853b7..00000000 --- a/mods/moreblocks/models/moreblocks_slope.obj +++ /dev/null @@ -1,21 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_onetexture.mtl -o Cube_Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/3 3/4 5/1 6/2 -f 2/1 5/3 3/4 -f 1/2 4/3 6/4 -f 2/1 1/2 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half.obj b/mods/moreblocks/models/moreblocks_slope_half.obj deleted file mode 100644 index bc96bb8b..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_fronthalf_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_long_fronthalf_onetexture.mtl -o Cube_Cube.002 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/3 3/4 5/5 6/6 -f 2/1 5/3 3/4 -f 1/2 4/3 6/4 -f 2/5 1/6 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_half_raised.obj deleted file mode 100644 index 79e0dc01..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half_raised.obj +++ /dev/null @@ -1,26 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_backhalf_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_long_backhalf_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -usemtl None -s off -f 5/1 6/2 2/3 1/4 -f 6/5 7/2 3/3 2/4 -f 7/5 8/6 4/3 3/4 -f 8/1 5/6 1/3 4/4 -f 1/4 2/1 3/6 4/3 -f 8/6 7/3 6/4 5/1 diff --git a/mods/moreblocks/models/moreblocks_slope_inner.obj b/mods/moreblocks/models/moreblocks_slope_inner.obj deleted file mode 100644 index 68fc1700..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner.obj +++ /dev/null @@ -1,26 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend' -# www.blender.org -o Cube_Cube.000 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -s off -f 6/1 1/2 7/3 8/4 -f 2/1 5/3 3/4 -f 2/1 1/2 5/4 -f 6/2 8/3 9/4 -f 9/1 8/2 7/3 3/4 -f 3/3 7/4 1/1 2/2 -f 1/1 6/2 9/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_half.obj deleted file mode 100644 index 6decaea3..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half.obj +++ /dev/null @@ -1,28 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_short_onetexture.blend' -# www.blender.org -mtllib slope_test_icorner_half_short_onetexture.mtl -o Cube_Cube.000 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -usemtl None -s off -f 6/1 1/2 7/3 8/4 -f 2/1 5/3 3/4 -f 2/1 1/2 5/4 -f 6/2 8/3 9/4 -f 9/1 8/2 7/3 3/4 -f 3/3 7/4 1/1 2/2 -f 1/1 6/2 9/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj deleted file mode 100644 index 8aff6cab..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj +++ /dev/null @@ -1,31 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_tall_onetexture.blend' -# www.blender.org -mtllib slope_test_icorner_half_tall_onetexture.mtl -o Cube_Cube.000 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -usemtl None -s off -f 6/1 1/2 7/3 8/4 -f 2/1 1/2 5/4 -f 3/3 7/4 1/1 2/2 -f 1/2 6/3 9/4 -f 3/1 10/2 8/3 7/4 -f 8/3 10/4 5/5 6/2 -f 3/4 2/1 5/6 10/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer.obj b/mods/moreblocks/models/moreblocks_slope_outer.obj deleted file mode 100644 index 383c195f..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer.obj +++ /dev/null @@ -1,18 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend' -# www.blender.org -o Cube_Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -s off -f 3/1 2/2 4/3 5/4 -f 1/2 3/3 5/4 -f 1/1 2/3 3/4 -f 1/1 4/3 2/4 -f 1/2 5/3 4/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj deleted file mode 100644 index 4608c69c..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj +++ /dev/null @@ -1,19 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_2_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_tall_2_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -usemtl None -s off -f 4/1 1/2 3/3 -f 2/3 4/4 3/2 -f 3/2 1/3 2/4 -f 1/3 4/5 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj deleted file mode 100644 index e4be8825..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj +++ /dev/null @@ -1,20 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_2_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_2_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -usemtl None -s off -f 4/1 1/2 3/3 -f 2/3 4/4 3/2 -f 3/2 1/3 2/5 -f 1/3 4/6 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj deleted file mode 100644 index 65a3b8ac..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_3_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_3_onetexture.mtl -o Cube_Cube.002 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/5 3/2 5/3 6/6 -f 2/5 5/3 3/4 -f 1/2 4/3 6/4 -f 2/3 1/6 6/1 5/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_half.obj deleted file mode 100644 index 0c56e26a..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half.obj +++ /dev/null @@ -1,22 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_1_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_1_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 5/5 1/3 4/4 -f 3/4 5/6 4/3 -f 2/4 5/2 3/3 -f 1/4 5/1 2/3 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj deleted file mode 100644 index e4fa3d1f..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj +++ /dev/null @@ -1,27 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_3_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_tall_3_onetexture.mtl -o Cube_Cube.002 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/5 3/2 5/3 6/6 -f 8/3 4/5 6/2 -f 1/6 8/1 7/2 2/3 -f 4/5 8/3 1/4 -f 6/1 5/2 7/3 8/6 -f 5/5 3/2 2/3 7/4 diff --git a/mods/moreblocks/nodes.lua b/mods/moreblocks/nodes.lua old mode 100644 new mode 100755 index d3120c9a..5efda8f8 --- a/mods/moreblocks/nodes.lua +++ b/mods/moreblocks/nodes.lua @@ -1,11 +1,4 @@ ---[[ -More Blocks: node definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S = moreblocks.gettext local sound_wood = default.node_sound_wood_defaults() local sound_stone = default.node_sound_stone_defaults() @@ -123,11 +116,6 @@ local nodes = { groups = {cracky = 2}, sounds = sound_stone, }, - ["cobble_compressed"] = { - description = S("Compressed Cobblestone"), - groups = {cracky = 1}, - sounds = sound_stone, - }, ["plankstone"] = { description = S("Plankstone"), groups = {cracky = 3}, diff --git a/mods/moreblocks/ownership.lua b/mods/moreblocks/ownership.lua old mode 100644 new mode 100755 index 1c2431ba..9cd4cb30 --- a/mods/moreblocks/ownership.lua +++ b/mods/moreblocks/ownership.lua @@ -1,9 +1,3 @@ ---[[ -More Blocks: ownership handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] local S = moreblocks.gettext diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua old mode 100644 new mode 100755 index a6498f16..4db169b1 --- a/mods/moreblocks/redefinitions.lua +++ b/mods/moreblocks/redefinitions.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: redefinitions of default stuff - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Redefinitions of some default crafting recipes: minetest.register_craft({ @@ -78,11 +71,6 @@ minetest.override_item("default:papyrus", { sunlight_propagates = true, }) -minetest.override_item("default:fence_wood", { - paramtype = "light", - sunlight_propagates = true, -}) - minetest.override_item("default:junglegrass", { paramtype = "light", sunlight_propagates = true, diff --git a/mods/moreblocks/stairsplus/API.md b/mods/moreblocks/stairsplus/API.md old mode 100644 new mode 100755 index 2db0f2b3..a98ec81e --- a/mods/moreblocks/stairsplus/API.md +++ b/mods/moreblocks/stairsplus/API.md @@ -1,5 +1,6 @@ API documentation for Stairs+ -============================= +================================ +- - - - - - - - - - - - - - - - * `stairsplus:register_all(modname, subname, recipeitem, fields)` Registers a stair, slab, panel, microblock, and any other types of diff --git a/mods/moreblocks/stairsplus/aliases.lua b/mods/moreblocks/stairsplus/aliases.lua old mode 100644 new mode 100755 index c235d342..c92df483 --- a/mods/moreblocks/stairsplus/aliases.lua +++ b/mods/moreblocks/stairsplus/aliases.lua @@ -1,9 +1,3 @@ ---[[ -More Blocks: alias definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] local function register_stairsplus_alias(modname, origname, newname) minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname) @@ -39,14 +33,12 @@ end register_stairsplus_alias("stairsplus", "stone", "stone") register_stairsplus_alias("stairsplus", "wood", "wood") -register_stairsplus_alias("stairsplus", "pinewood", "pinewood") register_stairsplus_alias("stairsplus", "cobble", "cobble") register_stairsplus_alias("stairsplus", "brick", "brick") register_stairsplus_alias("stairsplus", "sandstone", "sandstone") register_stairsplus_alias("stairsplus", "glass", "glass") register_stairsplus_alias("stairsplus", "tree", "tree") register_stairsplus_alias("stairsplus", "jungletree", "jungletree") -register_stairsplus_alias("stairsplus", "pinetree", "pinetree") register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") register_stairsplus_alias("stairsplus", "steelblock", "steelblock") register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") diff --git a/mods/moreblocks/stairsplus/conversion.lua b/mods/moreblocks/stairsplus/conversion.lua old mode 100644 new mode 100755 index 13966b66..fda30c7b --- a/mods/moreblocks/stairsplus/conversion.lua +++ b/mods/moreblocks/stairsplus/conversion.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: conversion - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Function to convert all stairs/slabs/etc nodes from -- inverted, wall, etc to regular + 6d facedir diff --git a/mods/moreblocks/stairsplus/init.lua b/mods/moreblocks/stairsplus/init.lua old mode 100644 new mode 100755 index ffec1b7f..ae09b7d3 --- a/mods/moreblocks/stairsplus/init.lua +++ b/mods/moreblocks/stairsplus/init.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: Stairs+ - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Nodes will be called :{stair,slab,panel,micro}_ local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" @@ -25,7 +18,6 @@ function stairsplus:register_all(modname, subname, recipeitem, fields) end self:register_stair(modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields) - self:register_slope(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields) -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. @@ -44,9 +36,8 @@ end -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -dofile(modpath .. "/stairs.lua") -dofile(modpath .. "/slabs.lua") -dofile(modpath .. "/slopes.lua") -dofile(modpath .. "/panels.lua") -dofile(modpath .. "/microblocks.lua") -dofile(modpath .. "/registrations.lua") +dofile(modpath.. "/stairs.lua") +dofile(modpath.. "/slabs.lua") +dofile(modpath.. "/panels.lua") +dofile(modpath.. "/microblocks.lua") +dofile(modpath.. "/registrations.lua") diff --git a/mods/moreblocks/stairsplus/microblocks.lua b/mods/moreblocks/stairsplus/microblocks.lua old mode 100644 new mode 100755 index 8d52c4a2..f88ed12e --- a/mods/moreblocks/stairsplus/microblocks.lua +++ b/mods/moreblocks/stairsplus/microblocks.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: microblock definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :micro_ diff --git a/mods/moreblocks/stairsplus/panels.lua b/mods/moreblocks/stairsplus/panels.lua old mode 100644 new mode 100755 index 2220fe42..73b283ed --- a/mods/moreblocks/stairsplus/panels.lua +++ b/mods/moreblocks/stairsplus/panels.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: panel definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :panel_ diff --git a/mods/moreblocks/stairsplus/registrations.lua b/mods/moreblocks/stairsplus/registrations.lua old mode 100644 new mode 100755 index 7b38b13b..cc22d333 --- a/mods/moreblocks/stairsplus/registrations.lua +++ b/mods/moreblocks/stairsplus/registrations.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: registrations - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - local default_nodes = { -- Default stairs/slabs/panels/microblocks: "stone", "cobble", @@ -17,14 +10,12 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks: "bronzeblock", "diamondblock", "desert_stone", - "desert_cobble", +-- "desert_cobble", "glass", "tree", "wood", "jungletree", "junglewood", - "pinetree", - "pinewood", "obsidian", "obsidian_glass", "stonebrick", diff --git a/mods/moreblocks/stairsplus/slabs.lua b/mods/moreblocks/stairsplus/slabs.lua old mode 100644 new mode 100755 index 68ba5200..9c31745d --- a/mods/moreblocks/stairsplus/slabs.lua +++ b/mods/moreblocks/stairsplus/slabs.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: slab definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :slab_ @@ -76,11 +75,11 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":slab_" .. fields.drop .. alternate + def.drop = modname.. ":slab_" ..fields.drop..alternate end - minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) + minetest.register_node(":" ..modname.. ":slab_" ..subname..alternate, def) end - minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) + minetest.register_alias("stairs:slab_" ..subname, modname.. ":slab_" ..subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/stairsplus/slopes.lua b/mods/moreblocks/stairsplus/slopes.lua deleted file mode 100644 index 3a169060..00000000 --- a/mods/moreblocks/stairsplus/slopes.lua +++ /dev/null @@ -1,459 +0,0 @@ ---[[ -More Blocks: slope definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - -local box_slope = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} - } -} - -local box_slope_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - } -} - -local box_slope_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_inner = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, - {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, - {-0.5, 0, -0.5, 0, 0.25, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, - } -} - -local box_slope_inner_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.375, -0.5, 0.25, -0.25, 0.5}, - {-0.5, -0.25, -0.5, 0, -0.125, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - {-0.5, -0.125, -0.5, -0.25, 0, 0.5}, - } -} - -local box_slope_inner_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.125, -0.5, 0.25, 0.25, 0.5}, - {-0.5, 0.25, -0.5, 0, 0.375, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.375, -0.5, -0.25, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_outer = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, - {-0.5, 0, 0, 0, 0.25, 0.5}, - {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} - } -} - -local box_slope_outer_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.25, -0.25, 0.5}, - {-0.5, -0.25, 0, 0, -0.125, 0.5}, - {-0.5, -0.125, 0.25, -0.25, 0, 0.5} - } -} - -local box_slope_outer_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.25, 0.25, 0.5}, - {-0.5, 0.25, 0, 0, 0.375, 0.5}, - {-0.5, 0.375, 0.25, -0.25, 0.5, 0.5} - } -} - --- Node will be called :slope_ - -function register_slope(modname, subname, recipeitem, groups, images, description, drop, light) - return stairsplus:register_slope(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_slope(modname, subname, recipeitem, fields) - local defs = { - [""] = { - mesh = "moreblocks_slope.obj", - collision_box = box_slope, - selection_box = box_slope, - - }, - ["_half"] = { - mesh = "moreblocks_slope_half.obj", - collision_box = box_slope_half, - selection_box = box_slope_half, - }, - ["_half_raised"] = { - mesh = "moreblocks_slope_half_raised.obj", - collision_box = box_slope_half_raised, - selection_box = box_slope_half_raised, - }, - ---============================================================== - - ["_inner"] = { - mesh = "moreblocks_slope_inner.obj", - collision_box = box_slope_inner, - selection_box = box_slope_inner, - }, - ["_inner_half"] = { - mesh = "moreblocks_slope_inner_half.obj", - collision_box = box_slope_inner_half, - selection_box = box_slope_inner_half, - }, - ["_inner_half_raised"] = { - mesh = "moreblocks_slope_inner_half_raised.obj", - collision_box = box_slope_inner_half_raised, - selection_box = box_slope_inner_half_raised, - }, - ---============================================================== - - ["_outer"] = { - mesh = "moreblocks_slope_outer.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_half"] = { - mesh = "moreblocks_slope_outer_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_half_raised"] = { - mesh = "moreblocks_slope_outer_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - ---============================================================== - - ["_outer_cut"] = { - mesh = "moreblocks_slope_outer_cut.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_cut_half"] = { - mesh = "moreblocks_slope_outer_cut_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_cut_half_raised"] = { - mesh = "moreblocks_slope_outer_cut_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - } - - local desc = S("%s Slope"):format(fields.description) - for alternate, def in pairs(defs) do - def.drawtype = "mesh" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - for k, v in pairs(fields) do - def[k] = v - end - def.description = desc - if fields.drop then - def.drop = modname.. ":slope_" ..fields.drop..alternate - end - minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) - end - - -- Some saw-less recipes: - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. " 7", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, modname .. ":panel_" .. subname, ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. " 7", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {"", modname .. ":panel_" .. subname, recipeitem}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half 10", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half 10", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half_raised 7", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half_raised 7", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---===================================================== Inner == - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner 7", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, modname .. ":stair_" .. subname .. "_half", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner 7", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {"", modname .. ":stair_" .. subname .. "_half", recipeitem}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half 10", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half 10", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---===================================================== Outer == - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer 7", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, modname .. ":micro_" .. subname, ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer 7", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {"", modname .. ":micro_" .. subname, recipeitem}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half 10", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half 10", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---================================================= Shapeless == - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_outer_cut"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_inner_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_cut_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut", - recipe = {modname .. ":slope_" .. subname .. "_outer"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half", - recipe = {modname .. ":slope_" .. subname .. "_outer_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", - recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised"}, - }) -end diff --git a/mods/moreblocks/stairsplus/stairs.lua b/mods/moreblocks/stairsplus/stairs.lua old mode 100644 new mode 100755 index a93cda08..a4f54e39 --- a/mods/moreblocks/stairsplus/stairs.lua +++ b/mods/moreblocks/stairsplus/stairs.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: stair definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :stair_ @@ -117,11 +116,11 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname .. ":stair_" .. fields.drop .. alternate + def.drop = modname.. ":stair_" ..fields.drop..alternate end - minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) + minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def) end - minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) + minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/textures/default_brick.png b/mods/moreblocks/textures/default_brick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/default_fence_overlay.png b/mods/moreblocks/textures/default_fence_overlay.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/invisible.png b/mods/moreblocks/textures/invisible.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_cactus_brick.png b/mods/moreblocks/textures/moreblocks_cactus_brick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_cactus_checker.png b/mods/moreblocks/textures/moreblocks_cactus_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png b/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png b/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_side.png b/mods/moreblocks/textures/moreblocks_circular_saw_side.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_top.png b/mods/moreblocks/textures/moreblocks_circular_saw_top.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_clean_glass.png b/mods/moreblocks/textures/moreblocks_clean_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_checker.png b/mods/moreblocks/textures/moreblocks_coal_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass.png b/mods/moreblocks/textures/moreblocks_coal_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone.png b/mods/moreblocks/textures/moreblocks_coal_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png b/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png b/mods/moreblocks/textures/moreblocks_empty_bookshelf.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png b/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_fence_wood.png b/mods/moreblocks/textures/moreblocks_fence_wood.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glass.png b/mods/moreblocks/textures/moreblocks_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass.png b/mods/moreblocks/textures/moreblocks_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_grey_bricks.png b/mods/moreblocks/textures/moreblocks_grey_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_checker.png b/mods/moreblocks/textures/moreblocks_iron_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass.png b/mods/moreblocks/textures/moreblocks_iron_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone.png b/mods/moreblocks/textures/moreblocks_iron_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png b/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_rope.png b/mods/moreblocks/textures/moreblocks_rope.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile.png b/mods/moreblocks/textures/moreblocks_split_stone_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_stone_tile.png b/mods/moreblocks/textures/moreblocks_stone_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_super_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_sweeper.png b/mods/moreblocks/textures/moreblocks_sweeper.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_tar.png b/mods/moreblocks/textures/moreblocks_tar.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_glass.png b/mods/moreblocks/textures/moreblocks_trap_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_stone.png b/mods/moreblocks/textures/moreblocks_trap_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png b/mods/moreblocks/textures/moreblocks_tree_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile.png b/mods/moreblocks/textures/moreblocks_wood_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_center.png b/mods/moreblocks/textures/moreblocks_wood_tile_center.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_full.png b/mods/moreblocks/textures/moreblocks_wood_tile_full.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_up.png b/mods/moreblocks/textures/moreblocks_wood_tile_up.png old mode 100644 new mode 100755 From a2591f025c138c8fee55e602c6c507760446975a Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:08:54 +0100 Subject: [PATCH 11/32] Removed global variables' errors file --- global_to_solve.txt | 82 --------------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 global_to_solve.txt diff --git a/global_to_solve.txt b/global_to_solve.txt deleted file mode 100644 index e1386f70..00000000 --- a/global_to_solve.txt +++ /dev/null @@ -1,82 +0,0 @@ -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/awards/init.lua:8 -14:41:30: WARNING: Undeclared global variable "worldedit" accessed at ...eFun/worldmods/WorldEdit/worldedit_infinity/init.lua:1 -14:41:30: WARNING: Undeclared global variable "check_set" accessed at ...eFun/worldmods/WorldEdit/worldedit_commands/init.lua:830 -14:41:30: WARNING: Undeclared global variable "check_set" accessed at ...eFun/worldmods/WorldEdit/worldedit_commands/init.lua:841 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at .../NodesJustWannaHaveFun/worldmods/moreblocks/init.lua:11 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...naHaveFun/worldmods/moreblocks/stairsplus/stairs.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...nnaHaveFun/worldmods/moreblocks/stairsplus/slabs.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...naHaveFun/worldmods/moreblocks/stairsplus/panels.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...eFun/worldmods/moreblocks/stairsplus/microblocks.lua:2 -14:41:30: ERROR[main]: Assignment to undeclared global "v" inside a function at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/util.lua:51. -14:41:30: ERROR[main]: Assignment to undeclared global "i" inside a function at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/util.lua:51. -14:41:30: WARNING: Undeclared global variable "skins" accessed at ...s/NodesJustWannaHaveFun/worldmods/snow/src/nodes.lua:69 -14:41:30: WARNING: Undeclared global variable "HUD" accessed at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/sled.lua:71 -14:41:30: WARNING: Undeclared global variable "drop" accessed at ...esJustWannaHaveFun/worldmods/snow/src/stairsplus.lua:276 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:15 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:25 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:35 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:46 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:57 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:78 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:88 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:98 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:108 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:121 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:133 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:143 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:153 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:166 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:176 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:186 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:196 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:206 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:216 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:226 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:237 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:249 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:270 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:281 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:291 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:301 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:311 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:322 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:332 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:342 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:352 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:362 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:374 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:384 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:109 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:141 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:169 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:197 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:225 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:253 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:282 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:310 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:338 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:366 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:394 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:422 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:450 -14:41:30: WARNING: Undeclared global variable "x21" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:451 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:478 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:506 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:534 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:661 -14:41:30: WARNING: Undeclared global variable "convert_base" accessed at ...ustWannaHaveFun/worldmods/mesecons/mesecons/util.lua:104 -14:41:31: WARNING: Undeclared global variable "handle_timer" accessed at ...n/worldmods/mesecons/mesecons_luacontroller/init.lua:562 -14:41:31: WARNING: Undeclared global variable "selectionbox" accessed at ...n/worldmods/mesecons/mesecons_luacontroller/init.lua:603 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:36 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:82 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:128 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:174 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:356 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...JustWannaHaveFun/worldmods/unified_inventory/api.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...annaHaveFun/worldmods/unified_inventory/internal.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...annaHaveFun/worldmods/unified_inventory/register.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...ustWannaHaveFun/worldmods/unified_inventory/bags.lua:7 -14:41:31: WARNING: Undeclared global variable "inventory_plus" accessed at ...stWannaHaveFun/worldmods/3d_armor/3d_armor/armor.lua:40 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:11 -14:41:31: ERROR[main]: Assignment to undeclared global "mod" inside a function at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:44. -14:41:31: ERROR[main]: Assignment to undeclared global "g" inside a function at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:63. From ae4295babc17d810682927222be4d39096b58529 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:16:00 +0100 Subject: [PATCH 12/32] Made superapples harder to craft - Changed craft recipe for default:superapple, now using : "default:apple","default:mese","default:mese" --- minetestforfun_game/mods/default/crafting.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minetestforfun_game/mods/default/crafting.lua b/minetestforfun_game/mods/default/crafting.lua index d6e4081f..84a7232d 100644 --- a/minetestforfun_game/mods/default/crafting.lua +++ b/minetestforfun_game/mods/default/crafting.lua @@ -630,7 +630,7 @@ minetest.register_craft({ minetest.register_craft({ output = "maptools:superapple", type = "shapeless", - recipe = {"default:apple", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + recipe = {"default:apple", "default:mese", "default:mese"}, }) minetest.register_craft({ From 42885ee458b0a1613ced21068f52e0125f7071ef Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 22:45:27 +0100 Subject: [PATCH 13/32] More global vars --- mods/ambience_modpack/ambience/init.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ambience_modpack/ambience/init.lua b/mods/ambience_modpack/ambience/init.lua index 3a14d97d..64545c8a 100755 --- a/mods/ambience_modpack/ambience/init.lua +++ b/mods/ambience_modpack/ambience/init.lua @@ -252,14 +252,14 @@ end local atleast_nodes_in_grid = function(pos, search_distance, height, node_name, threshold) counter = counter +1 -- minetest.chat_send_all("counter: (" .. counter .. ")") - minp = {x=pos.x-search_distance,y=height, z=pos.z+20} - maxp = {x=pos.x+search_distance,y=height, z=pos.z+20} - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local minp = {x=pos.x-search_distance,y=height, z=pos.z+20} + local maxp = {x=pos.x+search_distance,y=height, z=pos.z+20} + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) -- minetest.chat_send_all("z+Found (" .. node_name .. ": " .. #nodes .. ")") if #nodes >= threshold then return true end - totalnodes = #nodes + local totalnodes = #nodes minp = {x=pos.x-search_distance,y=height, z=pos.z-20} maxp = {x=pos.x+search_distance,y=height, z=pos.z-20} nodes = minetest.find_nodes_in_area(minp, maxp, node_name) From c75b3780ca02e234843356be9d45192d95c35fb6 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 23:27:03 +0100 Subject: [PATCH 14/32] Loads of fixs --- mods/builtin_falling/func.lua | 2 +- mods/sea/clams/init.lua | 2 +- mods/snow/src/mapgen_v6.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/builtin_falling/func.lua b/mods/builtin_falling/func.lua index 5d2a714e..32b0b80e 100755 --- a/mods/builtin_falling/func.lua +++ b/mods/builtin_falling/func.lua @@ -169,7 +169,7 @@ function add_protected_bukket_liquid(nameofbukket,liquidsourcename) return end -- Check if pointing to a buildable node - n = minetest.get_node(pointed_thing.under) + local n = minetest.get_node(pointed_thing.under) if is_protected_area(pointed_thing.under, 7 ,user:get_player_name()) then minetest.chat_send_player(user:get_player_name(),"You cant place here - Too short of a protected area.") diff --git a/mods/sea/clams/init.lua b/mods/sea/clams/init.lua index d9e6a13d..c6f88f75 100755 --- a/mods/sea/clams/init.lua +++ b/mods/sea/clams/init.lua @@ -127,7 +127,7 @@ minetest.register_entity("clams:whiteshell", { self.phase = 0 end self.object:setsprite({x=0, y=self.phase}) - phasearmor = { + local phasearmor = { [0]={fleshy=0}, [1]={fleshy=30}, [2]={fleshy=70} diff --git a/mods/snow/src/mapgen_v6.lua b/mods/snow/src/mapgen_v6.lua index 414fddc2..9f9453ed 100755 --- a/mods/snow/src/mapgen_v6.lua +++ b/mods/snow/src/mapgen_v6.lua @@ -106,7 +106,7 @@ minetest.register_on_generated(function(minp, maxp, seed) local plain = biome == 2 -- spawns not much local alpine = biome == 3 -- rocky terrain -- Water biomes - biome2 = pr:next(1, 5) + local biome2 = pr:next(1, 5) local cool = biome == 1 -- only spawns ice on edge of water local icebergs = biome == 2 local icesheet = biome == 3 From f05544c10a47e89d85a9f1680621f12a530082e6 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Tue, 13 Jan 2015 21:08:35 +0100 Subject: [PATCH 15/32] HUD still buggy --- mods/hud/hunger.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/hud/hunger.lua b/mods/hud/hunger.lua index 236af426..c9e74f39 100755 --- a/mods/hud/hunger.lua +++ b/mods/hud/hunger.lua @@ -368,6 +368,7 @@ function hud.handle_node_actions(pos, oldnode, player, ext) new = HUD_HUNGER_EXHAUST_MOVE end if exhaus == nil then return end + print("zerobin") print(exhaus) -- If exhaus goes through the condition exhaus = exhaus + new if exhaus > HUD_HUNGER_EXHAUST_LVL then From e4747df46c4c23c7a3d32c868ad97dcdc1d121ff Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Tue, 13 Jan 2015 21:17:48 +0100 Subject: [PATCH 16/32] Commented stuff --- mods/hud/hunger.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/hud/hunger.lua b/mods/hud/hunger.lua index c9e74f39..d26054c0 100755 --- a/mods/hud/hunger.lua +++ b/mods/hud/hunger.lua @@ -352,7 +352,7 @@ end -- player-action based hunger changes function hud.handle_node_actions(pos, oldnode, player, ext) - if not player or not player:is_player() then + --[[if not player or not player:is_player() then return end local name = player:get_player_name() @@ -379,7 +379,7 @@ function hud.handle_node_actions(pos, oldnode, player, ext) hud.hunger[name] = h hud.set_hunger(player) end - hud.exhaustion[name] = exhaus + hud.exhaustion[name] = exhaus]] end minetest.register_on_placenode(hud.handle_node_actions) From a8f0d538731b088dc4b9dc83e5ec65ff90866f09 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 13:58:13 +0100 Subject: [PATCH 17/32] correction de bug message irc pour shout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit correction d'une condition toujours fausse qui ne déclenche pas l'affichage du message pour l'option privs shout --- mods/_misc/noshout_messages.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/_misc/noshout_messages.lua b/mods/_misc/noshout_messages.lua index 889984d3..a61ef8e6 100755 --- a/mods/_misc/noshout_messages.lua +++ b/mods/_misc/noshout_messages.lua @@ -5,9 +5,9 @@ minetest.register_globalstep(function(dtime) TIMER = 0 for _,player in ipairs(minetest.get_connected_players()) do local name = player:get_player_name() - if not minetest.check_player_privs(name, {interact=shout}) then + if not minetest.check_player_privs(name, {shout=true}) then minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir communiquer avec les autres joueurs sur ce serveur, tu dois lire les règles de l'irc et les accepter. Tape /irc.") minetest.chat_send_player(name, "Hey " .. name .. " ! To speak to other people on this server, you have to read the rules of our irc channel and agree them. Type /irc.") end end -end) \ No newline at end of file +end) From 7e58605553d3d3279f3d870146610a07babf70c7 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 16:09:03 +0100 Subject: [PATCH 18/32] =?UTF-8?q?debug=20et=20am=C3=A9lioration=20de=20fut?= =?UTF-8?q?ure=5Fban?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit debug d'une mauvaise variable ajout d'une vérification pour éviter de rebannir un joueur déja banni --- mods/future_ban/init.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mods/future_ban/init.lua b/mods/future_ban/init.lua index d3854c8c..3380fbe4 100755 --- a/mods/future_ban/init.lua +++ b/mods/future_ban/init.lua @@ -26,6 +26,12 @@ minetest.register_chatcommand("future_ban", { minetest.chat_send_player(name, "Future ban list: " .. dump(future_ban_list)) return end + for _,n in ipairs(future_ban_list) do + if n == param then + minetest.chat_send_player(name, param .. " is already in future ban list.") + return + end + end if not minetest.get_player_by_name(param) then table.insert(future_ban_list, param) minetest.chat_send_player(name, param .. " to future ban list added.") @@ -35,8 +41,8 @@ minetest.register_chatcommand("future_ban", { end if not minetest.ban_player(param) then table.insert(future_ban_list, param) - minetest.chat_send_player(name, desc .. " to future ban list added.") - minetest.log("action", name .. " added " .. desc .. " to future ban list.") + minetest.chat_send_player(name, param .. " to future ban list added.") + minetest.log("action", name .. " added " .. param .. " to future ban list.") save_file() else local desc = minetest.get_ban_description(param) From 5fb7a6e662e31ca28c2db3a80ca701aeec9db319 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 14 Jan 2015 17:33:46 +0100 Subject: [PATCH 19/32] passage de variables global en local passage de variables global en local --- mods/ambience_modpack/ambience/init.lua | 16 ++++++++-------- mods/builtin_falling/func.lua | 8 ++++---- mods/builtin_falling/rewirting.lua | 2 +- mods/builtin_item/init.lua | 2 +- mods/gauges/init.lua | 4 ++-- mods/lavatemple/dagger.lua | 8 ++++---- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/mods/ambience_modpack/ambience/init.lua b/mods/ambience_modpack/ambience/init.lua index 11ae692e..3a14d97d 100755 --- a/mods/ambience_modpack/ambience/init.lua +++ b/mods/ambience_modpack/ambience/init.lua @@ -236,15 +236,15 @@ local is_daytime = function() end local nodes_in_range = function(pos, search_distance, node_name) - minp = {x=pos.x-search_distance,y=pos.y-search_distance, z=pos.z-search_distance} - maxp = {x=pos.x+search_distance,y=pos.y+search_distance, z=pos.z+search_distance} - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local minp = {x=pos.x-search_distance,y=pos.y-search_distance, z=pos.z-search_distance} + local maxp = {x=pos.x+search_distance,y=pos.y+search_distance, z=pos.z+search_distance} + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) --minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")") return #nodes end local nodes_in_coords = function(minp, maxp, node_name) - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) --minetest.chat_send_all("Found (" .. node_name .. ": " .. #nodes .. ")") return #nodes end @@ -394,11 +394,11 @@ local get_ambience = function(player) -- minetest.chat_send_all("n3uf:" ..node_3_under_feet) -- local air_or_ignore = {air=true,ignore=true} - minp = {x=pos.x-3,y=pos.y-4, z=pos.z-3} - maxp = {x=pos.x+3,y=pos.y-1, z=pos.z+3} + local minp = {x=pos.x-3,y=pos.y-4, z=pos.z-3} + local maxp = {x=pos.x+3,y=pos.y-1, z=pos.z+3} local air_under_player = nodes_in_coords(minp, maxp, "air") local ignore_under_player = nodes_in_coords(minp, maxp, "ignore") - air_plus_ignore_under = air_under_player + ignore_under_player + local air_plus_ignore_under = air_under_player + ignore_under_player -- minetest.chat_send_all("airUnder:" ..air_under_player) -- minetest.chat_send_all("ignoreUnder:" ..ignore_under_player) -- minetest.chat_send_all("a+i:" ..air_plus_ignore_under) @@ -448,7 +448,7 @@ local get_ambience = function(player) end - desert_in_range = (nodes_in_range(pos, 6, "default:desert_sand")+nodes_in_range(pos, 6, "default:desert_stone")) + local desert_in_range = (nodes_in_range(pos, 6, "default:desert_sand")+nodes_in_range(pos, 6, "default:desert_stone")) --minetest.chat_send_all("desertcount: " .. desert_in_range .. ",".. pos.y ) if desert_in_range >250 then if music then diff --git a/mods/builtin_falling/func.lua b/mods/builtin_falling/func.lua index 478d2745..5d2a714e 100755 --- a/mods/builtin_falling/func.lua +++ b/mods/builtin_falling/func.lua @@ -1,6 +1,6 @@ function spawn_falling_node(p, node, owners) - obj = minetest.add_entity(p, "__builtin:falling_node") + local obj = minetest.add_entity(p, "__builtin:falling_node") obj:get_luaentity():set_node(node) obj:get_luaentity():set_owner(owners) end @@ -52,10 +52,10 @@ end -- function nodeupdate_single(p, delay) - n = minetest.get_node(p) + local n = minetest.get_node(p) if minetest.get_item_group(n.name, "falling_node") ~= 0 then - p_bottom = {x=p.x, y=p.y-1, z=p.z} - n_bottom = minetest.get_node(p_bottom) + local p_bottom = {x=p.x, y=p.y-1, z=p.z} + local n_bottom = minetest.get_node(p_bottom) -- Note: walkable is in the node definition, not in item groups if minetest.registered_nodes[n_bottom.name] and (minetest.get_item_group(n.name, "float") == 0 or diff --git a/mods/builtin_falling/rewirting.lua b/mods/builtin_falling/rewirting.lua index 5033c1e4..af78035d 100755 --- a/mods/builtin_falling/rewirting.lua +++ b/mods/builtin_falling/rewirting.lua @@ -29,7 +29,7 @@ minetest.register_entity(":__builtin:falling_node", { item_texture = minetest.registered_items[itemname].inventory_image item_type = minetest.registered_items[itemname].type end - prop = { + local prop = { is_visible = true, textures = {node.name}, } diff --git a/mods/builtin_item/init.lua b/mods/builtin_item/init.lua index cd58665f..b5fbd6c6 100755 --- a/mods/builtin_item/init.lua +++ b/mods/builtin_item/init.lua @@ -30,7 +30,7 @@ minetest.register_entity(":__builtin:item", { item_texture = minetest.registered_items[itemname].inventory_image item_type = minetest.registered_items[itemname].type end - prop = { + local prop = { is_visible = true, visual = "sprite", textures = {"unknown_item.png"} diff --git a/mods/gauges/init.lua b/mods/gauges/init.lua index f9134cbf..c2c66d0a 100755 --- a/mods/gauges/init.lua +++ b/mods/gauges/init.lua @@ -19,8 +19,8 @@ function hp_bar:on_step(dtime) self.object:remove() return end - hp = wielder:get_hp() - breath = wielder:get_breath() + local hp = wielder:get_hp() + local breath = wielder:get_breath() self.object:set_properties({textures = {"health_" .. tostring(hp) .. ".png^breath_" .. tostring(breath) .. ".png"}}) end diff --git a/mods/lavatemple/dagger.lua b/mods/lavatemple/dagger.lua index bdd3c5d1..e1e24f13 100755 --- a/mods/lavatemple/dagger.lua +++ b/mods/lavatemple/dagger.lua @@ -3,13 +3,13 @@ minetest.register_globalstep(function(dtime) local players = minetest.get_connected_players() for i,player in ipairs(players) do - target = lavatemple.mapgen_data.pos; + local target = lavatemple.mapgen_data.pos; if not target then return end - pos = player:getpos() - dir = player:get_look_yaw() + local pos = player:getpos() + local dir = player:get_look_yaw() local angle_north = math.deg(math.atan2(target.x - pos.x, target.z - pos.z)) if angle_north < 0 then angle_north = angle_north + 360 end - angle_dir = 90 - math.deg(dir) + local angle_dir = 90 - math.deg(dir) local angle_relative = (angle_north - angle_dir) % 360 local compass_image = math.floor((angle_relative/30) + 0.5)%12 From be396bfd1f6c068b48c0a42f11106f524e24a2e1 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Wed, 14 Jan 2015 23:16:22 +0100 Subject: [PATCH 20/32] Removed debug print from crabman77's pull-request in sprint --- mods/sprint/esprint.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/mods/sprint/esprint.lua b/mods/sprint/esprint.lua index 4ae36218..d200b2ed 100755 --- a/mods/sprint/esprint.lua +++ b/mods/sprint/esprint.lua @@ -12,7 +12,6 @@ local staminaHud = {} minetest.register_on_joinplayer(function(player) local playerName = player:get_player_name() - print("playename: " ..playerName) players[playerName] = { sprinting = false, timeOut = 0, From ebddea15370dbfec382d3010a70a0972ef3b17cf Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 18:57:59 +0100 Subject: [PATCH 21/32] Removed global variables in maptools --- mods/maptools/default_nodes.lua | 70 +++++++++++++++++---------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index 83d0df02..f7667586 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -6,13 +6,15 @@ if (minetest.get_modpath("intllib")) then S = function ( s ) return s end end + + minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), range = 12, stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -22,7 +24,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -32,7 +34,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -43,7 +45,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -54,7 +56,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -75,7 +77,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_leaves_defaults(), }) @@ -85,7 +87,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults(), }) @@ -95,7 +97,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), }) @@ -105,7 +107,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_wood_defaults(), }) @@ -118,7 +120,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_glass_defaults(), }) @@ -130,7 +132,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_leaves_defaults(), }) @@ -140,7 +142,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_sand_defaults(), }) @@ -150,7 +152,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -163,7 +165,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults(), }) @@ -173,7 +175,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_sand_defaults(), }) @@ -183,7 +185,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -193,7 +195,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -203,7 +205,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -213,7 +215,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -223,7 +225,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -234,7 +236,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -246,7 +248,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -267,7 +269,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -278,7 +280,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -288,7 +290,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -298,7 +300,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -308,7 +310,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -319,7 +321,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -329,7 +331,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -339,7 +341,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -349,7 +351,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -359,7 +361,7 @@ minetest.register_node("maptools:diamondblock", { stack_max = 10000, tiles = {"default_diamond_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, sounds = default.node_sound_stone_defaults(), }) @@ -371,7 +373,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -381,6 +383,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) From b409af28c36d328703182cf762e5d9fbf68561dd Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 19:06:12 +0100 Subject: [PATCH 22/32] Maptool's update --- mods/maptools/{LICENSE.txt => LICENSE.md} | 7 +- mods/maptools/NODES.md | 45 ++ mods/maptools/README.md | 11 + mods/maptools/README.txt | 22 - mods/maptools/_README.txt | 53 -- mods/maptools/aliases.lua | 9 +- mods/maptools/config.lua | 29 + mods/maptools/craftitems.lua | 47 ++ mods/maptools/default_nodes.lua | 85 +-- mods/maptools/init.lua | 583 +----------------- mods/maptools/nodes.lua | 429 +++++++++++++ .../textures/maptools_super_apple_bottom.png | Bin 295 -> 0 bytes .../textures/maptools_super_apple_side.png | Bin 295 -> 0 bytes .../textures/maptools_super_apple_top.png | Bin 498 -> 0 bytes mods/maptools/tools.lua | 61 ++ 15 files changed, 707 insertions(+), 674 deletions(-) rename mods/maptools/{LICENSE.txt => LICENSE.md} (71%) create mode 100644 mods/maptools/NODES.md create mode 100644 mods/maptools/README.md delete mode 100644 mods/maptools/README.txt delete mode 100644 mods/maptools/_README.txt create mode 100644 mods/maptools/config.lua create mode 100644 mods/maptools/craftitems.lua create mode 100644 mods/maptools/nodes.lua delete mode 100644 mods/maptools/textures/maptools_super_apple_bottom.png delete mode 100644 mods/maptools/textures/maptools_super_apple_side.png delete mode 100644 mods/maptools/textures/maptools_super_apple_top.png create mode 100644 mods/maptools/tools.lua diff --git a/mods/maptools/LICENSE.txt b/mods/maptools/LICENSE.md similarity index 71% rename from mods/maptools/LICENSE.txt rename to mods/maptools/LICENSE.md index f42bd647..ca48e3a1 100644 --- a/mods/maptools/LICENSE.txt +++ b/mods/maptools/LICENSE.md @@ -1,8 +1,9 @@ -+---- zlib/libpng license ----+ +zlib license +============ -Copyright (c) 2013 Calinou +Copyright (c) 2012-2015 Calinou and contributors -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/maptools/NODES.md b/mods/maptools/NODES.md new file mode 100644 index 00000000..f5ce3cc3 --- /dev/null +++ b/mods/maptools/NODES.md @@ -0,0 +1,45 @@ +Item names for spawning the items using /give or /giveme +======================================================== + +Items +----- + +* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course. + +* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff. + +* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years. + +* `super_apple:` a yellow apple which heals 20 HP. + +* `copper_coin,` +* `silver_coin,` +* `gold_coin:` these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. + +Blocks +------ + +**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar). + + +* `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, … + +* `full_grass:` unbreakable block with the grass texture on all sides. + +* `player_clip:` **[!]** invisible block, not pointable. + +* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face. + +* `smoke_block:` some smoke (does not harm players or entities). + +* `no_build:` **[!]** very basic building prevention. + +* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …). + +* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). + +* `kill:` **[!]** instant kill (deals 10 heart damage) blocks. + +* `light_block:` **[!]** invisible non-solid block, prevents light from passing through. + +* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/README.md b/mods/maptools/README.md new file mode 100644 index 00000000..3a428b7e --- /dev/null +++ b/mods/maptools/README.md @@ -0,0 +1,11 @@ +Map Tools +========= + +Map Tools for Minetest , a free/libre infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. + +**Forum topic:** diff --git a/mods/maptools/README.txt b/mods/maptools/README.txt deleted file mode 100644 index 4c155813..00000000 --- a/mods/maptools/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -Calinou's Minetest Mods -===================== - -Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. - -This Git repository is mostly made for servers; it allows easy updating. - -To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. - - - -Misc stuff -===================== - -All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. - -Mods' forum threads: -More Blocks: http://minetest.net/forum/viewtopic.php?id=509 -More Ores: http://minetest.net/forum/viewtopic.php?id=549 -Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 -Doors+: http://minetest.net/forum/viewtopic.php?id=2059 -Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 diff --git a/mods/maptools/_README.txt b/mods/maptools/_README.txt deleted file mode 100644 index cfbe0b2e..00000000 --- a/mods/maptools/_README.txt +++ /dev/null @@ -1,53 +0,0 @@ -*** Item names for spawning the items using /give or /giveme *** - -Items: - -- admin_pick -Purple pickaxe, infinite durability, mines everything including unbreakable blocks instantly. Don't put this pickaxe in the hands of a griefer, of course. :) - -- infinitefuel -Fuel lasting for a (near)-infinite time. Don't worry about the "near" - it lasts for about 50 in-real-life years. - -- superapple -An apple which heals all 10 hearts. - -- copper_coin -- silver_coin -- gold_coin -These have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. - -Blocks: -A /!\ denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit). - -- (insert block name here)_u -- example: stone_u -Unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). - -- fullgrass -Unbrakable block with the "grass" texture on all sides. - -- playerclip -/!\ Invisible block, not pointable. - -- fullclip -Invisible block, pointable. - -- smoke_block -Some smoke (does not harm players or entities). - -- nobuild -/!\ Very basic building prevention. - -- nointeract -Prevents interacting through the block (interacting as in opening chests, furnaces, attacking entities...). - -- damage_(insert damage in half hearts here) -/!\ Damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). - -- killblock -/!\ Instant kill (deals 10 heart damage) blocks. - -- lightblock -/!\ Invisible non-solid block, prevents light from passing through. - -- lightbulb -/!\ Invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/aliases.lua b/mods/maptools/aliases.lua index 8742f44e..f1f0cc57 100644 --- a/mods/maptools/aliases.lua +++ b/mods/maptools/aliases.lua @@ -1,4 +1,9 @@ --- Aliases +--[[ +Map Tools: alias definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] minetest.register_alias("adminpick", "maptools:pick_admin") minetest.register_alias("adminpickaxe", "maptools:pick_admin") @@ -69,8 +74,6 @@ minetest.register_alias("fake_fire", "maptools:fake_fire") minetest.register_alias("ffire", "maptools:fake_fire") minetest.register_alias("igniter", "maptools:igniter") --- Unbreakable block aliases - minetest.register_alias("stone_u", "maptools:stone") minetest.register_alias("tree_u", "maptools:tree") minetest.register_alias("cobble_u", "maptools:cobble") diff --git a/mods/maptools/config.lua b/mods/maptools/config.lua new file mode 100644 index 00000000..63f1a260 --- /dev/null +++ b/mods/maptools/config.lua @@ -0,0 +1,29 @@ +--[[ +Map Tools: configuration handling + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +maptools.config = {} + +local function getbool_default(setting, default) + local value = minetest.setting_getbool(setting) + if value == nil then + value = default + end + return value +end + +local function setting(settingtype, name, default) + if settingtype == "bool" then + maptools.config[name] = + getbool_default("maptools." .. name, default) + else + maptools.config[name] = + minetest.setting_get("maptools." .. name) or default + end +end + +-- Show Map Tools stuff in creative inventory (1 or 0): +setting("integer", "hide_from_creative_inventory", 1) diff --git a/mods/maptools/craftitems.lua b/mods/maptools/craftitems.lua new file mode 100644 index 00000000..c311aa95 --- /dev/null +++ b/mods/maptools/craftitems.lua @@ -0,0 +1,47 @@ +--[[ +Map Tools: item definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] + +minetest.register_craftitem("maptools:copper_coin", { + description = S("Copper Coin"), + inventory_image = "maptools_copper_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:silver_coin", { + description = S("Silver Coin"), + inventory_image = "maptools_silver_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:gold_coin", { + description = S("Gold Coin"), + inventory_image = "maptools_gold_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craftitem("maptools:infinitefuel", { + description = S("Infinite Fuel"), + inventory_image = "maptools_infinitefuel.png", + stack_max = 10000, + groups = {not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "maptools:infinitefuel", + burntime = 1000000000, +}) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index f7667586..3ac0caf5 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -1,12 +1,13 @@ -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) - else - S = function ( s ) return s end -end +--[[ +Map Tools: unbreakable default nodes +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), @@ -14,7 +15,7 @@ minetest.register_node("maptools:stone", { stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -24,7 +25,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -34,7 +35,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -45,7 +46,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -56,7 +57,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -77,7 +78,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -87,7 +88,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -97,7 +98,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), }) @@ -107,7 +108,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_wood_defaults(), }) @@ -120,7 +121,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_glass_defaults(), }) @@ -132,7 +133,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -142,7 +143,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_sand_defaults(), }) @@ -152,7 +153,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -165,7 +166,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -175,7 +176,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_sand_defaults(), }) @@ -185,7 +186,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -195,7 +196,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -205,7 +206,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -215,7 +216,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -225,7 +226,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -236,7 +237,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -248,7 +249,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -269,7 +270,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -280,7 +281,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -290,7 +291,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -300,7 +301,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -310,7 +311,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -321,7 +322,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -331,7 +332,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -341,7 +342,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -351,7 +352,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -359,9 +360,9 @@ minetest.register_node("maptools:diamondblock", { description = S("Unbreakable Diamond Block"), range = 12, stack_max = 10000, - tiles = {"default_diamond_block.png"}, + tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, sounds = default.node_sound_stone_defaults(), }) @@ -373,7 +374,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -383,6 +384,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) diff --git a/mods/maptools/init.lua b/mods/maptools/init.lua index c5178fae..dbff209c 100644 --- a/mods/maptools/init.lua +++ b/mods/maptools/init.lua @@ -1,551 +1,32 @@ -MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory. - --- Load translation library if intllib is installed - -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) - else - S = function ( s ) return s end -end - -dofile(minetest.get_modpath("maptools").."/aliases.lua") -dofile(minetest.get_modpath("maptools").."/default_nodes.lua") - ---[[ -Map Tools by Calinou -Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. ---]] - --- Redefine cloud so that the admin pickaxe can mine it. - -minetest.register_node(":default:cloud", { - description = S("Cloud"), - tiles = {"default_cloud.png"}, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_defaults(), -}) - --- Items - -minetest.register_craft({ - type = "fuel", - recipe = "maptools:infinitefuel", - burntime = 1000000000, -}) - --- Nodes - -minetest.register_node("maptools:black", { - description = S("Black"), - range = 12, - stack_max = 10000, - tiles = {"black.png"}, - drop = "", - post_effect_color = {a=255, r=0, g=0, b=0}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:white", { - description = S("White"), - range = 12, - stack_max = 10000, - tiles = {"white.png"}, - drop = "", - post_effect_color = {a=255, r=128, g=128, b=128}, - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:playerclip", { - description = S("Player Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fake_walkable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fullclip", { - description = S("Full Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_blue.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fake_walkable_pointable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like", { - description = S("Ignore-like"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like_no_clip", { - description = S("Ignore-like (no clip)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - - -minetest.register_node("maptools:ignore_like_no_point", { - description = S("Ignore-like (no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:ignore_like_no_clip_no_point", { - description = S("Ignore-like (no clip, no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:fullclip_face", { - description = S("Full Clip Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_white.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_bottom", { - description = S("Player Clip Bottom Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_orange.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_top", { - description = S("Player Clip Top Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_yellow.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, -}) - -for pusher_num=1,10,1 do -minetest.register_node("maptools:pusher_" .. pusher_num, { - description = S("Pusher (%s)"):format(pusher_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_apple.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100, bouncy=pusher_num*100}, -}) -end - -minetest.register_node("maptools:lightbulb", { - description = S("Light Bulb"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", - drawtype = "airlike", - walkable = false, - pointable = false, - light_source = 15, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:nobuild", { - description = S("Build Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^bones_bones.png", - drawtype = "airlike", - walkable = false, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:nointeract", { - description = S("Interact Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_scorched_stuff.png", - drawtype = "airlike", - walkable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:climb", { - description = S("Climb Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_ladder.png", - drawtype = "airlike", - walkable = false, - climbable = true, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -for damage_num=1,5,1 do -minetest.register_node("maptools:damage_" .. damage_num, { - description = S("Damaging Block (%s)"):format(damage_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = damage_num, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) -end - -minetest.register_node("maptools:kill", { - description = S("Kill Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_black.png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = 20, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_node("maptools:smoke", { - description = S("Smoke Block"), - range = 12, - stack_max = 10000, - tiles = {"maptools_smoke.png"}, - drawtype = "allfaces_optional", - walkable = false, - paramtype = "light", - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - post_effect_color = {a=192, r=96, g=96, b=96}, -}) - -minetest.register_node("maptools:ladder", { - description = S("Fake Ladder"), - range = 12, - stack_max = 10000, - drawtype = "signlike", - tiles = {"default_ladder.png"}, - inventory_image = "default_ladder.png", - wield_image = "default_ladder.png", - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = { - type = "wallmounted", - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("maptools:permanent_fire", { - description = S("Permanent Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - walkable = false, - damage_per_second = 4, -}) - -minetest.register_node("maptools:fake_fire", { - description = S("Fake Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - walkable = false, -}) - -minetest.register_node("maptools:igniter", { - drawtype = "airlike", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^crosshair.png", - description = S("Igniter"), - paramtype = "light", - inventory_image = "fire_basic_flame.png", - drop = "", - groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, - sunlight_propagates = true, - pointable = false, - walkable = false, -}) - -minetest.register_node("maptools:superapple", { - description = S("Super Apple"), - range = 12, - stack_max = 99, - drawtype = "nodebox", - visual_scale = 1.0, - tiles = {"maptools_super_apple_top.png","maptools_super_apple_bottom.png","maptools_super_apple_side.png"}, - inventory_image = "maptools_superapple.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - node_box = { - type = "fixed", - fixed = { - {-3/16, -7/16, -3/16, 3/16, 1/16, 3/16}, - {-4/16, -6/16, -3/16, 4/16, 0, 3/16}, - {-3/16, -6/16, -4/16, 3/16, 0, 4/16}, - {-1/32, 1/16, -1/32, 1/32, 4/16, 1/32}, - {-1/16, 1.6/16, 0, 1/16, 1.8/16, 1/16}, - {-2/16, 1.4/16, 1/16, 1/16, 1.6/16, 2/16}, - {-2/16, 1.2/16, 2/16, 0, 1.4/16, 3/16}, - {-1.5/16, 1/16, .5/16, 0.5/16, 1.2/16, 2.5/16}, - } - }, - is_ground_content = true, - groups = {fleshy = 3, dig_immediate = 3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1}, - on_use = minetest.item_eat(20), - sounds = default.node_sound_leaves_defaults(), - after_place_node = function(pos, placer, itemstack) - if placer:is_player() then - minetest.set_node(pos, {name = "maptools:superapple", param2= 1}) - end - end, -}) - --- Items - -minetest.register_craftitem("maptools:copper_coin", { - description = S("Copper Coin"), - inventory_image = "maptools_copper_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:silver_coin", { - description = S("Silver Coin"), - inventory_image = "maptools_silver_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:gold_coin", { - description = S("Gold Coin"), - inventory_image = "maptools_gold_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - -minetest.register_craftitem("maptools:infinitefuel", { - description = S("Infinite Fuel"), - inventory_image = "maptools_infinitefuel.png", - stack_max = 10000, - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, -}) - --- Tools - -minetest.register_tool("maptools:pick_admin", { - description = S("Admin Pickaxe"), - range = 12, - inventory_image = "maptools_adminpick.png", - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, - tool_capabilities = { - full_punch_interval = 0.1, - max_drop_level = 3, - groupcaps= { - unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - }, - damage_groups = {fleshy = 1000}, - }, -}) - -minetest.register_tool("maptools:pick_admin_with_drops", { - description = S("Admin Pickaxe with Drops"), - range = 12, - inventory_image = "maptools_adminpick_with_drops.png", - groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, - tool_capabilities = { - full_punch_interval = 0.35, - max_drop_level = 3, - groupcaps = { - unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, - }, - damage_groups = {fleshy = 1000}, - }, -}) - -minetest.register_on_punchnode(function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "maptools:pick_admin" - and minetest.get_node(pos).name ~= "air" then - minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") - minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. - nodeupdate(pos) -- Run node update actions like falling nodes. - end -end) - -if minetest.setting_getbool("log_mods") then - minetest.log("action", "Carbone: [maptools] loaded.") -end +--[[ +===================================================================== +** Map Tools ** +By Calinou. + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +===================================================================== +--]] + +maptools = {} + +local S +if minetest.get_modpath("intllib") then + S = intllib.Getter() +else + S = function(s) return s end +end +maptools.intllib = S + +local modpath = minetest.get_modpath("maptools") + +dofile(modpath .. "/config.lua") +dofile(modpath .. "/aliases.lua") +dofile(modpath .. "/craftitems.lua") +dofile(modpath .. "/default_nodes.lua") +dofile(modpath .. "/nodes.lua") +dofile(modpath .. "/tools.lua") + +if minetest.setting_getbool("log_mods") then + minetest.log("action", S("[maptools] loaded.")) +end diff --git a/mods/maptools/nodes.lua b/mods/maptools/nodes.lua new file mode 100644 index 00000000..8ceef647 --- /dev/null +++ b/mods/maptools/nodes.lua @@ -0,0 +1,429 @@ +--[[ +Map Tools: node definitions + +Copyright (c) 2012-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = maptools.intllib + +maptools.creative = maptools.config["hide_from_creative_inventory"] + +-- Redefine cloud so that the admin pickaxe can mine it: +minetest.register_node(":default:cloud", { + description = S("Cloud"), + tiles = {"default_cloud.png"}, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_defaults(), +}) + +-- Nodes +-- ===== + +minetest.register_node("maptools:black", { + description = S("Black"), + range = 12, + stack_max = 10000, + tiles = {"black.png"}, + drop = "", + post_effect_color = {a=255, r=0, g=0, b=0}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:white", { + description = S("White"), + range = 12, + stack_max = 10000, + tiles = {"white.png"}, + drop = "", + post_effect_color = {a=255, r=128, g=128, b=128}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:playerclip", { + description = S("Player Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fake_walkable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fullclip", { + description = S("Full Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_blue.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fake_walkable_pointable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like", { + description = S("Ignore-like"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like_no_clip", { + description = S("Ignore-like (no clip)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + + +minetest.register_node("maptools:ignore_like_no_point", { + description = S("Ignore-like (no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:ignore_like_no_clip_no_point", { + description = S("Ignore-like (no clip, no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:fullclip_face", { + description = S("Full Clip Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_white.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_bottom", { + description = S("Player Clip Bottom Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_orange.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_top", { + description = S("Player Clip Top Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_yellow.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, +}) + +for pusher_num=1,10,1 do +minetest.register_node("maptools:pusher_" .. pusher_num, { + description = S("Pusher (%s)"):format(pusher_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_apple.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100}, +}) +end + +minetest.register_node("maptools:lightbulb", { + description = S("Light Bulb"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", + drawtype = "airlike", + walkable = false, + pointable = false, + light_source = 15, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:nobuild", { + description = S("Build Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^bones_bones.png", + drawtype = "airlike", + walkable = false, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:nointeract", { + description = S("Interact Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_scorched_stuff.png", + drawtype = "airlike", + walkable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:climb", { + description = S("Climb Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_ladder.png", + drawtype = "airlike", + walkable = false, + climbable = true, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +for damage_num=1,5,1 do +minetest.register_node("maptools:damage_" .. damage_num, { + description = S("Damaging Block (%s)"):format(damage_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = damage_num, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) +end + +minetest.register_node("maptools:kill", { + description = S("Kill Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_black.png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = 20, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, +}) + +minetest.register_node("maptools:smoke", { + description = S("Smoke Block"), + range = 12, + stack_max = 10000, + tiles = {"maptools_smoke.png"}, + drawtype = "allfaces_optional", + walkable = false, + paramtype = "light", + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + post_effect_color = {a=192, r=96, g=96, b=96}, +}) + +minetest.register_node("maptools:ladder", { + description = S("Fake Ladder"), + range = 12, + stack_max = 10000, + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "wallmounted", + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("maptools:permanent_fire", { + description = S("Permanent Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + walkable = false, + damage_per_second = 4, +}) + +minetest.register_node("maptools:fake_fire", { + description = S("Fake Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + walkable = false, +}) + +minetest.register_node("maptools:igniter", { + drawtype = "airlike", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^crosshair.png", + description = S("Igniter"), + paramtype = "light", + inventory_image = "fire_basic_flame.png", + drop = "", + groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = maptools.creative}, + sunlight_propagates = true, + pointable = false, + walkable = false, +}) + +minetest.register_node("maptools:superapple", { + description = S("Super Apple"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"maptools_superapple.png"}, + inventory_image = "maptools_superapple.png", + paramtype = "light", + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} + }, + walkable = false, + groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative}, + on_use = minetest.item_eat(20), + sounds = default.node_sound_defaults(), +}) diff --git a/mods/maptools/textures/maptools_super_apple_bottom.png b/mods/maptools/textures/maptools_super_apple_bottom.png deleted file mode 100644 index 97f61e171c0291015d80fb19c8cbae5a11436b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEEyw(>0&3oIs&1o-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)Rt8^Iv diff --git a/mods/maptools/textures/maptools_super_apple_side.png b/mods/maptools/textures/maptools_super_apple_side.png deleted file mode 100644 index cd4c83153f2abe5c0c2ed349e3c0d676b27a2f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEE!u^3{~$2|%GOo-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)>;dE61 diff --git a/mods/maptools/textures/maptools_super_apple_top.png b/mods/maptools/textures/maptools_super_apple_top.png deleted file mode 100644 index 4d4dbc056e1913768f70134e28a6bf551b87216b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 498 zcmV{Ut&2O5LW0q`a zv=Id$>4dnxgUhon0QI^&*J}AI;MYCiTY+p=^8M`^$0rfegE#=`xRfTB8%?L Date: Thu, 15 Jan 2015 19:12:20 +0100 Subject: [PATCH 23/32] Moreblocks' update - Moreblocks' update to use last version's nodes and features --- mods/moreblocks/{LICENSE.txt => LICENSE.md} | 7 +- mods/moreblocks/README.md | 11 + mods/moreblocks/README.txt | 12 - mods/moreblocks/aliases.lua | 21 +- mods/moreblocks/circular_saw.lua | 10 +- mods/moreblocks/config.lua | 7 + mods/moreblocks/crafting.lua | 7 +- mods/moreblocks/depends.txt | 4 +- mods/moreblocks/init.lua | 23 +- mods/moreblocks/locale/de.txt | 0 mods/moreblocks/locale/es.txt | 0 mods/moreblocks/locale/fr.txt | 0 mods/moreblocks/locale/template.txt | 0 mods/moreblocks/models/moreblocks_slope.obj | 21 + .../models/moreblocks_slope_half.obj | 23 + .../models/moreblocks_slope_half_raised.obj | 26 + .../models/moreblocks_slope_inner.obj | 26 + .../models/moreblocks_slope_inner_half.obj | 28 ++ .../moreblocks_slope_inner_half_raised.obj | 31 ++ .../models/moreblocks_slope_outer.obj | 18 + .../models/moreblocks_slope_outer_cut.obj | 19 + .../moreblocks_slope_outer_cut_half.obj | 20 + ...moreblocks_slope_outer_cut_half_raised.obj | 23 + .../models/moreblocks_slope_outer_half.obj | 22 + .../moreblocks_slope_outer_half_raised.obj | 27 ++ mods/moreblocks/nodes.lua | 14 +- mods/moreblocks/ownership.lua | 6 + mods/moreblocks/redefinitions.lua | 12 + mods/moreblocks/stairsplus/API.md | 3 +- mods/moreblocks/stairsplus/aliases.lua | 8 + mods/moreblocks/stairsplus/conversion.lua | 7 + mods/moreblocks/stairsplus/init.lua | 19 +- mods/moreblocks/stairsplus/microblocks.lua | 15 +- mods/moreblocks/stairsplus/panels.lua | 15 +- mods/moreblocks/stairsplus/registrations.lua | 11 +- mods/moreblocks/stairsplus/slabs.lua | 21 +- mods/moreblocks/stairsplus/slopes.lua | 459 ++++++++++++++++++ mods/moreblocks/stairsplus/stairs.lua | 21 +- mods/moreblocks/textures/default_brick.png | Bin .../textures/default_fence_overlay.png | Bin mods/moreblocks/textures/invisible.png | Bin .../textures/moreblocks_cactus_brick.png | Bin .../textures/moreblocks_cactus_checker.png | Bin .../moreblocks_circle_stone_bricks.png | Bin .../moreblocks_circular_saw_bottom.png | Bin .../textures/moreblocks_circular_saw_side.png | Bin .../textures/moreblocks_circular_saw_top.png | Bin .../textures/moreblocks_clean_glass.png | Bin .../textures/moreblocks_coal_checker.png | Bin .../textures/moreblocks_coal_glass.png | Bin .../moreblocks_coal_glass_stairsplus.png | Bin .../textures/moreblocks_coal_stone.png | Bin .../textures/moreblocks_coal_stone_bricks.png | Bin .../textures/moreblocks_empty_bookshelf.png | Bin .../textures/moreblocks_fence_jungle_wood.png | Bin .../textures/moreblocks_fence_wood.png | Bin mods/moreblocks/textures/moreblocks_glass.png | Bin .../textures/moreblocks_glass_stairsplus.png | Bin .../textures/moreblocks_glow_glass.png | Bin .../moreblocks_glow_glass_stairsplus.png | Bin .../textures/moreblocks_grey_bricks.png | Bin .../textures/moreblocks_iron_checker.png | Bin .../textures/moreblocks_iron_glass.png | Bin .../moreblocks_iron_glass_stairsplus.png | Bin .../textures/moreblocks_iron_stone.png | Bin .../textures/moreblocks_iron_stone_bricks.png | Bin .../textures/moreblocks_junglestick.png | Bin .../moreblocks_obsidian_glass_stairsplus.png | Bin .../textures/moreblocks_plankstone.png | Bin .../textures/moreblocks_plankstone_2.png | Bin mods/moreblocks/textures/moreblocks_rope.png | Bin .../textures/moreblocks_split_stone_tile.png | Bin .../moreblocks_split_stone_tile_alt.png | Bin .../moreblocks_split_stone_tile_top.png | Bin .../textures/moreblocks_stone_tile.png | Bin .../textures/moreblocks_super_glow_glass.png | Bin ...moreblocks_super_glow_glass_stairsplus.png | Bin .../textures/moreblocks_sweeper.png | Bin mods/moreblocks/textures/moreblocks_tar.png | Bin .../textures/moreblocks_trap_glass.png | Bin .../textures/moreblocks_trap_glow_glass.png | Bin .../textures/moreblocks_trap_stone.png | Bin .../moreblocks_trap_super_glow_glass.png | Bin .../textures/moreblocks_tree_stairsplus.png | Bin .../textures/moreblocks_wood_tile.png | Bin .../textures/moreblocks_wood_tile_center.png | Bin .../textures/moreblocks_wood_tile_full.png | Bin .../textures/moreblocks_wood_tile_up.png | Bin 88 files changed, 915 insertions(+), 82 deletions(-) rename mods/moreblocks/{LICENSE.txt => LICENSE.md} (71%) mode change 100755 => 100644 create mode 100644 mods/moreblocks/README.md delete mode 100755 mods/moreblocks/README.txt mode change 100755 => 100644 mods/moreblocks/aliases.lua mode change 100755 => 100644 mods/moreblocks/circular_saw.lua mode change 100755 => 100644 mods/moreblocks/config.lua mode change 100755 => 100644 mods/moreblocks/crafting.lua mode change 100755 => 100644 mods/moreblocks/depends.txt mode change 100755 => 100644 mods/moreblocks/init.lua mode change 100755 => 100644 mods/moreblocks/locale/de.txt mode change 100755 => 100644 mods/moreblocks/locale/es.txt mode change 100755 => 100644 mods/moreblocks/locale/fr.txt mode change 100755 => 100644 mods/moreblocks/locale/template.txt create mode 100644 mods/moreblocks/models/moreblocks_slope.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half.obj create mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj mode change 100755 => 100644 mods/moreblocks/nodes.lua mode change 100755 => 100644 mods/moreblocks/ownership.lua mode change 100755 => 100644 mods/moreblocks/redefinitions.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/API.md mode change 100755 => 100644 mods/moreblocks/stairsplus/aliases.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/conversion.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/init.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/microblocks.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/panels.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/registrations.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/slabs.lua create mode 100644 mods/moreblocks/stairsplus/slopes.lua mode change 100755 => 100644 mods/moreblocks/stairsplus/stairs.lua mode change 100755 => 100644 mods/moreblocks/textures/default_brick.png mode change 100755 => 100644 mods/moreblocks/textures/default_fence_overlay.png mode change 100755 => 100644 mods/moreblocks/textures/invisible.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_cactus_brick.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_cactus_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circle_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_bottom.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_side.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_circular_saw_top.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_clean_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_coal_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_empty_bookshelf.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_fence_jungle_wood.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_fence_wood.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_grey_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_checker.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_iron_stone_bricks.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_junglestick.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_plankstone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_plankstone_2.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_rope.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_split_stone_tile_top.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_stone_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_super_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_sweeper.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_tar.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_stone.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_tree_stairsplus.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_center.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_full.png mode change 100755 => 100644 mods/moreblocks/textures/moreblocks_wood_tile_up.png diff --git a/mods/moreblocks/LICENSE.txt b/mods/moreblocks/LICENSE.md old mode 100755 new mode 100644 similarity index 71% rename from mods/moreblocks/LICENSE.txt rename to mods/moreblocks/LICENSE.md index 726257de..45c5ff5a --- a/mods/moreblocks/LICENSE.txt +++ b/mods/moreblocks/LICENSE.md @@ -1,8 +1,9 @@ -+---- zlib/libpng license ----+ +zlib license +============ -Copyright (c) 2013-2014 Calinou and contributors +Copyright (c) 2011-2015 Calinou and contributors -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/moreblocks/README.md b/mods/moreblocks/README.md new file mode 100644 index 00000000..228ce97d --- /dev/null +++ b/mods/moreblocks/README.md @@ -0,0 +1,11 @@ +More Blocks +=========== + +More Blocks for Minetest , a free/libre infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. + +**Forum topic:** diff --git a/mods/moreblocks/README.txt b/mods/moreblocks/README.txt deleted file mode 100755 index aa99eda3..00000000 --- a/mods/moreblocks/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -More Blocks -========== - -More Blocks for Minetest (http://minetest.net), a free and open source infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -More Blocks code is under the zlib license, textures are under CC BY-SA 3.0 unported. - -Forum topic: http://forum.minetest.net/viewtopic.php?id=509 - diff --git a/mods/moreblocks/aliases.lua b/mods/moreblocks/aliases.lua old mode 100755 new mode 100644 index df820c33..15f7b6b2 --- a/mods/moreblocks/aliases.lua +++ b/mods/moreblocks/aliases.lua @@ -1,24 +1,28 @@ --- More Blocks aliases +--[[ +More Blocks: alias definitions +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +-- More Blocks aliases: minetest.register_alias("sweeper", "moreblocks:sweeper") minetest.register_alias("circular_saw", "moreblocks:circular_saw") minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") --- Old block/item replacement - +-- Old block/item replacement: minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") --- Node and item renaming - +-- Node and item renaming: minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick") minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") minetest.register_alias("moreblocks:junglewood", "default:junglewood") minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") for _, t in pairs(circular_saw.names) do - minetest.register_alias("moreblocks:" ..t[1].. "_jungle_wood" ..t[2], - "moreblocks:" ..t[1].. "_junglewood" ..t[2]) + minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], + "moreblocks:" .. t[1] .. "_junglewood" .. t[2]) end minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") @@ -51,8 +55,7 @@ minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") --- ABM for horizontal trees (fix facedir). - +-- ABM for horizontal trees (fix facedir): local horizontal_tree_convert_facedir = {7, 12, 9, 18} minetest.register_abm({ diff --git a/mods/moreblocks/circular_saw.lua b/mods/moreblocks/circular_saw.lua old mode 100755 new mode 100644 index 2af5972a..98ddecbc --- a/mods/moreblocks/circular_saw.lua +++ b/mods/moreblocks/circular_saw.lua @@ -1,4 +1,12 @@ -local S = moreblocks.gettext +--[[ +More Blocks: circular saw + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib + circular_saw = {} circular_saw.known_stairs = setmetatable({}, { diff --git a/mods/moreblocks/config.lua b/mods/moreblocks/config.lua old mode 100755 new mode 100644 index e5db0861..d646dacd --- a/mods/moreblocks/config.lua +++ b/mods/moreblocks/config.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: configuration handling + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + moreblocks.config = {} local function getbool_default(setting, default) diff --git a/mods/moreblocks/crafting.lua b/mods/moreblocks/crafting.lua old mode 100755 new mode 100644 index 158d40a5..4429d9ae --- a/mods/moreblocks/crafting.lua +++ b/mods/moreblocks/crafting.lua @@ -1,4 +1,9 @@ --- Crafting +--[[ +More Blocks: crafting recipes + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] minetest.register_craft({ output = "default:stick", diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt old mode 100755 new mode 100644 index 9207dab8..198fe8a6 --- a/mods/moreblocks/depends.txt +++ b/mods/moreblocks/depends.txt @@ -1,2 +1,2 @@ -default -intllib? +default +intllib? diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua old mode 100755 new mode 100644 index a86a38ea..2919a308 --- a/mods/moreblocks/init.lua +++ b/mods/moreblocks/init.lua @@ -1,20 +1,22 @@ --[[ --- More Blocks (moreblocks) by Calinou --- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. +===================================================================== +** More Blocks ** +By Calinou, with the help of ShadowNinja and VanessaE. + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +===================================================================== --]] moreblocks = {} --- Load translation library if intllib is installed - -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) +local S +if minetest.get_modpath("intllib") then + S = intllib.Getter() else S = function(s) return s end end -moreblocks.gettext = S +moreblocks.intllib = S local modpath = minetest.get_modpath("moreblocks") @@ -27,6 +29,5 @@ dofile(modpath .. "/crafting.lua") dofile(modpath .. "/aliases.lua") if minetest.setting_getbool("log_mods") then - print(S("[moreblocks] loaded.")) + minetest.log("action", S("[moreblocks] loaded.")) end - diff --git a/mods/moreblocks/locale/de.txt b/mods/moreblocks/locale/de.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/es.txt b/mods/moreblocks/locale/es.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/fr.txt b/mods/moreblocks/locale/fr.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/locale/template.txt b/mods/moreblocks/locale/template.txt old mode 100755 new mode 100644 diff --git a/mods/moreblocks/models/moreblocks_slope.obj b/mods/moreblocks/models/moreblocks_slope.obj new file mode 100644 index 00000000..05c853b7 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope.obj @@ -0,0 +1,21 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_onetexture.mtl +o Cube_Cube.002 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/3 3/4 5/1 6/2 +f 2/1 5/3 3/4 +f 1/2 4/3 6/4 +f 2/1 1/2 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half.obj b/mods/moreblocks/models/moreblocks_slope_half.obj new file mode 100644 index 00000000..bc96bb8b --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_half.obj @@ -0,0 +1,23 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_fronthalf_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_long_fronthalf_onetexture.mtl +o Cube_Cube.002 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/3 3/4 5/5 6/6 +f 2/1 5/3 3/4 +f 1/2 4/3 6/4 +f 2/5 1/6 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_half_raised.obj new file mode 100644 index 00000000..79e0dc01 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_half_raised.obj @@ -0,0 +1,26 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_backhalf_onetexture.blend' +# www.blender.org +mtllib slope_test_slope_long_backhalf_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +usemtl None +s off +f 5/1 6/2 2/3 1/4 +f 6/5 7/2 3/3 2/4 +f 7/5 8/6 4/3 3/4 +f 8/1 5/6 1/3 4/4 +f 1/4 2/1 3/6 4/3 +f 8/6 7/3 6/4 5/1 diff --git a/mods/moreblocks/models/moreblocks_slope_inner.obj b/mods/moreblocks/models/moreblocks_slope_inner.obj new file mode 100644 index 00000000..68fc1700 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner.obj @@ -0,0 +1,26 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend' +# www.blender.org +o Cube_Cube.000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +s off +f 6/1 1/2 7/3 8/4 +f 2/1 5/3 3/4 +f 2/1 1/2 5/4 +f 6/2 8/3 9/4 +f 9/1 8/2 7/3 3/4 +f 3/3 7/4 1/1 2/2 +f 1/1 6/2 9/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_half.obj new file mode 100644 index 00000000..6decaea3 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner_half.obj @@ -0,0 +1,28 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_short_onetexture.blend' +# www.blender.org +mtllib slope_test_icorner_half_short_onetexture.mtl +o Cube_Cube.000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +usemtl None +s off +f 6/1 1/2 7/3 8/4 +f 2/1 5/3 3/4 +f 2/1 1/2 5/4 +f 6/2 8/3 9/4 +f 9/1 8/2 7/3 3/4 +f 3/3 7/4 1/1 2/2 +f 1/1 6/2 9/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj new file mode 100644 index 00000000..8aff6cab --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj @@ -0,0 +1,31 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_tall_onetexture.blend' +# www.blender.org +mtllib slope_test_icorner_half_tall_onetexture.mtl +o Cube_Cube.000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +usemtl None +s off +f 6/1 1/2 7/3 8/4 +f 2/1 1/2 5/4 +f 3/3 7/4 1/1 2/2 +f 1/2 6/3 9/4 +f 3/1 10/2 8/3 7/4 +f 8/3 10/4 5/5 6/2 +f 3/4 2/1 5/6 10/3 +l 1 4 +l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer.obj b/mods/moreblocks/models/moreblocks_slope_outer.obj new file mode 100644 index 00000000..383c195f --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer.obj @@ -0,0 +1,18 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend' +# www.blender.org +o Cube_Cube.002 +v 0.500000 0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +s off +f 3/1 2/2 4/3 5/4 +f 1/2 3/3 5/4 +f 1/1 2/3 3/4 +f 1/1 4/3 2/4 +f 1/2 5/3 4/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj new file mode 100644 index 00000000..4608c69c --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj @@ -0,0 +1,19 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_2_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_tall_2_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +usemtl None +s off +f 4/1 1/2 3/3 +f 2/3 4/4 3/2 +f 3/2 1/3 2/4 +f 1/3 4/5 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj new file mode 100644 index 00000000..e4be8825 --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj @@ -0,0 +1,20 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_2_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_2_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.500000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +usemtl None +s off +f 4/1 1/2 3/3 +f 2/3 4/4 3/2 +f 3/2 1/3 2/5 +f 1/3 4/6 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj new file mode 100644 index 00000000..65a3b8ac --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj @@ -0,0 +1,23 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_3_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_3_onetexture.mtl +o Cube_Cube.002 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/5 3/2 5/3 6/6 +f 2/5 5/3 3/4 +f 1/2 4/3 6/4 +f 2/3 1/6 6/1 5/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_half.obj new file mode 100644 index 00000000..0c56e26a --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_half.obj @@ -0,0 +1,22 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_1_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_short_1_onetexture.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 5/5 1/3 4/4 +f 3/4 5/6 4/3 +f 2/4 5/2 3/3 +f 1/4 5/1 2/3 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj new file mode 100644 index 00000000..e4fa3d1f --- /dev/null +++ b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj @@ -0,0 +1,27 @@ +# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_3_onetexture.blend' +# www.blender.org +mtllib slope_test_corner_pyramid_tall_3_onetexture.mtl +o Cube_Cube.002 +v -0.500000 -0.000000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.000000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.000000 -0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +usemtl None +s off +f 1/1 2/2 3/3 4/4 +f 4/5 3/2 5/3 6/6 +f 8/3 4/5 6/2 +f 1/6 8/1 7/2 2/3 +f 4/5 8/3 1/4 +f 6/1 5/2 7/3 8/6 +f 5/5 3/2 2/3 7/4 diff --git a/mods/moreblocks/nodes.lua b/mods/moreblocks/nodes.lua old mode 100755 new mode 100644 index 5efda8f8..d3120c9a --- a/mods/moreblocks/nodes.lua +++ b/mods/moreblocks/nodes.lua @@ -1,4 +1,11 @@ -local S = moreblocks.gettext +--[[ +More Blocks: node definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib local sound_wood = default.node_sound_wood_defaults() local sound_stone = default.node_sound_stone_defaults() @@ -116,6 +123,11 @@ local nodes = { groups = {cracky = 2}, sounds = sound_stone, }, + ["cobble_compressed"] = { + description = S("Compressed Cobblestone"), + groups = {cracky = 1}, + sounds = sound_stone, + }, ["plankstone"] = { description = S("Plankstone"), groups = {cracky = 3}, diff --git a/mods/moreblocks/ownership.lua b/mods/moreblocks/ownership.lua old mode 100755 new mode 100644 index 9cd4cb30..1c2431ba --- a/mods/moreblocks/ownership.lua +++ b/mods/moreblocks/ownership.lua @@ -1,3 +1,9 @@ +--[[ +More Blocks: ownership handling + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] local S = moreblocks.gettext diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua old mode 100755 new mode 100644 index 4db169b1..a6498f16 --- a/mods/moreblocks/redefinitions.lua +++ b/mods/moreblocks/redefinitions.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: redefinitions of default stuff + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Redefinitions of some default crafting recipes: minetest.register_craft({ @@ -71,6 +78,11 @@ minetest.override_item("default:papyrus", { sunlight_propagates = true, }) +minetest.override_item("default:fence_wood", { + paramtype = "light", + sunlight_propagates = true, +}) + minetest.override_item("default:junglegrass", { paramtype = "light", sunlight_propagates = true, diff --git a/mods/moreblocks/stairsplus/API.md b/mods/moreblocks/stairsplus/API.md old mode 100755 new mode 100644 index a98ec81e..2db0f2b3 --- a/mods/moreblocks/stairsplus/API.md +++ b/mods/moreblocks/stairsplus/API.md @@ -1,6 +1,5 @@ API documentation for Stairs+ -================================ -- - - - - - - - - - - - - - - - +============================= * `stairsplus:register_all(modname, subname, recipeitem, fields)` Registers a stair, slab, panel, microblock, and any other types of diff --git a/mods/moreblocks/stairsplus/aliases.lua b/mods/moreblocks/stairsplus/aliases.lua old mode 100755 new mode 100644 index c92df483..c235d342 --- a/mods/moreblocks/stairsplus/aliases.lua +++ b/mods/moreblocks/stairsplus/aliases.lua @@ -1,3 +1,9 @@ +--[[ +More Blocks: alias definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] local function register_stairsplus_alias(modname, origname, newname) minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname) @@ -33,12 +39,14 @@ end register_stairsplus_alias("stairsplus", "stone", "stone") register_stairsplus_alias("stairsplus", "wood", "wood") +register_stairsplus_alias("stairsplus", "pinewood", "pinewood") register_stairsplus_alias("stairsplus", "cobble", "cobble") register_stairsplus_alias("stairsplus", "brick", "brick") register_stairsplus_alias("stairsplus", "sandstone", "sandstone") register_stairsplus_alias("stairsplus", "glass", "glass") register_stairsplus_alias("stairsplus", "tree", "tree") register_stairsplus_alias("stairsplus", "jungletree", "jungletree") +register_stairsplus_alias("stairsplus", "pinetree", "pinetree") register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") register_stairsplus_alias("stairsplus", "steelblock", "steelblock") register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") diff --git a/mods/moreblocks/stairsplus/conversion.lua b/mods/moreblocks/stairsplus/conversion.lua old mode 100755 new mode 100644 index fda30c7b..13966b66 --- a/mods/moreblocks/stairsplus/conversion.lua +++ b/mods/moreblocks/stairsplus/conversion.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: conversion + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Function to convert all stairs/slabs/etc nodes from -- inverted, wall, etc to regular + 6d facedir diff --git a/mods/moreblocks/stairsplus/init.lua b/mods/moreblocks/stairsplus/init.lua old mode 100755 new mode 100644 index ae09b7d3..ffec1b7f --- a/mods/moreblocks/stairsplus/init.lua +++ b/mods/moreblocks/stairsplus/init.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: Stairs+ + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + -- Nodes will be called :{stair,slab,panel,micro}_ local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" @@ -18,6 +25,7 @@ function stairsplus:register_all(modname, subname, recipeitem, fields) end self:register_stair(modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields) + self:register_slope(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields) -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. @@ -36,8 +44,9 @@ end -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -dofile(modpath.. "/stairs.lua") -dofile(modpath.. "/slabs.lua") -dofile(modpath.. "/panels.lua") -dofile(modpath.. "/microblocks.lua") -dofile(modpath.. "/registrations.lua") +dofile(modpath .. "/stairs.lua") +dofile(modpath .. "/slabs.lua") +dofile(modpath .. "/slopes.lua") +dofile(modpath .. "/panels.lua") +dofile(modpath .. "/microblocks.lua") +dofile(modpath .. "/registrations.lua") diff --git a/mods/moreblocks/stairsplus/microblocks.lua b/mods/moreblocks/stairsplus/microblocks.lua old mode 100755 new mode 100644 index f88ed12e..8d52c4a2 --- a/mods/moreblocks/stairsplus/microblocks.lua +++ b/mods/moreblocks/stairsplus/microblocks.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: microblock definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :micro_ diff --git a/mods/moreblocks/stairsplus/panels.lua b/mods/moreblocks/stairsplus/panels.lua old mode 100755 new mode 100644 index 73b283ed..2220fe42 --- a/mods/moreblocks/stairsplus/panels.lua +++ b/mods/moreblocks/stairsplus/panels.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: panel definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :panel_ diff --git a/mods/moreblocks/stairsplus/registrations.lua b/mods/moreblocks/stairsplus/registrations.lua old mode 100755 new mode 100644 index cc22d333..7b38b13b --- a/mods/moreblocks/stairsplus/registrations.lua +++ b/mods/moreblocks/stairsplus/registrations.lua @@ -1,3 +1,10 @@ +--[[ +More Blocks: registrations + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + local default_nodes = { -- Default stairs/slabs/panels/microblocks: "stone", "cobble", @@ -10,12 +17,14 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks: "bronzeblock", "diamondblock", "desert_stone", --- "desert_cobble", + "desert_cobble", "glass", "tree", "wood", "jungletree", "junglewood", + "pinetree", + "pinewood", "obsidian", "obsidian_glass", "stonebrick", diff --git a/mods/moreblocks/stairsplus/slabs.lua b/mods/moreblocks/stairsplus/slabs.lua old mode 100755 new mode 100644 index 9c31745d..68ba5200 --- a/mods/moreblocks/stairsplus/slabs.lua +++ b/mods/moreblocks/stairsplus/slabs.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: slab definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :slab_ @@ -75,11 +76,11 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":slab_" ..fields.drop..alternate + def.drop = modname.. ":slab_" .. fields.drop .. alternate end - minetest.register_node(":" ..modname.. ":slab_" ..subname..alternate, def) + minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) end - minetest.register_alias("stairs:slab_" ..subname, modname.. ":slab_" ..subname) + minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/stairsplus/slopes.lua b/mods/moreblocks/stairsplus/slopes.lua new file mode 100644 index 00000000..3a169060 --- /dev/null +++ b/mods/moreblocks/stairsplus/slopes.lua @@ -0,0 +1,459 @@ +--[[ +More Blocks: slope definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib + +local box_slope = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } +} + +local box_slope_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, + {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, + {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, + } +} + +local box_slope_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, + {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, + } +} + +--============================================================== + +local box_slope_inner = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, + {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, + {-0.5, 0, -0.5, 0, 0.25, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, + } +} + +local box_slope_inner_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, + {-0.5, -0.375, -0.5, 0.25, -0.25, 0.5}, + {-0.5, -0.25, -0.5, 0, -0.125, 0.5}, + {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, + {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, + {-0.5, -0.125, -0.5, -0.25, 0, 0.5}, + } +} + +local box_slope_inner_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, + {-0.5, 0.125, -0.5, 0.25, 0.25, 0.5}, + {-0.5, 0.25, -0.5, 0, 0.375, 0.5}, + {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, + {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, + {-0.5, 0.375, -0.5, -0.25, 0.5, 0.5}, + } +} + +--============================================================== + +local box_slope_outer = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, + {-0.5, 0, 0, 0, 0.25, 0.5}, + {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} + } +} + +local box_slope_outer_half = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, -0.25, 0.25, -0.25, 0.5}, + {-0.5, -0.25, 0, 0, -0.125, 0.5}, + {-0.5, -0.125, 0.25, -0.25, 0, 0.5} + } +} + +local box_slope_outer_half_raised = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, + {-0.5, 0.125, -0.25, 0.25, 0.25, 0.5}, + {-0.5, 0.25, 0, 0, 0.375, 0.5}, + {-0.5, 0.375, 0.25, -0.25, 0.5, 0.5} + } +} + +-- Node will be called :slope_ + +function register_slope(modname, subname, recipeitem, groups, images, description, drop, light) + return stairsplus:register_slope(modname, subname, recipeitem, { + groups = groups, + tiles = images, + description = description, + drop = drop, + light_source = light, + sounds = default.node_sound_stone_defaults(), + }) +end + +function stairsplus:register_slope(modname, subname, recipeitem, fields) + local defs = { + [""] = { + mesh = "moreblocks_slope.obj", + collision_box = box_slope, + selection_box = box_slope, + + }, + ["_half"] = { + mesh = "moreblocks_slope_half.obj", + collision_box = box_slope_half, + selection_box = box_slope_half, + }, + ["_half_raised"] = { + mesh = "moreblocks_slope_half_raised.obj", + collision_box = box_slope_half_raised, + selection_box = box_slope_half_raised, + }, + +--============================================================== + + ["_inner"] = { + mesh = "moreblocks_slope_inner.obj", + collision_box = box_slope_inner, + selection_box = box_slope_inner, + }, + ["_inner_half"] = { + mesh = "moreblocks_slope_inner_half.obj", + collision_box = box_slope_inner_half, + selection_box = box_slope_inner_half, + }, + ["_inner_half_raised"] = { + mesh = "moreblocks_slope_inner_half_raised.obj", + collision_box = box_slope_inner_half_raised, + selection_box = box_slope_inner_half_raised, + }, + +--============================================================== + + ["_outer"] = { + mesh = "moreblocks_slope_outer.obj", + collision_box = box_slope_outer, + selection_box = box_slope_outer, + }, + ["_outer_half"] = { + mesh = "moreblocks_slope_outer_half.obj", + collision_box = box_slope_outer_half, + selection_box = box_slope_outer_half, + }, + ["_outer_half_raised"] = { + mesh = "moreblocks_slope_outer_half_raised.obj", + collision_box = box_slope_outer_half_raised, + selection_box = box_slope_outer_half_raised, + }, + +--============================================================== + + ["_outer_cut"] = { + mesh = "moreblocks_slope_outer_cut.obj", + collision_box = box_slope_outer, + selection_box = box_slope_outer, + }, + ["_outer_cut_half"] = { + mesh = "moreblocks_slope_outer_cut_half.obj", + collision_box = box_slope_outer_half, + selection_box = box_slope_outer_half, + }, + ["_outer_cut_half_raised"] = { + mesh = "moreblocks_slope_outer_cut_half_raised.obj", + collision_box = box_slope_outer_half_raised, + selection_box = box_slope_outer_half_raised, + }, + } + + local desc = S("%s Slope"):format(fields.description) + for alternate, def in pairs(defs) do + def.drawtype = "mesh" + def.paramtype = "light" + def.paramtype2 = "facedir" + def.on_place = minetest.rotate_node + for k, v in pairs(fields) do + def[k] = v + end + def.description = desc + if fields.drop then + def.drop = modname.. ":slope_" ..fields.drop..alternate + end + minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) + end + + -- Some saw-less recipes: + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. " 7", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, modname .. ":panel_" .. subname, ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. " 7", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {"", modname .. ":panel_" .. subname, recipeitem}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half 10", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half 10", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half_raised 7", + recipe = { + {modname .. ":panel_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":panel_" .. subname}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_half_raised 7", + recipe = { + {"", "", modname .. ":panel_" .. subname}, + {modname .. ":panel_" .. subname, recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--===================================================== Inner == + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner 7", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, modname .. ":stair_" .. subname .. "_half", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner 7", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {"", modname .. ":stair_" .. subname .. "_half", recipeitem}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half 10", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half 10", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", + recipe = { + {modname .. ":stair_" .. subname .. "_half", "", ""}, + {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", + recipe = { + {"", "", modname .. ":stair_" .. subname .. "_half"}, + {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--===================================================== Outer == + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer 7", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, modname .. ":micro_" .. subname, ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer 7", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {"", modname .. ":micro_" .. subname, recipeitem}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half 10", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half 10", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", + recipe = { + {modname .. ":micro_" .. subname, "", ""}, + {recipeitem, recipeitem, modname .. ":micro_" .. subname}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + + minetest.register_craft({ + output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", + recipe = { + {"", "", modname .. ":micro_" .. subname}, + {modname .. ":micro_" .. subname, recipeitem, recipeitem}, + {recipeitem, recipeitem, recipeitem}, + }, + }) + +--================================================= Shapeless == + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_outer_cut"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = recipeitem, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", + modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slab_" .. subname, + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_half_raised", + recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", + modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_inner_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", + recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_cut_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut", + recipe = {modname .. ":slope_" .. subname .. "_outer"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half", + recipe = {modname .. ":slope_" .. subname .. "_outer_half"}, + }) + + minetest.register_craft({ + type = "shapeless", + output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", + recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised"}, + }) +end diff --git a/mods/moreblocks/stairsplus/stairs.lua b/mods/moreblocks/stairsplus/stairs.lua old mode 100755 new mode 100644 index a4f54e39..a93cda08 --- a/mods/moreblocks/stairsplus/stairs.lua +++ b/mods/moreblocks/stairsplus/stairs.lua @@ -1,10 +1,11 @@ -local S -- Load translation library if intllib is installed: -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function(s) return s end -end +--[[ +More Blocks: stair definitions + +Copyright (c) 2011-2015 Calinou and contributors. +Licensed under the zlib license. See LICENSE.md for more information. +--]] + +local S = moreblocks.intllib -- Node will be called :stair_ @@ -116,11 +117,11 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":stair_" ..fields.drop..alternate + def.drop = modname .. ":stair_" .. fields.drop .. alternate end - minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def) + minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) end - minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname) + minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/textures/default_brick.png b/mods/moreblocks/textures/default_brick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/default_fence_overlay.png b/mods/moreblocks/textures/default_fence_overlay.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/invisible.png b/mods/moreblocks/textures/invisible.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_cactus_brick.png b/mods/moreblocks/textures/moreblocks_cactus_brick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_cactus_checker.png b/mods/moreblocks/textures/moreblocks_cactus_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png b/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png b/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_side.png b/mods/moreblocks/textures/moreblocks_circular_saw_side.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_top.png b/mods/moreblocks/textures/moreblocks_circular_saw_top.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_clean_glass.png b/mods/moreblocks/textures/moreblocks_clean_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_checker.png b/mods/moreblocks/textures/moreblocks_coal_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass.png b/mods/moreblocks/textures/moreblocks_coal_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone.png b/mods/moreblocks/textures/moreblocks_coal_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png b/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png b/mods/moreblocks/textures/moreblocks_empty_bookshelf.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png b/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_fence_wood.png b/mods/moreblocks/textures/moreblocks_fence_wood.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glass.png b/mods/moreblocks/textures/moreblocks_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass.png b/mods/moreblocks/textures/moreblocks_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_grey_bricks.png b/mods/moreblocks/textures/moreblocks_grey_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_checker.png b/mods/moreblocks/textures/moreblocks_iron_checker.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass.png b/mods/moreblocks/textures/moreblocks_iron_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone.png b/mods/moreblocks/textures/moreblocks_iron_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png b/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_rope.png b/mods/moreblocks/textures/moreblocks_rope.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile.png b/mods/moreblocks/textures/moreblocks_split_stone_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_stone_tile.png b/mods/moreblocks/textures/moreblocks_stone_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_super_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_sweeper.png b/mods/moreblocks/textures/moreblocks_sweeper.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_tar.png b/mods/moreblocks/textures/moreblocks_tar.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_glass.png b/mods/moreblocks/textures/moreblocks_trap_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_stone.png b/mods/moreblocks/textures/moreblocks_trap_stone.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png b/mods/moreblocks/textures/moreblocks_tree_stairsplus.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile.png b/mods/moreblocks/textures/moreblocks_wood_tile.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_center.png b/mods/moreblocks/textures/moreblocks_wood_tile_center.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_full.png b/mods/moreblocks/textures/moreblocks_wood_tile_full.png old mode 100755 new mode 100644 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_up.png b/mods/moreblocks/textures/moreblocks_wood_tile_up.png old mode 100755 new mode 100644 From dde4d34ab465f5acb5685e127eb68444b4f26beb Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 19:57:57 +0100 Subject: [PATCH 24/32] Sent last global variables' patchs - There is, from now on, no more known global variables error in the repository! (not 100% guaranteed) --- mods/chesttools/init.lua | 2 +- mods/fences/init.lua | 3 ++- mods/snow/src/nodes.lua | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mods/chesttools/init.lua b/mods/chesttools/init.lua index e2dcb6b2..fa219361 100755 --- a/mods/chesttools/init.lua +++ b/mods/chesttools/init.lua @@ -58,7 +58,7 @@ chesttools.may_use = function( pos, player ) local meta = minetest.get_meta( pos ); local owner = meta:get_string( 'owner' ) -- the owner can access the chest - if( onwer == name or owner == "" ) then + if( owner == name or owner == "" ) then return true; end -- the shared function only kicks in if the area is protected diff --git a/mods/fences/init.lua b/mods/fences/init.lua index 82c8da9e..8ab786c5 100755 --- a/mods/fences/init.lua +++ b/mods/fences/init.lua @@ -71,6 +71,7 @@ end local p0 = {-2/16, -1/2, -2/16, 2/16, 1/2, 2/16} local p1 = {-2/16, 1/2, -2/16, -2/16, 1/2+8/16, -2/16} local p2 = {-2/16, 1/2, 2/16, -2/16, 1/2+8/16, 2/16} +local p3 = {0, 0, 0, 0, 0, 0} local p4 = {2/16, 1/2, -2/16, 2/16, 1/2+8/16, -2/16} local p5 = {2/16, 1/2, 2/16, 2/16, 1/2+8/16, 2/16} @@ -532,7 +533,7 @@ minetest.register_node("fences:fence_wood_13", { --right(2)+top(11)=13 type = "fixed", fixed = { p0,p1,p2,p3,p4,p5, - z2,z22,x1,x12, + z2,z22,x1,x22, bz1,bz11,bx1,bx11, } }, diff --git a/mods/snow/src/nodes.lua b/mods/snow/src/nodes.lua index cd6d02f8..a6113c20 100755 --- a/mods/snow/src/nodes.lua +++ b/mods/snow/src/nodes.lua @@ -66,7 +66,7 @@ end --Christmas easter egg minetest.register_on_mapgen_init( function() - if skins then + if minetest.get_modpath("skins") ~= nil then skins.add("character_snow_man") end end From d5e41c3391361c3238383e8f69e2da825ca69d6e Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:06:57 +0100 Subject: [PATCH 25/32] Reverted moreblocks and maptools updates --- mods/maptools/{LICENSE.md => LICENSE.txt} | 7 +- mods/maptools/NODES.md | 45 -- mods/maptools/README.md | 11 - mods/maptools/README.txt | 22 + mods/maptools/_README.txt | 53 ++ mods/maptools/aliases.lua | 9 +- mods/maptools/config.lua | 29 - mods/maptools/craftitems.lua | 47 -- mods/maptools/default_nodes.lua | 87 ++- mods/maptools/init.lua | 583 +++++++++++++++++- mods/maptools/nodes.lua | 429 ------------- .../textures/maptools_super_apple_bottom.png | Bin 0 -> 295 bytes .../textures/maptools_super_apple_side.png | Bin 0 -> 295 bytes .../textures/maptools_super_apple_top.png | Bin 0 -> 498 bytes mods/maptools/tools.lua | 61 -- mods/moreblocks/{LICENSE.md => LICENSE.txt} | 7 +- mods/moreblocks/README.md | 11 - mods/moreblocks/README.txt | 12 + mods/moreblocks/aliases.lua | 21 +- mods/moreblocks/circular_saw.lua | 10 +- mods/moreblocks/config.lua | 7 - mods/moreblocks/crafting.lua | 7 +- mods/moreblocks/depends.txt | 4 +- mods/moreblocks/init.lua | 23 +- mods/moreblocks/locale/de.txt | 0 mods/moreblocks/locale/es.txt | 0 mods/moreblocks/locale/fr.txt | 0 mods/moreblocks/locale/template.txt | 0 mods/moreblocks/models/moreblocks_slope.obj | 21 - .../models/moreblocks_slope_half.obj | 23 - .../models/moreblocks_slope_half_raised.obj | 26 - .../models/moreblocks_slope_inner.obj | 26 - .../models/moreblocks_slope_inner_half.obj | 28 - .../moreblocks_slope_inner_half_raised.obj | 31 - .../models/moreblocks_slope_outer.obj | 18 - .../models/moreblocks_slope_outer_cut.obj | 19 - .../moreblocks_slope_outer_cut_half.obj | 20 - ...moreblocks_slope_outer_cut_half_raised.obj | 23 - .../models/moreblocks_slope_outer_half.obj | 22 - .../moreblocks_slope_outer_half_raised.obj | 27 - mods/moreblocks/nodes.lua | 14 +- mods/moreblocks/ownership.lua | 6 - mods/moreblocks/redefinitions.lua | 12 - mods/moreblocks/stairsplus/API.md | 3 +- mods/moreblocks/stairsplus/aliases.lua | 8 - mods/moreblocks/stairsplus/conversion.lua | 7 - mods/moreblocks/stairsplus/init.lua | 19 +- mods/moreblocks/stairsplus/microblocks.lua | 15 +- mods/moreblocks/stairsplus/panels.lua | 15 +- mods/moreblocks/stairsplus/registrations.lua | 11 +- mods/moreblocks/stairsplus/slabs.lua | 21 +- mods/moreblocks/stairsplus/slopes.lua | 459 -------------- mods/moreblocks/stairsplus/stairs.lua | 21 +- mods/moreblocks/textures/default_brick.png | Bin .../textures/default_fence_overlay.png | Bin mods/moreblocks/textures/invisible.png | Bin .../textures/moreblocks_cactus_brick.png | Bin .../textures/moreblocks_cactus_checker.png | Bin .../moreblocks_circle_stone_bricks.png | Bin .../moreblocks_circular_saw_bottom.png | Bin .../textures/moreblocks_circular_saw_side.png | Bin .../textures/moreblocks_circular_saw_top.png | Bin .../textures/moreblocks_clean_glass.png | Bin .../textures/moreblocks_coal_checker.png | Bin .../textures/moreblocks_coal_glass.png | Bin .../moreblocks_coal_glass_stairsplus.png | Bin .../textures/moreblocks_coal_stone.png | Bin .../textures/moreblocks_coal_stone_bricks.png | Bin .../textures/moreblocks_empty_bookshelf.png | Bin .../textures/moreblocks_fence_jungle_wood.png | Bin .../textures/moreblocks_fence_wood.png | Bin mods/moreblocks/textures/moreblocks_glass.png | Bin .../textures/moreblocks_glass_stairsplus.png | Bin .../textures/moreblocks_glow_glass.png | Bin .../moreblocks_glow_glass_stairsplus.png | Bin .../textures/moreblocks_grey_bricks.png | Bin .../textures/moreblocks_iron_checker.png | Bin .../textures/moreblocks_iron_glass.png | Bin .../moreblocks_iron_glass_stairsplus.png | Bin .../textures/moreblocks_iron_stone.png | Bin .../textures/moreblocks_iron_stone_bricks.png | Bin .../textures/moreblocks_junglestick.png | Bin .../moreblocks_obsidian_glass_stairsplus.png | Bin .../textures/moreblocks_plankstone.png | Bin .../textures/moreblocks_plankstone_2.png | Bin mods/moreblocks/textures/moreblocks_rope.png | Bin .../textures/moreblocks_split_stone_tile.png | Bin .../moreblocks_split_stone_tile_alt.png | Bin .../moreblocks_split_stone_tile_top.png | Bin .../textures/moreblocks_stone_tile.png | Bin .../textures/moreblocks_super_glow_glass.png | Bin ...moreblocks_super_glow_glass_stairsplus.png | Bin .../textures/moreblocks_sweeper.png | Bin mods/moreblocks/textures/moreblocks_tar.png | Bin .../textures/moreblocks_trap_glass.png | Bin .../textures/moreblocks_trap_glow_glass.png | Bin .../textures/moreblocks_trap_stone.png | Bin .../moreblocks_trap_super_glow_glass.png | Bin .../textures/moreblocks_tree_stairsplus.png | Bin .../textures/moreblocks_wood_tile.png | Bin .../textures/moreblocks_wood_tile_center.png | Bin .../textures/moreblocks_wood_tile_full.png | Bin .../textures/moreblocks_wood_tile_up.png | Bin 103 files changed, 756 insertions(+), 1624 deletions(-) rename mods/maptools/{LICENSE.md => LICENSE.txt} (71%) delete mode 100644 mods/maptools/NODES.md delete mode 100644 mods/maptools/README.md create mode 100644 mods/maptools/README.txt create mode 100644 mods/maptools/_README.txt delete mode 100644 mods/maptools/config.lua delete mode 100644 mods/maptools/craftitems.lua delete mode 100644 mods/maptools/nodes.lua create mode 100644 mods/maptools/textures/maptools_super_apple_bottom.png create mode 100644 mods/maptools/textures/maptools_super_apple_side.png create mode 100644 mods/maptools/textures/maptools_super_apple_top.png delete mode 100644 mods/maptools/tools.lua rename mods/moreblocks/{LICENSE.md => LICENSE.txt} (71%) mode change 100644 => 100755 delete mode 100644 mods/moreblocks/README.md create mode 100755 mods/moreblocks/README.txt mode change 100644 => 100755 mods/moreblocks/aliases.lua mode change 100644 => 100755 mods/moreblocks/circular_saw.lua mode change 100644 => 100755 mods/moreblocks/config.lua mode change 100644 => 100755 mods/moreblocks/crafting.lua mode change 100644 => 100755 mods/moreblocks/depends.txt mode change 100644 => 100755 mods/moreblocks/init.lua mode change 100644 => 100755 mods/moreblocks/locale/de.txt mode change 100644 => 100755 mods/moreblocks/locale/es.txt mode change 100644 => 100755 mods/moreblocks/locale/fr.txt mode change 100644 => 100755 mods/moreblocks/locale/template.txt delete mode 100644 mods/moreblocks/models/moreblocks_slope.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half.obj delete mode 100644 mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj mode change 100644 => 100755 mods/moreblocks/nodes.lua mode change 100644 => 100755 mods/moreblocks/ownership.lua mode change 100644 => 100755 mods/moreblocks/redefinitions.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/API.md mode change 100644 => 100755 mods/moreblocks/stairsplus/aliases.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/conversion.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/init.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/microblocks.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/panels.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/registrations.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/slabs.lua delete mode 100644 mods/moreblocks/stairsplus/slopes.lua mode change 100644 => 100755 mods/moreblocks/stairsplus/stairs.lua mode change 100644 => 100755 mods/moreblocks/textures/default_brick.png mode change 100644 => 100755 mods/moreblocks/textures/default_fence_overlay.png mode change 100644 => 100755 mods/moreblocks/textures/invisible.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_cactus_brick.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_cactus_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circle_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_bottom.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_side.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_circular_saw_top.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_clean_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_coal_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_empty_bookshelf.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_fence_jungle_wood.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_fence_wood.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_grey_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_checker.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_iron_stone_bricks.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_junglestick.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_plankstone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_plankstone_2.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_rope.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_split_stone_tile_top.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_stone_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_super_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_sweeper.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_tar.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_stone.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_tree_stairsplus.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_center.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_full.png mode change 100644 => 100755 mods/moreblocks/textures/moreblocks_wood_tile_up.png diff --git a/mods/maptools/LICENSE.md b/mods/maptools/LICENSE.txt similarity index 71% rename from mods/maptools/LICENSE.md rename to mods/maptools/LICENSE.txt index ca48e3a1..f42bd647 100644 --- a/mods/maptools/LICENSE.md +++ b/mods/maptools/LICENSE.txt @@ -1,9 +1,8 @@ -zlib license -============ ++---- zlib/libpng license ----+ -Copyright (c) 2012-2015 Calinou and contributors +Copyright (c) 2013 Calinou -**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: diff --git a/mods/maptools/NODES.md b/mods/maptools/NODES.md deleted file mode 100644 index f5ce3cc3..00000000 --- a/mods/maptools/NODES.md +++ /dev/null @@ -1,45 +0,0 @@ -Item names for spawning the items using /give or /giveme -======================================================== - -Items ------ - -* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course. - -* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff. - -* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years. - -* `super_apple:` a yellow apple which heals 20 HP. - -* `copper_coin,` -* `silver_coin,` -* `gold_coin:` these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. - -Blocks ------- - -**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar). - - -* `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, … - -* `full_grass:` unbreakable block with the grass texture on all sides. - -* `player_clip:` **[!]** invisible block, not pointable. - -* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face. - -* `smoke_block:` some smoke (does not harm players or entities). - -* `no_build:` **[!]** very basic building prevention. - -* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …). - -* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). - -* `kill:` **[!]** instant kill (deals 10 heart damage) blocks. - -* `light_block:` **[!]** invisible non-solid block, prevents light from passing through. - -* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/README.md b/mods/maptools/README.md deleted file mode 100644 index 3a428b7e..00000000 --- a/mods/maptools/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Map Tools -========= - -Map Tools for Minetest , a free/libre infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. - -**Forum topic:** diff --git a/mods/maptools/README.txt b/mods/maptools/README.txt new file mode 100644 index 00000000..4c155813 --- /dev/null +++ b/mods/maptools/README.txt @@ -0,0 +1,22 @@ +Calinou's Minetest Mods +===================== + +Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. + +This Git repository is mostly made for servers; it allows easy updating. + +To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. + + + +Misc stuff +===================== + +All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. + +Mods' forum threads: +More Blocks: http://minetest.net/forum/viewtopic.php?id=509 +More Ores: http://minetest.net/forum/viewtopic.php?id=549 +Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 +Doors+: http://minetest.net/forum/viewtopic.php?id=2059 +Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 diff --git a/mods/maptools/_README.txt b/mods/maptools/_README.txt new file mode 100644 index 00000000..cfbe0b2e --- /dev/null +++ b/mods/maptools/_README.txt @@ -0,0 +1,53 @@ +*** Item names for spawning the items using /give or /giveme *** + +Items: + +- admin_pick +Purple pickaxe, infinite durability, mines everything including unbreakable blocks instantly. Don't put this pickaxe in the hands of a griefer, of course. :) + +- infinitefuel +Fuel lasting for a (near)-infinite time. Don't worry about the "near" - it lasts for about 50 in-real-life years. + +- superapple +An apple which heals all 10 hearts. + +- copper_coin +- silver_coin +- gold_coin +These have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. + +Blocks: +A /!\ denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit). + +- (insert block name here)_u -- example: stone_u +Unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). + +- fullgrass +Unbrakable block with the "grass" texture on all sides. + +- playerclip +/!\ Invisible block, not pointable. + +- fullclip +Invisible block, pointable. + +- smoke_block +Some smoke (does not harm players or entities). + +- nobuild +/!\ Very basic building prevention. + +- nointeract +Prevents interacting through the block (interacting as in opening chests, furnaces, attacking entities...). + +- damage_(insert damage in half hearts here) +/!\ Damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). + +- killblock +/!\ Instant kill (deals 10 heart damage) blocks. + +- lightblock +/!\ Invisible non-solid block, prevents light from passing through. + +- lightbulb +/!\ Invisible non-solid block, emitting a good amount of light. diff --git a/mods/maptools/aliases.lua b/mods/maptools/aliases.lua index f1f0cc57..8742f44e 100644 --- a/mods/maptools/aliases.lua +++ b/mods/maptools/aliases.lua @@ -1,9 +1,4 @@ ---[[ -Map Tools: alias definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] +-- Aliases minetest.register_alias("adminpick", "maptools:pick_admin") minetest.register_alias("adminpickaxe", "maptools:pick_admin") @@ -74,6 +69,8 @@ minetest.register_alias("fake_fire", "maptools:fake_fire") minetest.register_alias("ffire", "maptools:fake_fire") minetest.register_alias("igniter", "maptools:igniter") +-- Unbreakable block aliases + minetest.register_alias("stone_u", "maptools:stone") minetest.register_alias("tree_u", "maptools:tree") minetest.register_alias("cobble_u", "maptools:cobble") diff --git a/mods/maptools/config.lua b/mods/maptools/config.lua deleted file mode 100644 index 63f1a260..00000000 --- a/mods/maptools/config.lua +++ /dev/null @@ -1,29 +0,0 @@ ---[[ -Map Tools: configuration handling - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -maptools.config = {} - -local function getbool_default(setting, default) - local value = minetest.setting_getbool(setting) - if value == nil then - value = default - end - return value -end - -local function setting(settingtype, name, default) - if settingtype == "bool" then - maptools.config[name] = - getbool_default("maptools." .. name, default) - else - maptools.config[name] = - minetest.setting_get("maptools." .. name) or default - end -end - --- Show Map Tools stuff in creative inventory (1 or 0): -setting("integer", "hide_from_creative_inventory", 1) diff --git a/mods/maptools/craftitems.lua b/mods/maptools/craftitems.lua deleted file mode 100644 index c311aa95..00000000 --- a/mods/maptools/craftitems.lua +++ /dev/null @@ -1,47 +0,0 @@ ---[[ -Map Tools: item definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] - -minetest.register_craftitem("maptools:copper_coin", { - description = S("Copper Coin"), - inventory_image = "maptools_copper_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:silver_coin", { - description = S("Silver Coin"), - inventory_image = "maptools_silver_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:gold_coin", { - description = S("Gold Coin"), - inventory_image = "maptools_gold_coin.png", - wield_scale = {x = 0.5, y = 0.5, z = 0.25}, - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craftitem("maptools:infinitefuel", { - description = S("Infinite Fuel"), - inventory_image = "maptools_infinitefuel.png", - stack_max = 10000, - groups = {not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "maptools:infinitefuel", - burntime = 1000000000, -}) diff --git a/mods/maptools/default_nodes.lua b/mods/maptools/default_nodes.lua index 3ac0caf5..83d0df02 100644 --- a/mods/maptools/default_nodes.lua +++ b/mods/maptools/default_nodes.lua @@ -1,13 +1,10 @@ ---[[ -Map Tools: unbreakable default nodes - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) + else + S = function ( s ) return s end +end minetest.register_node("maptools:stone", { description = S("Unbreakable Stone"), @@ -15,7 +12,7 @@ minetest.register_node("maptools:stone", { stack_max = 10000, tiles = {"default_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -25,7 +22,7 @@ minetest.register_node("maptools:stonebrick", { stack_max = 10000, tiles = {"default_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -35,7 +32,7 @@ minetest.register_node("maptools:tree", { stack_max = 10000, tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -46,7 +43,7 @@ minetest.register_node("maptools:jungletree", { stack_max = 10000, tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -57,7 +54,7 @@ minetest.register_node("maptools:cactus", { stack_max = 10000, tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -78,7 +75,7 @@ minetest.register_node("maptools:papyrus", { type = "fixed", fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} }, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -88,7 +85,7 @@ minetest.register_node("maptools:dirt", { stack_max = 10000, tiles = {"default_dirt.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -98,7 +95,7 @@ minetest.register_node("maptools:wood", { stack_max = 10000, tiles = {"default_wood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), }) @@ -108,7 +105,7 @@ minetest.register_node("maptools:junglewood", { stack_max = 10000, tiles = {"default_junglewood.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_wood_defaults(), }) @@ -121,7 +118,7 @@ minetest.register_node("maptools:glass", { paramtype = "light", sunlight_propagates = true, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_glass_defaults(), }) @@ -133,7 +130,7 @@ minetest.register_node("maptools:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_leaves_defaults(), }) @@ -143,7 +140,7 @@ minetest.register_node("maptools:sand", { stack_max = 10000, tiles = {"default_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_sand_defaults(), }) @@ -153,7 +150,7 @@ minetest.register_node("maptools:gravel", { stack_max = 10000, tiles = {"default_gravel.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_gravel_footstep", gain=0.35}, dug = {name="default_gravel_footstep", gain=0.6}, @@ -166,7 +163,7 @@ minetest.register_node("maptools:clay", { stack_max = 10000, tiles = {"default_clay.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults(), }) @@ -176,7 +173,7 @@ minetest.register_node("maptools:desert_sand", { stack_max = 10000, tiles = {"default_desert_sand.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_sand_defaults(), }) @@ -186,7 +183,7 @@ minetest.register_node("maptools:sandstone", { stack_max = 10000, tiles = {"default_sandstone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -196,7 +193,7 @@ minetest.register_node("maptools:sandstone_brick", { stack_max = 10000, tiles = {"default_sandstone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -206,7 +203,7 @@ minetest.register_node("maptools:desert_stone", { stack_max = 10000, tiles = {"default_desert_stone.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -216,7 +213,7 @@ minetest.register_node("maptools:desert_cobble", { stack_max = 10000, tiles = {"default_desert_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -226,7 +223,7 @@ minetest.register_node("maptools:desert_stonebrick", { stack_max = 10000, tiles = {"default_desert_stone_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -237,7 +234,7 @@ minetest.register_node("maptools:grass", { tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain = 0.4}, }), @@ -249,7 +246,7 @@ minetest.register_node("maptools:fullgrass", { stack_max = 10000, tiles = {"default_grass.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, }), @@ -270,7 +267,7 @@ for slab_num = 1,3,1 do paramtype = "light", paramtype2 = "facedir", drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), }) end @@ -281,7 +278,7 @@ minetest.register_node("maptools:cobble", { stack_max = 10000, tiles = {"default_cobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -291,7 +288,7 @@ minetest.register_node("maptools:mossycobble", { stack_max = 10000, tiles = {"default_mossycobble.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -301,7 +298,7 @@ minetest.register_node("maptools:brick", { stack_max = 10000, tiles = {"default_brick.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -311,7 +308,7 @@ minetest.register_node("maptools:coalblock", { stack_max = 10000, tiles = {"default_coal_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -322,7 +319,7 @@ minetest.register_node("maptools:steelblock", { stack_max = 10000, tiles = {"default_steel_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -332,7 +329,7 @@ minetest.register_node("maptools:goldblock", { stack_max = 10000, tiles = {"default_gold_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -342,7 +339,7 @@ minetest.register_node("maptools:copperblock", { stack_max = 10000, tiles = {"default_copper_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -352,7 +349,7 @@ minetest.register_node("maptools:bronzeblock", { stack_max = 10000, tiles = {"default_bronze_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -360,9 +357,9 @@ minetest.register_node("maptools:diamondblock", { description = S("Unbreakable Diamond Block"), range = 12, stack_max = 10000, - tiles = {"default_steel_block.png"}, + tiles = {"default_diamond_block.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative}, sounds = default.node_sound_stone_defaults(), }) @@ -374,7 +371,7 @@ minetest.register_node("maptools:soil_wet", { stack_max = 10000, tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, grassland = 1}, sounds = default.node_sound_dirt_defaults(), }) @@ -384,6 +381,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { stack_max = 10000, drop = "", tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1}, + groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, desert = 1}, sounds = default.node_sound_sand_defaults(), }) diff --git a/mods/maptools/init.lua b/mods/maptools/init.lua index dbff209c..c5178fae 100644 --- a/mods/maptools/init.lua +++ b/mods/maptools/init.lua @@ -1,32 +1,551 @@ ---[[ -===================================================================== -** Map Tools ** -By Calinou. - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. -===================================================================== ---]] - -maptools = {} - -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s) return s end -end -maptools.intllib = S - -local modpath = minetest.get_modpath("maptools") - -dofile(modpath .. "/config.lua") -dofile(modpath .. "/aliases.lua") -dofile(modpath .. "/craftitems.lua") -dofile(modpath .. "/default_nodes.lua") -dofile(modpath .. "/nodes.lua") -dofile(modpath .. "/tools.lua") - -if minetest.setting_getbool("log_mods") then - minetest.log("action", S("[maptools] loaded.")) -end +MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory. + +-- Load translation library if intllib is installed + +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) + else + S = function ( s ) return s end +end + +dofile(minetest.get_modpath("maptools").."/aliases.lua") +dofile(minetest.get_modpath("maptools").."/default_nodes.lua") + +--[[ +Map Tools by Calinou +Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. +--]] + +-- Redefine cloud so that the admin pickaxe can mine it. + +minetest.register_node(":default:cloud", { + description = S("Cloud"), + tiles = {"default_cloud.png"}, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_defaults(), +}) + +-- Items + +minetest.register_craft({ + type = "fuel", + recipe = "maptools:infinitefuel", + burntime = 1000000000, +}) + +-- Nodes + +minetest.register_node("maptools:black", { + description = S("Black"), + range = 12, + stack_max = 10000, + tiles = {"black.png"}, + drop = "", + post_effect_color = {a=255, r=0, g=0, b=0}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:white", { + description = S("White"), + range = 12, + stack_max = 10000, + tiles = {"white.png"}, + drop = "", + post_effect_color = {a=255, r=128, g=128, b=128}, + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("maptools:playerclip", { + description = S("Player Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fake_walkable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + pointable = false, + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fullclip", { + description = S("Full Clip"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_blue.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fake_walkable_pointable", { + description = S("Player Clip"), + drawtype = "nodebox", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_green.png", + drawtype = "airlike", + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + }, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like", { + description = S("Ignore-like"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like_no_clip", { + description = S("Ignore-like (no clip)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + + +minetest.register_node("maptools:ignore_like_no_point", { + description = S("Ignore-like (no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_purple.png", + tiles = {"invisible.png"}, + paramtype = "light", + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:ignore_like_no_clip_no_point", { + description = S("Ignore-like (no clip, no point)"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_pink.png", + tiles = {"invisible.png"}, + paramtype = "light", + walkable = false, + pointable = false, + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:fullclip_face", { + description = S("Full Clip Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_white.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_bottom", { + description = S("Player Clip Bottom Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_orange.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +minetest.register_node("maptools:playerclip_top", { + description = S("Player Clip Top Face"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_yellow.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100}, +}) + +for pusher_num=1,10,1 do +minetest.register_node("maptools:pusher_" .. pusher_num, { + description = S("Pusher (%s)"):format(pusher_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_apple.png", + drawtype = "nodebox", + tiles = {"invisible.png"}, + paramtype = "light", + paramtype2 = "facedir", + sunlight_propagates = true, + node_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100, bouncy=pusher_num*100}, +}) +end + +minetest.register_node("maptools:lightbulb", { + description = S("Light Bulb"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", + drawtype = "airlike", + walkable = false, + pointable = false, + light_source = 15, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:nobuild", { + description = S("Build Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^bones_bones.png", + drawtype = "airlike", + walkable = false, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:nointeract", { + description = S("Interact Prevention"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_scorched_stuff.png", + drawtype = "airlike", + walkable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:climb", { + description = S("Climb Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^default_ladder.png", + drawtype = "airlike", + walkable = false, + climbable = true, + pointable = false, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +for damage_num=1,5,1 do +minetest.register_node("maptools:damage_" .. damage_num, { + description = S("Damaging Block (%s)"):format(damage_num), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = damage_num, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) +end + +minetest.register_node("maptools:kill", { + description = S("Kill Block"), + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^dye_black.png", + drawtype = "airlike", + walkable = false, + pointable = false, + damage_per_second = 20, + paramtype = "light", + sunlight_propagates = true, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_node("maptools:smoke", { + description = S("Smoke Block"), + range = 12, + stack_max = 10000, + tiles = {"maptools_smoke.png"}, + drawtype = "allfaces_optional", + walkable = false, + paramtype = "light", + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + post_effect_color = {a=192, r=96, g=96, b=96}, +}) + +minetest.register_node("maptools:ladder", { + description = S("Fake Ladder"), + range = 12, + stack_max = 10000, + drawtype = "signlike", + tiles = {"default_ladder.png"}, + inventory_image = "default_ladder.png", + wield_image = "default_ladder.png", + paramtype = "light", + paramtype2 = "wallmounted", + walkable = false, + sunlight_propagates = true, + selection_box = { + type = "wallmounted", + }, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("maptools:permanent_fire", { + description = S("Permanent Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + walkable = false, + damage_per_second = 4, +}) + +minetest.register_node("maptools:fake_fire", { + description = S("Fake Fire"), + range = 12, + stack_max = 10000, + drawtype = "plantlike", + paramtype = "light", + tiles = {{ + name="fire_basic_flame_animated.png", + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, + }}, + inventory_image = "fire_basic_flame.png", + light_source = 14, + drop = "", + groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + walkable = false, +}) + +minetest.register_node("maptools:igniter", { + drawtype = "airlike", + range = 12, + stack_max = 10000, + inventory_image = "default_steel_block.png^crosshair.png", + description = S("Igniter"), + paramtype = "light", + inventory_image = "fire_basic_flame.png", + drop = "", + groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE}, + sunlight_propagates = true, + pointable = false, + walkable = false, +}) + +minetest.register_node("maptools:superapple", { + description = S("Super Apple"), + range = 12, + stack_max = 99, + drawtype = "nodebox", + visual_scale = 1.0, + tiles = {"maptools_super_apple_top.png","maptools_super_apple_bottom.png","maptools_super_apple_side.png"}, + inventory_image = "maptools_superapple.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + node_box = { + type = "fixed", + fixed = { + {-3/16, -7/16, -3/16, 3/16, 1/16, 3/16}, + {-4/16, -6/16, -3/16, 4/16, 0, 3/16}, + {-3/16, -6/16, -4/16, 3/16, 0, 4/16}, + {-1/32, 1/16, -1/32, 1/32, 4/16, 1/32}, + {-1/16, 1.6/16, 0, 1/16, 1.8/16, 1/16}, + {-2/16, 1.4/16, 1/16, 1/16, 1.6/16, 2/16}, + {-2/16, 1.2/16, 2/16, 0, 1.4/16, 3/16}, + {-1.5/16, 1/16, .5/16, 0.5/16, 1.2/16, 2.5/16}, + } + }, + is_ground_content = true, + groups = {fleshy = 3, dig_immediate = 3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1}, + on_use = minetest.item_eat(20), + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos, placer, itemstack) + if placer:is_player() then + minetest.set_node(pos, {name = "maptools:superapple", param2= 1}) + end + end, +}) + +-- Items + +minetest.register_craftitem("maptools:copper_coin", { + description = S("Copper Coin"), + inventory_image = "maptools_copper_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:silver_coin", { + description = S("Silver Coin"), + inventory_image = "maptools_silver_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:gold_coin", { + description = S("Gold Coin"), + inventory_image = "maptools_gold_coin.png", + wield_scale = {x = 0.5, y = 0.5, z = 0.25}, + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +minetest.register_craftitem("maptools:infinitefuel", { + description = S("Infinite Fuel"), + inventory_image = "maptools_infinitefuel.png", + stack_max = 10000, + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, +}) + +-- Tools + +minetest.register_tool("maptools:pick_admin", { + description = S("Admin Pickaxe"), + range = 12, + inventory_image = "maptools_adminpick.png", + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, + tool_capabilities = { + full_punch_interval = 0.1, + max_drop_level = 3, + groupcaps= { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy = 1000}, + }, +}) + +minetest.register_tool("maptools:pick_admin_with_drops", { + description = S("Admin Pickaxe with Drops"), + range = 12, + inventory_image = "maptools_adminpick_with_drops.png", + groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE}, + tool_capabilities = { + full_punch_interval = 0.35, + max_drop_level = 3, + groupcaps = { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy = 1000}, + }, +}) + +minetest.register_on_punchnode(function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "maptools:pick_admin" + and minetest.get_node(pos).name ~= "air" then + minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") + minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. + nodeupdate(pos) -- Run node update actions like falling nodes. + end +end) + +if minetest.setting_getbool("log_mods") then + minetest.log("action", "Carbone: [maptools] loaded.") +end diff --git a/mods/maptools/nodes.lua b/mods/maptools/nodes.lua deleted file mode 100644 index 8ceef647..00000000 --- a/mods/maptools/nodes.lua +++ /dev/null @@ -1,429 +0,0 @@ ---[[ -Map Tools: node definitions - -Copyright (c) 2012-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = maptools.intllib - -maptools.creative = maptools.config["hide_from_creative_inventory"] - --- Redefine cloud so that the admin pickaxe can mine it: -minetest.register_node(":default:cloud", { - description = S("Cloud"), - tiles = {"default_cloud.png"}, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_defaults(), -}) - --- Nodes --- ===== - -minetest.register_node("maptools:black", { - description = S("Black"), - range = 12, - stack_max = 10000, - tiles = {"black.png"}, - drop = "", - post_effect_color = {a=255, r=0, g=0, b=0}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:white", { - description = S("White"), - range = 12, - stack_max = 10000, - tiles = {"white.png"}, - drop = "", - post_effect_color = {a=255, r=128, g=128, b=128}, - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_stone_defaults(), -}) - -minetest.register_node("maptools:playerclip", { - description = S("Player Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fake_walkable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - pointable = false, - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fullclip", { - description = S("Full Clip"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_blue.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fake_walkable_pointable", { - description = S("Player Clip"), - drawtype = "nodebox", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_green.png", - drawtype = "airlike", - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = { - {0, 0, 0, 0, 0, 0}, - }, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like", { - description = S("Ignore-like"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like_no_clip", { - description = S("Ignore-like (no clip)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - - -minetest.register_node("maptools:ignore_like_no_point", { - description = S("Ignore-like (no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_purple.png", - tiles = {"invisible.png"}, - paramtype = "light", - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:ignore_like_no_clip_no_point", { - description = S("Ignore-like (no clip, no point)"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_pink.png", - tiles = {"invisible.png"}, - paramtype = "light", - walkable = false, - pointable = false, - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:fullclip_face", { - description = S("Full Clip Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_white.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_bottom", { - description = S("Player Clip Bottom Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_orange.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -minetest.register_node("maptools:playerclip_top", { - description = S("Player Clip Top Face"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_yellow.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100}, -}) - -for pusher_num=1,10,1 do -minetest.register_node("maptools:pusher_" .. pusher_num, { - description = S("Pusher (%s)"):format(pusher_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_apple.png", - drawtype = "nodebox", - tiles = {"invisible.png"}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100}, -}) -end - -minetest.register_node("maptools:lightbulb", { - description = S("Light Bulb"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png", - drawtype = "airlike", - walkable = false, - pointable = false, - light_source = 15, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:nobuild", { - description = S("Build Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^bones_bones.png", - drawtype = "airlike", - walkable = false, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:nointeract", { - description = S("Interact Prevention"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_scorched_stuff.png", - drawtype = "airlike", - walkable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:climb", { - description = S("Climb Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^default_ladder.png", - drawtype = "airlike", - walkable = false, - climbable = true, - pointable = false, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -for damage_num=1,5,1 do -minetest.register_node("maptools:damage_" .. damage_num, { - description = S("Damaging Block (%s)"):format(damage_num), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = damage_num, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) -end - -minetest.register_node("maptools:kill", { - description = S("Kill Block"), - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^dye_black.png", - drawtype = "airlike", - walkable = false, - pointable = false, - damage_per_second = 20, - paramtype = "light", - sunlight_propagates = true, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, -}) - -minetest.register_node("maptools:smoke", { - description = S("Smoke Block"), - range = 12, - stack_max = 10000, - tiles = {"maptools_smoke.png"}, - drawtype = "allfaces_optional", - walkable = false, - paramtype = "light", - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - post_effect_color = {a=192, r=96, g=96, b=96}, -}) - -minetest.register_node("maptools:ladder", { - description = S("Fake Ladder"), - range = 12, - stack_max = 10000, - drawtype = "signlike", - tiles = {"default_ladder.png"}, - inventory_image = "default_ladder.png", - wield_image = "default_ladder.png", - paramtype = "light", - paramtype2 = "wallmounted", - walkable = false, - sunlight_propagates = true, - selection_box = { - type = "wallmounted", - }, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sounds = default.node_sound_wood_defaults(), -}) - -minetest.register_node("maptools:permanent_fire", { - description = S("Permanent Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - walkable = false, - damage_per_second = 4, -}) - -minetest.register_node("maptools:fake_fire", { - description = S("Fake Fire"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - paramtype = "light", - tiles = {{ - name="fire_basic_flame_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, - }}, - inventory_image = "fire_basic_flame.png", - light_source = 14, - drop = "", - groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - walkable = false, -}) - -minetest.register_node("maptools:igniter", { - drawtype = "airlike", - range = 12, - stack_max = 10000, - inventory_image = "default_steel_block.png^crosshair.png", - description = S("Igniter"), - paramtype = "light", - inventory_image = "fire_basic_flame.png", - drop = "", - groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = maptools.creative}, - sunlight_propagates = true, - pointable = false, - walkable = false, -}) - -minetest.register_node("maptools:superapple", { - description = S("Super Apple"), - range = 12, - stack_max = 10000, - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"maptools_superapple.png"}, - inventory_image = "maptools_superapple.png", - paramtype = "light", - sunlight_propagates = true, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} - }, - walkable = false, - groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative}, - on_use = minetest.item_eat(20), - sounds = default.node_sound_defaults(), -}) diff --git a/mods/maptools/textures/maptools_super_apple_bottom.png b/mods/maptools/textures/maptools_super_apple_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..97f61e171c0291015d80fb19c8cbae5a11436b2b GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEEyw(>0&3oIs&1o-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)Rt8^Iv literal 0 HcmV?d00001 diff --git a/mods/maptools/textures/maptools_super_apple_side.png b/mods/maptools/textures/maptools_super_apple_side.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4c83153f2abe5c0c2ed349e3c0d676b27a2f80 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqkEE!u^3{~$2|%GOo-U3d7N?(1G~{Y_5OJA*I(_0% zraVvj6r-M*LXT7jAL4j?;3E=m$^F zGdWW47!ETWa|m1!KkfE!6)`c!=OPMBm3)c^Yz{yDG-u)srsoQ$58M(p@V&6@_HEt+ z60B#8dloaTxmxb?>?#N2rI2Q&TYDPz-rsnjI`?#OZrq-TAG!-(U%TmDeE;>L*!vOJ mfAt<)^VxO5sz=}duVb%TVcO~SWotOl{S2P2elF{r5}E)>;dE61 literal 0 HcmV?d00001 diff --git a/mods/maptools/textures/maptools_super_apple_top.png b/mods/maptools/textures/maptools_super_apple_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4d4dbc056e1913768f70134e28a6bf551b87216b GIT binary patch literal 498 zcmV{Ut&2O5LW0q`a zv=Id$>4dnxgUhon0QI^&*J}AI;MYCiTY+p=^8M`^$0rfegE#=`xRfTB8%?L, a free/libre infinite -world block sandbox game. - -To install, just clone this repository into your "mods" directory. - -More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported. - -**Forum topic:** diff --git a/mods/moreblocks/README.txt b/mods/moreblocks/README.txt new file mode 100755 index 00000000..aa99eda3 --- /dev/null +++ b/mods/moreblocks/README.txt @@ -0,0 +1,12 @@ +More Blocks +========== + +More Blocks for Minetest (http://minetest.net), a free and open source infinite +world block sandbox game. + +To install, just clone this repository into your "mods" directory. + +More Blocks code is under the zlib license, textures are under CC BY-SA 3.0 unported. + +Forum topic: http://forum.minetest.net/viewtopic.php?id=509 + diff --git a/mods/moreblocks/aliases.lua b/mods/moreblocks/aliases.lua old mode 100644 new mode 100755 index 15f7b6b2..df820c33 --- a/mods/moreblocks/aliases.lua +++ b/mods/moreblocks/aliases.lua @@ -1,28 +1,24 @@ ---[[ -More Blocks: alias definitions +-- More Blocks aliases -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - --- More Blocks aliases: minetest.register_alias("sweeper", "moreblocks:sweeper") minetest.register_alias("circular_saw", "moreblocks:circular_saw") minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") --- Old block/item replacement: +-- Old block/item replacement + minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") --- Node and item renaming: +-- Node and item renaming + minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick") minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") minetest.register_alias("moreblocks:junglewood", "default:junglewood") minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") for _, t in pairs(circular_saw.names) do - minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], - "moreblocks:" .. t[1] .. "_junglewood" .. t[2]) + minetest.register_alias("moreblocks:" ..t[1].. "_jungle_wood" ..t[2], + "moreblocks:" ..t[1].. "_junglewood" ..t[2]) end minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") @@ -55,7 +51,8 @@ minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick") minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile") minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") --- ABM for horizontal trees (fix facedir): +-- ABM for horizontal trees (fix facedir). + local horizontal_tree_convert_facedir = {7, 12, 9, 18} minetest.register_abm({ diff --git a/mods/moreblocks/circular_saw.lua b/mods/moreblocks/circular_saw.lua old mode 100644 new mode 100755 index 98ddecbc..2af5972a --- a/mods/moreblocks/circular_saw.lua +++ b/mods/moreblocks/circular_saw.lua @@ -1,12 +1,4 @@ ---[[ -More Blocks: circular saw - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - +local S = moreblocks.gettext circular_saw = {} circular_saw.known_stairs = setmetatable({}, { diff --git a/mods/moreblocks/config.lua b/mods/moreblocks/config.lua old mode 100644 new mode 100755 index d646dacd..e5db0861 --- a/mods/moreblocks/config.lua +++ b/mods/moreblocks/config.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: configuration handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - moreblocks.config = {} local function getbool_default(setting, default) diff --git a/mods/moreblocks/crafting.lua b/mods/moreblocks/crafting.lua old mode 100644 new mode 100755 index 4429d9ae..158d40a5 --- a/mods/moreblocks/crafting.lua +++ b/mods/moreblocks/crafting.lua @@ -1,9 +1,4 @@ ---[[ -More Blocks: crafting recipes - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] +-- Crafting minetest.register_craft({ output = "default:stick", diff --git a/mods/moreblocks/depends.txt b/mods/moreblocks/depends.txt old mode 100644 new mode 100755 index 198fe8a6..9207dab8 --- a/mods/moreblocks/depends.txt +++ b/mods/moreblocks/depends.txt @@ -1,2 +1,2 @@ -default -intllib? +default +intllib? diff --git a/mods/moreblocks/init.lua b/mods/moreblocks/init.lua old mode 100644 new mode 100755 index 2919a308..a86a38ea --- a/mods/moreblocks/init.lua +++ b/mods/moreblocks/init.lua @@ -1,22 +1,20 @@ --[[ -===================================================================== -** More Blocks ** -By Calinou, with the help of ShadowNinja and VanessaE. - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. -===================================================================== +-- More Blocks (moreblocks) by Calinou +-- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. --]] moreblocks = {} -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() +-- Load translation library if intllib is installed + +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) else S = function(s) return s end end -moreblocks.intllib = S +moreblocks.gettext = S local modpath = minetest.get_modpath("moreblocks") @@ -29,5 +27,6 @@ dofile(modpath .. "/crafting.lua") dofile(modpath .. "/aliases.lua") if minetest.setting_getbool("log_mods") then - minetest.log("action", S("[moreblocks] loaded.")) + print(S("[moreblocks] loaded.")) end + diff --git a/mods/moreblocks/locale/de.txt b/mods/moreblocks/locale/de.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/es.txt b/mods/moreblocks/locale/es.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/fr.txt b/mods/moreblocks/locale/fr.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/locale/template.txt b/mods/moreblocks/locale/template.txt old mode 100644 new mode 100755 diff --git a/mods/moreblocks/models/moreblocks_slope.obj b/mods/moreblocks/models/moreblocks_slope.obj deleted file mode 100644 index 05c853b7..00000000 --- a/mods/moreblocks/models/moreblocks_slope.obj +++ /dev/null @@ -1,21 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_onetexture.mtl -o Cube_Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/3 3/4 5/1 6/2 -f 2/1 5/3 3/4 -f 1/2 4/3 6/4 -f 2/1 1/2 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half.obj b/mods/moreblocks/models/moreblocks_slope_half.obj deleted file mode 100644 index bc96bb8b..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_fronthalf_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_long_fronthalf_onetexture.mtl -o Cube_Cube.002 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/3 3/4 5/5 6/6 -f 2/1 5/3 3/4 -f 1/2 4/3 6/4 -f 2/5 1/6 6/3 5/4 diff --git a/mods/moreblocks/models/moreblocks_slope_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_half_raised.obj deleted file mode 100644 index 79e0dc01..00000000 --- a/mods/moreblocks/models/moreblocks_slope_half_raised.obj +++ /dev/null @@ -1,26 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_backhalf_onetexture.blend' -# www.blender.org -mtllib slope_test_slope_long_backhalf_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -usemtl None -s off -f 5/1 6/2 2/3 1/4 -f 6/5 7/2 3/3 2/4 -f 7/5 8/6 4/3 3/4 -f 8/1 5/6 1/3 4/4 -f 1/4 2/1 3/6 4/3 -f 8/6 7/3 6/4 5/1 diff --git a/mods/moreblocks/models/moreblocks_slope_inner.obj b/mods/moreblocks/models/moreblocks_slope_inner.obj deleted file mode 100644 index 68fc1700..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner.obj +++ /dev/null @@ -1,26 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend' -# www.blender.org -o Cube_Cube.000 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -s off -f 6/1 1/2 7/3 8/4 -f 2/1 5/3 3/4 -f 2/1 1/2 5/4 -f 6/2 8/3 9/4 -f 9/1 8/2 7/3 3/4 -f 3/3 7/4 1/1 2/2 -f 1/1 6/2 9/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half.obj b/mods/moreblocks/models/moreblocks_slope_inner_half.obj deleted file mode 100644 index 6decaea3..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half.obj +++ /dev/null @@ -1,28 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_short_onetexture.blend' -# www.blender.org -mtllib slope_test_icorner_half_short_onetexture.mtl -o Cube_Cube.000 -v 0.500000 -0.000000 0.500000 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -usemtl None -s off -f 6/1 1/2 7/3 8/4 -f 2/1 5/3 3/4 -f 2/1 1/2 5/4 -f 6/2 8/3 9/4 -f 9/1 8/2 7/3 3/4 -f 3/3 7/4 1/1 2/2 -f 1/1 6/2 9/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj deleted file mode 100644 index 8aff6cab..00000000 --- a/mods/moreblocks/models/moreblocks_slope_inner_half_raised.obj +++ /dev/null @@ -1,31 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_tall_onetexture.blend' -# www.blender.org -mtllib slope_test_icorner_half_tall_onetexture.mtl -o Cube_Cube.000 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -usemtl None -s off -f 6/1 1/2 7/3 8/4 -f 2/1 1/2 5/4 -f 3/3 7/4 1/1 2/2 -f 1/2 6/3 9/4 -f 3/1 10/2 8/3 7/4 -f 8/3 10/4 5/5 6/2 -f 3/4 2/1 5/6 10/3 -l 1 4 -l 3 4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer.obj b/mods/moreblocks/models/moreblocks_slope_outer.obj deleted file mode 100644 index 383c195f..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer.obj +++ /dev/null @@ -1,18 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend' -# www.blender.org -o Cube_Cube.002 -v 0.500000 0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -s off -f 3/1 2/2 4/3 5/4 -f 1/2 3/3 5/4 -f 1/1 2/3 3/4 -f 1/1 4/3 2/4 -f 1/2 5/3 4/4 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut.obj deleted file mode 100644 index 4608c69c..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut.obj +++ /dev/null @@ -1,19 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_2_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_tall_2_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -usemtl None -s off -f 4/1 1/2 3/3 -f 2/3 4/4 3/2 -f 3/2 1/3 2/4 -f 1/3 4/5 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj deleted file mode 100644 index e4be8825..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half.obj +++ /dev/null @@ -1,20 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_2_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_2_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 0.500000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -usemtl None -s off -f 4/1 1/2 3/3 -f 2/3 4/4 3/2 -f 3/2 1/3 2/5 -f 1/3 4/6 2/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj deleted file mode 100644 index 65a3b8ac..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_cut_half_raised.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_3_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_3_onetexture.mtl -o Cube_Cube.002 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/5 3/2 5/3 6/6 -f 2/5 5/3 3/4 -f 1/2 4/3 6/4 -f 2/3 1/6 6/1 5/2 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half.obj b/mods/moreblocks/models/moreblocks_slope_outer_half.obj deleted file mode 100644 index 0c56e26a..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half.obj +++ /dev/null @@ -1,22 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_1_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_short_1_onetexture.mtl -o Cube -v -0.500000 -0.500000 0.500000 -v -0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.000000 0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 5/5 1/3 4/4 -f 3/4 5/6 4/3 -f 2/4 5/2 3/3 -f 1/4 5/1 2/3 diff --git a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj b/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj deleted file mode 100644 index e4fa3d1f..00000000 --- a/mods/moreblocks/models/moreblocks_slope_outer_half_raised.obj +++ /dev/null @@ -1,27 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_3_onetexture.blend' -# www.blender.org -mtllib slope_test_corner_pyramid_tall_3_onetexture.mtl -o Cube_Cube.002 -v -0.500000 -0.000000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.500000 -0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v 0.500000 -0.500000 -0.500000 -v 0.500000 -0.000000 -0.500000 -v -0.500000 -0.500000 -0.500000 -v -0.500000 -0.000000 -0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 0.500000 -usemtl None -s off -f 1/1 2/2 3/3 4/4 -f 4/5 3/2 5/3 6/6 -f 8/3 4/5 6/2 -f 1/6 8/1 7/2 2/3 -f 4/5 8/3 1/4 -f 6/1 5/2 7/3 8/6 -f 5/5 3/2 2/3 7/4 diff --git a/mods/moreblocks/nodes.lua b/mods/moreblocks/nodes.lua old mode 100644 new mode 100755 index d3120c9a..5efda8f8 --- a/mods/moreblocks/nodes.lua +++ b/mods/moreblocks/nodes.lua @@ -1,11 +1,4 @@ ---[[ -More Blocks: node definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S = moreblocks.gettext local sound_wood = default.node_sound_wood_defaults() local sound_stone = default.node_sound_stone_defaults() @@ -123,11 +116,6 @@ local nodes = { groups = {cracky = 2}, sounds = sound_stone, }, - ["cobble_compressed"] = { - description = S("Compressed Cobblestone"), - groups = {cracky = 1}, - sounds = sound_stone, - }, ["plankstone"] = { description = S("Plankstone"), groups = {cracky = 3}, diff --git a/mods/moreblocks/ownership.lua b/mods/moreblocks/ownership.lua old mode 100644 new mode 100755 index 1c2431ba..9cd4cb30 --- a/mods/moreblocks/ownership.lua +++ b/mods/moreblocks/ownership.lua @@ -1,9 +1,3 @@ ---[[ -More Blocks: ownership handling - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] local S = moreblocks.gettext diff --git a/mods/moreblocks/redefinitions.lua b/mods/moreblocks/redefinitions.lua old mode 100644 new mode 100755 index a6498f16..4db169b1 --- a/mods/moreblocks/redefinitions.lua +++ b/mods/moreblocks/redefinitions.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: redefinitions of default stuff - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Redefinitions of some default crafting recipes: minetest.register_craft({ @@ -78,11 +71,6 @@ minetest.override_item("default:papyrus", { sunlight_propagates = true, }) -minetest.override_item("default:fence_wood", { - paramtype = "light", - sunlight_propagates = true, -}) - minetest.override_item("default:junglegrass", { paramtype = "light", sunlight_propagates = true, diff --git a/mods/moreblocks/stairsplus/API.md b/mods/moreblocks/stairsplus/API.md old mode 100644 new mode 100755 index 2db0f2b3..a98ec81e --- a/mods/moreblocks/stairsplus/API.md +++ b/mods/moreblocks/stairsplus/API.md @@ -1,5 +1,6 @@ API documentation for Stairs+ -============================= +================================ +- - - - - - - - - - - - - - - - * `stairsplus:register_all(modname, subname, recipeitem, fields)` Registers a stair, slab, panel, microblock, and any other types of diff --git a/mods/moreblocks/stairsplus/aliases.lua b/mods/moreblocks/stairsplus/aliases.lua old mode 100644 new mode 100755 index c235d342..c92df483 --- a/mods/moreblocks/stairsplus/aliases.lua +++ b/mods/moreblocks/stairsplus/aliases.lua @@ -1,9 +1,3 @@ ---[[ -More Blocks: alias definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] local function register_stairsplus_alias(modname, origname, newname) minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname) @@ -39,14 +33,12 @@ end register_stairsplus_alias("stairsplus", "stone", "stone") register_stairsplus_alias("stairsplus", "wood", "wood") -register_stairsplus_alias("stairsplus", "pinewood", "pinewood") register_stairsplus_alias("stairsplus", "cobble", "cobble") register_stairsplus_alias("stairsplus", "brick", "brick") register_stairsplus_alias("stairsplus", "sandstone", "sandstone") register_stairsplus_alias("stairsplus", "glass", "glass") register_stairsplus_alias("stairsplus", "tree", "tree") register_stairsplus_alias("stairsplus", "jungletree", "jungletree") -register_stairsplus_alias("stairsplus", "pinetree", "pinetree") register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") register_stairsplus_alias("stairsplus", "steelblock", "steelblock") register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") diff --git a/mods/moreblocks/stairsplus/conversion.lua b/mods/moreblocks/stairsplus/conversion.lua old mode 100644 new mode 100755 index 13966b66..fda30c7b --- a/mods/moreblocks/stairsplus/conversion.lua +++ b/mods/moreblocks/stairsplus/conversion.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: conversion - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Function to convert all stairs/slabs/etc nodes from -- inverted, wall, etc to regular + 6d facedir diff --git a/mods/moreblocks/stairsplus/init.lua b/mods/moreblocks/stairsplus/init.lua old mode 100644 new mode 100755 index ffec1b7f..ae09b7d3 --- a/mods/moreblocks/stairsplus/init.lua +++ b/mods/moreblocks/stairsplus/init.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: Stairs+ - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -- Nodes will be called :{stair,slab,panel,micro}_ local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" @@ -25,7 +18,6 @@ function stairsplus:register_all(modname, subname, recipeitem, fields) end self:register_stair(modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields) - self:register_slope(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields) -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. @@ -44,9 +36,8 @@ end -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. -dofile(modpath .. "/stairs.lua") -dofile(modpath .. "/slabs.lua") -dofile(modpath .. "/slopes.lua") -dofile(modpath .. "/panels.lua") -dofile(modpath .. "/microblocks.lua") -dofile(modpath .. "/registrations.lua") +dofile(modpath.. "/stairs.lua") +dofile(modpath.. "/slabs.lua") +dofile(modpath.. "/panels.lua") +dofile(modpath.. "/microblocks.lua") +dofile(modpath.. "/registrations.lua") diff --git a/mods/moreblocks/stairsplus/microblocks.lua b/mods/moreblocks/stairsplus/microblocks.lua old mode 100644 new mode 100755 index 8d52c4a2..f88ed12e --- a/mods/moreblocks/stairsplus/microblocks.lua +++ b/mods/moreblocks/stairsplus/microblocks.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: microblock definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :micro_ diff --git a/mods/moreblocks/stairsplus/panels.lua b/mods/moreblocks/stairsplus/panels.lua old mode 100644 new mode 100755 index 2220fe42..73b283ed --- a/mods/moreblocks/stairsplus/panels.lua +++ b/mods/moreblocks/stairsplus/panels.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: panel definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :panel_ diff --git a/mods/moreblocks/stairsplus/registrations.lua b/mods/moreblocks/stairsplus/registrations.lua old mode 100644 new mode 100755 index 7b38b13b..cc22d333 --- a/mods/moreblocks/stairsplus/registrations.lua +++ b/mods/moreblocks/stairsplus/registrations.lua @@ -1,10 +1,3 @@ ---[[ -More Blocks: registrations - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - local default_nodes = { -- Default stairs/slabs/panels/microblocks: "stone", "cobble", @@ -17,14 +10,12 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks: "bronzeblock", "diamondblock", "desert_stone", - "desert_cobble", +-- "desert_cobble", "glass", "tree", "wood", "jungletree", "junglewood", - "pinetree", - "pinewood", "obsidian", "obsidian_glass", "stonebrick", diff --git a/mods/moreblocks/stairsplus/slabs.lua b/mods/moreblocks/stairsplus/slabs.lua old mode 100644 new mode 100755 index 68ba5200..9c31745d --- a/mods/moreblocks/stairsplus/slabs.lua +++ b/mods/moreblocks/stairsplus/slabs.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: slab definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :slab_ @@ -76,11 +75,11 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname.. ":slab_" .. fields.drop .. alternate + def.drop = modname.. ":slab_" ..fields.drop..alternate end - minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) + minetest.register_node(":" ..modname.. ":slab_" ..subname..alternate, def) end - minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) + minetest.register_alias("stairs:slab_" ..subname, modname.. ":slab_" ..subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/stairsplus/slopes.lua b/mods/moreblocks/stairsplus/slopes.lua deleted file mode 100644 index 3a169060..00000000 --- a/mods/moreblocks/stairsplus/slopes.lua +++ /dev/null @@ -1,459 +0,0 @@ ---[[ -More Blocks: slope definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib - -local box_slope = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} - } -} - -local box_slope_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - } -} - -local box_slope_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_inner = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, - {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, - {-0.5, 0, -0.5, 0, 0.25, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, - } -} - -local box_slope_inner_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.5, -0.25, 0.5}, - {-0.5, -0.375, -0.5, 0.25, -0.25, 0.5}, - {-0.5, -0.25, -0.5, 0, -0.125, 0.5}, - {-0.5, -0.25, 0, 0.5, -0.125, 0.5}, - {-0.5, -0.125, 0.25, 0.5, 0, 0.5}, - {-0.5, -0.125, -0.5, -0.25, 0, 0.5}, - } -} - -local box_slope_inner_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.5, 0.25, 0.5}, - {-0.5, 0.125, -0.5, 0.25, 0.25, 0.5}, - {-0.5, 0.25, -0.5, 0, 0.375, 0.5}, - {-0.5, 0.25, 0, 0.5, 0.375, 0.5}, - {-0.5, 0.375, 0.25, 0.5, 0.5, 0.5}, - {-0.5, 0.375, -0.5, -0.25, 0.5, 0.5}, - } -} - ---============================================================== - -local box_slope_outer = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, - {-0.5, 0, 0, 0, 0.25, 0.5}, - {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} - } -} - -local box_slope_outer_half = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - {-0.5, -0.375, -0.25, 0.25, -0.25, 0.5}, - {-0.5, -0.25, 0, 0, -0.125, 0.5}, - {-0.5, -0.125, 0.25, -0.25, 0, 0.5} - } -} - -local box_slope_outer_half_raised = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.125, 0.5}, - {-0.5, 0.125, -0.25, 0.25, 0.25, 0.5}, - {-0.5, 0.25, 0, 0, 0.375, 0.5}, - {-0.5, 0.375, 0.25, -0.25, 0.5, 0.5} - } -} - --- Node will be called :slope_ - -function register_slope(modname, subname, recipeitem, groups, images, description, drop, light) - return stairsplus:register_slope(modname, subname, recipeitem, { - groups = groups, - tiles = images, - description = description, - drop = drop, - light_source = light, - sounds = default.node_sound_stone_defaults(), - }) -end - -function stairsplus:register_slope(modname, subname, recipeitem, fields) - local defs = { - [""] = { - mesh = "moreblocks_slope.obj", - collision_box = box_slope, - selection_box = box_slope, - - }, - ["_half"] = { - mesh = "moreblocks_slope_half.obj", - collision_box = box_slope_half, - selection_box = box_slope_half, - }, - ["_half_raised"] = { - mesh = "moreblocks_slope_half_raised.obj", - collision_box = box_slope_half_raised, - selection_box = box_slope_half_raised, - }, - ---============================================================== - - ["_inner"] = { - mesh = "moreblocks_slope_inner.obj", - collision_box = box_slope_inner, - selection_box = box_slope_inner, - }, - ["_inner_half"] = { - mesh = "moreblocks_slope_inner_half.obj", - collision_box = box_slope_inner_half, - selection_box = box_slope_inner_half, - }, - ["_inner_half_raised"] = { - mesh = "moreblocks_slope_inner_half_raised.obj", - collision_box = box_slope_inner_half_raised, - selection_box = box_slope_inner_half_raised, - }, - ---============================================================== - - ["_outer"] = { - mesh = "moreblocks_slope_outer.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_half"] = { - mesh = "moreblocks_slope_outer_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_half_raised"] = { - mesh = "moreblocks_slope_outer_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - ---============================================================== - - ["_outer_cut"] = { - mesh = "moreblocks_slope_outer_cut.obj", - collision_box = box_slope_outer, - selection_box = box_slope_outer, - }, - ["_outer_cut_half"] = { - mesh = "moreblocks_slope_outer_cut_half.obj", - collision_box = box_slope_outer_half, - selection_box = box_slope_outer_half, - }, - ["_outer_cut_half_raised"] = { - mesh = "moreblocks_slope_outer_cut_half_raised.obj", - collision_box = box_slope_outer_half_raised, - selection_box = box_slope_outer_half_raised, - }, - } - - local desc = S("%s Slope"):format(fields.description) - for alternate, def in pairs(defs) do - def.drawtype = "mesh" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.on_place = minetest.rotate_node - for k, v in pairs(fields) do - def[k] = v - end - def.description = desc - if fields.drop then - def.drop = modname.. ":slope_" ..fields.drop..alternate - end - minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) - end - - -- Some saw-less recipes: - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. " 7", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, modname .. ":panel_" .. subname, ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. " 7", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {"", modname .. ":panel_" .. subname, recipeitem}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half 10", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half 10", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half_raised 7", - recipe = { - {modname .. ":panel_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":panel_" .. subname}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_half_raised 7", - recipe = { - {"", "", modname .. ":panel_" .. subname}, - {modname .. ":panel_" .. subname, recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---===================================================== Inner == - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner 7", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, modname .. ":stair_" .. subname .. "_half", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner 7", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {"", modname .. ":stair_" .. subname .. "_half", recipeitem}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half 10", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half 10", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", - recipe = { - {modname .. ":stair_" .. subname .. "_half", "", ""}, - {recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_inner_half_raised 7", - recipe = { - {"", "", modname .. ":stair_" .. subname .. "_half"}, - {modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---===================================================== Outer == - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer 7", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, modname .. ":micro_" .. subname, ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer 7", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {"", modname .. ":micro_" .. subname, recipeitem}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half 10", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half 10", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", - recipe = { - {modname .. ":micro_" .. subname, "", ""}, - {recipeitem, recipeitem, modname .. ":micro_" .. subname}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - - minetest.register_craft({ - output = modname .. ":slope_" .. subname .. "_outer_half_raised 7", - recipe = { - {"", "", modname .. ":micro_" .. subname}, - {modname .. ":micro_" .. subname, recipeitem, recipeitem}, - {recipeitem, recipeitem, recipeitem}, - }, - }) - ---================================================= Shapeless == - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_outer_cut"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = recipeitem, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slab_" .. subname, - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half", - modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_inner_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", - recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_cut_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut", - recipe = {modname .. ":slope_" .. subname .. "_outer"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half", - recipe = {modname .. ":slope_" .. subname .. "_outer_half"}, - }) - - minetest.register_craft({ - type = "shapeless", - output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised", - recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised"}, - }) -end diff --git a/mods/moreblocks/stairsplus/stairs.lua b/mods/moreblocks/stairsplus/stairs.lua old mode 100644 new mode 100755 index a93cda08..a4f54e39 --- a/mods/moreblocks/stairsplus/stairs.lua +++ b/mods/moreblocks/stairsplus/stairs.lua @@ -1,11 +1,10 @@ ---[[ -More Blocks: stair definitions - -Copyright (c) 2011-2015 Calinou and contributors. -Licensed under the zlib license. See LICENSE.md for more information. ---]] - -local S = moreblocks.intllib +local S -- Load translation library if intllib is installed: +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function(s) return s end +end -- Node will be called :stair_ @@ -117,11 +116,11 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) end def.description = desc if fields.drop then - def.drop = modname .. ":stair_" .. fields.drop .. alternate + def.drop = modname.. ":stair_" ..fields.drop..alternate end - minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) + minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def) end - minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) + minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname) -- Some saw-less recipes: diff --git a/mods/moreblocks/textures/default_brick.png b/mods/moreblocks/textures/default_brick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/default_fence_overlay.png b/mods/moreblocks/textures/default_fence_overlay.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/invisible.png b/mods/moreblocks/textures/invisible.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_cactus_brick.png b/mods/moreblocks/textures/moreblocks_cactus_brick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_cactus_checker.png b/mods/moreblocks/textures/moreblocks_cactus_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png b/mods/moreblocks/textures/moreblocks_circle_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png b/mods/moreblocks/textures/moreblocks_circular_saw_bottom.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_side.png b/mods/moreblocks/textures/moreblocks_circular_saw_side.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_circular_saw_top.png b/mods/moreblocks/textures/moreblocks_circular_saw_top.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_clean_glass.png b/mods/moreblocks/textures/moreblocks_clean_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_checker.png b/mods/moreblocks/textures/moreblocks_coal_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass.png b/mods/moreblocks/textures/moreblocks_coal_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone.png b/mods/moreblocks/textures/moreblocks_coal_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png b/mods/moreblocks/textures/moreblocks_coal_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_empty_bookshelf.png b/mods/moreblocks/textures/moreblocks_empty_bookshelf.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png b/mods/moreblocks/textures/moreblocks_fence_jungle_wood.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_fence_wood.png b/mods/moreblocks/textures/moreblocks_fence_wood.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glass.png b/mods/moreblocks/textures/moreblocks_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass.png b/mods/moreblocks/textures/moreblocks_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_grey_bricks.png b/mods/moreblocks/textures/moreblocks_grey_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_checker.png b/mods/moreblocks/textures/moreblocks_iron_checker.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass.png b/mods/moreblocks/textures/moreblocks_iron_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone.png b/mods/moreblocks/textures/moreblocks_iron_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png b/mods/moreblocks/textures/moreblocks_iron_stone_bricks.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_junglestick.png b/mods/moreblocks/textures/moreblocks_junglestick.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_plankstone.png b/mods/moreblocks/textures/moreblocks_plankstone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_plankstone_2.png b/mods/moreblocks/textures/moreblocks_plankstone_2.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_rope.png b/mods/moreblocks/textures/moreblocks_rope.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile.png b/mods/moreblocks/textures/moreblocks_split_stone_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png b/mods/moreblocks/textures/moreblocks_split_stone_tile_top.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_stone_tile.png b/mods/moreblocks/textures/moreblocks_stone_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_super_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png b/mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_sweeper.png b/mods/moreblocks/textures/moreblocks_sweeper.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_tar.png b/mods/moreblocks/textures/moreblocks_tar.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_glass.png b/mods/moreblocks/textures/moreblocks_trap_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_stone.png b/mods/moreblocks/textures/moreblocks_trap_stone.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png b/mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_tree_stairsplus.png b/mods/moreblocks/textures/moreblocks_tree_stairsplus.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile.png b/mods/moreblocks/textures/moreblocks_wood_tile.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_center.png b/mods/moreblocks/textures/moreblocks_wood_tile_center.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_full.png b/mods/moreblocks/textures/moreblocks_wood_tile_full.png old mode 100644 new mode 100755 diff --git a/mods/moreblocks/textures/moreblocks_wood_tile_up.png b/mods/moreblocks/textures/moreblocks_wood_tile_up.png old mode 100644 new mode 100755 From 8fc268c41fe6fe0029330c684ac104a1f9ad9359 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:08:54 +0100 Subject: [PATCH 26/32] Removed global variables' errors file --- global_to_solve.txt | 82 --------------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 global_to_solve.txt diff --git a/global_to_solve.txt b/global_to_solve.txt deleted file mode 100644 index e1386f70..00000000 --- a/global_to_solve.txt +++ /dev/null @@ -1,82 +0,0 @@ -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/awards/init.lua:8 -14:41:30: WARNING: Undeclared global variable "worldedit" accessed at ...eFun/worldmods/WorldEdit/worldedit_infinity/init.lua:1 -14:41:30: WARNING: Undeclared global variable "check_set" accessed at ...eFun/worldmods/WorldEdit/worldedit_commands/init.lua:830 -14:41:30: WARNING: Undeclared global variable "check_set" accessed at ...eFun/worldmods/WorldEdit/worldedit_commands/init.lua:841 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at .../NodesJustWannaHaveFun/worldmods/moreblocks/init.lua:11 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...naHaveFun/worldmods/moreblocks/stairsplus/stairs.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...nnaHaveFun/worldmods/moreblocks/stairsplus/slabs.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...naHaveFun/worldmods/moreblocks/stairsplus/panels.lua:2 -14:41:30: WARNING: Undeclared global variable "intllib" accessed at ...eFun/worldmods/moreblocks/stairsplus/microblocks.lua:2 -14:41:30: ERROR[main]: Assignment to undeclared global "v" inside a function at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/util.lua:51. -14:41:30: ERROR[main]: Assignment to undeclared global "i" inside a function at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/util.lua:51. -14:41:30: WARNING: Undeclared global variable "skins" accessed at ...s/NodesJustWannaHaveFun/worldmods/snow/src/nodes.lua:69 -14:41:30: WARNING: Undeclared global variable "HUD" accessed at ...ds/NodesJustWannaHaveFun/worldmods/snow/src/sled.lua:71 -14:41:30: WARNING: Undeclared global variable "drop" accessed at ...esJustWannaHaveFun/worldmods/snow/src/stairsplus.lua:276 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:15 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:25 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:35 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:46 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:57 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:78 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:88 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:98 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:108 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:121 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:133 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:143 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:153 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:166 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:176 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:186 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:196 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:206 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:216 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:226 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:237 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:249 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:270 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:281 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:291 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:301 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:311 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:322 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:332 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:342 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:352 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:362 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:374 -14:41:30: WARNING: Undeclared global variable "maptools_creative" accessed at ...ustWannaHaveFun/worldmods/maptools/default_nodes.lua:384 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:109 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:141 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:169 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:197 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:225 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:253 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:282 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:310 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:338 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:366 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:394 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:422 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:450 -14:41:30: WARNING: Undeclared global variable "x21" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:451 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:478 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:506 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:534 -14:41:30: WARNING: Undeclared global variable "p3" accessed at ...rlds/NodesJustWannaHaveFun/worldmods/fences/init.lua:661 -14:41:30: WARNING: Undeclared global variable "convert_base" accessed at ...ustWannaHaveFun/worldmods/mesecons/mesecons/util.lua:104 -14:41:31: WARNING: Undeclared global variable "handle_timer" accessed at ...n/worldmods/mesecons/mesecons_luacontroller/init.lua:562 -14:41:31: WARNING: Undeclared global variable "selectionbox" accessed at ...n/worldmods/mesecons/mesecons_luacontroller/init.lua:603 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:36 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:82 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:128 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:174 -14:41:31: WARNING: Undeclared global variable "cp" accessed at ...dmods/homedecor_modpack/fake_fire/modfiles/nodes.lua:356 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...JustWannaHaveFun/worldmods/unified_inventory/api.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...annaHaveFun/worldmods/unified_inventory/internal.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...annaHaveFun/worldmods/unified_inventory/register.lua:2 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at ...ustWannaHaveFun/worldmods/unified_inventory/bags.lua:7 -14:41:31: WARNING: Undeclared global variable "inventory_plus" accessed at ...stWannaHaveFun/worldmods/3d_armor/3d_armor/armor.lua:40 -14:41:31: WARNING: Undeclared global variable "intllib" accessed at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:11 -14:41:31: ERROR[main]: Assignment to undeclared global "mod" inside a function at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:44. -14:41:31: ERROR[main]: Assignment to undeclared global "g" inside a function at .../worlds/NodesJustWannaHaveFun/worldmods/food/api.lua:63. From a9c5df278e9ba6defcec111aec5c8a478f266c82 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 21:16:00 +0100 Subject: [PATCH 27/32] Made superapples harder to craft - Changed craft recipe for default:superapple, now using : "default:apple","default:mese","default:mese" --- minetestforfun_game/mods/default/crafting.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minetestforfun_game/mods/default/crafting.lua b/minetestforfun_game/mods/default/crafting.lua index d6e4081f..84a7232d 100644 --- a/minetestforfun_game/mods/default/crafting.lua +++ b/minetestforfun_game/mods/default/crafting.lua @@ -630,7 +630,7 @@ minetest.register_craft({ minetest.register_craft({ output = "maptools:superapple", type = "shapeless", - recipe = {"default:apple", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + recipe = {"default:apple", "default:mese", "default:mese"}, }) minetest.register_craft({ From 544f6282220fd1a39630b1586d87f39e96423805 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 22:45:27 +0100 Subject: [PATCH 28/32] More global vars --- mods/ambience_modpack/ambience/init.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ambience_modpack/ambience/init.lua b/mods/ambience_modpack/ambience/init.lua index 3a14d97d..64545c8a 100755 --- a/mods/ambience_modpack/ambience/init.lua +++ b/mods/ambience_modpack/ambience/init.lua @@ -252,14 +252,14 @@ end local atleast_nodes_in_grid = function(pos, search_distance, height, node_name, threshold) counter = counter +1 -- minetest.chat_send_all("counter: (" .. counter .. ")") - minp = {x=pos.x-search_distance,y=height, z=pos.z+20} - maxp = {x=pos.x+search_distance,y=height, z=pos.z+20} - nodes = minetest.find_nodes_in_area(minp, maxp, node_name) + local minp = {x=pos.x-search_distance,y=height, z=pos.z+20} + local maxp = {x=pos.x+search_distance,y=height, z=pos.z+20} + local nodes = minetest.find_nodes_in_area(minp, maxp, node_name) -- minetest.chat_send_all("z+Found (" .. node_name .. ": " .. #nodes .. ")") if #nodes >= threshold then return true end - totalnodes = #nodes + local totalnodes = #nodes minp = {x=pos.x-search_distance,y=height, z=pos.z-20} maxp = {x=pos.x+search_distance,y=height, z=pos.z-20} nodes = minetest.find_nodes_in_area(minp, maxp, node_name) From 3b28b09066be11ec8e6a69641b74a366ad7f927a Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 15 Jan 2015 23:27:03 +0100 Subject: [PATCH 29/32] Loads of fixs --- mods/builtin_falling/func.lua | 2 +- mods/sea/clams/init.lua | 2 +- mods/snow/src/mapgen_v6.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/builtin_falling/func.lua b/mods/builtin_falling/func.lua index 5d2a714e..32b0b80e 100755 --- a/mods/builtin_falling/func.lua +++ b/mods/builtin_falling/func.lua @@ -169,7 +169,7 @@ function add_protected_bukket_liquid(nameofbukket,liquidsourcename) return end -- Check if pointing to a buildable node - n = minetest.get_node(pointed_thing.under) + local n = minetest.get_node(pointed_thing.under) if is_protected_area(pointed_thing.under, 7 ,user:get_player_name()) then minetest.chat_send_player(user:get_player_name(),"You cant place here - Too short of a protected area.") diff --git a/mods/sea/clams/init.lua b/mods/sea/clams/init.lua index d9e6a13d..c6f88f75 100755 --- a/mods/sea/clams/init.lua +++ b/mods/sea/clams/init.lua @@ -127,7 +127,7 @@ minetest.register_entity("clams:whiteshell", { self.phase = 0 end self.object:setsprite({x=0, y=self.phase}) - phasearmor = { + local phasearmor = { [0]={fleshy=0}, [1]={fleshy=30}, [2]={fleshy=70} diff --git a/mods/snow/src/mapgen_v6.lua b/mods/snow/src/mapgen_v6.lua index 414fddc2..9f9453ed 100755 --- a/mods/snow/src/mapgen_v6.lua +++ b/mods/snow/src/mapgen_v6.lua @@ -106,7 +106,7 @@ minetest.register_on_generated(function(minp, maxp, seed) local plain = biome == 2 -- spawns not much local alpine = biome == 3 -- rocky terrain -- Water biomes - biome2 = pr:next(1, 5) + local biome2 = pr:next(1, 5) local cool = biome == 1 -- only spawns ice on edge of water local icebergs = biome == 2 local icesheet = biome == 3 From 330d63ae96abfb2e4a26af97fbb3f967b90596d0 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Fri, 16 Jan 2015 22:45:43 +0100 Subject: [PATCH 30/32] Updated fishing mod from Xanthin fork - I found recently that MossManikin's fishing mod is outdated: its last commit has been sent on August 2013. However, there are some forks of it. The mod updated is Xanthin's one. It updates API, and a little bit of global variables. - Variables specifically modified for MFF have been changed to their last state. - The fork works perfectly fine for 0.4.11-dev - It can use intllib for translation --- mods/fishing/bobber.lua | 35 +++++++---- mods/fishing/bobber_shark.lua | 31 ++++++---- mods/fishing/crafting.lua | 0 mods/fishing/depends.txt | 0 mods/fishing/fishes.lua | 25 +++++--- mods/fishing/init.lua | 27 ++++++--- mods/fishing/locale/de.txt | 56 ++++++++++++++++++ mods/fishing/locale/template.txt | 56 ++++++++++++++++++ mods/fishing/settings.txt | 0 mods/fishing/sounds/SoundLicense.txt | 0 mods/fishing/sounds/fishing_bobber1.ogg | Bin mods/fishing/sounds/fishing_bobber2.ogg | Bin .../textures/alternates/fishing_bobber.png | Bin .../alternates/fishing_bobber_bottom.png | Bin .../alternates/fishing_bobber_top.png | Bin .../textures/alternates/fishing_pole.png | Bin .../animal_clownfish_clownfish_item.png | Bin ...l_fish_blue_white_fish_blue_white_item.png | Bin mods/fishing/textures/fishing_bobber.png | Bin .../textures/fishing_bobber_bottom.png | Bin .../textures/fishing_bobber_feather_1.png | Bin mods/fishing/textures/fishing_bobber_top.png | Bin mods/fishing/textures/fishing_deco_pike.png | Bin mods/fishing/textures/fishing_fish.png | Bin mods/fishing/textures/fishing_fish_cooked.png | Bin mods/fishing/textures/fishing_pike.png | Bin mods/fishing/textures/fishing_pike_cooked.png | Bin mods/fishing/textures/fishing_pole.png | Bin mods/fishing/textures/fishing_pole_back.png | Bin mods/fishing/textures/fishing_pole_bottom.png | Bin mods/fishing/textures/fishing_pole_deco.png | Bin mods/fishing/textures/fishing_pole_front.png | Bin mods/fishing/textures/fishing_pole_simple.png | Bin mods/fishing/textures/fishing_pole_top.png | Bin mods/fishing/textures/fishing_shark.png | Bin .../fishing/textures/fishing_shark_cooked.png | Bin mods/fishing/textures/fishing_sushi.png | Bin .../fishing/textures/fishing_trophy_label.png | Bin mods/fishing/textures/fishing_worm.png | Bin .../not_in_use/fishing_bobber_feather_1.png | Bin .../not_in_use/fishing_bobber_feather_2.png | Bin .../not_in_use/fishing_bobber_ready.png | Bin .../not_in_use/fishing_pole_on_use.png | Bin .../old/fishing_bobber_alternate_old.png | Bin .../textures/old/fishing_bobber_old.png | Bin .../textures/old/fishing_pole_wield.png | Bin .../textures/old/fishing_shark_old6.png | Bin mods/fishing/trophies.lua | 18 ++++-- mods/fishing/worm.lua | 14 ++++- 49 files changed, 214 insertions(+), 48 deletions(-) mode change 100755 => 100644 mods/fishing/bobber.lua mode change 100755 => 100644 mods/fishing/bobber_shark.lua mode change 100755 => 100644 mods/fishing/crafting.lua mode change 100755 => 100644 mods/fishing/depends.txt mode change 100755 => 100644 mods/fishing/fishes.lua mode change 100755 => 100644 mods/fishing/init.lua create mode 100644 mods/fishing/locale/de.txt create mode 100644 mods/fishing/locale/template.txt mode change 100755 => 100644 mods/fishing/settings.txt mode change 100755 => 100644 mods/fishing/sounds/SoundLicense.txt mode change 100755 => 100644 mods/fishing/sounds/fishing_bobber1.ogg mode change 100755 => 100644 mods/fishing/sounds/fishing_bobber2.ogg mode change 100755 => 100644 mods/fishing/textures/alternates/fishing_bobber.png mode change 100755 => 100644 mods/fishing/textures/alternates/fishing_bobber_bottom.png mode change 100755 => 100644 mods/fishing/textures/alternates/fishing_bobber_top.png mode change 100755 => 100644 mods/fishing/textures/alternates/fishing_pole.png mode change 100755 => 100644 mods/fishing/textures/animal_clownfish_clownfish_item.png mode change 100755 => 100644 mods/fishing/textures/animal_fish_blue_white_fish_blue_white_item.png mode change 100755 => 100644 mods/fishing/textures/fishing_bobber.png mode change 100755 => 100644 mods/fishing/textures/fishing_bobber_bottom.png mode change 100755 => 100644 mods/fishing/textures/fishing_bobber_feather_1.png mode change 100755 => 100644 mods/fishing/textures/fishing_bobber_top.png mode change 100755 => 100644 mods/fishing/textures/fishing_deco_pike.png mode change 100755 => 100644 mods/fishing/textures/fishing_fish.png mode change 100755 => 100644 mods/fishing/textures/fishing_fish_cooked.png mode change 100755 => 100644 mods/fishing/textures/fishing_pike.png mode change 100755 => 100644 mods/fishing/textures/fishing_pike_cooked.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_back.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_bottom.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_deco.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_front.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_simple.png mode change 100755 => 100644 mods/fishing/textures/fishing_pole_top.png mode change 100755 => 100644 mods/fishing/textures/fishing_shark.png mode change 100755 => 100644 mods/fishing/textures/fishing_shark_cooked.png mode change 100755 => 100644 mods/fishing/textures/fishing_sushi.png mode change 100755 => 100644 mods/fishing/textures/fishing_trophy_label.png mode change 100755 => 100644 mods/fishing/textures/fishing_worm.png mode change 100755 => 100644 mods/fishing/textures/not_in_use/fishing_bobber_feather_1.png mode change 100755 => 100644 mods/fishing/textures/not_in_use/fishing_bobber_feather_2.png mode change 100755 => 100644 mods/fishing/textures/not_in_use/fishing_bobber_ready.png mode change 100755 => 100644 mods/fishing/textures/not_in_use/fishing_pole_on_use.png mode change 100755 => 100644 mods/fishing/textures/old/fishing_bobber_alternate_old.png mode change 100755 => 100644 mods/fishing/textures/old/fishing_bobber_old.png mode change 100755 => 100644 mods/fishing/textures/old/fishing_pole_wield.png mode change 100755 => 100644 mods/fishing/textures/old/fishing_shark_old6.png mode change 100755 => 100644 mods/fishing/trophies.lua mode change 100755 => 100644 mods/fishing/worm.lua diff --git a/mods/fishing/bobber.lua b/mods/fishing/bobber.lua old mode 100755 new mode 100644 index 5600c58b..31f3e388 --- a/mods/fishing/bobber.lua +++ b/mods/fishing/bobber.lua @@ -5,6 +5,15 @@ -- Supports: 3d_armor, animal_clownfish, animal_fish_blue_white, animal_rat, flowers_plus, mobs, seaplants ----------------------------------------------------------------------------------------------- +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + local PoLeWeaR = (65535/(30-(math.random(15, 29)))) local BooTSWear = (2000*(math.random(20, 29))) -- Here's what you can catch @@ -98,11 +107,11 @@ local FISHING_BOBBER_ENTITY={ on_punch = function (self, puncher, time_from_last_punch, tool_capabilities, dir) local player = puncher:get_player_name() local inv = puncher:get_inventory() - if MESSAGES == true then minetest.chat_send_player(player, "You didn't catch anything.", false) end -- fish escaped + if MESSAGES == true then minetest.chat_send_player(player, S("You didn't catch anything."), false) end -- fish escaped if not minetest.setting_getbool("creative_mode") then if inv:room_for_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) - if MESSAGES == true then minetest.chat_send_player(player, "The bait is still there.", false) end -- bait still there + if MESSAGES == true then minetest.chat_send_player(player, S("The bait is still there."), false) end -- bait still there end end -- make sound and remove bobber @@ -130,12 +139,12 @@ local FISHING_BOBBER_ENTITY={ minetest.add_node({x=pos.x, y=pos.y, z=pos.z}, {name="air"}) if inv:room_for_item("main", {name=DRoP, count=1, wear=0, metadata=""}) then inv:add_item("main", {name=DRoP, count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "You caught "..MeSSaGe, false) end -- caught Plant + if MESSAGES == true then say(player, S("You caught "..MeSSaGe), false) end -- caught Plant end if not minetest.setting_getbool("creative_mode") then if inv:room_for_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there end end end @@ -145,7 +154,7 @@ local FISHING_BOBBER_ENTITY={ -- catch visible fish and invisible stuff if self.object:get_hp() <= 300 then if math.random(1, 100) < FISH_CHANCE then - local chance = math.random(1, 122) -- ><((((º> + local chance = math.random(1, 122) -- ><((((º> for i in pairs(CaTCH) do local MoD = CaTCH[i][1] local iTeM = CaTCH[i][2] @@ -164,42 +173,42 @@ local FISHING_BOBBER_ENTITY={ MoD = "animal_fish_blue_white" iTeM = "fish_blue_white" WeaR = 0 - MeSSaGe = "a Blue white fish." + MeSSaGe = S("a Blue white fish.") obj:remove() end end -- add (in)visible fish to inventory if inv:room_for_item("main", {name=MoD..":"..iTeM, count=1, wear=WeaR, metadata=""}) then inv:add_item("main", {name=MoD..":"..iTeM, count=1, wear=WeaR, metadata=""}) - if MESSAGES == true then say(player, "You caught "..MeSSaGe, false) end -- caught somethin' + if MESSAGES == true then say(player, S("You caught "..MeSSaGe), false) end -- caught somethin' end if not minetest.setting_getbool("creative_mode") then if GeTBaiTBack == true then if inv:room_for_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there? + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there? end end end else if inv:room_for_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "You caught a Fish.", false) end -- caught Fish + if MESSAGES == true then say(player, S("You caught a Fish."), false) end -- caught Fish end end end end else --if math.random(1, 100) > FISH_CHANCE then - if MESSAGES == true then say(player, "Your fish escaped.", false) end -- fish escaped + if MESSAGES == true then say(player, S("Your fish escaped."), false) end -- fish escaped end end if self.object:get_hp() > 300 and minetest.get_node(pos).name == "air" then - if MESSAGES == true then say(player, "You didn't catch anything.", false) end -- fish escaped + if MESSAGES == true then say(player, S("You didn't catch anything."), false) end -- fish escaped if not minetest.setting_getbool("creative_mode") then if math.random(1, 2) == 1 then if inv:room_for_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there end end end @@ -307,4 +316,4 @@ local FISHING_BOBBER_ENTITY={ end, } -minetest.register_entity("fishing:bobber_entity", FISHING_BOBBER_ENTITY) \ No newline at end of file +minetest.register_entity("fishing:bobber_entity", FISHING_BOBBER_ENTITY) diff --git a/mods/fishing/bobber_shark.lua b/mods/fishing/bobber_shark.lua old mode 100755 new mode 100644 index 858f5327..ede4de25 --- a/mods/fishing/bobber_shark.lua +++ b/mods/fishing/bobber_shark.lua @@ -3,6 +3,15 @@ -- License (code & textures): WTFPL ----------------------------------------------------------------------------------------------- +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + -- Here's what you can catch if you use a fish as bait local CaTCH_BiG = { -- MoD iTeM WeaR MeSSaGe ("You caught "..) GeTBaiTBack NRMiN CHaNCe (../120) @@ -54,7 +63,7 @@ local FISHING_BOBBER_ENTITY_SHARK={ -- DESTROY BOBBER WHEN PUNCHING IT on_punch = function (self, puncher, time_from_last_punch, tool_capabilities, dir) local player = puncher:get_player_name() - if MESSAGES == true then minetest.chat_send_player(player, "Your fish escaped.", false) end -- fish escaped + if MESSAGES == true then minetest.chat_send_player(player, S("Your fish escaped."), false) end -- fish escaped minetest.sound_play("fishing_bobber1", { pos = self.object:getpos(), gain = 0.5, @@ -79,12 +88,12 @@ local FISHING_BOBBER_ENTITY_SHARK={ minetest.add_node({x=pos.x, y=pos.y, z=pos.z}, {name="air"}) if inv:room_for_item("main", {name=DRoP, count=1, wear=0, metadata=""}) then inv:add_item("main", {name=DRoP, count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "You caught "..MeSSaGe, false) end -- caught Plant + if MESSAGES == true then say(player, S("You caught "..MeSSaGe), false) end -- caught Plant end if not minetest.setting_getbool("creative_mode") then if inv:room_for_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:bait_worm", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there end end end @@ -93,7 +102,7 @@ local FISHING_BOBBER_ENTITY_SHARK={ --elseif minetest.get_node(pos).name == "air" then if self.object:get_hp() <= 300 then if math.random(1, 100) < SHARK_CHANCE then - local chance = math.random(1, 5) -- ><((((º> + local chance = math.random(1, 5) -- ><((((º> for i in pairs(CaTCH_BiG) do local MoD = CaTCH_BiG[i][1] local iTeM = CaTCH_BiG[i][2] @@ -107,13 +116,13 @@ local FISHING_BOBBER_ENTITY_SHARK={ if minetest.get_modpath(MoD) ~= nil then if inv:room_for_item("main", {name=MoD..":"..iTeM, count=1, wear=WeaR, metadata=""}) then inv:add_item("main", {name=MoD..":"..iTeM, count=1, wear=WeaR, metadata=""}) - if MESSAGES == true then say(player, "You caught "..MeSSaGe, false) end -- caught somethin' + if MESSAGES == true then say(player, S("You caught "..MeSSaGe), false) end -- caught somethin' end if not minetest.setting_getbool("creative_mode") then if GeTBaiTBack == true then if inv:room_for_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there? + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there? end end end @@ -121,23 +130,23 @@ local FISHING_BOBBER_ENTITY_SHARK={ end end else --if math.random(1, 100) > FISH_CHANCE then - if MESSAGES == true then say(player, "Your fish escaped.", false) end -- fish escaped + if MESSAGES == true then say(player, S("Your fish escaped."), false) end -- fish escaped end end if self.object:get_hp() > 300 and minetest.get_node(pos).name == "air" then - if MESSAGES == true then say(player, "You didn't catch any fish.", false) end -- fish escaped + if MESSAGES == true then say(player, S("You didn't catch any fish."), false) end -- fish escaped if not minetest.setting_getbool("creative_mode") then if math.random(1, 3) == 1 then if inv:room_for_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) then inv:add_item("main", {name="fishing:fish_raw", count=1, wear=0, metadata=""}) - if MESSAGES == true then say(player, "The bait is still there.", false) end -- bait still there + if MESSAGES == true then say(player, S("The bait is still there."), false) end -- bait still there end end end end --end else - if MESSAGES == true then say(player, "Your fish escaped.", false) end -- fish escaped + if MESSAGES == true then say(player, S("Your fish escaped."), false) end -- fish escaped end minetest.sound_play("fishing_bobber1", { pos = self.object:getpos(), @@ -220,4 +229,4 @@ local FISHING_BOBBER_ENTITY_SHARK={ end, } -minetest.register_entity("fishing:bobber_entity_shark", FISHING_BOBBER_ENTITY_SHARK) \ No newline at end of file +minetest.register_entity("fishing:bobber_entity_shark", FISHING_BOBBER_ENTITY_SHARK) diff --git a/mods/fishing/crafting.lua b/mods/fishing/crafting.lua old mode 100755 new mode 100644 diff --git a/mods/fishing/depends.txt b/mods/fishing/depends.txt old mode 100755 new mode 100644 diff --git a/mods/fishing/fishes.lua b/mods/fishing/fishes.lua old mode 100755 new mode 100644 index 1290e1c2..5faca951 --- a/mods/fishing/fishes.lua +++ b/mods/fishing/fishes.lua @@ -3,11 +3,20 @@ -- License (code & textures): WTFPL ----------------------------------------------------------------------------------------------- +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + ----------------------------------------------------------------------------------------------- -- Fish ----------------------------------------------------------------------------------------------- minetest.register_craftitem("fishing:fish_raw", { - description = "Fish", + description = S("Fish"), groups = {}, inventory_image = "fishing_fish.png", on_use = minetest.item_eat(2), @@ -16,7 +25,7 @@ minetest.register_craftitem("fishing:fish_raw", { -- Roasted Fish ----------------------------------------------------- minetest.register_craftitem("fishing:fish", { - description = "Roasted Fish", + description = S("Roasted Fish"), groups = {}, inventory_image = "fishing_fish_cooked.png", on_use = minetest.item_eat(4), @@ -25,7 +34,7 @@ minetest.register_craftitem("fishing:fish_raw", { -- Sushi ----------------------------------------------------- minetest.register_craftitem("fishing:sushi", { - description = "Sushi (Hoso Maki)", + description = S("Sushi (Hoso Maki)"), groups = {}, inventory_image = "fishing_sushi.png", on_use = minetest.item_eat(6), @@ -35,7 +44,7 @@ minetest.register_craftitem("fishing:fish_raw", { -- Whatthef... it's a freakin' Shark! ----------------------------------------------------------------------------------------------- minetest.register_craftitem("fishing:shark", { - description = "Shark", + description = S("Shark"), groups = {}, inventory_image = "fishing_shark.png", on_use = minetest.item_eat(2), @@ -44,7 +53,7 @@ minetest.register_craftitem("fishing:shark", { -- Roasted Shark ----------------------------------------------------- minetest.register_craftitem("fishing:shark_cooked", { - description = "Roasted Shark", + description = S("Roasted Shark"), groups = {}, inventory_image = "fishing_shark_cooked.png", on_use = minetest.item_eat(6), @@ -54,7 +63,7 @@ minetest.register_craftitem("fishing:shark", { -- Pike ----------------------------------------------------------------------------------------------- minetest.register_craftitem("fishing:pike", { - description = "Northern Pike", + description = S("Northern Pike"), groups = {}, inventory_image = "fishing_pike.png", on_use = minetest.item_eat(2), @@ -63,8 +72,8 @@ minetest.register_craftitem("fishing:pike", { -- Roasted Pike ----------------------------------------------------- minetest.register_craftitem("fishing:pike_cooked", { - description = "Roasted Northern Pike", + description = S("Roasted Northern Pike"), groups = {}, inventory_image = "fishing_pike_cooked.png", on_use = minetest.item_eat(6), - }) \ No newline at end of file + }) diff --git a/mods/fishing/init.lua b/mods/fishing/init.lua old mode 100755 new mode 100644 index 6487db9e..ffdea4dc --- a/mods/fishing/init.lua +++ b/mods/fishing/init.lua @@ -26,6 +26,15 @@ local mname = "fishing" ----------------------------------------------------------------------------------------------- +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + dofile(minetest.get_modpath("fishing").."/settings.txt") dofile(minetest.get_modpath("fishing").."/bobber.lua") dofile(minetest.get_modpath("fishing").."/bobber_shark.lua") @@ -45,7 +54,7 @@ end minetest.register_tool("fishing:pole", { - description = "Fishing Pole", + description = S("Fishing Pole"), groups = {}, inventory_image = "fishing_pole.png", wield_image = "fishing_pole.png^[transformFXR270", @@ -117,7 +126,7 @@ minetest.register_tool("fishing:pole", { if SIMPLE_DECO_FISHING_POLE == true then minetest.register_node("fishing:pole_deco", { - description = "Fishing Pole", + description = S("Fishing Pole"), inventory_image = "fishing_pole.png", wield_image = "fishing_pole.png^[transformFXR270", drawtype = "nodebox", @@ -159,7 +168,7 @@ minetest.register_node("fishing:pole_deco", { else minetest.register_node("fishing:pole_deco", { - description = "Fishing Pole", + description = S("Fishing Pole"), inventory_image = "fishing_pole.png", wield_image = "fishing_pole.png^[transformFXR270", drawtype = "nodebox", @@ -229,7 +238,7 @@ end if NEW_WORM_SOURCE == false then minetest.register_node(":default:dirt", { - description = "Dirt", + description = S("Dirt"), tiles = {"default_dirt.png"}, is_ground_content = true, groups = {crumbly=3}, @@ -310,28 +319,28 @@ end -- didn't change the hoes, just here because hoe_on_use is local minetest.register_tool(":farming:hoe_wood", { - description = "Wooden Hoe", + description = S("Wooden Hoe"), inventory_image = "farming_tool_woodhoe.png", on_use = function(itemstack, user, pointed_thing) return hoe_on_use(itemstack, user, pointed_thing, 30) end, }) minetest.register_tool(":farming:hoe_stone", { - description = "Stone Hoe", + description = S("Stone Hoe"), inventory_image = "farming_tool_stonehoe.png", on_use = function(itemstack, user, pointed_thing) return hoe_on_use(itemstack, user, pointed_thing, 90) end, }) minetest.register_tool(":farming:hoe_steel", { - description = "Steel Hoe", + description = S("Steel Hoe"), inventory_image = "farming_tool_steelhoe.png", on_use = function(itemstack, user, pointed_thing) return hoe_on_use(itemstack, user, pointed_thing, 200) end, }) minetest.register_tool(":farming:hoe_bronze", { - description = "Bronze Hoe", + description = S("Bronze Hoe"), inventory_image = "farming_tool_bronzehoe.png", on_use = function(itemstack, user, pointed_thing) return hoe_on_use(itemstack, user, pointed_thing, 220) @@ -341,4 +350,4 @@ minetest.register_tool(":farming:hoe_bronze", { end ----------------------------------------------------------------------------------------------- print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...") ------------------------------------------------------------------------------------------------ \ No newline at end of file +----------------------------------------------------------------------------------------------- diff --git a/mods/fishing/locale/de.txt b/mods/fishing/locale/de.txt new file mode 100644 index 00000000..0e1ea572 --- /dev/null +++ b/mods/fishing/locale/de.txt @@ -0,0 +1,56 @@ +# Translation by Xanthin + +### bobber.lua ### +You caught a Fish. = Du hast einen Fisch gefangen. +You caught a Clownfish. = Du hast einen Clownfisch gefangen. +You caught a Blue white fish. = Du hast einen blau-weissen Fisch gefangen. +You caught a Twig. = Du hast einen Zweig gefangen. +You caught a Rat. = Du hast eine Ratte gefangen. +You caught some Seaweed. = Du hast etwas Seetang gefangen. +You caught a Green Kelp. = Du hast etwas gruenen Kelp gefangen. +You caught a String. = Du hast eine Schnur gefangen. +You caught an old Fishing Pole. = Du hast eine alte Angelrute gefangen. +You caught some very old Boots. = Du hast ein Paar sehr alte Schuhe gefangen. +You caught a Waterlily. = Du hast eine Seerose gefangen. +You didn't catch anything. = Du hast nichts gefangen. +The bait is still there. = Der Koeder ist noch vorhanden. +Your fish escaped. = Dein Fisch ist entkommen. + +### bobber_shark.lua ### +You caught a small Shark. = Du hast einen kleinen Hai gefangen. +You caught a Northern Pike. = Du hast einen Hecht gefangen. +You didn't catch any fish. = Du hast keinen Fisch gefangen. + +### crafting.lua ### +### fishes.lua ### +Fish = Fisch +Roasted Fish = Gebratener Fisch +Sushi (Hoso Maki) = Sushi (Hoso Maki) +Shark = Hai +Roasted Shark = Gebratener Hai +Northern Pike = Hecht +Roasted Northern Pike = Gebratener Hecht + +### init.lua ### +Fishing Pole = Angelrute +Dirt = Erde +Wooden Hoe = Holzhacke +Stone Hoe = Steinhacke +Steel Hoe = Stahlhacke +Bronze Hoe = Bronzehacke + +### trophies.lua ### +Fish Trophy = Fisch-Trophaee +Northern Pike Trophy = Hecht-Trophaee +Shark Trophy = Hai-Trophaee +Clownfish Trophy = Clownfisch-Trophaee +Blue white fish Trophy = Blau-weisser-Fisch-Trophaee +Trophy = Trophaee +This Huge Fish was caught by the Famous Angler %s ! = Dieser riesige Fisch wurde vom beruehmten Angler %s gefangen! +This Huge Northern Pike was caught by the Famous Angler %s ! = Dieser riesige Hecht wurde vom beruehmten Angler %s gefangen! +This Huge Shark was caught by the Famous Angler %s ! = Dieser riesige Hai wurde vom beruehmten Angler %s gefangen! +This Huge Clownfish was caught by the Famous Angler %s ! = Dieser riesige Clownfisch wurde vom beruehmten Angler %s gefangen! +This Huge Blue white fish was caught by the Famous Angler %s ! = Dieser riesige blau-weisse Fisch wurde vom beruehmten Angler %s gefangen! + +### worms.lua ### +Worm = Wurm diff --git a/mods/fishing/locale/template.txt b/mods/fishing/locale/template.txt new file mode 100644 index 00000000..3ed36dc8 --- /dev/null +++ b/mods/fishing/locale/template.txt @@ -0,0 +1,56 @@ +# Template + +### bobber.lua ### +You caught a Fish. = +You caught a Clownfish. = +You caught a Blue white fish. = +You caught a Twig. = +You caught a Rat. = +You caught some Seaweed. = +You caught a Green Kelp. = +You caught a String. = +You caught an old Fishing Pole. = +You caught some very old Boots. = +You caught a Waterlily. = +You didn't catch anything. = +The bait is still there. = +Your fish escaped. = + +### bobber_shark.lua ### +You caught small Shark. = +You caught a Northern Pike. = +You didn't catch any fish. = + +### crafting.lua ### +### fishes.lua ### +Fish = +Roasted Fish = +Sushi (Hoso Maki) = +Shark = +Roasted Shark = +Northern Pike = +Roasted Northern Pike = + +### init.lua ### +Fishing Pole = +Dirt = +Wooden Hoe = +Stone Hoe = +Steel Hoe = +Bronze Hoe = + +### trophies.lua ### +Fish Trophy = +Northern Pike Trophy = +Shark Trophy = +Clownfish Trophy = +Blue white fish Trophy = +Trophy = +This Huge Fish was caught by the Famous Angler %s ! = +This Huge Northern Pike was caught by the Famous Angler %s ! = +This Huge Shark was caught by the Famous Angler %s ! = +This Huge Clownfish was caught by the Famous Angler %s ! = +This Huge Blue white fish was caught by the Famous Angler %s ! = + +### worms.lua ### +Worm = diff --git a/mods/fishing/settings.txt b/mods/fishing/settings.txt old mode 100755 new mode 100644 diff --git a/mods/fishing/sounds/SoundLicense.txt b/mods/fishing/sounds/SoundLicense.txt old mode 100755 new mode 100644 diff --git a/mods/fishing/sounds/fishing_bobber1.ogg b/mods/fishing/sounds/fishing_bobber1.ogg old mode 100755 new mode 100644 diff --git a/mods/fishing/sounds/fishing_bobber2.ogg b/mods/fishing/sounds/fishing_bobber2.ogg old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/alternates/fishing_bobber.png b/mods/fishing/textures/alternates/fishing_bobber.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/alternates/fishing_bobber_bottom.png b/mods/fishing/textures/alternates/fishing_bobber_bottom.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/alternates/fishing_bobber_top.png b/mods/fishing/textures/alternates/fishing_bobber_top.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/alternates/fishing_pole.png b/mods/fishing/textures/alternates/fishing_pole.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/animal_clownfish_clownfish_item.png b/mods/fishing/textures/animal_clownfish_clownfish_item.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/animal_fish_blue_white_fish_blue_white_item.png b/mods/fishing/textures/animal_fish_blue_white_fish_blue_white_item.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_bobber.png b/mods/fishing/textures/fishing_bobber.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_bobber_bottom.png b/mods/fishing/textures/fishing_bobber_bottom.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_bobber_feather_1.png b/mods/fishing/textures/fishing_bobber_feather_1.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_bobber_top.png b/mods/fishing/textures/fishing_bobber_top.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_deco_pike.png b/mods/fishing/textures/fishing_deco_pike.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_fish.png b/mods/fishing/textures/fishing_fish.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_fish_cooked.png b/mods/fishing/textures/fishing_fish_cooked.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pike.png b/mods/fishing/textures/fishing_pike.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pike_cooked.png b/mods/fishing/textures/fishing_pike_cooked.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole.png b/mods/fishing/textures/fishing_pole.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_back.png b/mods/fishing/textures/fishing_pole_back.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_bottom.png b/mods/fishing/textures/fishing_pole_bottom.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_deco.png b/mods/fishing/textures/fishing_pole_deco.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_front.png b/mods/fishing/textures/fishing_pole_front.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_simple.png b/mods/fishing/textures/fishing_pole_simple.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_pole_top.png b/mods/fishing/textures/fishing_pole_top.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_shark.png b/mods/fishing/textures/fishing_shark.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_shark_cooked.png b/mods/fishing/textures/fishing_shark_cooked.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_sushi.png b/mods/fishing/textures/fishing_sushi.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_trophy_label.png b/mods/fishing/textures/fishing_trophy_label.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/fishing_worm.png b/mods/fishing/textures/fishing_worm.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/not_in_use/fishing_bobber_feather_1.png b/mods/fishing/textures/not_in_use/fishing_bobber_feather_1.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/not_in_use/fishing_bobber_feather_2.png b/mods/fishing/textures/not_in_use/fishing_bobber_feather_2.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/not_in_use/fishing_bobber_ready.png b/mods/fishing/textures/not_in_use/fishing_bobber_ready.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/not_in_use/fishing_pole_on_use.png b/mods/fishing/textures/not_in_use/fishing_pole_on_use.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/old/fishing_bobber_alternate_old.png b/mods/fishing/textures/old/fishing_bobber_alternate_old.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/old/fishing_bobber_old.png b/mods/fishing/textures/old/fishing_bobber_old.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/old/fishing_pole_wield.png b/mods/fishing/textures/old/fishing_pole_wield.png old mode 100755 new mode 100644 diff --git a/mods/fishing/textures/old/fishing_shark_old6.png b/mods/fishing/textures/old/fishing_shark_old6.png old mode 100755 new mode 100644 diff --git a/mods/fishing/trophies.lua b/mods/fishing/trophies.lua old mode 100755 new mode 100644 index ebe7edb8..d2446450 --- a/mods/fishing/trophies.lua +++ b/mods/fishing/trophies.lua @@ -5,6 +5,15 @@ -- Supports: animal_clownfish, animal_fish_blue_white ----------------------------------------------------------------------------------------------- +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + local TRoPHY = { -- MoD iTeM NaMe iCoN {"fishing", "fish_raw", "Fish", "fishing_fish.png"}, @@ -27,7 +36,7 @@ for i in pairs(TRoPHY) do local NaMe = TRoPHY[i][3] local iCoN = TRoPHY[i][4] minetest.register_node("fishing:trophy_"..iTeM, { - description = NaMe.." Trophy", + description = S(NaMe.." Trophy"), inventory_image = "default_chest_top.png^"..iCoN.."^fishing_trophy_label.png", drawtype = "nodebox", tiles = { @@ -58,9 +67,8 @@ for i in pairs(TRoPHY) do 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", "This Huge "..NaMe.." was caught by the Famous Angler ".. - meta:get_string("owner").."!") + meta:set_string("owner", placer:get_player_name() or "") + meta:set_string("infotext", S("This Huge "..NaMe.." was caught by the Famous Angler %s !"):format((placer:get_player_name() or ""))) end, on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -79,4 +87,4 @@ for i in pairs(TRoPHY) do recipe = {MoD..":"..iTeM, "default:sign_wall"}, }) -end \ No newline at end of file +end diff --git a/mods/fishing/worm.lua b/mods/fishing/worm.lua old mode 100755 new mode 100644 index 88985576..a9e08925 --- a/mods/fishing/worm.lua +++ b/mods/fishing/worm.lua @@ -6,11 +6,21 @@ -- Looked at code from: my_mobs -- Dependencies: default ----------------------------------------------------------------------------------------------- + +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + ----------------------------------------------------------------------------------------------- -- WORM ITEM ----------------------------------------------------------------------------------------------- minetest.register_craftitem("fishing:bait_worm", { - description = "Worm", + description = S("Worm"), groups = { fishing_bait=1 }, inventory_image = "fishing_worm.png", on_use = minetest.item_eat(1), @@ -115,4 +125,4 @@ minetest.register_entity("fishing:bait_worm_entity", { end look_whats_up(self) end, -}) \ No newline at end of file +}) From 4a25fa3f89da5216559c03b1bc13eed7d4a1f546 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Fri, 16 Jan 2015 23:37:48 +0100 Subject: [PATCH 31/32] Removed a global variable in carts --- mods/carts/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/carts/init.lua b/mods/carts/init.lua index 15b44b80..acea8fc4 100755 --- a/mods/carts/init.lua +++ b/mods/carts/init.lua @@ -552,7 +552,7 @@ function cart:on_step(dtime) elseif diff<(-math.pi) then diff=diff+(2*math.pi) end - yawdir=cart_func:get_sign(diff) + local yawdir=cart_func:get_sign(diff) local step=self.YAW_STEP if math.abs(diff)<=self.YAW_STEP then step=diff From 9564156b2f48c241dd1c476ae255c320e2bf8ed8 Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Sat, 17 Jan 2015 00:51:52 +0100 Subject: [PATCH 32/32] Added security in carts about driver's yaw calculation - Thanks to @crabman77 for having reported the issue --- mods/carts/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/carts/init.lua b/mods/carts/init.lua index acea8fc4..722325b7 100755 --- a/mods/carts/init.lua +++ b/mods/carts/init.lua @@ -543,6 +543,9 @@ function cart:on_step(dtime) self.yawtarget=newyaw -- Set new target. -- minetest.log("action", "--Cart yawtarget set "..self.yawtarget) end + if self.driver:get_look_yaw() == nil then + return + end local playeryaw=self.driver:get_look_yaw()-1.57 if playeryaw<0 then playeryaw=playeryaw+(math.pi*2) end if self.yawtarget and playeryaw ~= self.yawtarget then