From 86ad3e7c6a37699f7f8297a387bf08af74e36629 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 22:10:20 -0400 Subject: [PATCH] Update all core mods --- README.md | 1 - bedrock/bar.lua | 114 ++++ bedrock/mapgen.lua | 33 + bedrock/textures/bedrock_bar.png | Bin 0 -> 406 bytes bedrock/textures/bedrock_bar_half.png | Bin 0 -> 470 bytes bedrock/textures/bedrock_bar_space.png | Bin 0 -> 151 bytes bedrock/textures/bedrock_bar_white.png | Bin 0 -> 150 bytes bedrock/textures/bedrock_concrete.png | Bin 0 -> 191 bytes bedrock/textures/bedrock_pick.png | Bin 0 -> 239 bytes biome_lib/README.md | 6 +- biome_lib/description.txt | 1 + biome_lib/mod.conf | 1 + carts/functions.lua | 2 +- carts/init.lua | 20 +- castle/description.txt | 1 + castle/mod.conf | 1 + caverealms/config.lua | 2 + caverealms/falling_ice.lua | 2 +- caverealms/functions.lua | 76 ++- caverealms/init.lua | 87 ++- caverealms/nodes.lua | 40 +- coloredwood/description.txt | 1 + coloredwood/mod.conf | 1 + computer/tetris.lua | 4 + concrete/init.lua | 206 ++----- currency/description.txt | 1 + currency/mod.conf | 1 + digilines_inventory/init.lua | 4 +- display_blocks/LICENSE.txt | 29 + display_blocks/description.txt | 1 + display_blocks/mod.conf | 1 + gloopblocks/description.txt | 2 + gloopblocks/init.lua | 24 +- gloopblocks/mod.conf | 1 + gloopblocks/screenshot.png | Bin 0 -> 140425 bytes ilights/description.txt | 1 + ilights/mod.conf | 1 + .../advanced_automatic_warning_device.lua | 2 +- .../infrastructure_lane_control_lights_6.png | Bin 4160 -> 4466 bytes item_tweaks/item_drop.lua | 8 +- maptools/default_nodes.lua | 2 +- maptools/description.txt | 1 + maptools/mod.conf | 1 + maptools/nodes.lua | 8 +- mesecons/actionqueue.lua | 23 +- mesecons/init.lua | 8 +- mesecons/internal.lua | 89 +-- mesecons/services.lua | 2 +- mesecons/settings.lua | 30 +- mesecons/util.lua | 88 ++- mesecons/wires.lua | 6 +- mesecons_commandblock/init.lua | 390 ++++++------ mesecons_detector/init.lua | 210 ++++--- mesecons_doors/init.lua | 113 ++-- mesecons_extrawires/vertical.lua | 32 +- mesecons_hydroturbine/init.lua | 4 +- mesecons_luacontroller/init.lua | 46 +- mesecons_mvps/init.lua | 39 +- mesecons_noteblock/init.lua | 2 +- mesecons_pistons/init.lua | 28 +- mesecons_pressureplates/init.lua | 6 +- mesecons_random/init.lua | 8 +- mesecons_receiver/init.lua | 6 +- mesecons_torch/init.lua | 2 +- moreblocks/circular_saw.lua | 6 +- moreblocks/description.txt | 1 + moreblocks/mod.conf | 1 + moreblocks/stairsplus/init.lua | 2 +- moreblocks/stairsplus/registrations.lua | 8 +- moreores/description.txt | 1 + moreores/init.lua | 24 +- moreores/mod.conf | 1 + moretrees/description.txt | 1 + moretrees/mod.conf | 1 + moretrees/screenshot.png | Bin 0 -> 115537 bytes nixie_tubes/mod.conf | 1 + pipeworks/compat.lua | 8 + pipeworks/description.txt | 1 + pipeworks/mod.conf | 1 + pipeworks/screenshot.png | Bin 0 -> 92579 bytes prefab/description.txt | 1 + prefab/init.lua | 9 +- prefab/mod.conf | 1 + quartz/LICENSE.txt | 21 + quartz/README.txt | 24 +- quartz/depends.txt | 4 +- quartz/description.txt | 1 + quartz/init.lua | 157 ++--- quartz/screenshot.png | Bin 0 -> 108271 bytes quartz/textures/quartz_ore.png | Bin 291 -> 281 bytes signs_lib/description.txt | 1 + signs_lib/init.lua | 39 +- signs_lib/mod.conf | 1 + signs_lib/screenshot.png | Bin 0 -> 58372 bytes spawn/depends.txt | 0 spawn/init.lua | 52 +- technic/helpers.lua | 133 ++-- technic/init.lua | 12 +- technic/legacy.lua | 9 +- technic/machines/HV/battery_box.lua | 2 +- technic/machines/HV/cables.lua | 4 +- technic/machines/HV/forcefield.lua | 7 +- technic/machines/HV/generator.lua | 2 +- technic/machines/HV/nuclear_reactor.lua | 578 +++++++++--------- technic/machines/HV/quarry.lua | 5 +- technic/machines/HV/solar_array.lua | 2 +- technic/machines/LV/alloy_furnace.lua | 6 +- technic/machines/LV/battery_box.lua | 6 +- technic/machines/LV/cables.lua | 4 +- technic/machines/LV/cnc.lua | 37 +- technic/machines/LV/compressor.lua | 6 +- technic/machines/LV/electric_furnace.lua | 2 +- technic/machines/LV/extractor.lua | 2 +- technic/machines/LV/generator.lua | 2 +- technic/machines/LV/geothermal.lua | 10 +- technic/machines/LV/grinder.lua | 2 +- technic/machines/LV/music_player.lua | 6 +- technic/machines/LV/solar_array.lua | 2 +- technic/machines/LV/solar_panel.lua | 26 +- technic/machines/LV/water_mill.lua | 8 +- technic/machines/MV/alloy_furnace.lua | 2 +- technic/machines/MV/battery_box.lua | 2 +- technic/machines/MV/cables.lua | 10 +- technic/machines/MV/centrifuge.lua | 6 +- technic/machines/MV/compressor.lua | 2 +- technic/machines/MV/electric_furnace.lua | 4 +- technic/machines/MV/extractor.lua | 2 +- technic/machines/MV/generator.lua | 2 +- technic/machines/MV/grinder.lua | 4 +- technic/machines/MV/power_radiator.lua | 19 +- technic/machines/MV/solar_array.lua | 2 +- technic/machines/MV/tool_workshop.lua | 6 +- technic/machines/MV/wind_mill.lua | 7 +- technic/machines/register/battery_box.lua | 6 +- technic/machines/register/cables.lua | 206 ++----- technic/machines/register/generator.lua | 10 +- technic/machines/register/machine_base.lua | 12 +- technic/machines/register/solar_array.lua | 5 +- technic/machines/supply_converter.lua | 18 +- technic/machines/switching_station.lua | 17 +- technic/tools/chainsaw.lua | 16 +- technic/tools/mining_lasers.lua | 63 +- trafficlight/init.lua | 14 +- trafficlight/textures/streets_tl_left_red.png | Bin 941 -> 945 bytes ufos/furnace.lua | 18 +- ufos/init.lua | 14 +- unified_inventory/init.lua | 5 +- unified_inventory/item_names.lua | 3 + unified_inventory/register.lua | 10 +- unifieddyes/description.txt | 1 + unifieddyes/mod.conf | 1 + vines/bower.json | 18 + worldedit/init.lua | 1 + worldedit/serialization.lua | 6 +- worldedit/textures/worldedit_wand.png | Bin 0 -> 442 bytes worldedit/wand.lua | 51 ++ worldedit_commands/init.lua | 24 + worldedit_gui/init.lua | 17 +- 158 files changed, 2083 insertions(+), 1581 deletions(-) create mode 100644 bedrock/bar.lua create mode 100644 bedrock/mapgen.lua create mode 100644 bedrock/textures/bedrock_bar.png create mode 100644 bedrock/textures/bedrock_bar_half.png create mode 100644 bedrock/textures/bedrock_bar_space.png create mode 100644 bedrock/textures/bedrock_bar_white.png create mode 100644 bedrock/textures/bedrock_concrete.png create mode 100644 bedrock/textures/bedrock_pick.png create mode 100644 biome_lib/description.txt create mode 100644 biome_lib/mod.conf create mode 100644 castle/description.txt create mode 100644 castle/mod.conf create mode 100644 coloredwood/description.txt create mode 100644 coloredwood/mod.conf create mode 100644 currency/description.txt create mode 100644 currency/mod.conf create mode 100644 display_blocks/LICENSE.txt create mode 100644 display_blocks/description.txt create mode 100644 display_blocks/mod.conf create mode 100644 gloopblocks/description.txt create mode 100644 gloopblocks/mod.conf create mode 100644 gloopblocks/screenshot.png create mode 100644 ilights/description.txt create mode 100644 ilights/mod.conf create mode 100644 maptools/description.txt create mode 100644 maptools/mod.conf create mode 100644 moreblocks/description.txt create mode 100644 moreblocks/mod.conf create mode 100644 moreores/description.txt create mode 100644 moreores/mod.conf create mode 100644 moretrees/description.txt create mode 100644 moretrees/mod.conf create mode 100644 moretrees/screenshot.png create mode 100644 nixie_tubes/mod.conf create mode 100644 pipeworks/description.txt create mode 100644 pipeworks/mod.conf create mode 100644 pipeworks/screenshot.png create mode 100644 prefab/description.txt create mode 100644 prefab/mod.conf create mode 100644 quartz/LICENSE.txt create mode 100644 quartz/description.txt create mode 100644 quartz/screenshot.png create mode 100644 signs_lib/description.txt create mode 100644 signs_lib/mod.conf create mode 100644 signs_lib/screenshot.png create mode 100644 spawn/depends.txt create mode 100644 unifieddyes/description.txt create mode 100644 unifieddyes/mod.conf create mode 100644 vines/bower.json create mode 100644 worldedit/textures/worldedit_wand.png create mode 100644 worldedit/wand.lua diff --git a/README.md b/README.md index e95e7e28..1e4088e3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ # dreambuilder_modpack -# dreambuilder_modpack diff --git a/bedrock/bar.lua b/bedrock/bar.lua new file mode 100644 index 00000000..3ec545a0 --- /dev/null +++ b/bedrock/bar.lua @@ -0,0 +1,114 @@ +-- xPanes mod by xyz +-- made into xbars mod by Melkor +-- and finaly made into bedrock mod by ShadowNinja + +local function rshift(x, by) + return math.floor(x / 2 ^ by) +end + +local directions = { + {x = 1, y = 0, z = 0}, + {x = 0, y = 0, z = 1}, + {x = -1, y = 0, z = 0}, + {x = 0, y = 0, z = -1}, +} + +local function update_bar(pos) + if minetest.env:get_node(pos).name:find("bedrock:bar") == nil then + return + end + local sum = 0 + for i = 1, 4 do + local node = minetest.env:get_node({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z}) + if minetest.registered_nodes[node.name] and (minetest.registered_nodes[node.name].walkable ~= false) then + sum = sum + 2 ^ (i - 1) + end + end + if sum == 0 then + sum = 15 + end + minetest.env:add_node(pos, {name = "bedrock:bar_"..sum}) +end + +local function update_nearby_bars(pos) + for i = 1,4 do + update_bar({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z}) + end +end + +local half_blocks = { + {0, -0.5, -0.06, 0.5, 0.5, 0.06}, + {-0.06, -0.5, 0, 0.06, 0.5, 0.5}, + {-0.5, -0.5, -0.06, 0, 0.5, 0.06}, + {-0.06, -0.5, -0.5, 0.06, 0.5, 0} +} + +local full_blocks = { + {-0.5, -0.5, -0.06, 0.5, 0.5, 0.06}, + {-0.06, -0.5, -0.5, 0.06, 0.5, 0.5} +} + +for i = 1, 15 do + local need = {} + local cnt = 0 + for j = 1, 4 do + if rshift(i, j - 1) % 2 == 1 then + need[j] = true + cnt = cnt + 1 + end + end + local take = {} + if need[1] == true and need[3] == true then + need[1] = nil + need[3] = nil + table.insert(take, full_blocks[1]) + end + if need[2] == true and need[4] == true then + need[2] = nil + need[4] = nil + table.insert(take, full_blocks[2]) + end + for k in pairs(need) do + table.insert(take, half_blocks[k]) + end + local texture = "bedrock_bar.png" + if cnt == 1 then + texture = "bedrock_bar_half.png" + end + minetest.register_node("bedrock:bar_"..i, { + drawtype = "nodebox", + tiles = {"bedrock_bar_white.png", "bedrock_bar_white.png", texture}, + paramtype = "light", + groups = {unbreakable = 1}, + drop = "bedrock:bar", + node_box = { + type = "fixed", + fixed = take + }, + selection_box = { + type = "fixed", + fixed = take + } + }) +end + +minetest.register_node("bedrock:bar", { + description = "Bedrock Bar", + tiles = {"bedrock_bar.png"}, + inventory_image = "bedrock_bar.png", + wield_image = "bedrock_bar.png", + node_placement_prediction = "", + on_construct = update_bar +}) + +minetest.register_on_placenode(update_nearby_bars) +minetest.register_on_dignode(update_nearby_bars) + +minetest.register_craft({ + output = 'bedrock:bar 16', + recipe = { + {'bedrock:bedrock', '', 'bedrock:bedrock'}, + {'bedrock:bedrock', '', 'bedrock:bedrock'}, + {'bedrock:bedrock', '', 'bedrock:bedrock'} + } +}) diff --git a/bedrock/mapgen.lua b/bedrock/mapgen.lua new file mode 100644 index 00000000..995bfb04 --- /dev/null +++ b/bedrock/mapgen.lua @@ -0,0 +1,33 @@ + +local bedrock_depth = tonumber(minetest.setting_get("bedrock_depth")) or -30912 +local bedrock_height = tonumber(minetest.setting_get("bedrock_height")) or 5 + +minetest.register_on_generated(function(minp, maxp) + if minp.y > bedrock_depth + bedrock_height or maxp.y < bedrock_depth then + return + end + + local vm, mine, maxe = minetest.get_mapgen_object("voxelmanip") + local area = VoxelArea:new({MinEdge=mine, MaxEdge=maxe}) + local data = vm:get_data() + + local random = math.random + + local c_bedrock = minetest.get_content_id("bedrock:bedrock") + + local highest = math.min(bedrock_depth + bedrock_height, maxe.y) + local lowest = math.max(bedrock_depth, mine.y) + + for y = lowest, highest do + for x = mine.x, maxe.x do + for z = mine.z, maxe.z do + if random(0, y - bedrock_depth) == 0 then + data[area:index(x, y, z)] = c_bedrock + end + end + end + end + vm:set_data(data) + vm:write_to_map() +end) + diff --git a/bedrock/textures/bedrock_bar.png b/bedrock/textures/bedrock_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf4acb745f7cf2b8fae1601495e3fd53d095409 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPa4~LKy&#a4KVGIn6%APKcAr_~5gEp>hG2p2!Phylf zd12mOrhmoWXql9M?dFATLISmM0c`F^0aAH?Lk*v@MA1_de!pQQu2r)1Oyvi@knx z_5G-BoAbGsP2zN%7;bN?w43i=OG(wQjDj xOU3DLy^lGTPWe7#=0ugw-P2P$x8=sZVb-la?OW~|`~et(44$rjF6*2UngGC~p8)^> literal 0 HcmV?d00001 diff --git a/bedrock/textures/bedrock_bar_half.png b/bedrock/textures/bedrock_bar_half.png new file mode 100644 index 0000000000000000000000000000000000000000..6d384a9166c2e3c9d9bd2674c43d03227fb2d289 GIT binary patch literal 470 zcmV;{0V)28P)*V=8H>;|ugqZ;VM1;DoaXOvA%$5WA_@?`Aw?pEb0{|$=>-EAEm&?WC zJkKq5&S4x!KtyacO(WOqRhp&|5yA8M6z{!=2)y@FRh89rC0M{P3;=)-0@}7Ud#ZAZ z^)%_a4lzc{vn)dh!6XwA)bb*Mc6q!lg!v_lBUvJAiQLD2U-nAv2OWr_3o{9%EJz7wcC-9ret-EKy%Hm6AbOW$s{xZm%l zKrJvcVvN84f(~j5wLnBDieff{WN8M9=@7NEKC(puJ*2z(_ugX|hFJpuSb6V7Uzi@q z^W0)0LYk&{JRV?X91aJIi3n?bI9=DlIXAn^%-C!;mhbm_)OBsOKgv1lgJQ#J{Qv*} M07*qoM6N<$f{ta$J^%m! literal 0 HcmV?d00001 diff --git a/bedrock/textures/bedrock_bar_space.png b/bedrock/textures/bedrock_bar_space.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e875225706b9a6c835ab1f5d9d76ac140dbb1f GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}bl&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVhfPFS!u;;lEal|aXmQ!2!LEx2FAG0T2??7gQu&X%Q~loCIFkZAu0d> literal 0 HcmV?d00001 diff --git a/bedrock/textures/bedrock_bar_white.png b/bedrock/textures/bedrock_bar_white.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6256c11a21272dcf1e95f5736f8e4161e0a88e GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryoCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4x5OuHMfs&1}jiVHZvrm#5q4VH#M&W$Yo$~E=o--Nlj5G&n(GMaQE~LNYP7W n2a5A}x;Tb#Tu=V-|Gzy0>p!M{cg{pU2Wjwh^>bP0l+XkKfxsk; literal 0 HcmV?d00001 diff --git a/bedrock/textures/bedrock_concrete.png b/bedrock/textures/bedrock_concrete.png new file mode 100644 index 0000000000000000000000000000000000000000..36c7fe6ba36a0b416b72ff253bb39f8b2d5cb93f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP_WR` z#W6(V{M1Q?d=82n&cCJE{ol=$l=b+-!njrWl6Y55GS8eV)$9sN3?1B=tGoDwH?3`d zeK09!KJ&-SdG{Zzde{>6koW4ZnSpcNU7EILxtO0({GycFo%T_z>!{PW7Yws{cl^)J l()bm#@#>zxLAPFS^*hGvT$Fl%?HkZ?22WQ%mvv4FO#nyfM5+J) literal 0 HcmV?d00001 diff --git a/bedrock/textures/bedrock_pick.png b/bedrock/textures/bedrock_pick.png new file mode 100644 index 0000000000000000000000000000000000000000..d66b2e3c1ac096fb70e2b7a7753316746fc62d8c GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9F5M?jcysy3fAP;jBA zi(`n#@vBp;`B)S=+8W=O?onMUsy>Z-!_=cWM#g(|rXBJ6TX&D4otHUZ_cMPpU*wd= z&K0_c4y9z>Rf<^iF#FUBr}VUhXYPTkwk=%M)N$ut@WJZfP>JLNQLoLq{6+1aA6Y&t zKzWZHyWfx0M;E#8v6fctbDh9<;P6aC1_Qy3y4Nzd`HS`4eSK3qA@(mdKI;Vst0H+sSTmS$7 literal 0 HcmV?d00001 diff --git a/biome_lib/README.md b/biome_lib/README.md index ce539d14..dc04a73f 100644 --- a/biome_lib/README.md +++ b/biome_lib/README.md @@ -14,8 +14,8 @@ It is primarily intended for mapgen v6, but it should work fine when used with m **Dependencies**: default from minetest_game -**Recommends**: [Plantlife Modpack](https://github.com/VanessaE/plantlife_modpack), -[More Trees](https://github.com/VanessaE/moretrees) +**Recommends**: [Plantlife Modpack](https://github.com/minetest-mods/plantlife_modpack), +[More Trees](https://github.com/minetest-mods/moretrees) **License**: WTFPL @@ -27,4 +27,4 @@ It is primarily intended for mapgen v6, but it should work fine when used with m * biome_lib:find_valid_wall() * biome_lib:is_node_loaded() -For a complete description of these functions as well as several of the internal variables within the mod, [read the API.txt document](https://raw.githubusercontent.com/VanessaE/biome_lib/master/API.txt) included in this package. +For a complete description of these functions as well as several of the internal variables within the mod, [read the API.txt document](https://raw.githubusercontent.com/minetest-mods/biome_lib/master/API.txt) included in this package. diff --git a/biome_lib/description.txt b/biome_lib/description.txt new file mode 100644 index 00000000..0412661b --- /dev/null +++ b/biome_lib/description.txt @@ -0,0 +1 @@ +The biome spawning and management library for Plantlife, Moretrees, Tiny Trees, and other mods that originally depended on plants_lib from the plantlife modpack. diff --git a/biome_lib/mod.conf b/biome_lib/mod.conf new file mode 100644 index 00000000..7742141a --- /dev/null +++ b/biome_lib/mod.conf @@ -0,0 +1 @@ +name = biome_lib diff --git a/carts/functions.lua b/carts/functions.lua index 8a7da47e..1a50d766 100644 --- a/carts/functions.lua +++ b/carts/functions.lua @@ -24,7 +24,7 @@ function cart_func:velocity_to_dir(v) end function cart_func:is_rail(p) - local nn = minetest.env:get_node(p).name + local nn = minetest.get_node(p).name return minetest.get_item_group(nn, "rail") ~= 0 end diff --git a/carts/init.lua b/carts/init.lua index a3722033..90b6c5e9 100644 --- a/carts/init.lua +++ b/carts/init.lua @@ -240,7 +240,7 @@ function cart:on_step(dtime) if dir.y == 0 then if math.abs(self.velocity.x) < 0.1 and math.abs(self.velocity.z) < 0.1 then -- Start the cart if powered from mesecons - local a = tonumber(minetest.env:get_meta(pos):get_string("cart_acceleration")) + local a = tonumber(minetest.get_meta(pos):get_string("cart_acceleration")) if a and a ~= 0 then if self.pre_stop_dir and cart_func.v3:equal(self:get_rail_direction(self.object:getpos(), self.pre_stop_dir), self.pre_stop_dir) then self.velocity = { @@ -333,7 +333,7 @@ function cart:on_step(dtime) dir = cart_func:velocity_to_dir(self.velocity) -- Accelerate or decelerate the cart according to the pitch and acceleration of the rail node - local a = tonumber(minetest.env:get_meta(pos):get_string("cart_acceleration")) + local a = tonumber(minetest.get_meta(pos):get_string("cart_acceleration")) if not a then a = 0 end @@ -443,13 +443,13 @@ minetest.register_craftitem("carts:cart", { return end if cart_func:is_rail(pointed_thing.under) then - minetest.env:add_entity(pointed_thing.under, "carts:cart") + minetest.add_entity(pointed_thing.under, "carts:cart") if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end return itemstack elseif cart_func:is_rail(pointed_thing.above) then - minetest.env:add_entity(pointed_thing.above, "carts:cart") + minetest.add_entity(pointed_thing.above, "carts:cart") if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end @@ -506,18 +506,18 @@ minetest.register_node("carts:powerrail", { after_place_node = function(pos, placer, itemstack) if not mesecon then - minetest.env:get_meta(pos):set_string("cart_acceleration", "0.5") + minetest.get_meta(pos):set_string("cart_acceleration", "0.5") end end, mesecons = { effector = { action_on = function(pos, node) - minetest.env:get_meta(pos):set_string("cart_acceleration", "0.5") + minetest.get_meta(pos):set_string("cart_acceleration", "0.5") end, action_off = function(pos, node) - minetest.env:get_meta(pos):set_string("cart_acceleration", "0") + minetest.get_meta(pos):set_string("cart_acceleration", "0") end, }, }, @@ -541,18 +541,18 @@ minetest.register_node("carts:brakerail", { after_place_node = function(pos, placer, itemstack) if not mesecon then - minetest.env:get_meta(pos):set_string("cart_acceleration", "-0.2") + minetest.get_meta(pos):set_string("cart_acceleration", "-0.2") end end, mesecons = { effector = { action_on = function(pos, node) - minetest.env:get_meta(pos):set_string("cart_acceleration", "-0.2") + minetest.get_meta(pos):set_string("cart_acceleration", "-0.2") end, action_off = function(pos, node) - minetest.env:get_meta(pos):set_string("cart_acceleration", "0") + minetest.get_meta(pos):set_string("cart_acceleration", "0") end, }, }, diff --git a/castle/description.txt b/castle/description.txt new file mode 100644 index 00000000..23992264 --- /dev/null +++ b/castle/description.txt @@ -0,0 +1 @@ +This is a mod all about creating castles and castle dungeons. Many of the nodes are used for the outer-walls or dungeons. diff --git a/castle/mod.conf b/castle/mod.conf new file mode 100644 index 00000000..759a5cf8 --- /dev/null +++ b/castle/mod.conf @@ -0,0 +1 @@ +name = castle diff --git a/caverealms/config.lua b/caverealms/config.lua index 15b23d07..c4deaf25 100644 --- a/caverealms/config.lua +++ b/caverealms/config.lua @@ -24,6 +24,8 @@ end setting("number", "ymin", -33000) --bottom realm limit setting("number", "ymax", -700) --top realm limit setting("number", "tcave", 0.5) --cave threshold +setting("number", "deepcaves_ymax", -10000) -- depth when deepcave biomes start +setting("number", "deepdeepcaves_ymax", -20000) --falling icicles setting("bool", "falling_icicles", true) --enable/disable falling icicles diff --git a/caverealms/falling_ice.lua b/caverealms/falling_ice.lua index 4e04b5f1..46b704bc 100644 --- a/caverealms/falling_ice.lua +++ b/caverealms/falling_ice.lua @@ -177,7 +177,7 @@ function caverealms:nodeupdate_single(p, delay) if delay then minetest.after(0.1, caverealms.nodeupdate_single, {x=p.x, y=p.y, z=p.z}, false) else - n.level = minetest.env:get_node_level(p) + n.level = minetest.get_node_level(p) minetest.remove_node(p) caverealms:spawn_falling_node(p, n) caverealms:nodeupdate(p) diff --git a/caverealms/functions.lua b/caverealms/functions.lua index 6c62a935..17beda7f 100644 --- a/caverealms/functions.lua +++ b/caverealms/functions.lua @@ -119,6 +119,13 @@ function caverealms:crystal_stalagmite(x,y,z, area, data, biome) local c_meseore = minetest.get_content_id("default:stone_with_mese") local c_ice = minetest.get_content_id("default:ice") local c_thinice = minetest.get_content_id("caverealms:thin_ice") + local c_obsidian = { + minetest.get_content_id("caverealms:obsidian"), + minetest.get_content_id("caverealms:obsidian_2"), + minetest.get_content_id("caverealms:obsidian_3"), + minetest.get_content_id("caverealms:obsidian_4"), + } + local c_embers = minetest.get_content_id("fake_fire:embers"); --for randomness local mode = 1 @@ -132,7 +139,7 @@ function caverealms:crystal_stalagmite(x,y,z, area, data, biome) mode = 1 end end - if biome == 4 or biome == 5 then + if biome > 4 then if math.random(3) == 1 then mode = 2 end @@ -149,22 +156,33 @@ function caverealms:crystal_stalagmite(x,y,z, area, data, biome) local nid_b local nid_s = c_stone --stone base, will be rewritten to ice in certain biomes + local hell = false + if biome > 3 then - if mode == 1 then - nid_a = c_ice - nid_b = c_thinice - nid_s = c_ice + if biome == 6 then + nid_s = c_obsidian[math.random(1, #c_obsidian)] + biome = 1 + hell = true else - nid_a = c_crystore - nid_b = c_crystal - end - elseif mode == 1 then - nid_a = stalids[biome][1][1] - nid_b = stalids[biome][1][2] - else - nid_a = stalids[biome][2][1] - nid_b = stalids[biome][2][2] - end + if mode == 1 then + nid_s = c_ice + end + biome = 4 + end + end + + if (hell) then + nid_a = c_embers + nid_b = c_embers + else + if mode == 1 then + nid_a = stalids[biome][1][1] + nid_b = stalids[biome][1][2] + else + nid_a = stalids[biome][2][1] + nid_b = stalids[biome][2][2] + end + end local top = math.random(5,H_CRY) --grab a random height for the stalagmite for j = 0, top do --y @@ -211,6 +229,13 @@ function caverealms:crystal_stalactite(x,y,z, area, data, biome) local c_meseore = minetest.get_content_id("default:stone_with_mese") local c_ice = minetest.get_content_id("default:ice") local c_thinice = minetest.get_content_id("caverealms:hanging_thin_ice") + local c_obsidian = { + minetest.get_content_id("caverealms:obsidian"), + minetest.get_content_id("caverealms:obsidian_2"), + minetest.get_content_id("caverealms:obsidian_3"), + minetest.get_content_id("caverealms:obsidian_4"), + minetest.get_content_id("caverealms:obsidian_5"), + } --for randomness local mode = 1 @@ -242,15 +267,18 @@ function caverealms:crystal_stalactite(x,y,z, area, data, biome) local nid_s = c_stone --stone base, will be rewritten to ice in certain biomes if biome > 3 then - if mode == 1 then - nid_a = c_ice - nid_b = c_thinice - nid_s = c_ice + if biome == 6 then + nid_s = c_obsidian[math.random(1, #c_obsidian)] + biome = 1 else - nid_a = c_crystore - nid_b = c_crystal - end - elseif mode == 1 then + if mode == 1 then + nid_s = c_ice + end + biome = 4 + end + end + + if mode == 1 then nid_a = stalids[biome][1][1] nid_b = stalids[biome][1][2] else @@ -375,4 +403,4 @@ function caverealms:legacy_giant_shroom(x, y, z, area, data) --leftovers :P end end end -end \ No newline at end of file +end diff --git a/caverealms/init.lua b/caverealms/init.lua index c13671b5..f3b968ad 100644 --- a/caverealms/init.lua +++ b/caverealms/init.lua @@ -25,6 +25,8 @@ end local YMIN = caverealms.config.ymin -- Approximate realm limits. local YMAX = caverealms.config.ymax +local DEEPCAVES_YMAX = caverealms.config.deepcaves_ymax +local DEEP_DEEP_CAVES_YMAZ = caverealms.config.deepdeepcaves_ymax local TCAVE = caverealms.config.tcave --0.5 -- Cave threshold. 1 = small rare caves, 0.5 = 1/3rd ground volume, 0 = 1/2 ground volume local BLEND = 128 -- Cave blend distance near YMIN, YMAX @@ -87,7 +89,7 @@ minetest.register_on_generated(function(minp, maxp, seed) end --easy reference to commonly used values - local t1 = os.clock() + --local t1 = os.clock() local x1 = maxp.x local y1 = maxp.y local z1 = maxp.z @@ -95,7 +97,7 @@ minetest.register_on_generated(function(minp, maxp, seed) local y0 = minp.y local z0 = minp.z - print ("[caverealms] chunk minp ("..x0.." "..y0.." "..z0..")") --tell people you are generating a chunk + --print ("[caverealms] chunk minp ("..x0.." "..y0.." "..z0..")") --tell people you are generating a chunk local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax} @@ -106,6 +108,7 @@ minetest.register_on_generated(function(minp, maxp, seed) local c_stone = minetest.get_content_id("default:stone") local c_water = minetest.get_content_id("default:water_source") local c_lava = minetest.get_content_id("default:lava_source") + local c_lava_flowing = minetest.get_content_id("default:lava_flowing") local c_ice = minetest.get_content_id("default:ice") local c_thinice = minetest.get_content_id("caverealms:thin_ice") local c_crystal = minetest.get_content_id("caverealms:glow_crystal") @@ -122,6 +125,37 @@ minetest.register_on_generated(function(minp, maxp, seed) local c_worm = minetest.get_content_id("caverealms:glow_worm") local c_iciu = minetest.get_content_id("caverealms:icicle_up") local c_icid = minetest.get_content_id("caverealms:icicle_down") + local c_coal_block = minetest.get_content_id("default:coalblock") + local c_diamond_block = minetest.get_content_id("default:diamondblock") + + + local c_obsidian = { + minetest.get_content_id("caverealms:obsidian"), + minetest.get_content_id("caverealms:obsidian_2"), + minetest.get_content_id("caverealms:obsidian_3"), + minetest.get_content_id("caverealms:obsidian_4"), + } + + local allow_deep_cave_biomes = false + if minp.y <= DEEPCAVES_YMAX then + allow_deep_cave_biomes = true + end + + local c_hard_rock + if minetest.get_modpath("morestones") then + if (minp.y <= DEEP_DEEP_CAVES_YMAZ) then + c_hard_rock = minetest.get_content_id("morestones:travertine") + else + c_hard_rock = minetest.get_content_id("morestones:comendite") + end + elseif minetest.get_modpath("gloopblocks") then + c_hard_rock = minetest.get_content_id("default:basalt") + else + c_hard_rock = minetest.get_content_id("default:stone_with_diamond") + end + + + local deep_cave_shell_type = math.random() --mandatory values local sidelen = x1 - x0 + 1 --length of a mapblock @@ -137,6 +171,7 @@ minetest.register_on_generated(function(minp, maxp, seed) local nixz = 1 --2D node index local nixyz2 = 1 --second 3D index for second loop + for z = z0, z1 do -- for each xy plane progressing northwards --structure loop for y = y0, y1 do -- for each x row progressing upwards @@ -178,14 +213,18 @@ minetest.register_on_generated(function(minp, maxp, seed) n_biome = nvals_biome[nixz] --make an easier reference to the noise --compare noise values to determine a biome if n_biome >= 0 and n_biome < 0.5 then - biome = 1 --moss + if allow_deep_cave_biomes then --and n_biome >= 0.25 then + biome = 6 -- obsidian + else + biome = 1 --moss + end elseif n_biome <= -0.5 then biome = 2 --fungal elseif n_biome >= 0.5 then if n_biome >= 0.7 then - biome = 5 --deep glaciated + biome = 5 -- deep glaciated else - biome = 4 --glaciated + biome = 4 -- glaciated end else biome = 3 --algae @@ -195,6 +234,22 @@ minetest.register_on_generated(function(minp, maxp, seed) --ceiling local ai = area:index(x,y+1,z) --above index if data[ai] == c_stone and data[vi] == c_air then --ceiling + if biome == 6 then + if deep_cave_shell_type > 0.65 then + data[ai] = c_obsidian[math.random(1, #c_obsidian)] + data[vi] = c_obsidian[math.random(1, #c_obsidian)] + elseif deep_cave_shell_type > 0.35 then + data[ai] = c_coal_block + data[vi] = c_coal_block + elseif deep_cave_shell_type > 0.15 then + data[ai] = c_hard_rock + data[vi] = c_hard_rock + else + data[ai] = c_diamond_block + data[vi] = c_diamond_block + end + end + if math.random() < ICICHA and (biome == 4 or biome == 5) then data[vi] = c_icid end @@ -261,12 +316,26 @@ minetest.register_on_generated(function(minp, maxp, seed) if math.random() < ICICHA then --if glaciated, place icicles data[ai] = c_iciu end + elseif biome == 6 then + local bi = area:index(x,y-1,z) + if deep_cave_shell_type > 0.65 then + data[bi] = c_obsidian[math.random(1, #c_obsidian)] + data[vi] = c_obsidian[math.random(1, #c_obsidian)] + elseif deep_cave_shell_type > 0.35 then + data[bi] = c_coal_block + data[vi] = c_coal_block + else + data[bi] = c_hard_rock + data[vi] = c_hard_rock + end + else + print("[caverealms] Unknown cave biome") end if math.random() < STAGCHA then caverealms:stalagmite(x,y,z, area, data) end - if math.random() < CRYSTAL then + if math.random() < CRYSTAL or (biome == 6 and math.random() < CRYSTAL*1.5) then caverealms:crystal_stalagmite(x,y,z, area, data, biome) end end @@ -287,10 +356,10 @@ minetest.register_on_generated(function(minp, maxp, seed) vm:set_lighting({day=0, night=0}) vm:calc_lighting() --write it to world - vm:write_to_map(data) + vm:write_to_map() - local chugent = math.ceil((os.clock() - t1) * 1000) --grab how long it took - print ("[caverealms] "..chugent.." ms") --tell people how long + --local chugent = math.ceil((os.clock() - t1) * 1000) --grab how long it took + --print ("[caverealms] "..chugent.." ms") --tell people how long end) diff --git a/caverealms/nodes.lua b/caverealms/nodes.lua index 7588234e..a1e819cb 100644 --- a/caverealms/nodes.lua +++ b/caverealms/nodes.lua @@ -55,7 +55,7 @@ minetest.register_node("caverealms:glow_ore", { is_ground_content = true, groups = {cracky=2}, sounds = default.node_sound_glass_defaults(), - light_source = 10, + light_source = 12, paramtype = "light", }) @@ -66,7 +66,7 @@ minetest.register_node("caverealms:glow_emerald_ore", { is_ground_content = true, groups = {cracky=2}, sounds = default.node_sound_glass_defaults(), - light_source = 10, + light_source = 12, paramtype = "light", }) @@ -144,7 +144,7 @@ for i in ipairs(glow_gem_size) do is_ground_content = true, groups = {cracky=3, oddly_breakable_by_hand=1}, sounds = default.node_sound_glass_defaults(), - light_source = 11, + light_source = 12, paramtype = "light", drawtype = "plantlike", walkable = false, @@ -204,7 +204,7 @@ minetest.register_node("caverealms:stone_with_moss", { description = "Cave Stone with Moss", tiles = {"default_cobble.png^caverealms_moss.png", "default_cobble.png", "default_cobble.png^caverealms_moss_side.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, drop = 'default:cobble', sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, @@ -216,8 +216,10 @@ minetest.register_node("caverealms:stone_with_lichen", { description = "Cave Stone with Lichen", tiles = {"default_cobble.png^caverealms_lichen.png", "default_cobble.png", "default_cobble.png^caverealms_lichen_side.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, drop = 'default:cobble', + light_source = 2, + paramtype = "light", sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }), @@ -228,7 +230,9 @@ minetest.register_node("caverealms:stone_with_algae", { description = "Cave Stone with Algae", tiles = {"default_cobble.png^caverealms_algae.png", "default_cobble.png", "default_cobble.png^caverealms_algae_side.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, + light_source = 2, + paramtype = "light", drop = 'default:cobble', sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, @@ -285,7 +289,7 @@ minetest.register_node("caverealms:mycena", { wield_image = "caverealms_mycena.png", is_ground_content = true, groups = {oddly_breakable_by_hand=3}, - light_source = 6, + light_source = 8, paramtype = "light", drawtype = "plantlike", walkable = false, @@ -323,3 +327,25 @@ minetest.register_node("caverealms:mushroom_gills", { drawtype = "plantlike", paramtype = "light", }) + +local obsidian_glow = {7, 5, 2, 0} + +for i in ipairs(obsidian_glow) do + if i == 1 then + nodename = "caverealms:obsidian" + else + nodename = "caverealms:obsidian_" .. i + end + minetest.register_node(nodename, { + description = "Obsidian", + tiles = {"default_obsidian.png"}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), + groups = { + cracky=1, level=2, not_in_creative_inventory = 1 + }, + light_source = obsidian_glow[i], + drop = "default:obsidian", + paramtype = "light", + }) +end diff --git a/coloredwood/description.txt b/coloredwood/description.txt new file mode 100644 index 00000000..e0b1dd5a --- /dev/null +++ b/coloredwood/description.txt @@ -0,0 +1 @@ +This mod provides a multitude of colors of wood, sticks, and fences to Minetest, as per the palette outlined by my Unified Dyes mod. diff --git a/coloredwood/mod.conf b/coloredwood/mod.conf new file mode 100644 index 00000000..dc263d8d --- /dev/null +++ b/coloredwood/mod.conf @@ -0,0 +1 @@ +name = coloredwood diff --git a/computer/tetris.lua b/computer/tetris.lua index 32a02393..5a9ffed8 100644 --- a/computer/tetris.lua +++ b/computer/tetris.lua @@ -270,6 +270,10 @@ minetest.register_node("computer:tetris_arcade", { end, on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above + if minetest.is_protected(pos, placer:get_player_name()) or + minetest.is_protected({x=pos.x, y=pos.y+1, z=pos.z}, placer:get_player_name()) then + return itemstack + end if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then minetest.chat_send_player(placer:get_player_name(), "No room for place the Arcade!") return end diff --git a/concrete/init.lua b/concrete/init.lua index d1fa1aa0..4d5e7814 100644 --- a/concrete/init.lua +++ b/concrete/init.lua @@ -7,11 +7,14 @@ technic.concrete_posts = {} -- Boilerplate to support localized strings if intllib mod is installed. local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end -minetest.register_alias("technic:concrete_post", "technic:concrete_post0") -minetest.register_alias("technic:concrete_post32", "technic:concrete_post12") -minetest.register_alias("technic:concrete_post33", "technic:concrete_post3") -minetest.register_alias("technic:concrete_post34", "technic:concrete_post28") -minetest.register_alias("technic:concrete_post35", "technic:concrete_post19") +for i = 0, 31 do + minetest.register_alias("technic:concrete_post"..i, + "technic:concrete_post") +end +for i = 32, 63 do + minetest.register_alias("technic:concrete_post"..i, + "technic:concrete_post_with_platform") +end local steel_ingot if minetest.get_modpath("technic_worldgen") then @@ -41,17 +44,17 @@ minetest.register_craft({ minetest.register_craft({ output = 'technic:concrete_post_platform 6', recipe = { - {'technic:concrete','technic:concrete_post0','technic:concrete'}, + {'technic:concrete','technic:concrete_post','technic:concrete'}, } }) minetest.register_craft({ - output = 'technic:concrete_post0 12', + output = 'technic:concrete_post 12', recipe = { {'default:stone','technic:rebar','default:stone'}, {'default:stone','technic:rebar','default:stone'}, {'default:stone','technic:rebar','default:stone'}, -} + } }) minetest.register_craft({ @@ -63,13 +66,6 @@ minetest.register_craft({ } }) -local box_platform = {-0.5, 0.3, -0.5, 0.5, 0.5, 0.5} -local box_center = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15} -local box_x1 = {0, -0.3, -0.1, 0.5, 0.3, 0.1} -local box_z1 = {-0.1, -0.3, 0, 0.1, 0.3, 0.5} -local box_x2 = {0, -0.3, -0.1, -0.5, 0.3, 0.1} -local box_z2 = {-0.1, -0.3, 0, 0.1, 0.3, -0.5} - minetest.register_craftitem(":technic:rebar", { description = S("Rebar"), inventory_image = "technic_rebar.png", @@ -80,27 +76,29 @@ minetest.register_node(":technic:concrete", { tiles = {"technic_concrete_block.png",}, groups = {cracky=1, level=2, concrete=1}, sounds = default.node_sound_stone_defaults(), - after_place_node = function(pos, placer, itemstack) - technic.update_posts(pos, false) - end, - after_dig_node = function (pos, oldnode, oldmetadata, digger) - technic.update_posts(pos, false) - end, }) minetest.register_node(":technic:blast_resistant_concrete", { description = S("Blast-resistant Concrete Block"), tiles = {"technic_blast_resistant_concrete_block.png",}, - groups={cracky=1, level=3, concrete=1}, + groups = {cracky=1, level=3, concrete=1}, sounds = default.node_sound_stone_defaults(), - after_place_node = function(pos, player, itemstack) - technic.update_posts(pos, false) - end, - after_dig_node = function (pos, oldnode, oldmetadata, digger) - technic.update_posts(pos, false) + on_blast = function(pos, intensity) + if intensity > 1 then + minetest.remove_node(pos) + minetest.add_item(pos, "technic:blast_resistant_concrete") + end end, }) + +local box_platform = {-0.5, 0.3, -0.5, 0.5, 0.5, 0.5} +local box_post = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15} +local box_front = {-0.1, -0.3, 0, 0.1, 0.3, -0.5} +local box_back = {-0.1, -0.3, 0, 0.1, 0.3, 0.5} +local box_left = {0, -0.3, -0.1, -0.5, 0.3, 0.1} +local box_right = {0, -0.3, -0.1, 0.5, 0.3, 0.1} + minetest.register_node(":technic:concrete_post_platform", { description = S("Concrete Post Platform"), tiles = {"technic_concrete_block.png",}, @@ -114,161 +112,45 @@ minetest.register_node(":technic:concrete_post_platform", { }, on_place = function (itemstack, placer, pointed_thing) local node = minetest.get_node(pointed_thing.under) - if not technic.concrete_posts[node.name] then + if node.name ~= "technic:concrete_post" then return minetest.item_place_node(itemstack, placer, pointed_thing) end - local links = technic.concrete_posts[node.name] - if links[6] ~= 0 then -- The post already has a platform - return minetest.item_place_node(itemstack, placer, pointed_thing) - end - local id = technic.get_post_id({links[1], links[2], links[3], links[4], links[5], 1}) - minetest.set_node(pointed_thing.under, {name="technic:concrete_post"..id}) + minetest.set_node(pointed_thing.under, {name="technic:concrete_post_with_platform"}) itemstack:take_item() placer:set_wielded_item(itemstack) return itemstack end, }) -local function gen_post_nodebox(x1, x2, z1, z2, y, platform) - local box - local xx = x1 + x2 - local zz = z1 + z2 - if ((xx == 2 and zz == 0) or (xx == 0 and zz == 2)) and y == 0 then - box = {} - else - box = {box_center} - end - if x1 ~= 0 then - table.insert(box, box_x1) - end - if x2 ~= 0 then - table.insert(box, box_x2) - end - if z1 ~= 0 then - table.insert(box, box_z1) - end - if z2 ~= 0 then - table.insert(box, box_z2) - end - if platform ~= 0 then - table.insert(box, box_platform) - end - return box -end - -local function dig_post_with_platform(pos, oldnode, oldmetadata) - oldnode.name = "technic:concrete_post0" - minetest.set_node(pos, oldnode) - technic.update_posts(pos, true) -end - -function technic.posts_should_connect(pos) - local node = minetest.get_node(pos) - if technic.concrete_posts[node.name] then - return "post" - elseif minetest.get_item_group(node.name, "concrete") ~= 0 then - return "block" - end -end - -function technic.get_post_id(links) - return (links[1] * 1) + (links[2] * 2) - + (links[3] * 4) + (links[4] * 8) - + (links[5] * 16) + (links[6] * 32) -end - -function technic.update_posts(pos, set, secondrun) - local node = minetest.get_node(pos) - local link_positions = { - {x=pos.x+1, y=pos.y, z=pos.z}, - {x=pos.x-1, y=pos.y, z=pos.z}, - {x=pos.x, y=pos.y, z=pos.z+1}, - {x=pos.x, y=pos.y, z=pos.z-1}, - {x=pos.x, y=pos.y-1, z=pos.z}, - {x=pos.x, y=pos.y+1, z=pos.z}, - } - - local links = {0, 0, 0, 0, 0, 0} - - for i, link_pos in pairs(link_positions) do - local connecttype = technic.posts_should_connect(link_pos) - if connecttype then - links[i] = 1 - -- Have posts next to us update theirselves, - -- but only once. (We don't want to start an - -- infinite loop of updates) - if not secondrun and connecttype == "post" then - technic.update_posts(link_pos, true, true) - end - end - end - - if links[5] == 1 or links[6] == 1 then - links[5] = 1 - links[6] = 0 - end - - -- We don't want to set ourselves if we have been removed or we are - -- updating a concrete node - if set then - -- Preserve platform - local oldlinks = technic.concrete_posts[node.name] - if oldlinks then - links[6] = oldlinks[6] - end - minetest.set_node(pos, {name="technic:concrete_post" - ..technic.get_post_id(links)}) - end -end - -for x1 = 0, 1 do -for x2 = 0, 1 do -for z1 = 0, 1 do -for z2 = 0, 1 do -for y = 0, 1 do for platform = 0, 1 do - local links = {x1, x2, z1, z2, y, platform} - local id = technic.get_post_id(links) - technic.concrete_posts["technic:concrete_post"..id] = links - - local groups = {cracky=1, level=2, concrete_post=1} - if id ~= 0 then - groups.not_in_creative_inventory = 1 - end - - local drop = "technic:concrete_post0" - local after_dig_node = function(pos, oldnode, oldmetadata, digger) - technic.update_posts(pos, false) - end - if platform ~= 0 then - drop = "technic:concrete_post_platform" - after_dig_node = function(pos, oldnode, oldmetadata, digger) - dig_post_with_platform(pos, oldnode, oldmetadata) + local after_dig_node = nil + if platform == 1 then + after_dig_node = function(pos, old_node) + old_node.name = "technic:concrete_post" + minetest.set_node(pos, old_node) end end - minetest.register_node(":technic:concrete_post"..id, { + minetest.register_node(":technic:concrete_post"..(platform == 1 and "_with_platform" or ""), { description = S("Concrete Post"), tiles = {"technic_concrete_block.png"}, - groups = groups, + groups = {cracky=1, level=2, concrete_post=1, not_in_creative_inventory=platform}, sounds = default.node_sound_stone_defaults(), - drop = drop, + drop = (platform == 1 and "technic:concrete_post_platform" or + "technic:concrete_post"), paramtype = "light", sunlight_propagates = true, - drawtype = "nodebox", + drawtype = "nodebox", + connects_to = {"group:concrete", "group:concrete_post"}, node_box = { - type = "fixed", - fixed = gen_post_nodebox(x1, x2, z1, z2, y, platform), + type = "connected", + fixed = {box_post, (platform == 1 and box_platform or nil)}, + connect_front = box_front, + connect_back = box_back, + connect_left = box_left, + connect_right = box_right, }, - after_place_node = function(pos, placer, itemstack) - technic.update_posts(pos, true) - end, after_dig_node = after_dig_node, }) end -end -end -end -end -end diff --git a/currency/description.txt b/currency/description.txt new file mode 100644 index 00000000..aca98908 --- /dev/null +++ b/currency/description.txt @@ -0,0 +1 @@ +Provides shops, barter tables, safes, and three denominations of currency, called "Minegeld". diff --git a/currency/mod.conf b/currency/mod.conf new file mode 100644 index 00000000..6679a26e --- /dev/null +++ b/currency/mod.conf @@ -0,0 +1 @@ +name = currency diff --git a/digilines_inventory/init.lua b/digilines_inventory/init.lua index 89aaabc4..a8e7ecff 100644 --- a/digilines_inventory/init.lua +++ b/digilines_inventory/init.lua @@ -127,7 +127,9 @@ minetest.register_node("digilines_inventory:chest", { minetest.log("action", player:get_player_name().." puts stuff into chest at "..minetest.pos_to_string(pos)) end, on_metadata_inventory_take = function(pos, listname, index, stack, player) - local inv = minetest.get_meta(pos):get_inventory() + local meta = minetest.get_meta(pos) + local channel = meta:get_string("channel") + local inv = meta:get_inventory() if inv:is_empty(listname) then sendMessage(pos, "empty", channel) end diff --git a/display_blocks/LICENSE.txt b/display_blocks/LICENSE.txt new file mode 100644 index 00000000..ff49e2d9 --- /dev/null +++ b/display_blocks/LICENSE.txt @@ -0,0 +1,29 @@ + +License: + +Copyright (C) 2016 - VanessaE, cheapie, jojoa1997 + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the authors shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from the authors. + diff --git a/display_blocks/description.txt b/display_blocks/description.txt new file mode 100644 index 00000000..af7e923f --- /dev/null +++ b/display_blocks/description.txt @@ -0,0 +1 @@ +This mod adds blocks that create crystals on top. Some have different light levels others can be seen through and i hope i can make them do other things too. diff --git a/display_blocks/mod.conf b/display_blocks/mod.conf new file mode 100644 index 00000000..2ccbba44 --- /dev/null +++ b/display_blocks/mod.conf @@ -0,0 +1 @@ +name = display_blocks diff --git a/gloopblocks/description.txt b/gloopblocks/description.txt new file mode 100644 index 00000000..c514a8e1 --- /dev/null +++ b/gloopblocks/description.txt @@ -0,0 +1,2 @@ +Adds decorative and functional blocks, including cement, rainbow blocks, "evil" blocks and sticks, +and the usual collection of tools of various strengths and speeds made from either cement or "evil" components. diff --git a/gloopblocks/init.lua b/gloopblocks/init.lua index e8061186..0d14764b 100644 --- a/gloopblocks/init.lua +++ b/gloopblocks/init.lua @@ -753,18 +753,18 @@ if minetest.setting_getbool("gloopblocks_lavacooling") ~= false then return false end - default.cool_lava_source = function(pos) - if gloopblocks_search_nearby_nodes(pos,"default:water_source") - or gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then - minetest.set_node(pos, {name="gloopblocks:obsidian_cooled"}) - end - end - - default.cool_lava_flowing = function(pos) - if gloopblocks_search_nearby_nodes(pos,"default:water_source") then - minetest.set_node(pos, {name="gloopblocks:basalt_cooled"}) - elseif gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then - minetest.set_node(pos, {name="gloopblocks:pumice_cooled"}) + default.cool_lava = function(pos, node) + if node.name == "default:lava_source" then + if gloopblocks_search_nearby_nodes(pos,"default:water_source") + or gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then + minetest.set_node(pos, {name="gloopblocks:obsidian_cooled"}) + end + else -- Lava flowing + if gloopblocks_search_nearby_nodes(pos,"default:water_source") then + minetest.set_node(pos, {name="gloopblocks:basalt_cooled"}) + elseif gloopblocks_search_nearby_nodes(pos,"default:water_flowing") then + minetest.set_node(pos, {name="gloopblocks:pumice_cooled"}) + end end end end diff --git a/gloopblocks/mod.conf b/gloopblocks/mod.conf new file mode 100644 index 00000000..e68d383c --- /dev/null +++ b/gloopblocks/mod.conf @@ -0,0 +1 @@ +name = gloopblocks diff --git a/gloopblocks/screenshot.png b/gloopblocks/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..edec75a1d5def4043f015add7dc075a92e6fa6d2 GIT binary patch literal 140425 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℞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

wUo5={qg5Q2z<+9* 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 gQVOS!6Nxe`C!1oNKMU*V_B^ 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 O0000 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 SDh<>C0000 block hash +local function hash_blockpos(pos) + return minetest.hash_node_position({ + x = math.floor(pos.x/BLOCKSIZE), + y = math.floor(pos.y/BLOCKSIZE), + z = math.floor(pos.z/BLOCKSIZE) + }) +end + +-- convert block hash --> node position +local function unhash_blockpos(hash) + return vector.multiply(minetest.get_position_from_hash(hash), BLOCKSIZE) +end + +mesecon.forceloaded_blocks = {} + +-- get node and force-load area +function mesecon.get_node_force(pos) + local hash = hash_blockpos(pos) + + if mesecon.forceloaded_blocks[hash] == nil then + -- if no more forceload spaces are available, try again next time + if minetest.forceload_block(pos) then + mesecon.forceloaded_blocks[hash] = 0 + end + else + mesecon.forceloaded_blocks[hash] = 0 + end + + return minetest.get_node_or_nil(pos) +end + +minetest.register_globalstep(function (dtime) + for hash, time in pairs(mesecon.forceloaded_blocks) do + -- unload forceloaded blocks after 10 minutes without usage + if (time > mesecon.setting("forceload_timeout", 600)) then + minetest.forceload_free_block(unhash_blockpos(hash)) + mesecon.forceloaded_blocks[hash] = nil + else + mesecon.forceloaded_blocks[hash] = time + dtime + end + end +end) + +-- Store and read the forceloaded blocks to / from a file +-- so that those blocks are remembered when the game +-- is restarted +mesecon.forceloaded_blocks = mesecon.file2table("mesecon_forceloaded") +minetest.register_on_shutdown(function() + mesecon.table2file("mesecon_forceloaded", mesecon.forceloaded_blocks) +end) diff --git a/mesecons/wires.lua b/mesecons/wires.lua index 18ae8f5b..d77904e1 100644 --- a/mesecons/wires.lua +++ b/mesecons/wires.lua @@ -22,7 +22,7 @@ local wire_getconnect = function (from_pos, self_pos) end for _, r in ipairs(mesecon.flattenrules(rules)) do - if (mesecon.cmpPos(mesecon.addPosRule(self_pos, r), from_pos)) then + if (vector.equals(vector.add(self_pos, r), from_pos)) then return true end end @@ -35,7 +35,7 @@ local wire_updateconnect = function (pos) local connections = {} for _, r in ipairs(mesecon.rules.default) do - if wire_getconnect(pos, mesecon.addPosRule(pos, r)) then + if wire_getconnect(pos, vector.add(pos, r)) then table.insert(connections, r) end end @@ -83,7 +83,7 @@ local update_on_place_dig = function (pos, node) if (not rules) then return end for _, r in ipairs(mesecon.flattenrules(rules)) do - local np = mesecon.addPosRule(pos, r) + local np = vector.add(pos, r) if minetest.registered_nodes[minetest.get_node(np).name] and minetest.registered_nodes[minetest.get_node(np).name].mesecon_wire then wire_updateconnect(np) diff --git a/mesecons_commandblock/init.lua b/mesecons_commandblock/init.lua index 8fd23f6a..9cf9b136 100644 --- a/mesecons_commandblock/init.lua +++ b/mesecons_commandblock/init.lua @@ -1,195 +1,195 @@ -minetest.register_chatcommand("say", { - params = "", - description = "Say as the server", - privs = {server=true}, - func = function(name, param) - minetest.chat_send_all(name .. ": " .. param) - end -}) - -minetest.register_chatcommand("tell", { - params = " ", - description = "Say to privately", - func = function(name, param) - local found, _, target, message = param:find("^([^%s]+)%s+(.*)$") - if found == nil then - minetest.chat_send_player(name, "Invalid usage: " .. param) - return - end - if not minetest.get_player_by_name(target) then - minetest.chat_send_player(name, "Invalid target: " .. target) - end - minetest.chat_send_player(target, name .. " whispers: " .. message, false) - end -}) - -minetest.register_chatcommand("hp", { - params = " ", - description = "Set health of to hitpoints", - privs = {ban=true}, - func = function(name, param) - local found, _, target, value = param:find("^([^%s]+)%s+(%d+)$") - if found == nil then - minetest.chat_send_player(name, "Invalid usage: " .. param) - return - end - local player = minetest.get_player_by_name(target) - if player then - player:set_hp(value) - else - minetest.chat_send_player(name, "Invalid target: " .. target) - end - end -}) - -local function initialize_data(meta) - local commands = meta:get_string("commands") - meta:set_string("formspec", - "invsize[9,5;]" .. - "textarea[0.5,0.5;8.5,4;commands;Commands;"..commands.."]" .. - "label[1,3.8;@nearest, @farthest, and @random are replaced by the respective player names]" .. - "button_exit[3.3,4.5;2,1;submit;Submit]") - local owner = meta:get_string("owner") - if owner == "" then - owner = "not owned" - else - owner = "owned by " .. owner - end - meta:set_string("infotext", "Command Block\n" .. - "(" .. owner .. ")\n" .. - "Commands: "..commands) -end - -local function construct(pos) - local meta = minetest.get_meta(pos) - - meta:set_string("commands", "tell @nearest Commandblock unconfigured") - - meta:set_string("owner", "") - - initialize_data(meta) -end - -local function after_place(pos, placer) - if placer then - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name()) - initialize_data(meta) - end -end - -local function receive_fields(pos, formname, fields, sender) - if not fields.submit then - return - end - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - if owner ~= "" and sender:get_player_name() ~= owner then - return - end - meta:set_string("commands", fields.commands) - - initialize_data(meta) -end - -local function resolve_commands(commands, pos) - local nearest, farthest = nil, nil - local min_distance, max_distance = math.huge, -1 - local players = minetest.get_connected_players() - for index, player in pairs(players) do - local distance = vector.distance(pos, player:getpos()) - if distance < min_distance then - min_distance = distance - nearest = player:get_player_name() - end - if distance > max_distance then - max_distance = distance - farthest = player:get_player_name() - end - end - local random = players[math.random(#players)]:get_player_name() - commands = commands:gsub("@nearest", nearest) - commands = commands:gsub("@farthest", farthest) - commands = commands:gsub("@random", random) - return commands -end - -local function commandblock_action_on(pos, node) - if node.name ~= "mesecons_commandblock:commandblock_off" then - return - end - - minetest.swap_node(pos, {name = "mesecons_commandblock:commandblock_on"}) - - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - if owner == "" then - return - end - - local commands = resolve_commands(meta:get_string("commands"), pos) - for _, command in pairs(commands:split("\n")) do - local pos = command:find(" ") - local cmd, param = command, "" - if pos then - cmd = command:sub(1, pos - 1) - param = command:sub(pos + 1) - end - local cmddef = minetest.chatcommands[cmd] - if not cmddef then - minetest.chat_send_player(owner, "The command "..cmd.." does not exist") - return - end - local has_privs, missing_privs = minetest.check_player_privs(owner, cmddef.privs) - if not has_privs then - minetest.chat_send_player(owner, "You don't have permission " - .."to run "..cmd - .." (missing privileges: " - ..table.concat(missing_privs, ", ")..")") - return - end - cmddef.func(owner, param) - end -end - -local function commandblock_action_off(pos, node) - if node.name == "mesecons_commandblock:commandblock_on" then - minetest.swap_node(pos, {name = "mesecons_commandblock:commandblock_off"}) - end -end - -local function can_dig(pos, player) - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - return owner == "" or owner == player:get_player_name() -end - -minetest.register_node("mesecons_commandblock:commandblock_off", { - description = "Command Block", - tiles = {"jeija_commandblock_off.png"}, - inventory_image = minetest.inventorycube("jeija_commandblock_off.png"), - groups = {cracky=2, mesecon_effector_off=1}, - on_construct = construct, - after_place_node = after_place, - on_receive_fields = receive_fields, - can_dig = can_dig, - sounds = default.node_sound_stone_defaults(), - mesecons = {effector = { - action_on = commandblock_action_on - }} -}) - -minetest.register_node("mesecons_commandblock:commandblock_on", { - tiles = {"jeija_commandblock_on.png"}, - groups = {cracky=2, mesecon_effector_on=1, not_in_creative_inventory=1}, - light_source = 10, - drop = "mesecons_commandblock:commandblock_off", - on_construct = construct, - after_place_node = after_place, - on_receive_fields = receive_fields, - can_dig = can_dig, - sounds = default.node_sound_stone_defaults(), - mesecons = {effector = { - action_off = commandblock_action_off - }} -}) +minetest.register_chatcommand("say", { + params = "", + description = "Say as the server", + privs = {server=true}, + func = function(name, param) + minetest.chat_send_all(name .. ": " .. param) + end +}) + +minetest.register_chatcommand("tell", { + params = " ", + description = "Say to privately", + func = function(name, param) + local found, _, target, message = param:find("^([^%s]+)%s+(.*)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + if not minetest.get_player_by_name(target) then + minetest.chat_send_player(name, "Invalid target: " .. target) + end + minetest.chat_send_player(target, name .. " whispers: " .. message, false) + end +}) + +minetest.register_chatcommand("hp", { + params = " ", + description = "Set health of to hitpoints", + privs = {ban=true}, + func = function(name, param) + local found, _, target, value = param:find("^([^%s]+)%s+(%d+)$") + if found == nil then + minetest.chat_send_player(name, "Invalid usage: " .. param) + return + end + local player = minetest.get_player_by_name(target) + if player then + player:set_hp(value) + else + minetest.chat_send_player(name, "Invalid target: " .. target) + end + end +}) + +local function initialize_data(meta) + local commands = meta:get_string("commands") + meta:set_string("formspec", + "invsize[9,5;]" .. + "textarea[0.5,0.5;8.5,4;commands;Commands;"..commands.."]" .. + "label[1,3.8;@nearest, @farthest, and @random are replaced by the respective player names]" .. + "button_exit[3.3,4.5;2,1;submit;Submit]") + local owner = meta:get_string("owner") + if owner == "" then + owner = "not owned" + else + owner = "owned by " .. owner + end + meta:set_string("infotext", "Command Block\n" .. + "(" .. owner .. ")\n" .. + "Commands: "..commands) +end + +local function construct(pos) + local meta = minetest.get_meta(pos) + + meta:set_string("commands", "tell @nearest Commandblock unconfigured") + + meta:set_string("owner", "") + + initialize_data(meta) +end + +local function after_place(pos, placer) + if placer then + local meta = minetest.get_meta(pos) + meta:set_string("owner", placer:get_player_name()) + initialize_data(meta) + end +end + +local function receive_fields(pos, formname, fields, sender) + if not fields.submit then + return + end + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if owner ~= "" and sender:get_player_name() ~= owner then + return + end + meta:set_string("commands", fields.commands) + + initialize_data(meta) +end + +local function resolve_commands(commands, pos) + local nearest, farthest = nil, nil + local min_distance, max_distance = math.huge, -1 + local players = minetest.get_connected_players() + for index, player in pairs(players) do + local distance = vector.distance(pos, player:getpos()) + if distance < min_distance then + min_distance = distance + nearest = player:get_player_name() + end + if distance > max_distance then + max_distance = distance + farthest = player:get_player_name() + end + end + local random = players[math.random(#players)]:get_player_name() + commands = commands:gsub("@nearest", nearest) + commands = commands:gsub("@farthest", farthest) + commands = commands:gsub("@random", random) + return commands +end + +local function commandblock_action_on(pos, node) + if node.name ~= "mesecons_commandblock:commandblock_off" then + return + end + + minetest.swap_node(pos, {name = "mesecons_commandblock:commandblock_on"}) + + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + if owner == "" then + return + end + + local commands = resolve_commands(meta:get_string("commands"), pos) + for _, command in pairs(commands:split("\n")) do + local pos = command:find(" ") + local cmd, param = command, "" + if pos then + cmd = command:sub(1, pos - 1) + param = command:sub(pos + 1) + end + local cmddef = minetest.chatcommands[cmd] + if not cmddef then + minetest.chat_send_player(owner, "The command "..cmd.." does not exist") + return + end + local has_privs, missing_privs = minetest.check_player_privs(owner, cmddef.privs) + if not has_privs then + minetest.chat_send_player(owner, "You don't have permission " + .."to run "..cmd + .." (missing privileges: " + ..table.concat(missing_privs, ", ")..")") + return + end + cmddef.func(owner, param) + end +end + +local function commandblock_action_off(pos, node) + if node.name == "mesecons_commandblock:commandblock_on" then + minetest.swap_node(pos, {name = "mesecons_commandblock:commandblock_off"}) + end +end + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + return owner == "" or owner == player:get_player_name() +end + +minetest.register_node("mesecons_commandblock:commandblock_off", { + description = "Command Block", + tiles = {"jeija_commandblock_off.png"}, + inventory_image = minetest.inventorycube("jeija_commandblock_off.png"), + groups = {cracky=2, mesecon_effector_off=1}, + on_construct = construct, + after_place_node = after_place, + on_receive_fields = receive_fields, + can_dig = can_dig, + sounds = default.node_sound_stone_defaults(), + mesecons = {effector = { + action_on = commandblock_action_on + }} +}) + +minetest.register_node("mesecons_commandblock:commandblock_on", { + tiles = {"jeija_commandblock_on.png"}, + groups = {cracky=2, mesecon_effector_on=1, not_in_creative_inventory=1}, + light_source = 10, + drop = "mesecons_commandblock:commandblock_off", + on_construct = construct, + after_place_node = after_place, + on_receive_fields = receive_fields, + can_dig = can_dig, + sounds = default.node_sound_stone_defaults(), + mesecons = {effector = { + action_off = commandblock_action_off + }} +}) diff --git a/mesecons_detector/init.lua b/mesecons_detector/init.lua index 084535b2..65e5c6e6 100644 --- a/mesecons_detector/init.lua +++ b/mesecons_detector/init.lua @@ -4,16 +4,15 @@ local GET_COMMAND = "GET" -- Detects players in a certain radius -- The radius can be specified in mesecons/settings.lua -local object_detector_make_formspec = function (pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", "size[9,2.5]" .. +local function object_detector_make_formspec(pos) + minetest.get_meta(pos):set_string("formspec", "size[9,2.5]" .. "field[0.3, 0;9,2;scanname;Name of player to scan for (empty for any):;${scanname}]".. "field[0.3,1.5;4,2;digiline_channel;Digiline Channel (optional):;${digiline_channel}]".. "button_exit[7,0.75;2,3;;Save]") end -local object_detector_on_receive_fields = function(pos, formname, fields) - if not fields.scanname or not fields.digiline_channel then return end; +local function object_detector_on_receive_fields(pos, _, fields) + if not fields.scanname or not fields.digiline_channel then return end local meta = minetest.get_meta(pos) meta:set_string("scanname", fields.scanname) @@ -22,25 +21,35 @@ local object_detector_on_receive_fields = function(pos, formname, fields) end -- returns true if player was found, false if not -local object_detector_scan = function (pos) +local function object_detector_scan(pos) local objs = minetest.get_objects_inside_radius(pos, mesecon.setting("detector_radius", 6)) - for k, obj in pairs(objs) do - local isname = obj:get_player_name() -- "" is returned if it is not a player; "" ~= nil! - local scanname = minetest.get_meta(pos):get_string("scanname") - if (isname == scanname and isname ~= "") or (isname ~= "" and scanname == "") then -- player with scanname found or not scanname specified - return true + + -- abort if no scan results were found + if next(objs) == nil then return false end + + local scanname = minetest.get_meta(pos):get_string("scanname") + local every_player = scanname == "" + for _, obj in pairs(objs) do + -- "" is returned if it is not a player; "" ~= nil; so only handle objects with foundname ~= "" + local foundname = obj:get_player_name() + + if foundname ~= "" then + -- return true if scanning for any player or if specific playername was detected + if scanname == "" or foundname == scanname then + return true + end end end + return false end -- set player name when receiving a digiline signal on a specific channel local object_detector_digiline = { effector = { - action = function (pos, node, channel, msg) + action = function(pos, node, channel, msg) local meta = minetest.get_meta(pos) - local active_channel = meta:get_string("digiline_channel") - if channel == active_channel then + if channel == meta:get_string("digiline_channel") then meta:set_string("scanname", msg) object_detector_make_formspec(pos) end @@ -89,43 +98,44 @@ minetest.register_craft({ } }) -minetest.register_abm( - {nodenames = {"mesecons_detector:object_detector_off"}, - interval = 1.0, +minetest.register_abm({ + nodenames = {"mesecons_detector:object_detector_off"}, + interval = 1, chance = 1, - action = function(pos) - if object_detector_scan(pos) then - minetest.swap_node(pos, {name = "mesecons_detector:object_detector_on"}) - mesecon.receptor_on(pos, mesecon.rules.pplate) - end + action = function(pos, node) + if not object_detector_scan(pos) then return end + + node.name = "mesecons_detector:object_detector_on" + minetest.swap_node(pos, node) + mesecon.receptor_on(pos, mesecon.rules.pplate) end, }) -minetest.register_abm( - {nodenames = {"mesecons_detector:object_detector_on"}, - interval = 1.0, +minetest.register_abm({ + nodenames = {"mesecons_detector:object_detector_on"}, + interval = 1, chance = 1, - action = function(pos) - if not object_detector_scan(pos) then - minetest.swap_node(pos, {name = "mesecons_detector:object_detector_off"}) - mesecon.receptor_off(pos, mesecon.rules.pplate) - end + action = function(pos, node) + if object_detector_scan(pos) then return end + + node.name = "mesecons_detector:object_detector_off" + minetest.swap_node(pos, node) + mesecon.receptor_off(pos, mesecon.rules.pplate) end, }) -- Node detector -- Detects the node in front of it -local node_detector_make_formspec = function (pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", "size[9,2.5]" .. +local function node_detector_make_formspec(pos) + minetest.get_meta(pos):set_string("formspec", "size[9,2.5]" .. "field[0.3, 0;9,2;scanname;Name of node to scan for (empty for any):;${scanname}]".. "field[0.3,1.5;4,2;digiline_channel;Digiline Channel (optional):;${digiline_channel}]".. "button_exit[7,0.75;2,3;;Save]") end -local node_detector_on_receive_fields = function(pos, formname, fields) - if not fields.scanname or not fields.digiline_channel then return end; +local function node_detector_on_receive_fields(pos, _, fields) + if not fields.scanname or not fields.digiline_channel then return end local meta = minetest.get_meta(pos) meta:set_string("scanname", fields.scanname) @@ -133,41 +143,59 @@ local node_detector_on_receive_fields = function(pos, formname, fields) node_detector_make_formspec(pos) end --- returns true if player was found, false if not -local node_detector_scan = function (pos) - if not pos then return end +-- returns true if node was found, false if not +local function node_detector_scan(pos) local node = minetest.get_node_or_nil(pos) if not node then return end - local scandir = minetest.facedir_to_dir(node.param2) - if not scandir then return end - local frontpos = vector.subtract(pos, scandir) - local frontnode = minetest.get_node(frontpos) - local meta = minetest.get_meta(pos) - return (frontnode.name == meta:get_string("scanname")) or - (frontnode.name ~= "air" and frontnode.name ~= "ignore" and meta:get_string("scanname") == "") + + local frontname = minetest.get_node( + vector.subtract(pos, minetest.facedir_to_dir(node.param2)) + ).name + local scanname = minetest.get_meta(pos):get_string("scanname") + + return (frontname == scanname) or + (frontname ~= "air" and frontname ~= "ignore" and scanname == "") end -- set player name when receiving a digiline signal on a specific channel local node_detector_digiline = { effector = { - action = function (pos, node, channel, msg) + action = function(pos, node, channel, msg) local meta = minetest.get_meta(pos) - local active_channel = meta:get_string("digiline_channel") - if channel == active_channel then - if msg == GET_COMMAND then - local frontpos = vector.subtract(pos, minetest.facedir_to_dir(node.param2)) - local name = minetest.get_node(frontpos).name - digiline:receptor_send(pos, digiline.rules.default, channel, name) - else - meta:set_string("scanname", msg) - node_detector_make_formspec(pos) - end + if channel ~= meta:get_string("digiline_channel") then return end + + if msg == GET_COMMAND then + local nodename = minetest.get_node( + vector.subtract(pos, minetest.facedir_to_dir(node.param2)) + ).name + + digiline:receptor_send(pos, digiline.rules.default, channel, nodename) + else + meta:set_string("scanname", msg) + node_detector_make_formspec(pos) end end, }, receptor = {} } +local function after_place_node_detector(pos, placer) + local placer_pos = placer:getpos() + if not placer_pos then + return + end + + --correct for the player's height + if placer:is_player() then + placer_pos.y = placer_pos.y + 1.625 + end + + --correct for 6d facedir + local node = minetest.get_node(pos) + node.param2 = minetest.dir_to_facedir(vector.subtract(pos, placer_pos), true) + minetest.set_node(pos, node) +end + minetest.register_node("mesecons_detector:node_detector_off", { tiles = {"default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "jeija_node_detector_off.png"}, paramtype = "light", @@ -180,25 +208,7 @@ minetest.register_node("mesecons_detector:node_detector_off", { }}, on_construct = node_detector_make_formspec, on_receive_fields = node_detector_on_receive_fields, - after_place_node = function (pos, placer) - local placer_pos = placer:getpos() - - --correct for the player's height - if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end - - --correct for 6d facedir - if placer_pos then - local dir = { - x = pos.x - placer_pos.x, - y = pos.y - placer_pos.y, - z = pos.z - placer_pos.z - } - local node = minetest.get_node(pos) - node.param2 = minetest.dir_to_facedir(dir, true) - minetest.set_node(pos, node) - minetest.log("action", "real (6d) facedir: " .. node.param2) - end - end, + after_place_node = after_place_node_detector, sounds = default.node_sound_stone_defaults(), digiline = node_detector_digiline }) @@ -215,25 +225,7 @@ minetest.register_node("mesecons_detector:node_detector_on", { }}, on_construct = node_detector_make_formspec, on_receive_fields = node_detector_on_receive_fields, - after_place_node = function (pos, placer) - local placer_pos = placer:getpos() - - --correct for the player's height - if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end - - --correct for 6d facedir - if placer_pos then - local dir = { - x = pos.x - placer_pos.x, - y = pos.y - placer_pos.y, - z = pos.z - placer_pos.z - } - local node = minetest.get_node(pos) - node.param2 = minetest.dir_to_facedir(dir, true) - minetest.set_node(pos, node) - minetest.log("action", "real (6d) facedir: " .. node.param2) - end - end, + after_place_node = after_place_node_detector, sounds = default.node_sound_stone_defaults(), digiline = node_detector_digiline }) @@ -247,26 +239,28 @@ minetest.register_craft({ } }) -minetest.register_abm( - {nodenames = {"mesecons_detector:node_detector_off"}, - interval = 1.0, +minetest.register_abm({ + nodenames = {"mesecons_detector:node_detector_off"}, + interval = 1, chance = 1, action = function(pos, node) - if node_detector_scan(pos) then - minetest.swap_node(pos, {name = "mesecons_detector:node_detector_on", param2 = node.param2}) - mesecon.receptor_on(pos) - end + if not node_detector_scan(pos) then return end + + node.name = "mesecons_detector:node_detector_on" + minetest.swap_node(pos, node) + mesecon.receptor_on(pos) end, }) -minetest.register_abm( - {nodenames = {"mesecons_detector:node_detector_on"}, - interval = 1.0, +minetest.register_abm({ + nodenames = {"mesecons_detector:node_detector_on"}, + interval = 1, chance = 1, action = function(pos, node) - if not node_detector_scan(pos) then - minetest.swap_node(pos, {name = "mesecons_detector:node_detector_off", param2 = node.param2}) - mesecon.receptor_off(pos) - end + if node_detector_scan(pos) then return end + + node.name = "mesecons_detector:node_detector_off" + minetest.swap_node(pos, node) + mesecon.receptor_off(pos) end, }) diff --git a/mesecons_doors/init.lua b/mesecons_doors/init.lua index 7346128a..52d6c177 100644 --- a/mesecons_doors/init.lua +++ b/mesecons_doors/init.lua @@ -20,31 +20,53 @@ local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) end local function meseconify_door(name) - if not minetest.registered_items[name] then return end + if minetest.registered_items[name .. "_b_1"] then + -- old style double-node doors + local function toggle_state1 (pos, node) + on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) + end - local function toggle_state1 (pos, node) - on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0}) + local function toggle_state2 (pos, node) + on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) + end + + minetest.override_item(name.."_b_1", { + mesecons = {effector = { + action_on = toggle_state1, + action_off = toggle_state1, + rules = mesecon.rules.pplate + }} + }) + + minetest.override_item(name.."_b_2", { + mesecons = {effector = { + action_on = toggle_state2, + action_off = toggle_state2, + rules = mesecon.rules.pplate + }} + }) + elseif minetest.registered_items[name .. "_a"] then + -- new style mesh node based doors + local override = { + mesecons = {effector = { + action_on = function(pos, node) + local door = doors.get(pos) + if door then + door:open() + end + end, + action_off = function(pos, node) + local door = doors.get(pos) + if door then + door:close() + end + end, + rules = mesecon.rules.pplate + }} + } + minetest.override_item(name .. "_a", override) + minetest.override_item(name .. "_b", override) end - - local function toggle_state2 (pos, node) - on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2}) - end - - minetest.override_item(name.."_b_1", { - mesecons = {effector = { - action_on = toggle_state1, - action_off = toggle_state1, - rules = mesecon.rules.pplate - }}, - }) - - minetest.override_item(name.."_b_2", { - mesecons = {effector = { - action_on = toggle_state2, - action_off = toggle_state2, - rules = mesecon.rules.pplate - }}, - }) end meseconify_door("doors:door_wood") @@ -67,18 +89,41 @@ local function trapdoor_switch(pos, node) minetest.get_meta(pos):set_int("state", state == 1 and 0 or 1) end -if minetest.registered_nodes["doors:trapdoor"] then - minetest.override_item("doors:trapdoor", { +if doors and doors.get then + local override = { mesecons = {effector = { - action_on = trapdoor_switch, - action_off = trapdoor_switch + action_on = function(pos, node) + local door = doors.get(pos) + if door then + door:open() + end + end, + action_off = function(pos, node) + local door = doors.get(pos) + if door then + door:close() + end + end, }}, - }) + } + minetest.override_item("doors:trapdoor", override) + minetest.override_item("doors:trapdoor_open", override) + minetest.override_item("doors:trapdoor_steel", override) + minetest.override_item("doors:trapdoor_steel_open", override) +else + if minetest.registered_nodes["doors:trapdoor"] then + minetest.override_item("doors:trapdoor", { + mesecons = {effector = { + action_on = trapdoor_switch, + action_off = trapdoor_switch + }}, + }) - minetest.override_item("doors:trapdoor_open", { - mesecons = {effector = { - action_on = trapdoor_switch, - action_off = trapdoor_switch - }}, - }) + minetest.override_item("doors:trapdoor_open", { + mesecons = {effector = { + action_on = trapdoor_switch, + action_off = trapdoor_switch + }}, + }) + end end diff --git a/mesecons_extrawires/vertical.lua b/mesecons_extrawires/vertical.lua index cac2ae23..f3232d8b 100644 --- a/mesecons_extrawires/vertical.lua +++ b/mesecons_extrawires/vertical.lua @@ -42,33 +42,37 @@ local vertical_updatepos = function (pos) local node = minetest.get_node(pos) if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].is_vertical_conductor then - local node_above = minetest.get_node(mesecon.addPosRule(pos, vertical_rules[1])) - local node_below = minetest.get_node(mesecon.addPosRule(pos, vertical_rules[2])) - local namestate = minetest.registered_nodes[node.name].vertical_conductor_state + local node_above = minetest.get_node(vector.add(pos, vertical_rules[1])) + local node_below = minetest.get_node(vector.add(pos, vertical_rules[2])) local above = minetest.registered_nodes[node_above.name] and minetest.registered_nodes[node_above.name].is_vertical_conductor local below = minetest.registered_nodes[node_below.name] and minetest.registered_nodes[node_below.name].is_vertical_conductor - local basename = "mesecons_extrawires:vertical_" + mesecon.on_dignode(pos, node) + + -- Always place offstate conductor and let mesecon.on_placenode take care + local newname = "mesecons_extrawires:vertical_" if above and below then -- above and below: vertical mesecon - minetest.add_node(pos, {name = basename .. namestate}) + newname = newname .. "off" elseif above and not below then -- above only: bottom - minetest.add_node(pos, {name = basename .. "bottom_" .. namestate}) + newname = newname .. "bottom_off" elseif not above and below then -- below only: top - minetest.add_node(pos, {name = basename .. "top_" .. namestate}) + newname = newname .. "top_off" else -- no vertical wire above, no vertical wire below: use bottom - minetest.add_node(pos, {name = basename .. "bottom_" .. namestate}) + newname = newname .. "bottom_off" end - mesecon.update_autoconnect(pos) + + minetest.set_node(pos, {name = newname}) + mesecon.on_placenode(pos, {name = newname}) end end local vertical_update = function (pos, node) vertical_updatepos(pos) -- this one - vertical_updatepos(mesecon.addPosRule(pos, vertical_rules[1])) -- above - vertical_updatepos(mesecon.addPosRule(pos, vertical_rules[2])) -- below + vertical_updatepos(vector.add(pos, vertical_rules[1])) -- above + vertical_updatepos(vector.add(pos, vertical_rules[2])) -- below end -- Vertical wire @@ -87,7 +91,6 @@ mesecon.register_node("mesecons_extrawires:vertical", { },{ tiles = {"mesecons_wire_off.png"}, groups = {dig_immediate=3}, - vertical_conductor_state = "off", mesecons = {conductor = { state = mesecon.state.off, onstate = "mesecons_extrawires:vertical_on", @@ -96,7 +99,6 @@ mesecon.register_node("mesecons_extrawires:vertical", { },{ tiles = {"mesecons_wire_on.png"}, groups = {dig_immediate=3, not_in_creative_inventory=1}, - vertical_conductor_state = "on", mesecons = {conductor = { state = mesecon.state.on, offstate = "mesecons_extrawires:vertical_off", @@ -120,7 +122,6 @@ mesecon.register_node("mesecons_extrawires:vertical_top", { after_dig_node = vertical_update },{ tiles = {"mesecons_wire_off.png"}, - vertical_conductor_state = "off", mesecons = {conductor = { state = mesecon.state.off, onstate = "mesecons_extrawires:vertical_top_on", @@ -128,7 +129,6 @@ mesecon.register_node("mesecons_extrawires:vertical_top", { }} },{ tiles = {"mesecons_wire_on.png"}, - vertical_conductor_state = "on", mesecons = {conductor = { state = mesecon.state.on, offstate = "mesecons_extrawires:vertical_top_off", @@ -152,7 +152,6 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", { after_dig_node = vertical_update },{ tiles = {"mesecons_wire_off.png"}, - vertical_conductor_state = "off", mesecons = {conductor = { state = mesecon.state.off, onstate = "mesecons_extrawires:vertical_bottom_on", @@ -160,7 +159,6 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", { }} },{ tiles = {"mesecons_wire_on.png"}, - vertical_conductor_state = "on", mesecons = {conductor = { state = mesecon.state.on, offstate = "mesecons_extrawires:vertical_bottom_off", diff --git a/mesecons_hydroturbine/init.lua b/mesecons_hydroturbine/init.lua index d1c08f79..f1292e93 100644 --- a/mesecons_hydroturbine/init.lua +++ b/mesecons_hydroturbine/init.lua @@ -60,7 +60,7 @@ nodenames = {"mesecons_hydroturbine:hydro_turbine_off"}, action = function(pos, node, active_object_count, active_object_count_wider) local waterpos={x=pos.x, y=pos.y+1, z=pos.z} if minetest.get_node(waterpos).name=="default:water_flowing" then - minetest.add_node(pos, {name="mesecons_hydroturbine:hydro_turbine_on"}) + minetest.set_node(pos, {name="mesecons_hydroturbine:hydro_turbine_on"}) nodeupdate(pos) mesecon.receptor_on(pos) end @@ -74,7 +74,7 @@ nodenames = {"mesecons_hydroturbine:hydro_turbine_on"}, action = function(pos, node, active_object_count, active_object_count_wider) local waterpos={x=pos.x, y=pos.y+1, z=pos.z} if minetest.get_node(waterpos).name~="default:water_flowing" then - minetest.add_node(pos, {name="mesecons_hydroturbine:hydro_turbine_off"}) + minetest.set_node(pos, {name="mesecons_hydroturbine:hydro_turbine_off"}) nodeupdate(pos) mesecon.receptor_off(pos) end diff --git a/mesecons_luacontroller/init.lua b/mesecons_luacontroller/init.lua index 839d1506..7df2bdc9 100644 --- a/mesecons_luacontroller/init.lua +++ b/mesecons_luacontroller/init.lua @@ -205,6 +205,17 @@ local function safe_date() return(os.date("*t",os.time())) end +-- string.rep(str, n) with a high value for n can be used to DoS +-- the server. Therefore, limit max. length of generated string. +local function safe_string_rep(str, n) + if #str * n > mesecon.setting("luacontroller_string_rep_max", 64000) then + debug.sethook() -- Clear hook + error("string.rep: string length overflow", 2) + end + + return string.rep(str, n) +end + local function remove_functions(x) local tp = type(x) if tp == "table" then @@ -249,8 +260,8 @@ end local safe_globals = { - "assert", "error", "ipairs", "next", "pairs", "pcall", "select", - "tonumber", "tostring", "type", "unpack", "_VERSION", "xpcall", + "assert", "error", "ipairs", "next", "pairs", "select", + "tonumber", "tostring", "type", "unpack", "_VERSION" } local function create_environment(pos, mem, event) -- Gather variables for the environment @@ -275,11 +286,10 @@ local function create_environment(pos, mem, event) byte = string.byte, char = string.char, format = string.format, - gsub = string.gsub, len = string.len, lower = string.lower, upper = string.upper, - rep = string.rep, + rep = safe_string_rep, reverse = string.reverse, sub = string.sub, }, @@ -339,18 +349,18 @@ end local function timeout() - debug.sethook() -- Clear hook - error("Code timed out!") + debug.sethook() -- Clear hook + error("Code timed out!", 2) end local function code_prohibited(code) -- LuaJIT doesn't increment the instruction counter when running -- loops, so we have to sanitize inputs if we're using LuaJIT. - if not jit then + if not rawget(_G, "jit") then return false end - local prohibited = {"while", "for", "do", "repeat", "until", "goto"} + local prohibited = {"while", "for", "repeat", "until", "goto"} code = " "..code.." " for _, p in ipairs(prohibited) do if string.find(code, "[^%w_]"..p.."[^%w_]") then @@ -369,10 +379,26 @@ local function create_sandbox(code, env) setfenv(f, env) return function(...) - debug.sethook(timeout, "", 10000) + -- Normal Lua: Use instruction counter to stop execution + -- after luacontroller_maxevents. + -- LuaJIT: Count function calls instead of instructions, allows usage + -- of function keyword. However, LuaJIT still doesn't trigger + -- lines events when using infinite loops. + local maxevents = mesecon.setting("luacontroller_maxevents", 10000) + if not rawget(_G, "jit") then + debug.sethook(timeout, "", maxevents) + else + local events = 0 + debug.sethook(function () + events = events + 1 + if events > maxevents then + timeout() + end + end, "c") + end local ok, ret = pcall(f, ...) debug.sethook() -- Clear hook - if not ok then error(ret) end + if not ok then error(ret, 0) end return ret end end diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua index beec94bd..1707408f 100644 --- a/mesecons_mvps/init.lua +++ b/mesecons_mvps/init.lua @@ -15,10 +15,16 @@ end -- Nodes that cannot be pushed / pulled by movestones, pistons function mesecon.is_mvps_stopper(node, pushdir, stack, stackid) + -- unknown nodes are always stoppers + if not minetest.registered_nodes[node.name] then + return true + end + local get_stopper = mesecon.mvps_stoppers[node.name] if type (get_stopper) == "function" then get_stopper = get_stopper(node, pushdir, stack, stackid) end + return get_stopper end @@ -47,6 +53,17 @@ function mesecon.mvps_process_stack(stack) end end +-- tests if the node can be pushed into, e.g. air, water, grass +local function node_replaceable(name) + if name == "ignore" then return true end + + if minetest.registered_nodes[name] then + return minetest.registered_nodes[name].buildable_to or false + end + + return false +end + function mesecon.mvps_get_stack(pos, dir, maximum, all_pull_sticky) -- determine the number of nodes to be pushed local nodes = {} @@ -56,9 +73,7 @@ function mesecon.mvps_get_stack(pos, dir, maximum, all_pull_sticky) local np = frontiers[1] local nn = minetest.get_node(np) - if nn.name ~= "air" - and minetest.registered_nodes[nn.name] - and minetest.registered_nodes[nn.name].liquidtype == "none" then + if not node_replaceable(nn.name) then table.insert(nodes, {node = nn, pos = np}) if #nodes > maximum then return nil end @@ -160,9 +175,9 @@ function mesecon.mvps_push_or_pull(pos, stackdir, movedir, maximum, all_pull_sti -- add nodes for _, n in ipairs(nodes) do - local np = mesecon.addPosRule(n.pos, movedir) + local np = vector.add(n.pos, movedir) - minetest.add_node(np, n.node) + minetest.set_node(np, n.node) minetest.get_meta(np):from_table(n.meta) end @@ -171,7 +186,7 @@ function mesecon.mvps_push_or_pull(pos, stackdir, movedir, maximum, all_pull_sti for i in ipairs(nodes) do moved_nodes[i] = {} moved_nodes[i].oldpos = nodes[i].pos - nodes[i].pos = mesecon.addPosRule(nodes[i].pos, movedir) + nodes[i].pos = vector.add(nodes[i].pos, movedir) moved_nodes[i].pos = nodes[i].pos moved_nodes[i].node = nodes[i].node moved_nodes[i].meta = nodes[i].meta @@ -192,12 +207,8 @@ end) function mesecon.mvps_move_objects(pos, dir, nodestack) local objects_to_move = {} - -- Move object at tip of stack - local pushpos = mesecon.addPosRule(pos, -- get pos at tip of stack - {x = dir.x * #nodestack, - y = dir.y * #nodestack, - z = dir.z * #nodestack}) - + -- Move object at tip of stack, pushpos is position at tip of stack + local pushpos = vector.add(pos, vector.multiply(dir, #nodestack)) local objects = minetest.get_objects_inside_radius(pushpos, 1) for _, obj in ipairs(objects) do @@ -208,7 +219,7 @@ function mesecon.mvps_move_objects(pos, dir, nodestack) if tonumber(minetest.setting_get("movement_gravity")) > 0 and dir.y == 0 then -- If gravity positive and dir horizontal, push players standing on the stack for _, n in ipairs(nodestack) do - local p_above = mesecon.addPosRule(n.pos, {x=0, y=1, z=0}) + local p_above = vector.add(n.pos, {x=0, y=1, z=0}) local objects = minetest.get_objects_inside_radius(p_above, 1) for _, obj in ipairs(objects) do table.insert(objects_to_move, obj) @@ -219,7 +230,7 @@ function mesecon.mvps_move_objects(pos, dir, nodestack) for _, obj in ipairs(objects_to_move) do local entity = obj:get_luaentity() if not entity or not mesecon.is_mvps_unmov(entity.name) then - local np = mesecon.addPosRule(obj:getpos(), dir) + local np = vector.add(obj:getpos(), dir) --move only if destination is not solid local nn = minetest.get_node(np) diff --git a/mesecons_noteblock/init.lua b/mesecons_noteblock/init.lua index d5e49fff..d5e365c0 100644 --- a/mesecons_noteblock/init.lua +++ b/mesecons_noteblock/init.lua @@ -5,7 +5,7 @@ minetest.register_node("mesecons_noteblock:noteblock", { on_punch = function(pos, node) -- change sound when punched node.param2 = (node.param2+1)%12 mesecon.noteblock_play(pos, node.param2) - minetest.add_node(pos, node) + minetest.set_node(pos, node) end, sounds = default.node_sound_wood_defaults(), mesecons = {effector = { -- play sound when activated diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua index bad061a5..474f621b 100644 --- a/mesecons_pistons/init.lua +++ b/mesecons_pistons/init.lua @@ -57,7 +57,7 @@ end local piston_remove_pusher = function(pos, node) local pistonspec = minetest.registered_nodes[node.name].mesecons_piston local dir = piston_get_direction(pistonspec.dir, node) - local pusherpos = mesecon.addPosRule(pos, dir) + local pusherpos = vector.add(pos, dir) local pushername = minetest.get_node(pusherpos).name -- make sure there actually is a pusher (for compatibility reasons mainly) @@ -78,12 +78,12 @@ local piston_on = function(pos, node) local pistonspec = minetest.registered_nodes[node.name].mesecons_piston local dir = piston_get_direction(pistonspec.dir, node) - local np = mesecon.addPosRule(pos, dir) + local np = vector.add(pos, dir) local maxpush = mesecon.setting("piston_max_push", 15) local success, stack, oldstack = mesecon.mvps_push(np, dir, maxpush) if success then - minetest.add_node(pos, {param2 = node.param2, name = pistonspec.onname}) - minetest.add_node(np, {param2 = node.param2, name = pistonspec.pusher}) + minetest.set_node(pos, {param2 = node.param2, name = pistonspec.onname}) + minetest.set_node(np, {param2 = node.param2, name = pistonspec.pusher}) minetest.sound_play("piston_extend", { pos = pos, max_hear_distance = 20, @@ -96,7 +96,7 @@ end local piston_off = function(pos, node) local pistonspec = minetest.registered_nodes[node.name].mesecons_piston - minetest.add_node(pos, {param2 = node.param2, name = pistonspec.offname}) + minetest.set_node(pos, {param2 = node.param2, name = pistonspec.offname}) piston_remove_pusher(pos, node) if pistonspec.sticky then @@ -117,10 +117,16 @@ local piston_orientate = function(pos, placer) local node = minetest.get_node(pos) local pistonspec = minetest.registered_nodes[node.name].mesecons_piston - if pitch > 55 then --looking upwards - minetest.add_node(pos, {name=pistonspec.piston_down}) - elseif pitch < -55 then --looking downwards - minetest.add_node(pos, {name=pistonspec.piston_up}) + + -- looking upwards (pitch > 55) / looking downwards (pitch < -55) + local nn = nil + if pitch > 55 then nn = {name = pistonspec.piston_down} end + if pitch < -55 then nn = {name = pistonspec.piston_up} end + + if nn then + minetest.set_node(pos, nn) + -- minetest.after, because on_placenode for unoriented piston must be processed first + minetest.after(0, mesecon.on_placenode, pos, nn) end end @@ -719,12 +725,12 @@ end local piston_get_stopper = function (node, dir, stack, stackid) pistonspec = minetest.registered_nodes[node.name].mesecons_piston dir = piston_get_direction(pistonspec.dir, node) - local pusherpos = mesecon.addPosRule(stack[stackid].pos, dir) + local pusherpos = vector.add(stack[stackid].pos, dir) local pushernode = minetest.get_node(pusherpos) if minetest.registered_nodes[node.name].mesecons_piston.pusher == pushernode.name then for _, s in ipairs(stack) do - if mesecon.cmpPos(s.pos, pusherpos) -- pusher is also to be pushed + if vector.equals(s.pos, pusherpos) -- pusher is also to be pushed and s.node.param2 == node.param2 then return false end diff --git a/mesecons_pressureplates/init.lua b/mesecons_pressureplates/init.lua index b00db9a1..858f6ab8 100644 --- a/mesecons_pressureplates/init.lua +++ b/mesecons_pressureplates/init.lua @@ -17,16 +17,16 @@ pp_on_timer = function (pos, elapsed) if not basename then return end local objs = minetest.get_objects_inside_radius(pos, 1) - local two_below = mesecon.addPosRule(pos, {x = 0, y = -2, z = 0}) + local two_below = vector.add(pos, vector.new(0, -2, 0)) if objs[1] == nil and node.name == basename .. "_on" then - minetest.add_node(pos, {name = basename .. "_off"}) + minetest.set_node(pos, {name = basename .. "_off"}) mesecon.receptor_off(pos, mesecon.rules.pplate) elseif node.name == basename .. "_off" then for k, obj in pairs(objs) do local objpos = obj:getpos() if objpos.y > pos.y-1 and objpos.y < pos.y then - minetest.add_node(pos, {name = basename .. "_on"}) + minetest.set_node(pos, {name = basename .. "_on"}) mesecon.receptor_on(pos, mesecon.rules.pplate ) end end diff --git a/mesecons_random/init.lua b/mesecons_random/init.lua index 01363092..9e0e333f 100644 --- a/mesecons_random/init.lua +++ b/mesecons_random/init.lua @@ -66,10 +66,10 @@ minetest.register_node("mesecons_random:ghoststone_active", { offstate = "mesecons_random:ghoststone" }}, on_construct = function(pos) - --remove shadow - pos2 = {x = pos.x, y = pos.y + 1, z = pos.z} - if ( minetest.get_node(pos2).name == "air" ) then - minetest.dig_node(pos2) + -- remove shadow + shadowpos = vector.add(pos, vector.new(0, 1, 0)) + if (minetest.get_node(shadowpos).name == "air") then + minetest.dig_node(shadowpos) end end }) diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua index 4d60365d..36f46591 100644 --- a/mesecons_receiver/init.lua +++ b/mesecons_receiver/init.lua @@ -105,10 +105,10 @@ function mesecon.receiver_place(rcpt_pos) if string.find(nn.name, "mesecons:wire_") ~= nil then minetest.dig_node(pos) if mesecon.is_power_on(rcpt_pos) then - minetest.add_node(pos, {name = "mesecons_receiver:receiver_on", param2 = node.param2}) + minetest.set_node(pos, {name = "mesecons_receiver:receiver_on", param2 = node.param2}) mesecon.receptor_on(pos, receiver_get_rules(node)) else - minetest.add_node(pos, {name = "mesecons_receiver:receiver_off", param2 = node.param2}) + minetest.set_node(pos, {name = "mesecons_receiver:receiver_off", param2 = node.param2}) end mesecon.update_autoconnect(pos) end @@ -120,7 +120,7 @@ function mesecon.receiver_remove(rcpt_pos, dugnode) if string.find(nn.name, "mesecons_receiver:receiver_") ~=nil then minetest.dig_node(pos) local node = {name = "mesecons:wire_00000000_off"} - minetest.add_node(pos, node) + minetest.set_node(pos, node) mesecon.update_autoconnect(pos) mesecon.on_placenode(pos, node) end diff --git a/mesecons_torch/init.lua b/mesecons_torch/init.lua index 5d1ad8f0..8b1632b3 100644 --- a/mesecons_torch/init.lua +++ b/mesecons_torch/init.lua @@ -91,7 +91,7 @@ minetest.register_abm({ action = function(pos, node) local is_powered = false for _, rule in ipairs(torch_get_input_rules(node)) do - local src = mesecon.addPosRule(pos, rule) + local src = vector.add(pos, rule) if mesecon.is_power_on(src) then is_powered = true end diff --git a/moreblocks/circular_saw.lua b/moreblocks/circular_saw.lua index dd945b81..09fbd90d 100644 --- a/moreblocks/circular_saw.lua +++ b/moreblocks/circular_saw.lua @@ -283,7 +283,11 @@ function circular_saw.on_metadata_inventory_put( elseif listname == "recycle" then -- Lets look which shape this represents: local cost = circular_saw:get_cost(inv, stackname) - circular_saw:update_inventory(pos, cost * count) + local input_stack = inv:get_stack("input", 1) + -- check if this would not exceed input itemstack max_stacks + if input_stack:get_count() + ((cost * count) / 8) <= input_stack:get_stack_max() then + circular_saw:update_inventory(pos, cost * count) + end end end diff --git a/moreblocks/description.txt b/moreblocks/description.txt new file mode 100644 index 00000000..95d7a929 --- /dev/null +++ b/moreblocks/description.txt @@ -0,0 +1 @@ +Adds various miscellaneous blocks to the game. diff --git a/moreblocks/mod.conf b/moreblocks/mod.conf new file mode 100644 index 00000000..b634ba9b --- /dev/null +++ b/moreblocks/mod.conf @@ -0,0 +1 @@ +name = moreblocks diff --git a/moreblocks/stairsplus/init.lua b/moreblocks/stairsplus/init.lua index 2a959c01..44f59720 100644 --- a/moreblocks/stairsplus/init.lua +++ b/moreblocks/stairsplus/init.lua @@ -18,7 +18,7 @@ and minetest.setting_getbool("creative_mode") then end function stairsplus:prepare_groups(groups) - result = {} + local result = {} if groups then for k, v in pairs(groups) do if k ~= "wood" and k ~= "stone" then diff --git a/moreblocks/stairsplus/registrations.lua b/moreblocks/stairsplus/registrations.lua index 3e08565a..c87e06bb 100644 --- a/moreblocks/stairsplus/registrations.lua +++ b/moreblocks/stairsplus/registrations.lua @@ -44,12 +44,18 @@ for _, name in pairs(default_nodes) do if type(ndef.drop) == "string" then drop = ndef.drop:sub(9) end + + local tiles = ndef.tiles + if #ndef.tiles > 1 and ndef.drawtype:find("glass") then + tiles = { ndef.tiles[1] } + end + stairsplus:register_all("moreblocks", name, nodename, { description = ndef.description, drop = drop, groups = ndef.groups, sounds = ndef.sounds, - tiles = ndef.tiles, + tiles = tiles, sunlight_propagates = true, light_source = ndef.light_source }) diff --git a/moreores/description.txt b/moreores/description.txt new file mode 100644 index 00000000..6bd1c7cb --- /dev/null +++ b/moreores/description.txt @@ -0,0 +1 @@ +Adds new Ore types. diff --git a/moreores/init.lua b/moreores/init.lua index ff5f94e8..72bd0a15 100644 --- a/moreores/init.lua +++ b/moreores/init.lua @@ -38,21 +38,21 @@ local function hoe_on_use(itemstack, user, pointed_thing, uses) if pt.type ~= "node" then return end - + local under = minetest.get_node(pt.under) local pos = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z} local above = minetest.get_node(pos) - + -- Return if any of the nodes is not registered: if not minetest.registered_nodes[under.name] then return end if not minetest.registered_nodes[above.name] then return end - + -- Check if the node above the pointed thing is air: if above.name ~= "air" then return end - + -- Check if pointing at dirt: if minetest.get_item_group(under.name, "soil") ~= 1 then return end - + -- Turn the node into soil, wear out item and play sound: minetest.set_node(pt.under, {name ="farming:soil"}) minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5}) @@ -149,7 +149,7 @@ local function add_ore(modname, description, mineral_name, oredef) }) minetest.register_alias(mineral_name .. "_ingot", ingot) end - + if oredef.makes.chest then minetest.register_craft( { output = "default:chest_locked", @@ -163,11 +163,11 @@ local function add_ore(modname, description, mineral_name, oredef) recipe = get_recipe(ingot, "lockedchest") }) end - + oredef.oredef.ore_type = "scatter" oredef.oredef.ore = modname .. ":mineral_" .. mineral_name oredef.oredef.wherein = "default:stone" - + minetest.register_ore(oredef.oredef) for tool_name, tooldef in pairs(oredef.tools) do @@ -179,19 +179,19 @@ local function add_ore(modname, description, mineral_name, oredef) groupcaps = tooldef } } - + if tool_name == "sword" then tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval tdef.tool_capabilities.damage_groups = oredef.damage_groups tdef.description = S("%s Sword"):format(S(description)) end - + if tool_name == "pick" then tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval tdef.tool_capabilities.damage_groups = oredef.damage_groups tdef.description = S("%s Pickaxe"):format(S(description)) end - + if tool_name == "axe" then tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval tdef.tool_capabilities.damage_groups = oredef.damage_groups @@ -203,7 +203,7 @@ local function add_ore(modname, description, mineral_name, oredef) tdef.tool_capabilities.damage_groups = oredef.damage_groups tdef.description = S("%s Shovel"):format(S(description)) end - + if tool_name == "hoe" then tdef.description = S("%s Hoe"):format(S(description)) local uses = tooldef.uses diff --git a/moreores/mod.conf b/moreores/mod.conf new file mode 100644 index 00000000..5a9f1e27 --- /dev/null +++ b/moreores/mod.conf @@ -0,0 +1 @@ +name = moreores diff --git a/moretrees/description.txt b/moretrees/description.txt new file mode 100644 index 00000000..7c867233 --- /dev/null +++ b/moretrees/description.txt @@ -0,0 +1 @@ +This mod adds a whole bunch of new types of trees to the game diff --git a/moretrees/mod.conf b/moretrees/mod.conf new file mode 100644 index 00000000..b95f3e82 --- /dev/null +++ b/moretrees/mod.conf @@ -0,0 +1 @@ +name = moretrees diff --git a/moretrees/screenshot.png b/moretrees/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cae434682bcd1adb1f258fd1066ffc4abf029eee GIT binary patch literal 115537 zcmV)SK(fDyP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rb0~;0~5Q?zyXaE3!07*naRCwAv{pYT=NtWM< zEfeN3+Z^|rG*wxyi`^uf-HvWTfIiH~aL5sdY<72b zRdrTozWKUy&Nh#Wh-LKQRBKvfaqxZU zPRnI?_*$DR%QLVthi~5gi!SfLx$6(xa;{QPL8YaB_x9^QfB)TIPv?*5n8y8=-~8g~ z@rU!rPpMCUe%!qUh#$ZGtK)Gz?Dv;#!@QGi>vyky_2>WQdj9m|cYpQOPyhM0UjF*u z|KHuFpw(tU_R=KA5W2M1h6cb`Rm^-B`~K$baFLtIV#s4_IK)ib`?hrtLU9?9%Q1%~xG_*w(Fzd5?)x6A@{k z;NqO)^XdD~kN=rDb})Y_V^PAgMav`%Juw-h(3Mz?H~T|Z>371^EORxfB}#J09-(u zkBR@$!_P1E@VNb;YU_5soZnMNz<`EYJnRV^5Rfq4+`R5nw{F+x$5ZSW5D)c1u+Ktw<%PUVOH*Z=%~o6eJiTXRGR zdvXJBo-*e(1fW_xMiTM5c|hb0=FW^n$N>So>&c8ox(tZ!!>c!Me)iArzxZ=RQYqj5 z&42&n@Bf{-BZ8X}f)JJ@+8o?DlWg9*?UG+7b#oPOO=E;UqL@256A&X2P8U#h4w!pl z;@!>NPyXpIRBZXMdDUT`4Sex!y)Msx_gU1y{Nbl}Z~pX)buL-~DSZ6)H`fpU!5mvd zW?E*eRn4tcce4(-@Xz?i%7Fun@hnKqRbBgDQVAWAG+r}Ia*hGs6FGX|df2q<+r zuh=T+vdnWNAm%E1I$hf~t@BJ?*2{O7^F>N|eEfDh{~+i0)#|(zRuOeE+ap=xe&}=H z>AIMjH;d}m^JfDXV;~0s;Fu5yBT>Xsu57WEwUq+sL+w;W^Jw#Vytm*;oq)AtQ01=(s9X^x7HP;uyAefh|Jkp9{lC7s`AW4S;y>I$ zC*)yw8}oQLzD3dL^tj3y8Nk4sTXPq{KxiP%APkZAyKs|-yJ7eGbo#@PB1IH8Bm#7B zFmXzDJwINjlY$YDnFqpSj$iI~)7-YLVss|#CAfkyaEFXJ;~&Gtdc0BHo z*`yA;`_zp9U{aRrV_g?OLUJOkXcoZ*Pyq{x7=c?AQxI_gixIk>kbsB~5eeOa5NmZ+ zj{y(&yN5SF@1O%jN2igH09LnRXb8pT^K1@?*u~si-mZ09w)!k>+0-gPZB?b2yQPFC zfQm!_2u;1~kQqeL%mGjpR3QckdrWC$&BhR7q)6fN`~e|YF>p||m%r=kPTm%+Q4e7# z%XO<|uZeeQKir*9pC4ZJNCbvj-L+C=c5(=gXsZ%ZAma*tb;D|E;O2-(X4^##ts+t7 z0JUj~jM%2jM~HLoU$z$@G14}b#KdlZa7;P7PsM<7k6;ZX03!n+ zplMNQ8*>(y=Ib!rh?iEjjw2EjS0sXp@o)r0sE>6uV1Neh5<=%{n@r%|?{2LFtmI~( z4#ANrK$JRte){WenTZ(;V{ia3W?`U!J%#{=+j2SHenCWmlc}b$YjvyF)mmW=ss=`c z;ObBB-;MF%a{fNV7(xO700aO8GLTxY0G@I`wWsInJ7glx!~m??w9R$j?F!b7jrvz) z={)`Le)?PH1kp0)4TT260uHE~$2}n){~TQwy-FiEee<96$jHgSL8FF1PppVODR!QFw77>L2uEo_7lSJ1f;0|K}_kpsXg z43ELm#I(kMDf3_ccmI2l)x|-~)xj|`A(62<7&talZD#0=wso7X%cC_t-n>y$WHNL$ zrHG&afXobxIj1~!qH4j`wGb*YtD}m=z-GE_t%|uj5%vQ+5D*VtFi=jmySrbjwP_Wp zgUVg1>%qh#^QMbwB`X3JyfkU$QR+KR*4iY$q3>o&$&5 zFo65IwSXza95Snyp+7X)`tjy?^LAcN%k*TMI1z;%N@%(P7gRTv){29Cc>YZu4i9%f zQ*DS208Q(*zT4J6)b?2G$J578VCX?qn}Z=ZHE_euQ&TmTV2J{lw{=^V_JmBcRwGAs zT^$tM6#!iz#gQPGD-#o;3b?^Ew?i0bn>HzN;Bm+%-kSL4yh9GjDNxNo-PnJ9bN}o9 z@X7&+u>&|?{3tk`HCSafS9`2A9M2Ngoptd(H&6D z6xxO)V1`9O8>#~0OF#x@bN~}^FY(xOmq0-lF*8)RW@sRbESDM3L!j~DkZzI%!5ZDX z$nU4;zi&lUPoQ9jb;VV~X3W!LIAu?3AW-reMQ_#{jYqC|` zd^cnY5Sc65v~IOX41}mACI~Tb**s?kgwx|fdFyUM7{blZZ>%?%&i8L$>$meXou7*W zc`jJVk)Sdp1K3#x?%q7?5BXl~u7zsT=0N5s z*ZJZAB$zD{M~}uKJWdxVVCIa8Vste$1Eg9jn8%o&KKP` zqHX2T0Y$~^!sIH>A*7H}m&-yagjE*XT#I3XGhKiH87|Aag~B1ex!Zl+mb1)?fIw~z z00;~b2S72mb-u(tlg2J~kU(rALo@paAZzXp)DtKmA_nFhV-7Jerw9n(5CS735{3w|&#sn-$noQc zk3Xc$u1w5*+Ldd?$vUIy!++{tmHpeFUfboOXQs%d1+`Y(nu7xXMqoxk_ib}lc)4v& zz`y`e%_(Ax=nm142{m}`^WoLo)OT`e5XgH>jto>m%xv3M2RE@ar198K^R|_3e*?5D z>&I=K4Pj%(bulxbfH6T+ND06J0DN>PFipOTlsC$Ns&+tI# zQW`oMIv4|U2o12K7TYo{C`cJ2ha>e~0f~TFO+_j*mu zYr5Ny-H=4ARcG?1BFzB6%tHtO$bkugBQZe}cf~`RD-;Uce96B5`t3j7jdzX?0FHnN;LbVh53fpFid+%U1!#{<21Iic2$2j`n-spBr+2Dm-$5Q%jMH&*A_woBrr74$M-)h*QqX>s$oEI&VhmLaxGO9 z5Mmb$+#Q_3z?p#pBVk}1Mh;!*xhA7m=cgZy70?mU6%bHd z8x(Noj3F@?nmQN)yGqM>B#+=oi5xWY?s)U7kOt!X;fMe6-S7Y3V8odL!J50c18^dY zux_o(Ib;^ozz{pOtH6&{pPM{2x>{af`?Se()8}T-BF{}WMfEUn9NE$9MX-oRzI*-a zv417ooV!6vZL+x%paX#;0Ffp3CSIGWzCMeSHipex6C(uT>w0>Rwz#a@T;0qRLc~@L9L<~%kkHh%Avxv_AYf%* z&8B8P0A+wl$66@2ON4Bh|J8r@-!9kUWXKdE=~e{Rn6yqclLaDOeV?*{GI3BQ=RlbZ ztZs*HVqU4cC5l=a0JK(LI`|<(0D#0!ysZKToB{#>nu98WgPR)xOA`a^a@yZ;q=1UB zM@oclj%u4deRn!NUA!4AB4P^Q=2Fy)sUtF$xh`v=4iC3Oom(}t=KYwG2NFKs9`ZhI zvf2jj&Rw{Txm?St#hLhfjZ7+GHeR z4GC>C3_ysO2my67kuqIBm3F#KH-mQD^;&C#gq)~tjga4c`kQr`%DkE>sEb<;ap!$) zt-BrP_45A1-ObJ>ot*EL%FaQ8nS66T&g9sRiGXxIz!!K?hehOYr z&nF0k0jQFxA5(S+U3d5Ti?6l!7z-3?f^g$i?nqr!-Z*ripJ-F@+Z4P+_co>TtvPrkbS$(tPeL$~kqa5&z_ly_Z61SQl}w&l9W zq}x(dlpWJe#zafqN-MiVzWZVTeZD+yAhTHo5JYSZw7Dv{J25arjDUoxLlsyT|A(rZ z0%MGn6AIuu44V?<{L43g!vFX${;RSnBBYG%x}Y~AO94tLOt>EcAteqGECk9i<%CSq zTFXIh_G;nKtWSM*xAWsC)rJu;AOMWxKIg7f?KnGI2(Y!PW|^Y{s2V%EL7!3|QjDCt zWP}O^>Kw_7F6VXna9%Epql+oKgJ^S$KrF^xFhpQNhEk->GHN$G^l2b@t~aqi-i?;* zd3j#i)MhmSil}OHTdRO#Lq;M}Q;6>BvN#bo*%~bmZ@xJk9&#LYt+g~03n@B#xfZil zVXAGC+K@3OP8h2w5$2%}n2DGmeDUR<+~0l?AQLk)F@T$uP1@ET&wnUw-s-{$fjx7I z6eNl?1wz}bZtFZ<`{QxHf8De(5)fSHX=y8${?5eLX>O&t03s3*QNVzlxLdnGRH}rY(yq&R827hC zOo=do8`bR^)0n$EGc^@AKR^8jl-w*LAAH2W?I@W6Pi+r6I+EG)ckE zVa$8*u1h0hPZr5y@SJSGHKTE*0!2r?IlleVe0crw{cnGG{QuTEOH%-d(FmLnoq}q; z|MHt(|I_~swW%8ww_38eL zak$M5O4Y3t34KV)Ic~+B!T_>3L=(#yw#`M{;g6-M2~YqI00`>P3Z#rc)C!~wrWp3| zno{Uqb>Y~hbmb{LzQ15V0))+EE>4&dap$>X1OM=8O^E^2)C@djV|M_KRGRSj?<{qf zyZbF}d9^PPL8@SJP`3b88V`}&4V$Qx#Q@1sLJVEXkL`+#-XQle50L=Mb9KfrkRs~T zx`C$aIxkxnumYl!1~33n1@IR&Z5R0v!qn6m(-`qS@PMgt8UqfPUWe_+s+&q7tB!l#{}+Gw@vr7`vWmdy4B}F1Q*k>t?l5;F zQ|H_5=Z`A_t~i~SA6ix;&NTRBLO)Z6?OHARtw!z|MhzfDnPr)w@Omb8*wjy*LFz zBS0X)DwDLDsLx{uL|PjuP$XAd*ZId!|7n@eA+rMzlW$;T<|d)KqbL}=S}VFh>rwV) zYf^BXtgKKAX~Cz{?fBn^*3^ z?FE-{0|x{kbg@MJtNk}yoz`|DA{TIhu4UVRWA~4L{my(2h~%CU_hYyn2BdJFH!zBU5V5Qh z*$F|a17J)jhC}Yzy|&HbU^H$eRe(B8On?sEkWw5{w=)qW)M~Ck5o(?4Ixm-NT^C?c zDGZTwLLw(X_D>()KYe_&4M2h6@ul8?? z$kg7ei5BIEt=KN*7{gjxv$A_Q)at&0n%7pIPM-v7NCBd1D$o=RP0Th$_N~=s0z}<@ z$Z$-+cb_3;8-8qBcT^??S*!Q7inaDAsm zEhMG}0C2obx#Q9#L~Kon91&ad7Ze2$L&TTIkqK&Zbwk7i4Qrr? zdQ|?!pZyDW=nrY=G?7O-oG({5?}yNLVOiS1*!Rg0$-PUw6|Gf=PP?Agt(B#cdza&O zT@`FN4(1YKTF(mxL?Sl>Gc#l&k)@StA}aopA7Y^79Vj|j*jtg+#FlAktLWUe%eI#4 zr9nzfH3l@-LL#mf903s_L@cU+5Gfq?eZKFyUCKsH$o&ksHh%0H3Gt&gE*pVgOkzNJJ;`c3Mh9Th}TDJG@1XeR^fCh;D{r zn}dM4o4EoyrV>pY5@H~02m71e2+w|eb?{L{dj>qv> zw)OG!Nlik>rVd@Z&3W8+*QIop4$!BTLQI~*KEDaxyE`;+v%tI1j#5j=`;a<7LgID) z@b2CJbDn4R&`={{PFz(7-M`&G+|nDe#DPNy?$~N|ux%@>l^i?_<^V5YmYA8$)Jz>5 zkvX*$|L%1C;6lEVR0Ki_u%qGY^=p0os#5K9K0jA?MWoYZUUgO~)W?YV^y&0MzNB5= zKip(K#60M*Tj#;-P;btG0?;73~R#>_FvqW zYn#t20KOE1h+vLxpv~OD9YoOp5WxcgLd*=YyE0$9U>NW44hje~+j~HR?vPR>5=@yI ztmbxmlVV4;h`FuJdl;-1)ds+Uah=;R^t%JCg@bb0wsmU6$uggxo)KZWZm!-=YwQPx znB$HEZOe6TPr4Xl#7G24kqEdugb=wO`RVhM6*KeDML_*<{oG5>fOV<9ozU|A&AwxL z+NzUrAg@}RkOFaPMHAx~yB>4d48#FFj`1|F4glF~H3tI%7k~gWuEVbHh8WZCGHsF=BeW{0(Ks);lencq;|i0TB@33Y<73wjhpN<%L@Ub0fG(p=;@5ZN;eV z^B|@U&K-e42dtrcZ0k+8T|WGNx;|5OGIRuR#N^PBkV2wTAOG&-CEpFF?Ri}nMAB-| zm^{r|!5RY8P3HK**dPR0^z)GK852dqL?VmO%5^;d_?yGqpS!u6U7r3Px0+)LoSGE| zu2m313^bZipUuSG%uH1<;C{HdT+U(?bFQMfi_Ae)09;jDtLwIbfpZD{HSV{r585n* z=^q_YFS`W0DPa#oPQ`0@ZD2X5f}W9Cjm7Zz zIIlC+u8*31o~!@3fxATjhLq{%CdIqh?PE9ca`jO4p-(QpT?!*35u%5LCeWI@ztHmJ z>W&a2ZmYY%a6oX}HlUG*@sNfC?Ykd;`(0N83x)R_I8r1?6}!Vu%F^fc{yv?rtrRT+ zrYNSLp0BSSQjsJAuU{oqe>xSwYyfMO$f*cGU{oX`06=yy2f((?N|8K*wE6PXya5ph zg#sSg1;PmXFL-wx>a||}=ShP#6;hv0VI=I4LpTF&KBytH8973r|HKX zy*lK3MK^)wEp)01%XFUC&$X^lfD;z4C%c%^5Yy{^xF}b(7*pT>3?MtY10q5bGdIF; zUEd*L@5x$eY-Sh+f`-x*19GDM`0JF901)}8uI_IBl72E;WV}x)ZTcgiOH?Qjja3Yh z1K$x%^Zfg*&DZl|9CFyPi`T1mEvcy`?ZZta0I}cx=5Ivpk65z+25*aQYw_s&KHcBM zKa|N6pn$I^wK!-WZ-Wiw3@#gf1RCmO?fc(IYhcZ-1Q<(u@?2m6ih-h&nUIK$37Alu z7_)_;p|*KKQR})Pq*Qfjt+m#eLkJNZ2yIzP-D*5OC7ZoE2SW-WLEWTPk2xUDOZ_V# zaH6dwlLQ@hyZ&$inl6{y;p+4DREV;xbwj?}-!}{5&pxj-5;%yD*#;=@t3l5}Mz!K( zfDvHPHcR?qh(ka?3eX?T6`gvc4 z2-hP!4KL{v>5E}8H|MS1R$+?fohPZA*DT?|s3xr^fE}9Ypv8x^rX_?iT zk-^EX8!ioCq&{~+Nc2U6cW?xAK>{P+z8UI$y=M zI&Id(31SFoOw5EL=kxQT*ZI2C(l{|jKtu{)X4W7K+{a_*W8egi?9i&B`{AbheEs_c zPRP(^3orUakp{Xu_Bo`j0Ys#T;K+1i4rcZb?P~`JYkiNHQ7)|%3jZ+701@5IQHTK<*lB;0w_?MXI!SFc?8rg3ZB^YO3`9rfTgQwZ zv=w)EkF`xpduOi9+{IvE%?*ONL*LzzvV*yUxd&Z3M5BJ1r$CfaiYb~|tpyPrs`z=W zr>#AP;nZ|ObdgPpw5lPfN^_8up_SHJ@HUoOIH}q)%)UL>_|W<5@l>Q2)VUV{M4-sK zx5w@Qoyv46&_POpG=oE1E((2un^?eGQ_()h-I!?zwThr&1TzbPVq^!Tfa`qK=5BvH z@*;oyN-6-3j(~*BfB-R~18{)cA)B+WZTh5_9|F~e8HvZ+j(_#5|Kj+?c=OBMaNl7E zQ>jqm{;+RVbyf)2nu0-X+7G0n&u0^dX1J-1x}b1DlCaBqHE}-Mvd4R9NSwOR2dyn4^O^ z5QG%Rv7c*wx?B`(zw2h;m21enwF-cQU}n&qBU^YO z=K&musl%QeQi!JRYTS*Vp1xa_M`&aPSb1l?H&-wLSj@DlHID;v90)tG2;k=Sf{(dd zC#a!1n+u9n!A+#0a~K=|!2l4j5^E%m3~AlAi_}5$pdA`j zZytdu?87m{W7pp^?-_5=5YQ2WgE(JXIa^zE=v%2ANZh02INL;9%+io~1=6 z8g4>h1lYK!i-l0T9pu#5^FzfT2e~Cd>i1baUrh z8oTi2pWX4F{>#4*GC`BM;mIJ$csq=D!?L#RDiDIZw^AaLHfYT&qM3OJh|Z36m3dpY zT4T@VqNpl@i2z-;=5GBMwK+783JSo9nIi?_%(OWotaI(Uxbyt{apsX-9Rri2i@F0g zXC`noup#tIEt^z~Xhn5u-rUrjaNVkitGjMW6}vGNwd-jz7mDE}Lq-CM%*S5^3{oYaY!KgoZa=+*&nu z?l9|!{2%%{hNdly zPv)K1W-4VZ1EoX0x9||tn}AtV&hy{Q>kkeH0R*&}A|N!N3?UO3haNFX+$Ak$)rl!v z6mfHOZ(@}I!M$i(LWK+z$koSg-wi(ld~jzoaCbE~hbCvki-k)@0wrZpaAe?~S;5h} z)bFqmM!@Xu6r*!mN;A`;A5;~I0YvcAT0Sd&7G0!;Hy7Sv??Uu9Er|GCh^P$^Hd;Yu`c+8wLjge8YiK|-Q zQ(`m)MxM{>wwAh-Qfh6@#9ovWL;_b}lPYzoh$Pye8UYC!2yl*4bjLxfDdYawA7YO? zyj(U>4S}e-6TCQj7-NXxcz+!8F6@$v=_-aAIwnFh&vEGb0TEpc19n5VmRd`zb5S*2 z6cMx-75Fz1h zh;IQSS_6lUAx8=X1c2zrTe`XBFTOkwcv!>j{eFKx4wN(ZY4_k3M8zCp+%s`R-^V^V z2Pbq=F;47;WHIuNf|;Ohh6E1KiXuZ|++;Shz;rxh4c4NefEB=u=IYc49^Ba75%DEB zleOd-UG@>Dc{2k-1O#t*i$@|ROa~e`^oFD&NC88X)@o~rkYY+HQ?PUSk6S%ERAkES zXR#knOZMid7svuM>)(N6bea z4q@E&H*a@``!2_wl?bQ+Phc2APe=;cD2*YpGik`1aYZqUhd={)M=8YRx;&lFA-W)x z>e?VQkKl7NaUe%^2LL1h05wDcV%m3T;Hz5*io{LHz!@+W3Vej&VV@%BV~k@&a06$6 zj%_Oigg5|_HE*KkX5?6fR3vs7$ea4jq2F4Y=E{NM82u%^A$CzTv;fG00IuN8(k|UR z>LwVGM{HLGLjnZH)6?^A zHy&S&aE96%Fx0g;5g^U=q_K8+4;mCM6wI1u<2~)3*Q;d*aHHsHs@r!%|8ph#|BDk2 zKBQNC`15o9&juT)hs1!Ou86=KklTq37X`9!(JGeaIYM|g7OaL9p^}aitZ8}Lc02eTI&NRfIppD*&;WN_JjSvxfcbCQm z)X7MyfBLu>`=LuLbkT~4J&qv3$Owth1G*XR4-x}CJ&H&DJS|F&1SW13j$`T~8jgvF z4Kq8r8z8tl0_B_pDl%~hZpPT{;;(b}`(?e<28K5*bm3R5px#+i5ab8YaJpY$Z*5!)~tvS zH6&zcp<61UYsX_LHE>O;^RlLd*kRZ2-dgk{6x}|2`^*G}xT15QmoD0i<;I$;0<$wi z$S@@^Gl$T3ZeE-894X!8;j1wmhFwY#*r{20T$M~$fBs<_I?eaFHD|WR#}+vBjPtTM z5`{o!f#LQhO{G`sLew<_O+}Y_>(xa6Pny1`v>%=2^51*!!l3^p;{1POF4ro(%RRef&LO~=C1l&Co zyesm_(RA}=+JJx}nc22pw(wzpHv&*MVje)GnR>tHZikoCszpUqHZ!sF| zpCy1IkcXZft%>k|{a^kYTU6$T8^G%NN$OlhYD!^S1yPqp*J6RO)>f(kk%)6-F#yAu zLvbxt(EuDM(eZA~DN0q{j033%2;6^pJiZy{$Mw3dAAfjS=3>%B3nzLr9*3J8M|Nwq zmTjF(tE)W!c-f|6AoDtxw(jp@H$WJi293#XzUqcuSU+vAe|a1GNMP*Hg>-zqiyhS_ zs#>oC2CC9zDRQlCtz~X?VM~2KrVw`f!~U@E$Go;x)S`xC*eRNTA8&3Bw|DCX8@fgE z*ljRC%ouvg!O{navxVB~3=W~Eu%kK&AjZt@uG)x&V9$Q*Xbce0UxE<>5V#A;>a|=b zFcNqL?lJ69H!-MhfAZ@1ns!G^%NnCl6wHm>>#DViHdVJUFhvN7WiIQ~D)D*+Fy8cW zws%(4#9#6vZ=N{B7)%4fUiq`LqU-LZ6f z7HPFLRq(G4IE1Fn0jPr=SUB{zZ*OnAsQoa8AyVQvgw%)e5EVtMzvSmg!AiXW4{;RZ zrswD7f1H=I+de|eMg0)wW=DmigN-3^&U#mTa)~*o5KvUs3y6eUHG8ff@A)tcWV>zB zvN?tLy1~N8{VwGQVCXKYwX}Mc?NSjb=qO?;%{11^sp}C@Rf$k_-O4q^PUUQJI?a=a z&t)#K4cv_s*05Dj-OLP?2!K*f(9pyfnSgRm_pcsSRa3;!8Kzd;I15Asb`NH54fdYW z)q*68fx{SdQOls2&!^4IlY&!-34;iLnkgm#!B#a!dKoJad!Clf5x|`y@h-F?%VoX) z;^xy2*QVNU9ukK!bdia1!r}#9CQ3ni!5uveh(W!9KW;FZH2s@@_cznDAwcY-J0kG5 z)ZhGv@BZXpelrXS0fu8VhNtz~Ol@6$@lRf_Ygw-?VBhV>T1sp6_N(5^YHQ7=b-Dl& z08&CNc>H=#v!@XccgYocIb8j+l_yu+d^VDl!dAB*Pm{MhFdVu>A*CeUP|@);t&W{; zvq^D9AduBTEpjF&Zlr3V>k!CfHadm4gO}^zE@oy%$m@Ex`jIG_2?%gcCVLy8PHc2x}cd@_i!Q9M|fDkx^?K3P_S-!)ZIR%f@AL7?1cxNoZQNfIi z0;`%+5v{xM4Z)qop!GI|@8VeI#ZZBmq#!bICM)g*Y7i?PmA|~Z{r35K3D=*#x+e{> zH&I-~o>rQdEMT~cI~cx*QLOszi5bRZKnNbp1mIllEav&u4n5T?IaKEwhETbg2?juW z3-DtK*Vq$$G2rCMkWfnVwno6iXI(wAZvAE2`jKR=fzx5veY{pr0@dnuPS2cQ9cV=E z@Utrg&H0ZrypTy0>cNeUv!)2Y26eVT5_`{rWLGGAS84ISZhO#5E&d?om1>~+!kxiV~_nVJ-pd>7$PA5 z@GWeNzsftD(f83?Uu-^HK( z*@IfUo|og@0IGeTzW&qukZHYa=g*4+BI1i>+ttn8f*tR>h@hKj=i|N$fzPKU=HSf` z5ZS9soyFZ-X{FS<%Juu@@?qI#k!Jl}V&+;a1|_g1juqXHqC|^Ff=1o9U>y&wj#(u$}>O#bpQ;` zJw>))1x<{II7M*eE`pBcQB>6p0Roent0|+s+C8idL?!@q1{Vjz(368e&9ptNGi;3~ zv3yI%7$GC?i5XJjm?%W3n|=Dxm&X>6^RSPB9Zc2HMh7#m1G75_nv0t{M2uosNQq-OyiIw? zpZ@UqyAR(X5qIqBu0qK8BDaFQ@o7eI^vLJMq^#o`EIUrXmWBw|~*8uL;7!iQY z?+J%UYk&e>K` zhzLk8lRF$-GjhjGoWMv+`Lw2E!Y-i+5=*etttW$ldE-1+Yggs$P~79W9EFNH#UC0%wie^nQ(i* z@(}VN^)Y|^c%~lD`}NJwZ+DsNwfW~df0+9m_(K0MvNJ|1rS!_9E}#qIg?)thNi?g^j!&Q0%ccH34@mo+egMan-xh^A5n8Ogv94G_e&OW^c=UVe`W&?6$ok?W*vjDRR{ zcS8@a;Bezz4}eh4n?6Il&GKAjQIBC=+qN|i(DzhY^Ui^unYcfOPSW$^L7F&hHZbTu zsyAIjdY$qY;8|U@sk)mPA~1I`^r3znyRQ_^8h?ubR$Qx7hP)5uB(q3J*L;Xy{Bqaz zfXIYwuC*$-n>#VO;(FcGlp}K>sRpY6KwwH75Yjfw_OzHe8B%0S%tVf^A`a1DY_$<# zb)yC`1-=WIEgj?f!_u}m-rdHx6Nh|##t=Bfb(y@Z;4K*HdKFNV71NNwR5CCj7s~);w z1XI~41_($BH?X!P1g@K5w;g{Ap}OwL%cZ- zX}PRa+mFln$0h8dC6Lm#&56*1eLS68)w?_dAy0h&^I_~CAKTOW3lbz{ zT@4JSY0PAZwY1$n#?0one;CL2{psTc5gh;>3CN=p9#j5GfmeAktRe$2BAAFeaR>Gl zSXTcr_RI{hqBk$p%B6xi_3Y>`y%<0r4wj-b!R#q zep{!!ynkN{N%*n~ffxUyY>D(T64=1d6yW|Xe0_ia!@KLZfA?cx&P1fVeUg66-4J%i z?u#!TVlru91^@==h|om0Q`L*d0-FeStWc4d06?4&DJCO}fwK_-H`jEZ!)@TqQe~Zs zqq{)Fd*9Y(%b>W0j@BZ^A zbMIc|;<|mBM8wdhWozi0>N1~ApTp(4Z8~r197l~khD@^fwN^kTQbP1i6@W5PU^myQ zaTiS78z7;Z85#!isuYLLcYz4hImj`tJ;0yqV8|A&{d^}qc2ufF};@7i2m z$GgiiZ*+aWuEqecJbm0?t*Tf}0YHUPr104l$T*hF8k49(rZL7CU#NL^^HrTQcOz1e z9P+puTG8)M2y>)_&C!g&y{RJ_1srx3Lk0KaA@3io8|;_A`Z{5pt}|EgGaY}q*HKgA zamZURK0&}(y`1Z{O%;+qo}OL2ANqBf-@pG9IFwetfB$~n))1prd!C;G{r;aG z;&Fh*){m<_6_0>o2Bad~6BuYQ2dBVsWG0nsLvutRrsfO|P_$Jo*UE%p;AP%&4EMi0 z^!NGu-#pc35NbJH%p@%B+w7E=nqM3^Fx zfUOpy1ECKnX4+)8PsiJXeSqnD@dk3K2*hLfaK21+d-c4>3X$XR%Ux=ytDbENjoa+j zOvSsqE_N*MR+(x}NiVJ0rUUY_#^8t?z<@v!d2>D2blYxTHwr-5%7!XF?pzI+aa-y6 z-6yYSV}cln(HerQ)*4daj;)$Bd;Lv19#yw>+;uS|L`4D>13)4|1U1tlzz7Cr;2p$B z(%jWz7wT3&&ok%29Ks7ZxJh6mB0zjz93V;qN1Fns7`q(JtW+^`Cx6QngY`!l_69*5 zj3eB=h0B>SSAVH`6@sp@t07ZV8}3pXSWGC;S6@Gzei!GhL8N`moRAE4_RBgGF_7zG z# z5-^MaIHiRMKEAuA=Q(e(jC>X_dA0Chl$zY#{b`EulYygQD0 zYtN;Dfn?76xXrCgX+MsiPS2Fk5hw;QBY+pRUK!9F#1X-fO*IKpAyElK4;y!ladOfodRQKSrDn+Ek zz8MhZ&-%az9V*J=1jok^- zzWm9d|igJWkUpfb?6^DZ`J0i^& z-8O+70rk_TcJnrV`894UNEIe;XTwDKF8RkA+^RM(14TgC9XmV0Y^^?)G=;S`WTHrB zEq9TMi?uX_e9R7iG~ZfvK!`vvhIEL58JSuYa9mDLG@Sb55g<(0C63^rX?M&izw8Jx z5JUulGPmWtU9XE2vr?=J*g+!8T}RUf8$t~Ijy!hCkQ!Ewvx!xMX8AAx`sc^re!hMO zL1ON&*RvF(0HtJi&v_SoS7jAfE$M!IRkTQL#mb8r0KrGzaa%XnkEb(S;WVxH{csnD zu|P`0_i}c#CQd!mf?8`x^v8jbfxHpExWfRvn&S%}?})%7d-XQUivyqKTHy>x9LT^! zot|AZ#$lQyb!FXJJ)d&#QNNGl*N4}~AO7z9fztl%m)Is=wkMyok*($q#L?BrfgDS2 zo&c_B=2A57f>i@^Ky0O=c^cyGrca*c=cjr8+_Z(7zyJ0FaoFvX4sA+RS$R-TW!Ab$ z**+C4{>3kke6$6xhqpMyfez{M``N`FeldWz^-A&H+h?0E*XQR8EiiHp2N_1%o(!@& z_%<)&eoR9bVmQ9qZPXG*X{NzA(E9#bP#i1=us!Xm`||$AR4@Pma*&*(0!UFQEk*v~ zr{h-Z^y5l_{EsFhZ>5E1Ue#{#_Qlj!XmyBH$pqJ^lp95eR)<+P8m;=PM(Cnxz1VX?boC{IbON z?<&2pQ)1@KI&{!bTx4BWe|qOJ`f#lMn-oKIgcV)i6-}xGgf5_CVJT5?aXp~kQsT}W z3CWu(qE)3Fx{lR+ecHCC)~CSxIJ_O=7yQz<0dO(5>g94dO`k%K?K+*Fnu>Kjk9&%# z#r(z)+y#nnbHOnnSbN;chn4P9+Q-O@*e=iY{s;qxX&<{|-ro*DVVT$UT&Bn3jDgX5 zHq~*&uwS>wsiR(OwPuhI0xV??(68IM8-~7nouteCu++H^I}QPWrsdkjZlFP24QyJj zAxE2izYn{&LtPz>r>D)-(imKziOQ-iBWI?_cHLkpt_BEZAOzr!gqR4-K^>ZNz!*sq zZL0`2Z=f!e2_5*GpX~xMg`upa8-B_m2fmc~1E<_Q{A+D_Ieo+~_OHHVg5`Re=fzA7 z#2YXXvWpuqs)$xKaaTYw-^|q@AQB)j_{$amBdtafBQ+4I#>TIIHVn5|?b>zN_mPRf z)lCCnWUPLTiDFFSCb-O zhy#|YUF4hNIATQeX<1OTXa3E*_ls5~U#0@hHT(Xn-OX)p4n)|RZgX4DWq!BX2ccWY+4bgl_02GT0EiuXv4dJ})VrQcy&othU_w)4 zPJsgemZ!RXTb9y_s2i3`i{QgC$1x)^Q1Z$Oop0VlgvlD#Li6?A8fv6Ku&Jp(d~>Mq z{O;X{&;ZA&3{+!2DU zQd$E-Hwy+3K+&~`ImAAg7z9E@+tk%KkUPlB(l`W;$eAb+GiG8j7jq8;MA}wp=!6_F zB))Z_&yRmQPs-MF+O{@X)8Ksm;on}KR^A^2Zr}g*e_AiqR00MA=SVs4jX{f0B2#0J zOaLr~P8{s9@IES`Bk&%}^DHY&*CM*16ChGg(AkQYYIlIKmHPbo`FOZ>bO5Du^hwXU zNLRl5;lo%DcWKw{WB$5t<^e;zfK9&XOhjmIy_h(SI%6=HOOU=PBLQw;0+ovVo<=vkgjbQ)Xc=>K7Bw5VF zIRkM_iH1XWKi+CJz?W`|ni&BR128af(+2K&v_JW^ef~hxGe`k3CDWIsJ_J--&Ha2B zu4&tv$-2q*XxtB+dAQATmiD>9$vuEIZEhiv-;foXE?Xt5puwr*;7|pjh9Utd6FM5{ z;W%!=L@Y#(nbmFcvVNXE{Qk$h!W;0mE5P_X7aGDmDzt7SR0-^t0i%Ud`*?m8Ub@E1#%zTdv@ z9FVY&BMS-C^V52L!ajruL{2%TP_R^C#t;cUS3vLz*31-)NZmbh2;pV2J2fB!GsQlH z`#26EIzC=6%e1DR1LmbJ#u%Q@-%C}Bad*>Kd}>Q{*twSDQJ{ThB&hlP<1;3VX#nx2 z((MQ8!L^Y@W8@eVJu`PPT(8^ewKXx+r0mR0yggk?UBI1FKw?)nH91NDD%Vw(ABsQM zB}{AGB1czKYWe-Jt>wG(=gr$vwi4}UfAK}!g>($WxJ>o*!wP%H)@aKC^Yyn^Eqb^g z%kL{@m**y{A|r^0K48QY*qf7J`EEPgHSZDztVK>wtD;Gf90CW>h_XtPvdR_WrPU(M z-BDZ?K@C9Cd)|d62D6bs4Cq%^1wgCPoJofT`|Imh$EHn_?M(V7dq3D2jpgXIoIb37 zefk^5p}^zy{btOl=MefMdb+fP|&a^!>%B12b#7oob z`KstJ@)JF2l&)2OW6R$qrOfMXm&IK<0k%OTu+(cQe-Z(Do(?tK1n>c*7EP`2i5 zz?isuSzBTv4idByH^%pIt42pCDN>FOxN$nn^z=m6o!smo!%@4oxt`8u^ecO=fc07xN>hNjvm zkejlSif)@?Lqvi*v|B%feFwvCzw35!dYXRw@%r;(Ow9t>;*ym*pYF3|1KLsSi71W#=p@F*DRpTMgTf6Ir;XZHKrjK)q^y9ae=cxvu zc<7|q_E;ey2lCDIvBD7JH<2T8bZKH>Gzr`wT-xiK6yK!7o7_Z^863{PJJUsm6hHiM z&4-vWXUL!U{PtJ(QJD?Wo}8S3%)QLAoY%uRv{tRb2I$(l)K!PwE~ONg&r7!tjKl!;LoFkpq{ZRLr4_GSIFokAazhY1n&2#nBWoFS=FK=bF^J;&EdZJ zqF`|ToT|%oU3uE?(=ms3zHEQ*Ig;&;PFf z``z^~&tHA@i|&^Lyp#2}tGU1Xxv#c+pz_nW`lmPd4UbU?T2 zUcD?z9fkvA^m>(F?SER#zMnqr`vEX|Nd0avWS_PVw|+NvyXvKt(nPUiK~-$NB|{G( zjCcLvt0DCiZcHB4OKeQx|&l4pChU4q;aJ#Epd;WB~d|K*S0`seH?)JAsnd4Z5mgB42TyrCs$K#jIk_2V2MM#NidL9HMee0`6pSgdhCyn zpU&U@&3iI>dN)nmYMXg6S>ZWN|MCCx`?@q_3Pk-7cds*Qmu@05%wE!cJb!qahWV?X ze;qm8&Ak0ipFga|4r*Avsd8d5iz(m=*AJJxOImcEN_1j#o7#|LHE$75-!I3TNWWmI zRv)!GwN0qmwy2?_0HUWu-n5musW}MDbLBBuY9UhHnwxJVAWnb4U;NXzQ?WLQib#ds zK+W*!$7TQZ;mt5cp=s>q50}BGGQP@vP;G#;J&U1JqPo=j`z<4f#2XPZBlxO9;DHD- z?2cBhp%g>{G&093o@T47*$B)8k?OVVrO&&7fFtFY;(YSSc2Ou;idb!Jr)9FUpa3wm z+7Kw^WMbkS{K~ea8mSzsDW^;dlS3 z>-*`sKFYbfNu)#r4mtU3b7?R@xFxODF1q;Xc|JY;KR*BK|EB!2fAkm9CHa2SZ>y_q zgX1@d44gQSA;I)ir@C<$uvUaM9=Sd$s3Q@maZgBqjM^LlAL7kd+x^?D?2w`3dXISc5F3rHunR?zm&8yJIV)O- zq0_34>;q{PjO5}3^!#Za_pojok~`S9|LOg@Rsy7s6^(L8hj6{j%{!eXACp(VUYEN( zaAF4l(HLV}YZp?uVNV)|d_Rn_v$AdH56WsLx>dX##<%?rSMM|PH#@uuUF^bd1*Rpy1s8h)(s&80YVo-Gx_|S zFLNj0oN1paq+Mm$$*F%(*t1?Mn_B`DDp0wjz#*ovKXkdH+yx}uQF2F7B}Q{=TRneT zs;R4`A;uGb-OHy0hlk<%EVEq3AJ+N&xv`2#NI@4v#ESN_vEL8rKg=JkI#)XO;}-4J zc=WD)iQnAQTSM)RLHi8Xw5=LGSNoey(RIXp7nR_5fBVB9mfx6=Jg#D^d~!;_J%M8w zSk=-Yy1LdDYkqaSJJ(CA8cA1w-u13x;-i73n9LL$q_yfBOQbFkVuXN!ArhdEWA1Wn zn^1-G3ZcrA)p~Vemd9ExaaA-Y-=0GU|_>YWLbXL7B0>?SB3t>(=SD333PP>4H8WnFyVm43IAx) zNF&)z0EMnXRc57l;*+7TIKthx;2>UulRFBF7{qn=?aSBttx?v)7LqHfSA(FYVx(Rz zaZfmUM)R^VRiV?KrS2 zy!zc4igtnHMA#GT!l&_cY^@FOa2m%}8hiFIcnl*bKsb-XS*8`mADhzBZhuUP+29uPkX5!Yb*ukJe2k2Mn<75B%jt?U( zbC{PnFJW2YX`*=~XdIE3CL)qzK)^bCUSrxo%)}AB*xI63XG59wQ;V_=PbVrG1iNFw z`;&zXYnW|RVJ}l9#O^G{fnv`QX}Cyv7kCIB+=9n-uw(*Y!B^{;Zy#XSFd`^$qD@Ha zu^mRe{IG0EmSKIp+I=VSqUBEbVbz<|@Rv^L1;I*PH+0fA~Lr@#QyP zY`-0j!}Ks7KAwa;UnU+PZbHgzk!VJElH=X-A)z(XqwyML zGHB=l%6dNRP7meOS_?fPAX+q_1xE9RjDR2_ZXhIG-@^=8hy$Sj7@U8#diC4$;Z?Vn z`FWZZ-Nelt1k`Pn^5yj^Y(v;EMp_Pae41NREA9%^5k{KFy1#ug6LU}jZJJjhZvy{! z|KY#$Gn};cLx1@EEMvpPkO?wibQ?ulUFNAxvxCsen@wdJIXU+pcQl`-Y~Akd>eKzF zkDosM^!s=Fhr==#tuL`q4LjD^KoOawh^it&UiAj(2<6ni{q-g0h8mtel>hvH|Kl_* zFG*BNB(q|`7j=tbaC2`)5vjtL!&!RW?WeiDpO-(5!;)!D)dkF#gM@^JjTpZDtDEI+ zsZY!GuQ%u4opm=ctq7x^{$ z=DD?5nHdRReYrdTc9Y)Z{5q$rgj?ht4_Eo_VZ6JW^N#h{v>6V>nY-D8-+B*$EWc0*oy}Sc4T7iY`)g_Wg*u&g#ZtYr6QO0H1cL;?{S zYR(SKq$o$S_-*4WC_uLPSvw z=aJ92zf8Cz$f53`HFYvqxJcPMYZc^VZtjG@5L?KW8ml#5#;T%f1`cT#>tfO%q<)`)+Dyf57EkcnfVRw~w->inS zygl#EE{Eky>H$ip2e^ZJbK$J z1(fHq*>zw3-DS7x`c*hBZCRSRKi!Z0HUa_lWTwy>&7vW?0uK(60HE*V<@zREzil6% z`=Xr==a;+sN~gO~AB2%Z7i((Rhuvz^_5AiXXUp9J4*8rJskW(>8dHKD_t&vYRIA?p zt6ruMI2aI>Or3WG7cl^5M@y}*P?)MY~?I#AaA40qo4y4AmM5VbrVkq zjhB5gTAi<~Xg_qnw0Ta3$i4_}(l|9cR7ydL@={?Npbt<~Tm#^67AV-$6N5x?x(nFH z5XcrcFbiz0xjLY0hzyR+ynzAYv6#8%!0txMUimbec@{T}2<~PuwGAHqE1q@%(ZUA z<-gg^Zs~s=^?177PV4UcZ-4h!|NJli>z|*Vni>(xtiX^r0o<+H31<5?(hHYzhD1u%SGz@MSmztwUL(BIrl+(w%%ou>NxO?Dmg#aBFmF1`npe;p&i_l z8-TG>K!!d*hlWH!bIm>=YNaZOaL`E(p>S^CY^4NSes%p0y&wUqU4wYf-L&(lE>Eg{cCwcmGn)U^a zFyZ0TwAaW2aPr8ZOVQMjfGK$BniUSYJ0D{1YMn!hPUwcHj_A_NYC|LHf<*Jt>){ky zOq*ojfTU<-I^3kLSDAI0Su}}TYgHA+OdL#=z#5S?LpQ}p9N6kA0-~Lk;_fko7qd7~ zKnE{o2IjCYoH&cwJX?-YRF=~VG_9MTNz~Q+_&`SBjG#7jwOjcx1hJ;hsf+I5hmfpbuQ!M?mW$tX_K?d+^VYj^K;_>rwz^XhZV!q{_yjMccsZKN?=SIX5g>V_QU;t zUI`H%4zqx7m+@aXBW4E!KUVV8W);`Yf+kmu4o?lJpQtt4*tHH`~O?dvgLnG&g}d z>3Fl-=}`+vTE+3O0D4MPPWAY_4C^=^svtsu&R#)#LA*KUVCx9o(Z)AZXwQtqD4CN6b`5 z;f`>Dyb6+`9hz2Ijt#)6qw-jg9Run?xkE<_8$xEAO-6wPq{ta(TRtA@yZou(W_8&ffcsJ!CKkPq7i2vum z`9I>8+Ird+@(G>~bBLVie0*;++%5Am|6%r1>;5g{Hi*I5HpbupPU?q`Q{IKwUt9)* zX)ceyf9e`--fa5ojBCP#^lp4SX$YM9P)^Mj+g@}U)qfL)A*x!J0vLFcH6}XdVs1o;U_>aQ%+y2~3D{rko-cLoVnzfp1~WkL$PP{c z*~9=qmhSFQa|jNxwuXd6ne}cS(Iuj%G)jKZ#}!S=Ltu(EjnC z|M}34`7Frnn7p$n2yf1}%Upk$5B^dU-0Whz`R$iqz7NPBVJIm~csP~7tihe3bvAbD z5%IwfxAQcW37=1ocee>mw^#*t0*>@r{83_twiU433S(0R^&E3jiX zLvoH7L+JXL6VFeDR%v(Eon7Q1aY~$f7V>_RUE|a336u?tZ42-2Zl`%lTTWYk{Cu1r z3ISq=Kq%u2I$B+=f75SQ!+b0pkRk4_b|TWI28Ilb5kn+%OPk0TmZv$a8OhtRNl_Pc z0W;HP;8ahw)fNH+;lSBW?&c7{4MG>fnkfNAG?j49%i~mzb2`h?R7EeY)=xj|-~D+1 z{QQJ#aRHR@-6^M6efpvg8*HWOvy}H`;IK5cq7;dTaPfERcpfoeTSTT>r&=GI?%RCS zrYWz6U!a9Odqp!dHzz`7QbYkhOJK;#S_KEDT`uz+5)q=$l2SwgYbM&u(h*{c0TA3Z z5=EviQX*P+F*D_eT_8q}zihEch(s7;2+S$QUr+`_%me_0hk-F0Rc~ z)f5nZX@I8`C=iE0IdYd`W)4h!4v0jUA~V7|#&xa3bc$fZJT8YLmSH@o)bAJ3e2T&963Bn>Ux~+df{WZrAA=;)3m= zYP02eS;l4^pZs)^F?jOaC;=F>*}A~AvYI4jg3hZ8GBM&dWvvmqNPrCCxE!h!HxDTm zoyD4Z+x9yICJ$=1?l#H8+K1LuI&7}T`||PKacS+<7wheHxBuxl-^~|aZoc{VuR7+T zlI?4qq?}q&Szl(F{qe`chI}#le33!|mON<1*Vz(Xxv0=G9p@B5>u8I+yMebuF|)8@6LmsD)Cpv6h$dQZe|miP zFP}!K)RT_p2#TU2#{SdeyC-RR`{lOFt3l@esA32giK%Bs(L=5X7U|>!gpaspNs)8dSGGSz7 z_rUN1>v2E;AVhni@tUg{A*otZQ?n}CM9o}ZN;kpP-Q9^u-Ba?u*AUz+#D31nIcRI7 zhUzZT#GsihBBf|)0tBJ}fFfexFRK(Rw#qK+dF-YmAMSZ>OuHh-gNk)44j83%&+Wm* zkx@=Y>}eYw$7P;`15rQ-p8NjS-~39ebX~Z-PEAkk7}`gx-qJ#J3pWja=^>T`=-gpOs_)Nvj{U4#%FQ5QEcQw@ELyNKWvQ5Vf2 zAc4CRqcNxfIJUW2GhpC=UK}F1IT?bYHK%}OD&y0lSKem?t77oV7|gO;}a!7mPO`fT}aIxx)+H#hviKlpi{% zdQ+>S=HArkmk20;gSv~knY|o#ysUM43`GA*5Yd5 z08O+uDblK_G_AFjvVc^wMan3}KuqNnVE^`M#tp}tv>fDVzn{lNin!YgSzW7R0RjMo z7etv=oS(7jv|dLb#Msu)D7?}qg$L22YSM5S)~|Zna#0g8sk)TO8@Vf}_M3jRWge}Q z+={+%G-Po^NCP!#(^Az11XOgAQ(%rlmLTRdw+S4ysi-kV2agegMJEUm+oG!4)EQC4 zwjSrPm8zZ5@!hHF+}}Wc#og;w>#W0EZrjg)c|yamWA0`QrO}F8wSY9l zRL%MF&9+-X$4k%i>+_Of(xs_m4oini_Q|#OS;L z!qGM!AMfU>9@hzG_vX-{HvfF*a_$gdm3Cd|Jg7HIC0IhM%7IKA$y$$HO#{fP*Py=EOX=!k4dC>wZo!1+7HZ^^~HaR+iaC zLS$xALm~h(DK+=HUDY;DPoIlYzq{Uf8GV{#W8Q@BqBpfX@M$b@;I?lvt2dCbnK=(Z zCr3x_n1>LCfXvYBzxnUK`|@|!S6{Dk7j8csVjq4X&@L(m;Y}bWnZ*r=$8Wvu4fW&m!)cyNokFIVlD7mF^SXtg&^qcjzFzsO4#8Ro=HhCI zL72QbMU+XP0U@?pO)Dr+gF245YawF!Slatqf2uGVJH>7EbCTd5`sWJRa|j7Ul^uG* zMBt>0U|?=EKaW5_Kr&Zz^FWjt5dnaW&*U{o{J7h;`>=u1n?%SqUp zR@J6fny7nVj!cO7GN2NIy8}2NzI+hsYGvy)=N`Mx0uUhqx{_jK2VmE{VaRCaMbvW) zV&o>0z=4?qGXgRbF{PA%*+R6CDzb-``nq113UDTVJmBL#7SQ|CdrlP=rZ^QA_h6Mdf(bn{&f59?(U(~xwP49 z(Pq|6t9mghN`|fu8H+S91Ox~nbeSPgVN+jkc0*j{)Xi-Q6kR;042-Qd0_I3pH@i2l z&!6|j0kj$gq>SzsJ$7iBN^y@{?%#TM-Vm2k>i%h7<}nrmpVD>~vEuV;13e98hSPJM zCJ`|V)TZX6DxjDE1K+%X=#|N*(Ezbuu?n=R9MIi~Aa^JgVnzz!4y(>z($MY*E~{=N zd0fWP(;A2L_M6@Jzq{I8cAtMbI5;4-V{-${ltM_%O%2U4pd&zW?itm;{N2UsBCm#& zhAhCE^2^i=1dd=6a5nJrk6f@1SE2I|1b4U zG0c4&36~tf9Kogi2(Sb@rb@`3hv-$E(U6@4(2h$ zdEGtcBOKJ)(7nHXco^TC6)m22K}M}hqk*V`&JO5Eq}7P%%bPcEZ?2i0BlMe;H_)aN zhoQ^K$gK13vYV~_=`Zibsn*(lJ%;??l&-(M5q)9rCC5?1Wy=86Gf6qpQG z)Nk|pteeIn2c^KqF!W)2-Z68Gc>nY9_T4`10+Q<_K**eVGKFCX%lI%)M~BI^C@v$UNGX+i z_~!E5k1*DS5@YZ>S6D?hMnaF+Z3f0*GS#5MsK>@94|})IE$ppd#d+0@#M79TF-~&; zMQ*L0Mjp^ata~0hsg+_VCXR?Y z*(~ktZvEeGzWaQ4nnTU&z-tEa6%Ct8txD|1ZtbNh#j;wPR2^GQi2`_l9U)aemc_b(5P&_d8(p2mZpOfc zSu=MwA*z$OBM_5R<=_5Y?+(%+MMQ$!F%bkt3iz^ZE|aH>4mcidcNQFA8f`o&BIFJo zahXkoVNTI`^QOQ0b~hbLb03Coep<$d+12V?{nqb7PpFMr?@5>nyfk5D}R` z$QfdgI6`*bo)7ID7Nmnp>(iaBZx5@dr#y{3&arARX^fsSkP{fvF7tV&Vr6OMOfgK; zM9hKX^mLNipy$+OXeOk*3KGNd&K+FrrSAus2*4dc&0iiH5K&E=h=?{dGgosplNag2 zUDWj@jrjl9QXzKIzseeMnI;0N-dZh&u=PG(3~erm;JHg(h{4=ysa`!oq(F;L(&X}HhX%*})OY<$HEZfTchIeIcWI?@D^RDl zIj3bZ09>UG%vb3u!0z_;DG!)3h6vikP;+mpb79(E29Cnuv0KY1?Nrc^Gs{x>`c+`U z)tZ}lneAmk=ANg~UiOa|u@+Zx00@=6ylJFfbaMC_o>mFf+9;H$ zyUf;HC&e{GA7UWLhy}2K8N7HALdR(2&5;ou!&#t+=QrE0zPZi=b{pqT(zg0}4XqR+^_yG419;HKvn%K?H_KF(xiAw&;)dv`>=>z)V(y`fwN7m~cU; zVgC8khlAcZwfQuGJ2J){%WUZA13c^8M4*6*aYsO2_AQ^S(yL24>s~paAnZbSwpOPc zLr!s;>*Le&yi}6dti518h(iNkjs?(SkFCNPA_A7;ZVm#j7-Mvg3$Or#LB?(>$ED0r zL8}<~uvrHt4gr8q&&NLW!)65tR$LW0SPE0_GzQr0FxZ-w*KT|`9HO5O^kwv`<8dGS zqT{RiRL3VqUo|=HN8O7P0XVs$xDIEly7x8-bqK);fWQ1U#YnYTh=2&2EptF7RE711 zLnJd;W`FsY_A8DFm&I}-M4V?yiDIJA#hYJ$O&-%(3Trm9fYhzy_1n$zzNlJVB%fyo zZ0KM{kvI?_ZZ5l5-<`$4s#c4(X5+qo{_&t)37bGKnL)cwR9Jw)c^d#xrUvR(om5>!#p60G56Ag5HGvaV_Gk5wcOrMpMUNjKkpa<0THsfHx&a{gUHx3 zVdTwq&(%c)GA_pjD}dr$=dg*^jAloJ;uQgX5wmTno8u#%mN?Hm9^C<%h!6vls`*PN z^UEO!fB+6?zm#b^03ad}0e}Gz(aX=_F9WKZgPV!F7?LmBT?icJis}o;Nz`5p0Dz8&L@)ho+}be9`Q7Q`r~5yssH>+PxdJGJ zH4!5)av~lu5Fy~@&`F?Nx>vNix&CsqyVzV1J3Qk7hb#;mWhEp>m>L|H6M8Je0aqK(hAz_b*#%gR(pow_4n1fYMm}5?hE-~h= z>nJc3FoO{M;@V27^P*ixsRPzwemsL37kk1eNKoZ~p_&4fOK%C7$#JV}#Twh6KQb!zf z?#NXHx?lZ=-+cG)UeTF_1Tj)b$ia#H_V-Wawi=j-IY8V5DeCGF7?9+-UVpJp=gHMd zt?tT5Wz_9ex8CNwikCNojhYj`{{H;w)4UqO`PK0Ccjt1ujL$Qz7=byGPkw#91_!BT z=EmBl2EpA`7b$a7@HgL_yO}nb_VxL0ZcRV^`1Jm#`}@1Y?T=3)GOW`wP3AiEU8`nh zdEoPlO^Ci;WugXvTJ`*Oq?=`#pItU>zUg~%Zc`~`b`f_VH4xyYZl>x%Pwsl+#BMMz zlc}j`nU`jb7l;sQE0}_o3eZ=$S{m1v_ZQ&6j0ol~X6_*7_zOMzm$qt0{NDr@wO_;+ zwU_!Qc=;_a3=Mn{KnPzx+`$MF2~t>EMFw^XArfQV7if;f5h1K|9}=}!;)LsL+6>QcusxS38;41p{4z|VjVD`g8C;0*@|zp8V7GT) zfBWUI%?^?}Je~H_{qpMi^?I{9O*LO9zduo8j9}H!ffCC>z&#E@TYJ1e(HV9*4LLZ# zYDL5Lm6-v$G!yavwdwpYKR=IWUv#O!H(y+=-t_PP)2D2(>iPyCvwEO@&6nR@Ki@Au z{m-Ae>&z)g5p5Dy3@4c$=HLIP_efCol^vf>b6AJN`%%^Md8$)ezw7?@+uX1Er4>gb z25?*r9U?lQ`?9_E{o_biuzfWg_O!!uy!MOB$9Zb?VY%q?5jP>E!1!>lhl3H3I#?sn z;&$W(v`8yOQ>X^6n&ZICr7pC7(NxH|14p$crYQtQP_vgecK{%Q7}#Da$=wkV2<)X8 z`4{pcIvBw(vKqdefG-z8vloF>c_EL>X18{CP>3<^A0LO!I&LyX z)+)g`cZ>|CPDl>!0D(x=ni(iC5}*U3sF^@FjF+!IoZ2lsxs8NqCXN+3feF}R#MHp9 zr>;%ybZY-B&lg+cK73q%xo!~RYS=;u@$K6o44omwz_o~oKHeSQfB0coZ;@i+=w!1j zfkFrj1nvfa++%z8B~}aw6(}ISEX9nrZ{B%5RwAMpD%6Y_1;=F!7;{V_)eJ(2TR)4I z)V=HK<+V=LE&(rwuwP+-ur!a12v`;b2ta75hQ|F_PVqh;^(@(VnRM}okM~pM?rgQa z4At@Y*pR3JdIs-2hG2{F+pkhBF3o{FSZ9h(mYlpH_n_^iXvU>EIH))=)Z*ZfGdXa7 zaW-tzayTx>Nvoc}+A^>jY&NUbtZ9o8y~D$yL0~Ov;?^J#5~D}F`OW6$%Qd>^967Kv zs7UA`XX=L#0?MKve?CgUs(QLzq}ki=x2v1(bUz>O=G|_nO%}Iw78lp1y6yARr_t$` zSFw;dY=Vi^lkAW4!~5g(v+bw;d0ubM>-mk}yv8@L_0?-5UKVkY0kBkY zv(6xwWzuD4=H2DR;aDmVhAeX)OP(sa10lu8L{vq^0SP0qgNvH}GI#n*>JkwN30_=n z@bWDLAXGDRAOuqdAc7OYJ7~AQ+y;7L7R8OKmBL7oNYqcfrm{co?>~wbaDqUPSeGJ| zVBM99(~*dfU-TDnB2@FLUR7T%tF^&gwD0}=Vi|VhS6_YCCY7ejLLIK=uDCdXJQ=bN zHS39fKJGo@dAyPeF{M|#uQVxgcs`7`&rfla1BO5S|15GZ4a^pewcb*=6VBXwa|8Gtp7F+xONEOSzl=5@O|V+v*# zIRrTG!nL=V2+pn_kF)&U?$J};L`s#DW-A%FLk0nrda&7FV z7+@2&YUNH=7b~$B&l33|!0heNWRx%rxPSImofo)Sb#C5JonP)0*wnr1ZpX`H&yU*m z)S9l_D)fz7Pe3JyW(urJU1B@t5$b!=^sG(<9PP2YWbemu>SDMWmlr|zQDgR6Qb zn4jik7`AbGoIxRNqcZ{^AaRVV*PV>gMxCqJY=QVUuP%SuAKGHjETs^JSPyOf=P`vi z4=tTh-=}eGQdCs_@{gbDEO7{TA0EE>)fZp=%}vu2A#VHKyjnkvp*t>8YU#u9*VHhK zqXxyu+J|%+dvBzofJUx9$!@pv>USRwEnaGKZPX3+`b?jn=hHJ2@N#PEK#`b`nan}N z01y#?fPu^mi4f7v0FaTL>1EpoGbTi|7xC1Qq@MirLtG(|$3AL#@+vfZX^5(5?S6Xv zxU^iKi}=D1`TXLG*!411h-o?XG9_t1_)<6zFHipF4&dQsFm*Qp;_}7Y`sKHj6Plep zK7T%)j*W}ExqD;XLVtwWdvpLd*!yD1!9b%xgLyyg^W%=!_m3a{^)G*@TK@2J|Mtz> zd0ak!_(Vj-OP_jIUY2SwyXWW|^89?Kx&RVkLS#cgBoIH5KEsHJd-5i>Xp`D@bIdKMKR;3jRs zIi1!kU(46>uG~I7fByQriw~b+xh-D@@b7yuI6T%mSvq*vhq;v8x$lw+gw{Im`06IK z>Kvf&SgXw52(jN1MI860v#+GbKx)B8Uh z?{6n$QltL@g7U9fDD3cIl-bFxE zadZU7wBlUxX+HrO5{6Yk^YVV7RibMit`Zo`AE$CqG5_gbK9wq;e|TI(rcqAE<@$^5 z)BXV&@_El^IsttizqzZIPkQ$7%s>A*-hRlBpX2c$B72$x5h1+HePj-zU{316yaK4TJ?hch zL;+(|)9eTV0bOvmp0zj>13)DY1p1=Q|8Q04A^Wn*IpI? zcP4cIWfc;l0Wx79W5AGOc>QMi`upjdZ(+58GR#xh*pP?+5U!={Y$g<2;$4NLiU?`Jm^I;QC<9NG&_;`EggdcSLqrX2b4^K~r z@p<|9{?pO+UtC|rO`4{*R1a%b7hvpGUF`a+U%wt+brOv;hk14+5CIx}$mNNlBnLTDu!`29Z3BB)Bq1z0r@wttM_W8%h%P-c>=*6b7F8fLy zX#^)yG0xP$&o9&We{*?u+0{~AEyUR8@agXG@NsGft9xlpZ2~l)z~L-F0&xBvM++0)|`x1pVyD@c`g5-sLMyNgbWQnh#Q9%&nR zO`Ca367T>3fB;EEK~(F(EBxy}e!S_{7q7RUKODZCF3*P5hyQr1=j0c7`~ESch#Q`d zHDq3vvK#=dKvKW!)x{Mva`eb3mu7{_JWzHS;z3eXBnY=hluvngJRLDj0FI@~#~Lq{HYAsLjBUw?qjv zSk)k9K|loLU@!O1ms9UW7wWrUg4^@u;!1#Ed$FVpOOba!J-mDW8O&WUL?&h(4G?&s zdzx@ST%bH^|0)0h5b(g5Jz#is^E!PQ|L6bdfAs7rWp7T%c7ih2{#BM)>$4CLMfB__ z%o%KNecTmoFJ&P^OX@aLfi(~l5^_gvvewkd{`&8K&CJW8#qQ?!Km90R!+HRKQWk3- zke9l6@EGXf_y@LAzwQoYy8FXz7rThejvpQmwzw!O+uLDvlH6*ht5oYtVfOU$cP?y_sJ9DYQI{xincWz!QV1V;2mq%N~ z%cD4B%Gk`0M`eO0zRbQoV-*(x2Oxr+5DA!}6p-o;&}}!$;r4NU{50nj-u>(T^Sjf$ zw7N7z@UhjoS%*Mo=3o3~_sw5lgg~`b1YqVIS<#Nq`uQ)Xa*((R+;KgL6SPU=5WozS z+Cg6G@!-YR7ulN=lQcWO=zjBWuHE7NpZ3dGF``VOMWPd!w`S-JL5FKu_W+`L-ezFEHc&id8Io15eH>*?z+&F9bC%~Gb%?fBdUdHw6N@p%HZ?Kx?? z|K?ZzZ~o1CIlO!P@PVSsVlM9D38>bB>E%_USrk*XqTDkCcM+>r=M%(0-8b$lLSkYB zAfylizu3W<0&>cFH#Ix1e0;6~01#~hbtfNR( zF8~f0Q73DA4NO;?ZV^QCWt^+lZq*ep$mHfgfB;&Y0_tRrfDzAzowd+J*2DSBOb(TF zRwu{afn8X}rI>-uc5~K2!rR+t5j@|VBSUdHF5}R3`|(ic!WaTXG$=mKO;cZI{{X$> z%J1f<7}s8DoTd-=$NP_`Qd<~tKc09~AIj5ws_5v!MeVrASStn~Mu-T_8T|g!d>&pY z*5q)}D14Fu&%zv+pNc(ef5Y3WZ7_Ft7*5R-d10@>0vJ;@;ftCD!f7 zGM}H9?&dnVuBLnZlL(1NTqc$4TnCAL$m?)^kxU)X&J0DQ&gF;y<pJwLGx`|<01_hkqKl)KePcEr2+iA6sUxe(D{hMbAO#q*bptI& zP05J?5Qx#y8Ic1bgjye`>BsS351aF^-oN|&_;k!&|M}_mcsj0V(~eT`1deX#V3g1m z0Pw}U3I;AtiIBDJb=KCR-o{UIu>Q&~Jl3<-xFA>%lj5V(Pe6C(kP zCqqCH=YXv_5)3P@#g@hwuezbf5U^FNg{HCFrPwB!i+FH!XtSDF+9YrxlwMoq&iNHJ#GTn-q~BT|Pt*O&t!s5k+%v1t_`jG2LvHw?v* z5C$A#K2PhV2xN-H9LXN^%C0|+)2D}z&p)32^`GAV@Si^&57WDMch7%5l@q-?+#NK| z$bc&_b^*i?V~kxFyW#T9>gr9u&Rv@-g%mfhr^yq$Lx6{S-_~z?!@oJjJA0FTRSzvtl zbePBb{=@B$@7|xvG@nYdYHkEHNSowXn)>qMb43}|7q?}APs?+NWa3ub#VM1mg*XHZL)=W$snrHR?O>e9W+wnEZi|PGDUvscCEUts zY*iOn_v?$xbI!Ql<^ApQ?*0x1n=B~>W0}fH(Jr?aX!tZf4)Lbzx>Y_u><>kk90zoA zF$2S%13{f8Fvyp|+e_aWx;PEY5p_0BhymR|UHdCcJw_guz>C)P#c=lJMZR3YstL{T zxZ*coMIuc3mlb?EC;$dRA|S$LausKW?Jk&kDHZ}qb3k-+BjOyiIf6;`MHu3+MMOBz z5X6`hsv`Gn;(=*%ncJwLK?vAibq2P($o-I7X^0$SczN{7U3hw&-+r|nc5#2dSoPFL zJqQN$YGF-SJrswI6kJ9H1$WS;QDB+n^;es>-=CF99zW09%REm_RXGP0Ff&(AXQ@hg z;XqhZtHzlzht*XV0*P8$$Fz>uuXe}JlYz;ih@`XTP2xb+1T)sL$)eqA)t|lo`TqWR z_s}o-Xp6EJY4g~8g40+&KR+DWV}l1Mhx1n#=hvInHvQ_q>c9P6_tkHPZ~m%(^)0K9 z+MFWgb$}H@Jexc>%(Fm+*ymMN!=SiBWJ-aNp)C6G;{nx?z|^%UI8bB&(#3SPVUyxO zho|ZAG=qbjWLX+9xj2$rF$%;3>tvvgjJ8-<$98O9A+55GcJuZ6tKaTc7k2q3bOTXT z3esl;FlH-rIXz8f*0!jrSo7z$H!zWwLheJ4M0eA(se&4JY~nBF&8p_r!BA$UOdKh! ziC?~c3evnIzV7?B?f&rTVXh0uz&*8R1%P}R>Pg7SqdgrSE^f|tZ#JRj<+-Wac9Skv zxvU%%-M|qzqBpFj2F@{^pI@KvR*23-0C2dQ1q}hYqghV#a$4opaXJ`UsYP^L+R13% z_S?Y0)!^k&2bWr{Etrft)Iz2J=54ZzA?7U?QDU?TZeYbqE3dvj|Mud$c_atOLwEVb z>%d9o_W10F4;-J)`06GsqY-0S{P3(HVn1LhMob~#{#l6799nY`8-_5R3=!u^%_$GD z>&cmAZfQtB9doOp4a36B^S+#2XH0R~3l?90*>6|j^N$Bo{o?KBZ~yx*F2BgbDg%It zIsh>*rG!KTloEaWyK@Kq@TUW<7@k_Uj+j2aLOD#jLtaYG%4vME?GFufO@-jW&J!aBR=wnfpAKQtI8i zBP4t&@dW4#(DRPtOvCl#o5H2qOZy8+e6sEOlvV7p6LU zXkT2u1tBFv23vft>gE`b2z7Q(01Yq^00zyWpggzs*yjDBj*d39gIH-&kP*@AT*yNT zotaVyb*aURo5mP`$iOU3<_oY>0B>0L;_3(>;%~dYEp|9G6bxJT>YO72qFj*vO}`tu zeBS8o{?I*trn~p><4^1H{`|ZPeElZY1(1BTVvbm=yTf?0++i(V7Eg%?VJTjV_XC-M zD)b@6Rqtk*78G3;pC!BKD$ncQQhMn{kYP=;a@)(VzdFxX!Q8{F^(apC=C5|=uU9S* z6T5=<6UgUmQ1GR7g?e6fD` zG~R!l)>nNUjRJ9IJqiZo0n<7nQF*M$V9iq(fFMTx-T&^3S6^&D{ORH8<47Gr0IN>O zuF&?4B8EQ7USc4aq>YA*QmZvLv#{YX1X-FcZpA`R`7-IK=!isyW(_#;{!vx|*3{LNf_|TQ(_H@kC(vyX42WvL|`nv=Gs?eI}Or>~A1OU@$?uZ1#nrijw zWUYEB)(_MQpoUuNvQ$8tCSMBVgnbq_1Tb_9ZdTj=;0oCd-u%rP0abufY>E=GqHH%^ z&QVRZ877QC93pcNQ*cz((BXWtWfow-lTnTy5ZrecDJ%|x{dFhiLx=UQ&|=Mvw(0V^ zW5%Vb&9a=Tskft;1BMrk$K+(~DB3IrB*wT)^Py0Ni|hXO{o(mxPOBIGd9H1$=zx)V6$TFf z=Kt_z9#YC261%y(x#{%t)EqE+ip)eeZ@1?+tDpb;dD6K-bMR=9kx)rzRcsgw1uc_W zF|Ze_974w9RFph5z8ZGhu$o$_B0a?QMb2Ad!^3{zj)BnCU7$TFytu+U1P8AsRWHxZ z|Lwo~Tbbb5xcKs~y8pZjj;AOl5;frnkbeZD_D z9Uaku-2@%TQL)u!nRRMf9X&%9Yaz!rFSRTIJ7)n9TL2m2S#YrzV|sTUctIq@H2{Fk z<}P5~psJg~crrl92^Y=l*Jo|<+rOMX{dju%yezI1&=A_F zsS6aTELFvap)<86!pv$q3^@cmJT13BO%_nZoE#Rj;=?w5{oBpy{kYsMufJcfFZ;7s z*(Tv5>~{V2ueO`3w7ZC(|1v&(oYN-AXx_Yg)q#PGX4L_JJ4V8EmLQ_cN`QcLxSNir zqU0Qbh}-}J^=~_1kY@=P(h$24AO{ z{&;`thAv%ZImsK|#>?1Dn>2IlyTmE!Ias`ug9$I_;O`xe_5T zxa~D4T}}4g?%6L`sv)fKCn$ z28al#4P-Rxh$GI&h8qL`3P=g5!#Yk<)$>y6v*Th^=k^G8-4sQwXE^VPFRp?Lyf{M3 zVo0#w@I0A0h=5eD#b3;Vh`8F2Dj>po6Jnr#z?3iq+?}%t0D;LAo1$=TN-9t% zBSeUx?lM|jM@j@u4XssQukvZ%{`3#`pZ;^FVAQb>adtBlY4<-)Qk1$Nlg4$(7fEKZS;4^3<0^zc zsEDaU^`_=v`_I$q(9$Z@y|l?p%oQl1FOJ|}{O0oQ*JtJ9R8EaHUF?!h;sD?tHbM4{ z4lN{xEL)^saIL{)RH|rcRMvfuOQ+xb){QTqd)BQ=SyZZ~& z1S9F9$k1JN;0}NaW@3oQiLJP+aSYbX&8;W~1_5yY;GPwWP{S6G8qZm>YVcfYcKLn7UR)r+gI*6dX3&?bUEz_AM$Op5|O=fDGzcqYLB| zZoa&@etY)i_piSE=4KmLH|G~`zrXI*VZF;9?S4G`<@Tr9XEkl5)h6h)TCX7zId!oo z;$S?)4Ke3cMkPc_eSSLKW$J<@X$2XrIYmqt5e(WviP0OFK->@|(#a6X1&E1bhY{!Y zA@kcDzjBAjaFIQshGp@-M-G@X<}Cw2DIOxWhTv}MITJFtd5A=WU60Igc1}cK2BN-< z{`{!KDB{w5y`k-nKYwh%Z0@x*RYV47`pv7?zuIm7m-j#4v(Bfw9fAwK`}1M?!tUN3 z_Meu}rNgAhvBeHIo4~j28_WH9KECxI{vWsC(4X9?k9Xr?ve|ivoTwZdWlF2iCZUL7!}YnkKvVtp`f_gV;V_0Fc9(&X zWN~d4H&I!*V=Jzs4(qhO%*4Qfz`?||*)qxLadD!iHa;!uUEZE09`*Qnx%%~aKF=YN z8U%+{B*(}(q#VrshkyDkP0aky|M9*~O;zXT<%d6i{Nta0>iT}0&&K(YL|0UCoN&|n zr*;DK*u}Xm@>trTX;nmcW80g*{rV{{Km7RV_&q|Ko3DoJug(B)-Y@Y(uDTG6#C+c zxUn~Lby=JefjOv$^I)^NyPOOI=t;vi0H9U_c9*(J|7O$uH<6>e4H3_KH*@~_`y>Ln zLo)zGj!+j*8JSTU5aW77F=2@0=KVmcH4#B;uq-a>h*+v~pbjx6c9TKd~MASljIdPH7VNdqAu#@;D`#gXfyLk+gO*WLLkU7oku+h zqUj>QZV}Z%CUJw4oTHAuJ@1j>U;p9#$G_Y^-<_lgkZ~ep zGI0cSb*l>KGKm~j7X@^RxQqoi?2GAS7{~!-ZbTju%P7u@T@x@@i{ycp6Ux7%ePqo|ey}{(Lxiu|D=2Uhf|c+i%Xc-=5_+ z-TI4FdYyJ(4HvIA_5dsHzWWcacGtr)*5@C__}Oy`;WA(b0vN~T!;kkLKi{U9f(A9s z*r`duCFg_@0RW@B!YXeTS-Q$+F`sN4$0;B(gO&=x!+=)39gGv|%heaq#d*zP%_<&N z?9E?rXD*ua8-h)u?_&C*NmErYx$2#e`TUYwGXz*>A5W^{#f

  • X@ujjZ-!d=Kg>fC^t5_#~4WnQYKA%!7GGf0R5 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 literal 0 HcmV?d00001 diff --git a/nixie_tubes/mod.conf b/nixie_tubes/mod.conf new file mode 100644 index 00000000..2ead58ff --- /dev/null +++ b/nixie_tubes/mod.conf @@ -0,0 +1 @@ +name = nixie_tubes diff --git a/pipeworks/compat.lua b/pipeworks/compat.lua index c89e492b..9c956e6d 100644 --- a/pipeworks/compat.lua +++ b/pipeworks/compat.lua @@ -15,6 +15,10 @@ minetest.override_item("default:furnace", { insert_object = function(pos, node, stack, direction) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + timer:start(1.0) + end if direction.y == 1 then return inv:add_item("fuel",stack) else @@ -60,6 +64,10 @@ minetest.override_item("default:furnace_active", { insert_object = function(pos,node,stack,direction) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() + local timer = minetest.get_node_timer(pos) + if not timer:is_started() then + timer:start(1.0) + end if direction.y == 1 then return inv:add_item("fuel", stack) else diff --git a/pipeworks/description.txt b/pipeworks/description.txt new file mode 100644 index 00000000..9e6e8009 --- /dev/null +++ b/pipeworks/description.txt @@ -0,0 +1 @@ +This mod uses nodeboxes to supply a complete set of 3D pipes and tubes, along devices that work with them. diff --git a/pipeworks/mod.conf b/pipeworks/mod.conf new file mode 100644 index 00000000..d9d2984d --- /dev/null +++ b/pipeworks/mod.conf @@ -0,0 +1 @@ +name = pipeworks diff --git a/pipeworks/screenshot.png b/pipeworks/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..686d95566ebb9ccc579d009d1496337710779856 GIT binary patch literal 92579 zcmV)iK%&2iP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z 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 z�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%0Dr=4 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 literal 0 HcmV?d00001 diff --git a/quartz/textures/quartz_ore.png b/quartz/textures/quartz_ore.png index 805666afc5febf658bdbefb466aa8dd25fed65f9..69d5ec4827c62f0a6b2dd04511f12ec57da79316 100644 GIT binary patch delta 217 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 0 then + x_step = 1 + x_component = 1 / dir.x + x_intersect = x_component + else + x_step = -1 + x_component = 1 / -dir.x + end + if dir.y == 0 then + y_intersect = math.huge + elseif dir.y > 0 then + y_step = 1 + y_component = 1 / dir.y + y_intersect = y_component + else + y_step = -1 + y_component = 1 / -dir.y + end + if dir.z == 0 then + z_intersect = math.huge + elseif dir.z > 0 then + z_step = 1 + z_component = 1 / dir.z + z_intersect = z_component + else + z_step = -1 + z_component = 1 / -dir.z + end + + return function() + if x_intersect < y_intersect then + if x_intersect < z_intersect then + p.x = p.x + x_step + x_intersect = x_intersect + x_component + else + p.z = p.z + z_step + z_intersect = z_intersect + z_component + end + elseif y_intersect < z_intersect then + p.y = p.y + y_step + y_intersect = y_intersect + y_component + else + p.z = p.z + z_step + z_intersect = z_intersect + z_component + end + if vector.distance(pos, p) > range then + return nil + end + return p + end +end + diff --git a/technic/init.lua b/technic/init.lua index 25361af4..70ad8482 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -2,22 +2,18 @@ -- namespace: technic -- (c) 2012-2013 by RealBadAngel +local load_start = os.clock() + technic = rawget(_G, "technic") or {} technic.creative_mode = minetest.setting_getbool("creative_mode") -technic.tube_inject_item = pipeworks.tube_inject_item or function (pos, start_pos, velocity, item) - local tubed = pipeworks.tube_item(vector.new(pos), item) - tubed:get_luaentity().start_pos = vector.new(start_pos) - tubed:setvelocity(velocity) - tubed:setacceleration(vector.new(0, 0, 0)) -end -local load_start = os.clock() local modpath = minetest.get_modpath("technic") technic.modpath = modpath + -- Boilerplate to support intllib -if minetest.get_modpath("intllib") then +if rawget(_G, "intllib") then technic.getter = intllib.Getter() else technic.getter = function(s,a,...)if a==nil then return s end a={a,...}return s:gsub("(@?)@(%(?)(%d+)(%)?)",function(e,o,n,c)if e==""then return a[tonumber(n)]..(o==""and c or"")else return"@"..o..n..c end end) end diff --git a/technic/legacy.lua b/technic/legacy.lua index 8360a710..6a080e16 100644 --- a/technic/legacy.lua +++ b/technic/legacy.lua @@ -22,9 +22,6 @@ technic.legacy_nodenames = { ["technic:compressor"] = "technic:lv_compressor", ["technic:compressor_active"] = "technic:lv_compressor_active", ["technic:hv_battery_box"] = "technic:hv_battery_box0", - ["technic:hv_cable"] = "technic:hv_cable0", - ["technic:lv_cable"] = "technic:lv_cable0", - ["technic:mv_cable"] = "technic:mv_cable0", ["technic:mv_battery_box"] = "technic:mv_battery_box0", ["technic:generator"] = "technic:lv_generator", ["technic:generator_active"] = "technic:lv_generator_active", @@ -36,3 +33,9 @@ for old, new in pairs(technic.legacy_nodenames) do minetest.register_alias(old, new) end +for i = 0, 64 do + minetest.register_alias("technic:hv_cable"..i, "technic:hv_cable") + minetest.register_alias("technic:mv_cable"..i, "technic:mv_cable") + minetest.register_alias("technic:lv_cable"..i, "technic:lv_cable") +end + diff --git a/technic/machines/HV/battery_box.lua b/technic/machines/HV/battery_box.lua index 1e054ec6..9093ba9b 100644 --- a/technic/machines/HV/battery_box.lua +++ b/technic/machines/HV/battery_box.lua @@ -4,7 +4,7 @@ minetest.register_craft({ recipe = { {'technic:mv_battery_box0', 'technic:mv_battery_box0', 'technic:mv_battery_box0'}, {'technic:mv_battery_box0', 'technic:hv_transformer', 'technic:mv_battery_box0'}, - {'', 'technic:hv_cable0', ''}, + {'', 'technic:hv_cable', ''}, } }) diff --git a/technic/machines/HV/cables.lua b/technic/machines/HV/cables.lua index 25297c8f..0b86a239 100644 --- a/technic/machines/HV/cables.lua +++ b/technic/machines/HV/cables.lua @@ -1,9 +1,9 @@ minetest.register_craft({ - output = 'technic:hv_cable0 3', + output = 'technic:hv_cable 3', recipe = { {'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting'}, - {'technic:mv_cable0', 'technic:mv_cable0', 'technic:mv_cable0'}, + {'technic:mv_cable', 'technic:mv_cable', 'technic:mv_cable'}, {'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting'}, } }) diff --git a/technic/machines/HV/forcefield.lua b/technic/machines/HV/forcefield.lua index 0f0836d6..3bf93b04 100644 --- a/technic/machines/HV/forcefield.lua +++ b/technic/machines/HV/forcefield.lua @@ -15,7 +15,7 @@ minetest.register_craft({ recipe = { {"default:mese", "technic:motor", "default:mese" }, {"technic:deployer_off", "technic:machine_casing", "technic:deployer_off"}, - {"default:mese", "technic:hv_cable0", "default:mese" }, + {"default:mese", "technic:hv_cable", "default:mese" }, } }) @@ -195,7 +195,7 @@ end minetest.register_node("technic:forcefield_emitter_off", { description = S("%s Forcefield Emitter"):format("HV"), tiles = {"technic_forcefield_emitter_off.png"}, - groups = {cracky = 1, technic_machine = 1}, + groups = {cracky = 1, technic_machine = 1, technic_hv = 1}, on_receive_fields = forcefield_receive_fields, on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -215,7 +215,8 @@ minetest.register_node("technic:forcefield_emitter_off", { minetest.register_node("technic:forcefield_emitter_on", { description = S("%s Forcefield Emitter"):format("HV"), tiles = {"technic_forcefield_emitter_on.png"}, - groups = {cracky = 1, technic_machine = 1, not_in_creative_inventory=1}, + groups = {cracky = 1, technic_machine = 1, technic_hv = 1, + not_in_creative_inventory=1}, drop = "technic:forcefield_emitter_off", on_receive_fields = forcefield_receive_fields, on_destruct = function(pos) diff --git a/technic/machines/HV/generator.lua b/technic/machines/HV/generator.lua index aa83590c..3fb494b4 100644 --- a/technic/machines/HV/generator.lua +++ b/technic/machines/HV/generator.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:carbon_plate', 'technic:mv_generator', 'technic:composite_plate'}, {'pipeworks:tube_1', 'technic:hv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:hv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/HV/nuclear_reactor.lua b/technic/machines/HV/nuclear_reactor.lua index 3aa1ba8c..c7951ab3 100644 --- a/technic/machines/HV/nuclear_reactor.lua +++ b/technic/machines/HV/nuclear_reactor.lua @@ -1,34 +1,34 @@ --- The enriched uranium rod driven EU generator. --- A very large and advanced machine providing vast amounts of power. --- Very efficient but also expensive to run as it needs uranium. (10000EU 86400 ticks (one week)) --- Provides HV EUs that can be down converted as needed. --- --- The nuclear reactor core needs water and a protective shield to work. --- This is checked now and then and if the machine is tampered with... BOOM! +--[[ + The enriched uranium rod driven EU generator. +A very large and advanced machine providing vast amounts of power. +Very efficient but also expensive to run as it needs uranium. +Provides 10000 HV EUs for one week (only counted when loaded). -local burn_ticks = 7 * 24 * 60 * 60 -- (seconds). -local power_supply = 100000 -- EUs -local fuel_type = "technic:uranium_fuel" -- The reactor burns this stuff +The nuclear reactor core requires a casing of water and a protective +shield to work. This is checked now and then and if the casing is not +intact the reactor will melt down! +--]] + +local burn_ticks = 7 * 24 * 60 * 60 -- Seconds +local power_supply = 100000 -- EUs +local fuel_type = "technic:uranium_fuel" -- The reactor burns this local S = technic.getter -if not vector.length_square then - vector.length_square = function (v) - return v.x*v.x + v.y*v.y + v.z*v.z - end -end +local reactor_desc = S("@1 Nuclear Reactor Core", S("HV")), --- FIXME: recipe must make more sense like a rod recepticle, steam chamber, HV generator? + +-- FIXME: Recipe should make more sense like a rod recepticle, steam chamber, HV generator? minetest.register_craft({ output = 'technic:hv_nuclear_reactor_core', recipe = { {'technic:carbon_plate', 'default:obsidian_glass', 'technic:carbon_plate'}, {'technic:composite_plate', 'technic:machine_casing', 'technic:composite_plate'}, - {'technic:stainless_steel_ingot', 'technic:hv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:hv_cable', 'technic:stainless_steel_ingot'}, } }) -local generator_formspec = +local reactor_formspec = "invsize[8,9;]".. "label[0,0;"..S("Nuclear Reactor Rod Compartment").."]".. "list[current_name;src;2,1;3,2;]".. @@ -36,103 +36,111 @@ local generator_formspec = "listring[]" -- "Boxy sphere" -local nodebox = { - { -0.353, -0.353, -0.353, 0.353, 0.353, 0.353 }, -- Box - { -0.495, -0.064, -0.064, 0.495, 0.064, 0.064 }, -- Circle +-x - { -0.483, -0.128, -0.128, 0.483, 0.128, 0.128 }, - { -0.462, -0.191, -0.191, 0.462, 0.191, 0.191 }, - { -0.433, -0.249, -0.249, 0.433, 0.249, 0.249 }, - { -0.397, -0.303, -0.303, 0.397, 0.303, 0.303 }, - { -0.305, -0.396, -0.305, 0.305, 0.396, 0.305 }, -- Circle +-y - { -0.250, -0.432, -0.250, 0.250, 0.432, 0.250 }, - { -0.191, -0.461, -0.191, 0.191, 0.461, 0.191 }, - { -0.130, -0.482, -0.130, 0.130, 0.482, 0.130 }, - { -0.066, -0.495, -0.066, 0.066, 0.495, 0.066 }, - { -0.064, -0.064, -0.495, 0.064, 0.064, 0.495 }, -- Circle +-z - { -0.128, -0.128, -0.483, 0.128, 0.128, 0.483 }, - { -0.191, -0.191, -0.462, 0.191, 0.191, 0.462 }, - { -0.249, -0.249, -0.433, 0.249, 0.249, 0.433 }, - { -0.303, -0.303, -0.397, 0.303, 0.303, 0.397 }, +local node_box = { + {-0.353, -0.353, -0.353, 0.353, 0.353, 0.353}, -- Box + {-0.495, -0.064, -0.064, 0.495, 0.064, 0.064}, -- Circle +-x + {-0.483, -0.128, -0.128, 0.483, 0.128, 0.128}, + {-0.462, -0.191, -0.191, 0.462, 0.191, 0.191}, + {-0.433, -0.249, -0.249, 0.433, 0.249, 0.249}, + {-0.397, -0.303, -0.303, 0.397, 0.303, 0.303}, + {-0.305, -0.396, -0.305, 0.305, 0.396, 0.305}, -- Circle +-y + {-0.250, -0.432, -0.250, 0.250, 0.432, 0.250}, + {-0.191, -0.461, -0.191, 0.191, 0.461, 0.191}, + {-0.130, -0.482, -0.130, 0.130, 0.482, 0.130}, + {-0.066, -0.495, -0.066, 0.066, 0.495, 0.066}, + {-0.064, -0.064, -0.495, 0.064, 0.064, 0.495}, -- Circle +-z + {-0.128, -0.128, -0.483, 0.128, 0.128, 0.483}, + {-0.191, -0.191, -0.462, 0.191, 0.191, 0.462}, + {-0.249, -0.249, -0.433, 0.249, 0.249, 0.433}, + {-0.303, -0.303, -0.397, 0.303, 0.303, 0.397}, } +local SS_OFF = 0 +local SS_DANGER = 1 +local SS_CLEAR = 2 + local reactor_siren = {} -local function siren_set_state(pos, newstate) +local function siren_set_state(pos, state) local hpos = minetest.hash_node_position(pos) local siren = reactor_siren[hpos] if not siren then - if newstate == "off" then return end - siren = {state="off"} + if state == SS_OFF then return end + siren = {state=SS_OFF} reactor_siren[hpos] = siren end - if newstate == "danger" and siren.state ~= "danger" then + if state == SS_DANGER and siren.state ~= SS_DANGER then if siren.handle then minetest.sound_stop(siren.handle) end - siren.handle = minetest.sound_play("technic_hv_nuclear_reactor_siren_danger_loop", {pos=pos, gain=1.5, loop=true, max_hear_distance=48}) - siren.state = "danger" - elseif newstate == "clear" then + siren.handle = minetest.sound_play("technic_hv_nuclear_reactor_siren_danger_loop", + {pos=pos, gain=1.5, loop=true, max_hear_distance=48}) + siren.state = SS_DANGER + elseif state == SS_CLEAR then if siren.handle then minetest.sound_stop(siren.handle) end - local clear_handle = minetest.sound_play("technic_hv_nuclear_reactor_siren_clear", {pos=pos, gain=1.5, loop=false, max_hear_distance=48}) + local clear_handle = minetest.sound_play("technic_hv_nuclear_reactor_siren_clear", + {pos=pos, gain=1.5, loop=false, max_hear_distance=48}) siren.handle = clear_handle - siren.state = "clear" - minetest.after(10, function () - if siren.handle == clear_handle then - minetest.sound_stop(clear_handle) - if reactor_siren[hpos] == siren then - reactor_siren[hpos] = nil - end + siren.state = SS_CLEAR + minetest.after(10, function() + if siren.handle ~= clear_handle then return end + minetest.sound_stop(clear_handle) + if reactor_siren[hpos] == siren then + reactor_siren[hpos] = nil end end) - elseif newstate == "off" and siren.state ~= "off" then + elseif state == SS_OFF and siren.state ~= SS_OFF then if siren.handle then minetest.sound_stop(siren.handle) end - siren.handle = nil reactor_siren[hpos] = nil end end + local function siren_danger(pos, meta) meta:set_int("siren", 1) - siren_set_state(pos, "danger") + siren_set_state(pos, SS_DANGER) end + local function siren_clear(pos, meta) if meta:get_int("siren") ~= 0 then - siren_set_state(pos, "clear") + siren_set_state(pos, SS_CLEAR) meta:set_int("siren", 0) end end --- The standard reactor structure consists of a 9x9x9 cube. A cross --- section through the middle: --- --- CCCC CCCC --- CBBB BBBC --- CBSS SSBC --- CBSWWWSBC --- CBSW#WSBC --- CBSW|WSBC --- CBSS|SSBC --- CBBB|BBBC --- CCCC|CCCC --- C = Concrete, B = Blast-resistant concrete, S = Stainless Steel, --- W = water node, # = reactor core, | = HV cable --- --- The man-hole and the HV cable are only in the middle, and the man-hole --- is optional. --- --- For the reactor to operate and not melt down, it insists on the inner --- 7x7x7 portion (from the core out to the blast-resistant concrete) --- being intact. Intactness only depends on the number of nodes of the --- right type in each layer. The water layer must have water in all but --- at most one node; the steel and blast-resistant concrete layers must --- have the right material in all but at most two nodes. The permitted --- gaps are meant for the cable and man-hole, but can actually be anywhere --- and contain anything. For the reactor to be useful, a cable must --- connect to the core, but it can go in any direction. --- --- The outer concrete layer of the standard structure is not required --- for the reactor to operate. It is noted here because it used to --- be mandatory, and for historical reasons (that it predates the --- implementation of radiation) it needs to continue being adequate --- shielding of legacy reactors. If it ever ceases to be adequate --- shielding for new reactors, legacy ones should be grandfathered. -local reactor_structure_badness = function(pos) +--[[ +The standard reactor structure consists of a 9x9x9 cube. A cross +section through the middle: + + CCCC CCCC + CBBB BBBC + CBSS SSBC + CBSWWWSBC + CBSW#WSBC + CBSW|WSBC + CBSS|SSBC + CBBB|BBBC + CCCC|CCCC + C = Concrete, B = Blast-resistant concrete, S = Stainless Steel, + W = water node, # = reactor core, | = HV cable + +The man-hole and the HV cable are only in the middle, and the man-hole +is optional. + +For the reactor to operate and not melt down, it insists on the inner +7x7x7 portion (from the core out to the blast-resistant concrete) +being intact. Intactness only depends on the number of nodes of the +right type in each layer. The water layer must have water in all but +at most one node; the steel and blast-resistant concrete layers must +have the right material in all but at most two nodes. The permitted +gaps are meant for the cable and man-hole, but can actually be anywhere +and contain anything. For the reactor to be useful, a cable must +connect to the core, but it can go in any direction. + +The outer concrete layer of the standard structure is not required +for the reactor to operate. It is noted here because it used to +be mandatory, and for historical reasons (that it predates the +implementation of radiation) it needs to continue being adequate +shielding of legacy reactors. If it ever ceases to be adequate +shielding for new reactors, legacy ones should be grandfathered. +--]] +local function reactor_structure_badness(pos) local vm = VoxelManip() local pos1 = vector.subtract(pos, 3) local pos2 = vector.add(pos, 3) @@ -179,14 +187,16 @@ local reactor_structure_badness = function(pos) return (25 - waterlayer) + (96 - steellayer) + (216 - blastlayer) end -local function meltdown_reactor(pos) - print("A reactor melted down at "..minetest.pos_to_string(pos)) + +local function melt_down_reactor(pos) + minetest.log("action", "A reactor melted down at "..minetest.pos_to_string(pos)) minetest.set_node(pos, {name="technic:corium_source"}) end + minetest.register_abm({ nodenames = {"technic:hv_nuclear_reactor_core_active"}, - interval = 1, + interval = 4, chance = 1, action = function (pos, node) local meta = minetest.get_meta(pos) @@ -194,14 +204,14 @@ minetest.register_abm({ local accum_badness = meta:get_int("structure_accumulated_badness") if badness == 0 then if accum_badness ~= 0 then - meta:set_int("structure_accumulated_badness", accum_badness - 1) + meta:set_int("structure_accumulated_badness", accum_badness - 4) siren_clear(pos, meta) end else siren_danger(pos, meta) accum_badness = accum_badness + badness - if accum_badness >= 100 then - meltdown_reactor(pos) + if accum_badness >= 25 then + melt_down_reactor(pos) else meta:set_int("structure_accumulated_badness", accum_badness) end @@ -209,40 +219,36 @@ minetest.register_abm({ end, }) -local run = function(pos, node) +local function run(pos, node) local meta = minetest.get_meta(pos) - local machine_name = S("Nuclear %s Generator Core"):format("HV") local burn_time = meta:get_int("burn_time") or 0 if burn_time >= burn_ticks or burn_time == 0 then local inv = meta:get_inventory() if not inv:is_empty("src") then - local srclist = inv:get_list("src") + local src_list = inv:get_list("src") local correct_fuel_count = 0 - for _, srcstack in pairs(srclist) do - if srcstack then - if srcstack:get_name() == fuel_type then - correct_fuel_count = correct_fuel_count + 1 - end + for _, src_stack in pairs(src_list) do + if src_stack and src_stack:get_name() == fuel_type then + correct_fuel_count = correct_fuel_count + 1 end end - -- Check that the reactor is complete as well - -- as the correct number of correct fuel + -- Check that the reactor is complete and has the correct fuel if correct_fuel_count == 6 and - reactor_structure_badness(pos) == 0 then + reactor_structure_badness(pos) == 0 then meta:set_int("burn_time", 1) technic.swap_node(pos, "technic:hv_nuclear_reactor_core_active") meta:set_int("HV_EU_supply", power_supply) - for idx, srcstack in pairs(srclist) do - srcstack:take_item() - inv:set_stack("src", idx, srcstack) + for idx, src_stack in pairs(src_list) do + src_stack:take_item() + inv:set_stack("src", idx, src_stack) end return end end meta:set_int("HV_EU_supply", 0) meta:set_int("burn_time", 0) - meta:set_string("infotext", S("%s Idle"):format(machine_name)) + meta:set_string("infotext", S("%s Idle"):format(reactor_desc)) technic.swap_node(pos, "technic:hv_nuclear_reactor_core") meta:set_int("structure_accumulated_badness", 0) siren_clear(pos, meta) @@ -250,40 +256,33 @@ local run = function(pos, node) burn_time = burn_time + 1 meta:set_int("burn_time", burn_time) local percent = math.floor(burn_time / burn_ticks * 100) - meta:set_string("infotext", machine_name.." ("..percent.."%)") + meta:set_string("infotext", reactor_desc.." ("..percent.."%)") meta:set_int("HV_EU_supply", power_supply) end end minetest.register_node("technic:hv_nuclear_reactor_core", { - description = S("Nuclear %s Generator Core"):format("HV"), - tiles = {"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png", - "technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png", - "technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png"}, - groups = {cracky=1, technic_machine=1}, + description = reactor_desc, + tiles = {"technic_hv_nuclear_reactor_core.png"}, + groups = {cracky=1, technic_machine=1, technic_hv=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), - drawtype="nodebox", + drawtype = "nodebox", paramtype = "light", stack_max = 1, node_box = { type = "fixed", - fixed = nodebox + fixed = node_box }, on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("Nuclear %s Generator Core"):format("HV")) - meta:set_int("HV_EU_supply", 0) - -- Signal to the switching station that this device burns some - -- sort of fuel and needs special handling - meta:set_int("HV_EU_from_fuel", 1) - meta:set_int("burn_time", 0) - meta:set_string("formspec", generator_formspec) + meta:set_string("infotext", reactor_desc) + meta:set_string("formspec", reactor_formspec) local inv = meta:get_inventory() inv:set_size("src", 6) - end, + end, can_dig = technic.machine_can_dig, - on_destruct = function(pos) siren_set_state(pos, "off") end, + on_destruct = function(pos) siren_set_state(pos, SS_OFF) end, allow_metadata_inventory_put = technic.machine_inventory_put, allow_metadata_inventory_take = technic.machine_inventory_take, allow_metadata_inventory_move = technic.machine_inventory_move, @@ -291,23 +290,22 @@ minetest.register_node("technic:hv_nuclear_reactor_core", { }) minetest.register_node("technic:hv_nuclear_reactor_core_active", { - tiles = {"technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png", - "technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png", - "technic_hv_nuclear_reactor_core.png", "technic_hv_nuclear_reactor_core.png"}, - groups = {cracky=1, technic_machine=1, radioactive=11000, not_in_creative_inventory=1}, + tiles = {"technic_hv_nuclear_reactor_core.png"}, + groups = {cracky=1, technic_machine=1, technic_hv=1, + radioactive=11000, not_in_creative_inventory=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), - drop="technic:hv_nuclear_reactor_core", - drawtype="nodebox", - light_source = 15, + drop = "technic:hv_nuclear_reactor_core", + drawtype = "nodebox", + light_source = 14, paramtype = "light", node_box = { type = "fixed", - fixed = nodebox + fixed = node_box }, can_dig = technic.machine_can_dig, - after_dig_node = meltdown_reactor, - on_destruct = function(pos) siren_set_state(pos, "off") end, + after_dig_node = melt_down_reactor, + on_destruct = function(pos) siren_set_state(pos, SS_OFF) end, allow_metadata_inventory_put = technic.machine_inventory_put, allow_metadata_inventory_take = technic.machine_inventory_take, allow_metadata_inventory_move = technic.machine_inventory_move, @@ -318,10 +316,10 @@ minetest.register_node("technic:hv_nuclear_reactor_core_active", { end, on_timer = function(pos, node) local meta = minetest.get_meta(pos) - + -- Connected back? if meta:get_int("HV_EU_timeout") > 0 then return false end - + local burn_time = meta:get_int("burn_time") or 0 if burn_time >= burn_ticks or burn_time == 0 then @@ -332,7 +330,7 @@ minetest.register_node("technic:hv_nuclear_reactor_core_active", { siren_clear(pos, meta) return false end - + meta:set_int("burn_time", burn_time + 1) return true end, @@ -341,34 +339,36 @@ minetest.register_node("technic:hv_nuclear_reactor_core_active", { technic.register_machine("HV", "technic:hv_nuclear_reactor_core", technic.producer) technic.register_machine("HV", "technic:hv_nuclear_reactor_core_active", technic.producer) --- radioactivity +--[[ +Radioactivity + +Radiation resistance represents the extent to which a material +attenuates radiation passing through it; i.e., how good a radiation +shield it is. This is identified per node type. For materials that +exist in real life, the radiation resistance value that this system +uses for a node type consisting of a solid cube of that material is the +(approximate) number of halvings of ionising radiation that is achieved +by a meter of the material in real life. This is approximately +proportional to density, which provides a good way to estimate it. +Homogeneous mixtures of materials have radiation resistance computed +by a simple weighted mean. Note that the amount of attenuation that +a material achieves in-game is not required to be (and is not) the +same as the attenuation achieved in real life. + +Radiation resistance for a node type may be specified in the node +definition, under the key "radiation_resistance". As an interim +measure, until node definitions widely include this, this code +knows a bunch of values for particular node types in several mods, +and values for groups of node types. The node definition takes +precedence if it specifies a value. Nodes for which no value at +all is known are taken to provide no radiation resistance at all; +this is appropriate for the majority of node types. Only node types +consisting of a fairly homogeneous mass of material should report +non-zero radiation resistance; anything with non-uniform geometry +or complex internal structure should show no radiation resistance. +Fractional resistance values are permitted. +--]] --- Radiation resistance represents the extent to which a material --- attenuates radiation passing through it; i.e., how good a radiation --- shield it is. This is identified per node type. For materials that --- exist in real life, the radiation resistance value that this system --- uses for a node type consisting of a solid cube of that material is the --- (approximate) number of halvings of ionising radiation that is achieved --- by a metre of the material in real life. This is approximately --- proportional to density, which provides a good way to estimate it. --- Homogeneous mixtures of materials have radiation resistance computed --- by a simple weighted mean. Note that the amount of attenuation that --- a material achieves in-game is not required to be (and is not) the --- same as the attenuation achieved in real life. --- --- Radiation resistance for a node type may be specified in the node --- definition, under the key "radiation_resistance". As an interim --- measure, until node definitions widely include this, this code --- knows a bunch of values for particular node types in several mods, --- and values for groups of node types. The node definition takes --- precedence if it specifies a value. Nodes for which no value at --- all is known are taken to provide no radiation resistance at all; --- this is appropriate for the majority of node types. Only node types --- consisting of a fairly homogeneous mass of material should report --- non-zero radiation resistance; anything with non-uniform geometry --- or complex internal structure should show no radiation resistance. --- Fractional resistance values are permitted; two significant figures --- is the recommended precision. local default_radiation_resistance_per_node = { ["default:brick"] = 13, ["default:bronzeblock"] = 45, @@ -505,12 +505,13 @@ local default_radiation_resistance_per_group = { wood = 1.7, } local cache_radiation_resistance = {} -local function node_radiation_resistance(nodename) - local eff = cache_radiation_resistance[nodename] +local function node_radiation_resistance(node_name) + local eff = cache_radiation_resistance[node_name] if eff then return eff end - local def = minetest.registered_nodes[nodename] or {groups={}} - eff = def.radiation_resistance or default_radiation_resistance_per_node[nodename] - if not eff then + local def = minetest.registered_nodes[node_name] + eff = def and def.radiation_resistance or + default_radiation_resistance_per_node[node_name] + if def and not eff then for g, v in pairs(def.groups) do if v > 0 and default_radiation_resistance_per_group[g] then eff = default_radiation_resistance_per_group[g] @@ -519,112 +520,114 @@ local function node_radiation_resistance(nodename) end end if not eff then eff = 0 end - cache_radiation_resistance[nodename] = eff + cache_radiation_resistance[node_name] = eff return eff end --- Radioactive nodes cause damage to nearby players. The damage --- effect depends on the intrinsic strength of the radiation source, --- the distance between the source and the player, and the shielding --- effect of the intervening material. These determine a rate of damage; --- total damage caused is the integral of this over time. --- --- In the absence of effective shielding, for a specific source the --- damage rate varies realistically in inverse proportion to the square --- of the distance. (Distance is measured to the player's abdomen, --- not to the nominal player position which corresponds to the foot.) --- However, if the player is inside a non-walkable (liquid or gaseous) --- radioactive node, the nominal distance could go to zero, yielding --- infinite damage. In that case, the player's body is displacing the --- radioactive material, so the effective distance should remain non-zero. --- We therefore apply a lower distance bound of sqrt(0.75) m, which is --- the maximum distance one can get from the node centre within the node. --- --- A radioactive node is identified by being in the "radioactive" group, --- and the group value signifies the strength of the radiation source. --- The group value is the distance in millimetres from a node at which --- an unshielded player will be damaged by 0.25 HP/s. Or, equivalently, --- it is 2000 times the square root of the damage rate in HP/s that an --- unshielded player 1 m away will take. --- --- Shielding is assessed by sampling every 0.25 m along the path --- from the source to the player, ignoring the source node itself. --- The summed shielding values from the sampled nodes yield a measure --- of the total amount of shielding on the path. As in reality, --- shielding causes exponential attenuation of radiation. However, the --- effect is scaled down relative to real life. A metre of a node with --- radiation resistance value R yields attenuation of sqrt(R)*0.1 nepers. --- (In real life it would be about R*0.69 nepers, by the definition --- of the radiation resistance values.) The sqrt part of this formula --- scales down the differences between shielding types, reflecting the --- game's simplification of making expensive materials such as gold --- readily available in cubic metres. The multiplicative factor in the --- formula scales down the difference between shielded and unshielded --- safe distances, avoiding the latter becoming impractically large. --- --- Damage is processed at rates down to 0.25 HP/s, which in the absence of --- shielding is attained at the distance specified by the "radioactive" --- group value. Computed damage rates below 0.25 HP/s result in no --- damage at all to the player. This gives the player an opportunity --- to be safe, and limits the range at which source/player interactions --- need to be considered. -local assumed_abdomen_offset = vector.new(0, 1, 0) -local assumed_abdomen_offset_length = vector.length(assumed_abdomen_offset) +--[[ +Radioactive nodes cause damage to nearby players. The damage +effect depends on the intrinsic strength of the radiation source, +the distance between the source and the player, and the shielding +effect of the intervening material. These determine a rate of damage; +total damage caused is the integral of this over time. + +In the absence of effective shielding, for a specific source the +damage rate varies realistically in inverse proportion to the square +of the distance. (Distance is measured to the player's abdomen, +not to the nominal player position which corresponds to the foot.) +However, if the player is inside a non-walkable (liquid or gaseous) +radioactive node, the nominal distance could go to zero, yielding +infinite damage. In that case, the player's body is displacing the +radioactive material, so the effective distance should remain non-zero. +We therefore apply a lower distance bound of sqrt(0.75), which is +the maximum distance one can get from the node center within the node. + +A radioactive node is identified by being in the "radioactive" group, +and the group value signifies the strength of the radiation source. +The group value is 1000 times the distance from a node at which +an unshielded player will be damaged by 0.25 HP/s. Or, equivalently, +it is 2000 times the square root of the damage rate in HP/s that an +unshielded player 1 node away will take. + +Shielding is assessed by adding the shielding values of all nodes +between the source node and the player, ignoring the source node itself. +As in reality, shielding causes exponential attenuation of radiation. +However, the effect is scaled down relative to real life. A node with +radiation resistance value R yields attenuation of sqrt(R) * 0.1 nepers. +(In real life it would be about R * 0.69 nepers, by the definition +of the radiation resistance values.) The sqrt part of this formula +scales down the differences between shielding types, reflecting the +game's simplification of making expensive materials such as gold +readily available in cubes. The multiplicative factor in the +formula scales down the difference between shielded and unshielded +safe distances, avoiding the latter becoming impractically large. + +Damage is processed at rates down to 0.25 HP/s, which in the absence of +shielding is attained at the distance specified by the "radioactive" +group value. Computed damage rates below 0.25 HP/s result in no +damage at all to the player. This gives the player an opportunity +to be safe, and limits the range at which source/player interactions +need to be considered. +--]] +local abdomen_offset = vector.new(0, 1, 0) +local abdomen_offset_length = vector.length(abdomen_offset) local cache_scaled_shielding = {} -local damage_enabled = minetest.setting_getbool("enable_damage") +local function dmg_player(pos, o, strength) + local pl_pos = vector.add(o:getpos(), abdomen_offset) + local shielding = 0 + local dist = vector.distance(pos, pl_pos) + for ray_pos in technic.trace_node_ray(pos, + vector.direction(pos, pl_pos), dist) do + if not vector.equals(ray_pos, pos) then + local shield_name = minetest.get_node(ray_pos).name + local shield_val = cache_scaled_shielding[sname] + if not shield_val then + shield_val = math.sqrt(node_radiation_resistance(shield_name)) * 0.025 + cache_scaled_shielding[shield_name] = shield_val + end + shielding = shielding + shield_val + end + end + local dmg = (0.25e-6 * strength * strength) / + (math.max(0.75, dist * dist) * math.exp(shielding)) + if dmg >= 0.25 then + local dmg_int = math.floor(dmg) + -- The closer you are to getting one more damage point, + -- the more likely it will be added. + if math.random() < dmg - dmg_int then + dmg_int = dmg_int + 1 + end + if dmg_int > 0 then + o:set_hp(math.max(o:get_hp() - dmg_int, 0)) + end + end +end -if damage_enabled then +local function dmg_abm(pos, node) + local strength = minetest.get_item_group(node.name, "radioactive") + for _, o in pairs(minetest.get_objects_inside_radius(pos, + strength * 0.001 + abdomen_offset_length)) do + if o:is_player() then + dmg_player(pos, o, strength) + end + end +end + + +if minetest.setting_getbool("enable_damage") then minetest.register_abm({ nodenames = {"group:radioactive"}, interval = 1, chance = 1, - action = function (pos, node) - local strength = minetest.registered_nodes[node.name].groups.radioactive - for _, o in ipairs(minetest.get_objects_inside_radius(pos, strength*0.001 + assumed_abdomen_offset_length)) do - if o:is_player() then - local rel = vector.subtract(vector.add(o:getpos(), assumed_abdomen_offset), pos) - local dist_sq = vector.length_square(rel) - local dist = math.sqrt(dist_sq) - local dirstep = dist == 0 and vector.new(0,0,0) or vector.divide(rel, dist*4) - local intpos = pos - local shielding = 0 - for intdist = 0.25, dist, 0.25 do - intpos = vector.add(intpos, dirstep) - local intnodepos = vector.round(intpos) - if not vector.equals(intnodepos, pos) then - local sname = minetest.get_node(intnodepos).name - local sval = cache_scaled_shielding[sname] - if not sval then - sval = math.sqrt(node_radiation_resistance(sname)) * -0.025 - cache_scaled_shielding[sname] = sval - end - shielding = shielding + sval - end - end - local dmg_rate = 0.25e-6 * strength*strength * math.exp(shielding) / math.max(0.75, dist_sq) - if dmg_rate >= 0.25 then - local dmg_int = math.floor(dmg_rate) - if math.random() < dmg_rate-dmg_int then - dmg_int = dmg_int + 1 - end - if dmg_int > 0 then - o:set_hp(math.max(o:get_hp() - dmg_int, 0)) - end - end - end - end - end, + action = dmg_abm, }) end --- radioactive materials that can result from destroying a reactor -local corium_griefing = 1 -if (not technic.config:get_bool("enable_corium_griefing")) then - corium_griefing = 0 -end +-- Radioactive materials that can result from destroying a reactor +local griefing = technic.config:get_bool("enable_corium_griefing") -for _, state in ipairs({ "flowing", "source" }) do +for _, state in pairs({"flowing", "source"}) do minetest.register_node("technic:corium_"..state, { description = S(state == "source" and "Corium Source" or "Flowing Corium"), drawtype = (state == "source" and "liquid" or "flowingliquid"), @@ -652,18 +655,18 @@ for _, state in ipairs({ "flowing", "source" }) do liquid_viscosity = LAVA_VISC, liquid_renewable = false, damage_per_second = 6, - post_effect_color = { a=192, r=80, g=160, b=80 }, + post_effect_color = {a=192, r=80, g=160, b=80}, groups = { liquid = 2, hot = 3, - igniter = corium_griefing, + igniter = (griefing and 1 or 0), radioactive = (state == "source" and 32000 or 16000), not_in_creative_inventory = (state == "flowing" and 1 or nil), }, }) end -if bucket and bucket.register_liquid then +if rawget(_G, "bucket") and bucket.register_liquid then bucket.register_liquid( "technic:corium_source", "technic:corium_flowing", @@ -675,12 +678,11 @@ end minetest.register_node("technic:chernobylite_block", { description = S("Chernobylite Block"), - tiles = { "technic_chernobylite_block.png" }, + tiles = {"technic_chernobylite_block.png"}, is_ground_content = true, - groups = { cracky=1, radioactive=5000, level=2 }, + groups = {cracky=1, radioactive=5000, level=2}, sounds = default.node_sound_stone_defaults(), light_source = 2, - }) minetest.register_abm({ @@ -688,25 +690,36 @@ minetest.register_abm({ neighbors = {"technic:corium_source"}, interval = 1, chance = 1, - action = function (pos, node) + action = function(pos, node) minetest.remove_node(pos) end, }) -if (corium_griefing == 1) then +minetest.register_abm({ + nodenames = {"technic:corium_flowing"}, + neighbors = {"group:water"}, + interval = 1, + chance = 1, + action = function(pos, node) + minetest.set_node(pos, {name="technic:chernobylite_block"}) + end, +}) + +minetest.register_abm({ + nodenames = {"technic:corium_flowing"}, + interval = 5, + chance = (griefing and 10 or 1), + action = function(pos, node) + minetest.set_node(pos, {name="technic:chernobylite_block"}) + end, +}) + +if griefing then minetest.register_abm({ - nodenames = {"technic:corium_flowing"}, - interval = 5, - chance = 10, - action = function (pos, node) - minetest.set_node(pos, {name="technic:chernobylite_block"}) - end, - }) - minetest.register_abm({ - nodenames = { "technic:corium_source", "technic:corium_flowing" }, + nodenames = {"technic:corium_source", "technic:corium_flowing"}, interval = 4, chance = 4, - action = function (pos, node) + action = function(pos, node) for _, offset in ipairs({ vector.new(1,0,0), vector.new(-1,0,0), @@ -721,3 +734,4 @@ if (corium_griefing == 1) then end, }) end + diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 60805cc8..82556763 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {"technic:carbon_plate", "pipeworks:filter", "technic:composite_plate"}, {"technic:motor", "technic:machine_casing", "technic:diamond_drill_head"}, - {"technic:carbon_steel_block", "technic:hv_cable0", "technic:carbon_steel_block"}}, + {"technic:carbon_steel_block", "technic:hv_cable", "technic:carbon_steel_block"}}, output = "technic:quarry", }) @@ -213,7 +213,8 @@ minetest.register_node("technic:quarry", { "technic_carbon_steel_block.png^default_tool_mesepick.png", "technic_carbon_steel_block.png"), paramtype2 = "facedir", - groups = {cracky=2, tubedevice=1, technic_machine = 1}, + groups = {cracky=2, tubedevice=1, technic_machine=1, technic_hv=1}, + connect_sides = {"bottom", "front", "left", "right"}, tube = { connect_sides = {top = 1}, }, diff --git a/technic/machines/HV/solar_array.lua b/technic/machines/HV/solar_array.lua index 414291a9..c7de7c85 100644 --- a/technic/machines/HV/solar_array.lua +++ b/technic/machines/HV/solar_array.lua @@ -6,7 +6,7 @@ minetest.register_craft({ recipe = { {'technic:solar_array_mv', 'technic:solar_array_mv', 'technic:solar_array_mv'}, {'technic:carbon_plate', 'technic:hv_transformer', 'technic:composite_plate'}, - {'', 'technic:hv_cable0', ''}, + {'', 'technic:hv_cable', ''}, } }) diff --git a/technic/machines/LV/alloy_furnace.lua b/technic/machines/LV/alloy_furnace.lua index bdf2f319..5e4f7c47 100644 --- a/technic/machines/LV/alloy_furnace.lua +++ b/technic/machines/LV/alloy_furnace.lua @@ -4,9 +4,9 @@ minetest.register_craft({ output = 'technic:lv_alloy_furnace', recipe = { - {'default:brick', 'default:brick', 'default:brick'}, - {'default:brick', 'technic:machine_casing', 'default:brick'}, - {'default:brick', 'technic:lv_cable0', 'default:brick'}, + {'default:brick', 'default:brick', 'default:brick'}, + {'default:brick', 'technic:machine_casing', 'default:brick'}, + {'default:brick', 'technic:lv_cable', 'default:brick'}, } }) diff --git a/technic/machines/LV/battery_box.lua b/technic/machines/LV/battery_box.lua index 429bcd6a..066bc9df 100644 --- a/technic/machines/LV/battery_box.lua +++ b/technic/machines/LV/battery_box.lua @@ -2,9 +2,9 @@ minetest.register_craft({ output = 'technic:lv_battery_box0', recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'technic:battery', 'technic:machine_casing', 'technic:battery'}, - {'technic:battery', 'technic:lv_cable0', 'technic:battery'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'technic:battery', 'technic:machine_casing', 'technic:battery'}, + {'technic:battery', 'technic:lv_cable', 'technic:battery'}, } }) diff --git a/technic/machines/LV/cables.lua b/technic/machines/LV/cables.lua index e18eae1d..d4ed8800 100644 --- a/technic/machines/LV/cables.lua +++ b/technic/machines/LV/cables.lua @@ -1,8 +1,8 @@ -minetest.register_alias("lv_cable", "technic:lv_cable0") +minetest.register_alias("lv_cable", "technic:lv_cable") minetest.register_craft({ - output = 'technic:lv_cable0 6', + output = 'technic:lv_cable 6', recipe = { {'default:paper', 'default:paper', 'default:paper'}, {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, diff --git a/technic/machines/LV/cnc.lua b/technic/machines/LV/cnc.lua index dd67e9b9..58ec6ba5 100644 --- a/technic/machines/LV/cnc.lua +++ b/technic/machines/LV/cnc.lua @@ -9,6 +9,17 @@ local S = technic.getter + +minetest.register_craft({ + output = 'technic:cnc', + recipe = { + {'default:glass', 'technic:diamond_drill_head', 'default:glass'}, + {'technic:control_logic_unit', 'technic:machine_casing', 'technic:motor'}, + {'technic:carbon_steel_ingot', 'technic:lv_cable', 'technic:carbon_steel_ingot'}, + }, +}) + + local shape = {} local onesize_products = { slope = 2, @@ -174,16 +185,9 @@ minetest.register_node("technic:cnc", { description = S("%s CNC Machine"):format("LV"), tiles = {"technic_cnc_top.png", "technic_cnc_bottom.png", "technic_cnc_side.png", "technic_cnc_side.png", "technic_cnc_side.png", "technic_cnc_front.png"}, - drawtype = "nodebox", - paramtype = "light", + groups = {cracky=2, technic_machine=1, technic_lv=1}, + connect_sides = {"bottom", "back", "left", "right"}, paramtype2 = "facedir", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, - }, - groups = {cracky=2, technic_machine=1}, legacy_facedir_simple = true, on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -207,9 +211,10 @@ minetest.register_node("technic:cnc_active", { description = S("%s CNC Machine"):format("LV"), tiles = {"technic_cnc_top_active.png", "technic_cnc_bottom.png", "technic_cnc_side.png", "technic_cnc_side.png", "technic_cnc_side.png", "technic_cnc_front_active.png"}, + groups = {cracky=2, technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, + connect_sides = {"bottom", "back", "left", "right"}, paramtype2 = "facedir", drop = "technic:cnc", - groups = {cracky=2, technic_machine=1, not_in_creative_inventory=1}, legacy_facedir_simple = true, can_dig = technic.machine_can_dig, allow_metadata_inventory_put = technic.machine_inventory_put, @@ -223,15 +228,3 @@ minetest.register_node("technic:cnc_active", { technic.register_machine("LV", "technic:cnc", technic.receiver) technic.register_machine("LV", "technic:cnc_active", technic.receiver) -------------------------- --- CNC Machine Recipe -------------------------- -minetest.register_craft({ - output = 'technic:cnc', - recipe = { - {'default:glass', 'technic:diamond_drill_head', 'default:glass'}, - {'technic:control_logic_unit', 'technic:machine_casing', 'technic:motor'}, - {'technic:carbon_steel_ingot', 'technic:lv_cable0', 'technic:carbon_steel_ingot'}, - }, -}) - diff --git a/technic/machines/LV/compressor.lua b/technic/machines/LV/compressor.lua index e2bde40c..67b9f79e 100644 --- a/technic/machines/LV/compressor.lua +++ b/technic/machines/LV/compressor.lua @@ -4,9 +4,9 @@ minetest.register_alias("compressor", "technic:lv_compressor") minetest.register_craft({ output = 'technic:lv_compressor', recipe = { - {'default:stone', 'technic:motor', 'default:stone'}, - {'mesecons:piston', 'technic:machine_casing', 'mesecons:piston'}, - {'technic:fine_silver_wire', 'technic:lv_cable0', 'technic:fine_silver_wire'}, + {'default:stone', 'technic:motor', 'default:stone'}, + {'mesecons:piston', 'technic:machine_casing', 'mesecons:piston'}, + {'technic:fine_silver_wire', 'technic:lv_cable', 'technic:fine_silver_wire'}, } }) diff --git a/technic/machines/LV/electric_furnace.lua b/technic/machines/LV/electric_furnace.lua index cc4daffd..768f04ae 100644 --- a/technic/machines/LV/electric_furnace.lua +++ b/technic/machines/LV/electric_furnace.lua @@ -7,7 +7,7 @@ minetest.register_craft({ recipe = { {'default:cobble', 'default:cobble', 'default:cobble'}, {'default:cobble', 'technic:machine_casing', 'default:cobble'}, - {'default:cobble', 'technic:lv_cable0', 'default:cobble'}, + {'default:cobble', 'technic:lv_cable', 'default:cobble'}, } }) diff --git a/technic/machines/LV/extractor.lua b/technic/machines/LV/extractor.lua index 363d2e3a..55d0140a 100644 --- a/technic/machines/LV/extractor.lua +++ b/technic/machines/LV/extractor.lua @@ -6,7 +6,7 @@ minetest.register_craft({ recipe = { {'technic:treetap', 'technic:motor', 'technic:treetap'}, {'technic:treetap', 'technic:machine_casing', 'technic:treetap'}, - {'', 'technic:lv_cable0', ''}, + {'', 'technic:lv_cable', ''}, } }) diff --git a/technic/machines/LV/generator.lua b/technic/machines/LV/generator.lua index 999dbc5d..dc9815f0 100644 --- a/technic/machines/LV/generator.lua +++ b/technic/machines/LV/generator.lua @@ -10,7 +10,7 @@ minetest.register_craft({ recipe = { {'default:stone', 'default:furnace', 'default:stone'}, {'default:stone', 'technic:machine_casing', 'default:stone'}, - {'default:stone', 'technic:lv_cable0', 'default:stone'}, + {'default:stone', 'technic:lv_cable', 'default:stone'}, } }) diff --git a/technic/machines/LV/geothermal.lua b/technic/machines/LV/geothermal.lua index e88d3c9d..27f4abc8 100644 --- a/technic/machines/LV/geothermal.lua +++ b/technic/machines/LV/geothermal.lua @@ -10,9 +10,9 @@ local S = technic.getter minetest.register_craft({ output = 'technic:geothermal', recipe = { - {'technic:granite', 'default:diamond', 'technic:granite'}, + {'technic:granite', 'default:diamond', 'technic:granite'}, {'technic:fine_copper_wire', 'technic:machine_casing', 'technic:fine_copper_wire'}, - {'technic:granite', 'technic:lv_cable0', 'technic:granite'}, + {'technic:granite', 'technic:lv_cable', 'technic:granite'}, } }) @@ -82,8 +82,9 @@ minetest.register_node("technic:geothermal", { description = S("Geothermal %s Generator"):format("LV"), tiles = {"technic_geothermal_top.png", "technic_machine_bottom.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1}, paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) @@ -99,7 +100,8 @@ minetest.register_node("technic:geothermal_active", { tiles = {"technic_geothermal_top_active.png", "technic_machine_bottom.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), drop = "technic:geothermal", diff --git a/technic/machines/LV/grinder.lua b/technic/machines/LV/grinder.lua index da9ea29e..9e45bf4f 100644 --- a/technic/machines/LV/grinder.lua +++ b/technic/machines/LV/grinder.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'default:desert_stone', 'default:diamond', 'default:desert_stone'}, {'default:desert_stone', 'technic:machine_casing', 'default:desert_stone'}, - {'technic:granite', 'technic:lv_cable0', 'technic:granite'}, + {'technic:granite', 'technic:lv_cable', 'technic:granite'}, } }) diff --git a/technic/machines/LV/music_player.lua b/technic/machines/LV/music_player.lua index dc7e2d0a..262fe5f8 100644 --- a/technic/machines/LV/music_player.lua +++ b/technic/machines/LV/music_player.lua @@ -9,7 +9,7 @@ minetest.register_craft({ recipe = { {'technic:chromium_ingot', 'default:diamond', 'technic:chromium_ingot'}, {'default:diamond', 'technic:machine_casing', 'default:diamond'}, - {'default:mossycobble', 'technic:lv_cable0', 'default:mossycobble'}, + {'default:mossycobble', 'technic:lv_cable', 'default:mossycobble'}, } }) @@ -94,7 +94,9 @@ minetest.register_node("technic:music_player", { description = S("%s Music Player"):format("LV"), tiles = {"technic_music_player_top.png", "technic_machine_bottom.png", "technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1}, + connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) diff --git a/technic/machines/LV/solar_array.lua b/technic/machines/LV/solar_array.lua index 4d2c3b3b..8c1b8f4b 100644 --- a/technic/machines/LV/solar_array.lua +++ b/technic/machines/LV/solar_array.lua @@ -10,7 +10,7 @@ minetest.register_craft({ recipe = { {'technic:solar_panel', 'technic:solar_panel', 'technic:solar_panel'}, {'technic:carbon_steel_ingot', 'technic:lv_transformer', 'technic:carbon_steel_ingot'}, - {'', 'technic:lv_cable0', ''}, + {'', 'technic:lv_cable', ''}, } }) diff --git a/technic/machines/LV/solar_panel.lua b/technic/machines/LV/solar_panel.lua index 41dff95c..a06ddb8d 100644 --- a/technic/machines/LV/solar_panel.lua +++ b/technic/machines/LV/solar_panel.lua @@ -4,6 +4,17 @@ local S = technic.getter + +minetest.register_craft({ + output = 'technic:solar_panel', + recipe = { + {'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer'}, + {'technic:fine_silver_wire', 'technic:lv_cable', 'mesecons_materials:glue'}, + + } +}) + + local run = function(pos, node) -- The action here is to make the solar panel prodice power -- Power is dependent on the light level and the height above ground @@ -24,7 +35,7 @@ local run = function(pos, node) local charge_to_give = math.floor((light + pos1.y) * 3) charge_to_give = math.max(charge_to_give, 0) charge_to_give = math.min(charge_to_give, 200) - meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.prettynum(charge_to_give))) + meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give))) meta:set_int("LV_EU_supply", charge_to_give) else meta:set_string("infotext", S("%s Idle"):format(machine_name)) @@ -35,7 +46,9 @@ end minetest.register_node("technic:solar_panel", { tiles = {"technic_solar_panel_top.png", "technic_solar_panel_bottom.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png", "technic_solar_panel_side.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1}, + connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), description = S("Small Solar %s Generator"):format("LV"), active = false, @@ -54,14 +67,5 @@ minetest.register_node("technic:solar_panel", { technic_run = run, }) -minetest.register_craft({ - output = 'technic:solar_panel', - recipe = { - {'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer'}, - {'technic:fine_silver_wire', 'technic:lv_cable0', 'mesecons_materials:glue'}, - - } -}) - technic.register_machine("LV", "technic:solar_panel", technic.producer) diff --git a/technic/machines/LV/water_mill.lua b/technic/machines/LV/water_mill.lua index 9088d1d4..c8533103 100644 --- a/technic/machines/LV/water_mill.lua +++ b/technic/machines/LV/water_mill.lua @@ -11,7 +11,7 @@ minetest.register_craft({ recipe = { {'technic:marble', 'default:diamond', 'technic:marble'}, {'group:wood', 'technic:machine_casing', 'group:wood'}, - {'technic:marble', 'technic:lv_cable0', 'technic:marble'}, + {'technic:marble', 'technic:lv_cable', 'technic:marble'}, } }) @@ -72,7 +72,8 @@ minetest.register_node("technic:water_mill", { "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png"}, paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) @@ -89,7 +90,8 @@ minetest.register_node("technic:water_mill_active", { "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png"}, paramtype2 = "facedir", - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, not_in_creative_inventory=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_lv=1, not_in_creative_inventory=1}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), drop = "technic:water_mill", diff --git a/technic/machines/MV/alloy_furnace.lua b/technic/machines/MV/alloy_furnace.lua index a1918fd7..eaddee01 100644 --- a/technic/machines/MV/alloy_furnace.lua +++ b/technic/machines/MV/alloy_furnace.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:stainless_steel_ingot', 'technic:lv_alloy_furnace', 'technic:stainless_steel_ingot'}, {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/battery_box.lua b/technic/machines/MV/battery_box.lua index 45437c16..d84ec15a 100644 --- a/technic/machines/MV/battery_box.lua +++ b/technic/machines/MV/battery_box.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:lv_battery_box0', 'technic:lv_battery_box0', 'technic:lv_battery_box0'}, {'technic:lv_battery_box0', 'technic:mv_transformer', 'technic:lv_battery_box0'}, - {'', 'technic:mv_cable0', ''}, + {'', 'technic:mv_cable', ''}, } }) diff --git a/technic/machines/MV/cables.lua b/technic/machines/MV/cables.lua index b1a34c8e..0c1f4576 100644 --- a/technic/machines/MV/cables.lua +++ b/technic/machines/MV/cables.lua @@ -1,12 +1,12 @@ -minetest.register_alias("mv_cable", "technic:mv_cable0") +minetest.register_alias("mv_cable", "technic:mv_cable") minetest.register_craft({ - output = 'technic:mv_cable0 3', + output = 'technic:mv_cable 3', recipe ={ - {'technic:rubber', 'technic:rubber', 'technic:rubber'}, - {'technic:lv_cable0', 'technic:lv_cable0', 'technic:lv_cable0'}, - {'technic:rubber', 'technic:rubber', 'technic:rubber'}, + {'technic:rubber', 'technic:rubber', 'technic:rubber'}, + {'technic:lv_cable', 'technic:lv_cable', 'technic:lv_cable'}, + {'technic:rubber', 'technic:rubber', 'technic:rubber'}, } }) diff --git a/technic/machines/MV/centrifuge.lua b/technic/machines/MV/centrifuge.lua index 5bf24bf6..a0aad640 100644 --- a/technic/machines/MV/centrifuge.lua +++ b/technic/machines/MV/centrifuge.lua @@ -1,9 +1,9 @@ minetest.register_craft({ output = "technic:mv_centrifuge", recipe = { - { "technic:motor", "technic:copper_plate", "technic:diamond_drill_head" }, - { "technic:copper_plate", "technic:machine_casing", "technic:copper_plate" }, - { "pipeworks:one_way_tube", "technic:mv_cable0", "pipeworks:mese_filter" }, + {"technic:motor", "technic:copper_plate", "technic:diamond_drill_head"}, + {"technic:copper_plate", "technic:machine_casing", "technic:copper_plate" }, + {"pipeworks:one_way_tube", "technic:mv_cable", "pipeworks:mese_filter" }, } }) diff --git a/technic/machines/MV/compressor.lua b/technic/machines/MV/compressor.lua index 5b36cc57..d97739e4 100644 --- a/technic/machines/MV/compressor.lua +++ b/technic/machines/MV/compressor.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:stainless_steel_ingot', 'technic:lv_compressor', 'technic:stainless_steel_ingot'}, {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/electric_furnace.lua b/technic/machines/MV/electric_furnace.lua index 1f6b1c2f..b1d2deeb 100644 --- a/technic/machines/MV/electric_furnace.lua +++ b/technic/machines/MV/electric_furnace.lua @@ -9,8 +9,8 @@ minetest.register_craft({ output = 'technic:mv_electric_furnace', recipe = { {'technic:stainless_steel_ingot', 'technic:lv_electric_furnace', 'technic:stainless_steel_ingot'}, - {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/extractor.lua b/technic/machines/MV/extractor.lua index fdef5b27..9066bca8 100644 --- a/technic/machines/MV/extractor.lua +++ b/technic/machines/MV/extractor.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:stainless_steel_ingot', 'technic:lv_extractor', 'technic:stainless_steel_ingot'}, {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/generator.lua b/technic/machines/MV/generator.lua index 4ae24b8c..db9d59f3 100644 --- a/technic/machines/MV/generator.lua +++ b/technic/machines/MV/generator.lua @@ -5,7 +5,7 @@ minetest.register_craft({ recipe = { {'technic:stainless_steel_ingot', 'technic:lv_generator', 'technic:stainless_steel_ingot'}, {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/grinder.lua b/technic/machines/MV/grinder.lua index dac536ce..19ab3722 100644 --- a/technic/machines/MV/grinder.lua +++ b/technic/machines/MV/grinder.lua @@ -4,8 +4,8 @@ minetest.register_craft({ output = 'technic:mv_grinder', recipe = { {'technic:stainless_steel_ingot', 'technic:lv_grinder', 'technic:stainless_steel_ingot'}, - {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, - {'technic:stainless_steel_ingot', 'technic:mv_cable0', 'technic:stainless_steel_ingot'}, + {'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'}, + {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'}, } }) diff --git a/technic/machines/MV/power_radiator.lua b/technic/machines/MV/power_radiator.lua index 560f8a92..9349e66f 100644 --- a/technic/machines/MV/power_radiator.lua +++ b/technic/machines/MV/power_radiator.lua @@ -12,6 +12,16 @@ local power_radius = 12 + +minetest.register_craft({ + output = 'technic:power_radiator 1', + recipe = { + {'technic:stainless_steel_ingot', 'technic:mv_transformer', 'technic:stainless_steel_ingot'}, + {'technic:copper_coil', 'technic:machine_casing', 'technic:copper_coil'}, + {'technic:rubber', 'technic:mv_cable', 'technic:rubber'}, + } +}) + ------------------------------------------------------------------ -- API for inductive powered nodes: -- Use the functions below to set the corresponding callbacks @@ -135,15 +145,6 @@ minetest.register_node("technic:power_radiator", { end }) -minetest.register_craft({ - output = 'technic:power_radiator 1', - recipe = { - {'technic:stainless_steel_ingot', 'technic:mv_transformer', 'technic:stainless_steel_ingot'}, - {'technic:copper_coil', 'technic:machine_casing', 'technic:copper_coil'}, - {'technic:rubber', 'technic:mv_cable0', 'technic:rubber'}, - } -}) - minetest.register_abm({ nodenames = {"technic:power_radiator"}, interval = 1, diff --git a/technic/machines/MV/solar_array.lua b/technic/machines/MV/solar_array.lua index 227d8ee2..4077a5c2 100644 --- a/technic/machines/MV/solar_array.lua +++ b/technic/machines/MV/solar_array.lua @@ -4,7 +4,7 @@ minetest.register_craft({ recipe = { {'technic:solar_array_lv', 'technic:solar_array_lv', 'technic:solar_array_lv'}, {'technic:carbon_steel_ingot', 'technic:mv_transformer', 'technic:carbon_steel_ingot'}, - {'', 'technic:mv_cable0', ''}, + {'', 'technic:mv_cable', ''}, } }) diff --git a/technic/machines/MV/tool_workshop.lua b/technic/machines/MV/tool_workshop.lua index 318b1ec0..4076cc1d 100644 --- a/technic/machines/MV/tool_workshop.lua +++ b/technic/machines/MV/tool_workshop.lua @@ -10,7 +10,7 @@ minetest.register_craft({ recipe = { {'group:wood', 'default:diamond', 'group:wood'}, {'mesecons_pistons:piston_sticky_off', 'technic:machine_casing', 'technic:carbon_cloth'}, - {'default:obsidian', 'technic:mv_cable0', 'default:obsidian'}, + {'default:obsidian', 'technic:mv_cable', 'default:obsidian'}, } }) @@ -85,7 +85,9 @@ minetest.register_node("technic:tool_workshop", { paramtype2 = "facedir", tiles = {"technic_workshop_top.png", "technic_machine_bottom.png", "technic_workshop_side.png", "technic_workshop_side.png", "technic_workshop_side.png", "technic_workshop_side.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, tubedevice=1, tubedevice_receiver=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_mv=1, tubedevice=1, tubedevice_receiver=1}, + connect_sides = {"bottom", "back", "left", "right"}, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) diff --git a/technic/machines/MV/wind_mill.lua b/technic/machines/MV/wind_mill.lua index c5530512..1377c672 100644 --- a/technic/machines/MV/wind_mill.lua +++ b/technic/machines/MV/wind_mill.lua @@ -15,7 +15,7 @@ minetest.register_craft({ recipe = { {'', 'technic:motor', ''}, {'technic:carbon_steel_ingot', 'technic:carbon_steel_block', 'technic:carbon_steel_ingot'}, - {'', 'technic:mv_cable0', ''}, + {'', 'technic:mv_cable', ''}, } }) @@ -55,14 +55,15 @@ local run = function(pos, node) meta:set_int("MV_EU_supply", power) end - meta:set_string("infotext", S("@1 (@2 EU)", machine_name, technic.prettynum(power))) + meta:set_string("infotext", S("@1 (@2 EU)", machine_name, technic.pretty_num(power))) end minetest.register_node("technic:wind_mill", { description = S("Wind %s Generator"):format("MV"), tiles = {"technic_carbon_steel_block.png"}, paramtype2 = "facedir", - groups = {cracky=1, technic_machine=1}, + groups = {cracky=1, technic_machine=1, technic_mv=1}, + connect_sides = {"top", "bottom", "back", "left", "right"}, sounds = default.node_sound_stone_defaults(), drawtype = "nodebox", paramtype = "light", diff --git a/technic/machines/register/battery_box.lua b/technic/machines/register/battery_box.lua index 82edca0a..953f7af9 100644 --- a/technic/machines/register/battery_box.lua +++ b/technic/machines/register/battery_box.lua @@ -151,7 +151,7 @@ function technic.register_battery_box(data) ..":technic_power_meter_fg.png]") local infotext = S("@1 Battery Box: @2/@3", tier, - technic.prettynum(current_charge), technic.prettynum(max_charge)) + technic.pretty_num(current_charge), technic.pretty_num(max_charge)) if eu_input == 0 then infotext = S("%s Idle"):format(infotext) end @@ -159,7 +159,8 @@ function technic.register_battery_box(data) end for i = 0, 8 do - local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1} + local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, ["technic_"..ltier]=1} if i ~= 0 then groups.not_in_creative_inventory = 1 end @@ -178,6 +179,7 @@ function technic.register_battery_box(data) "technic_"..ltier.."_battery_box_side.png^technic_power_meter"..i..".png", "technic_"..ltier.."_battery_box_side.png^technic_power_meter"..i..".png"}, groups = groups, + connect_sides = {"bottom"}, tube = data.tube and tube or nil, paramtype2 = "facedir", sounds = default.node_sound_wood_defaults(), diff --git a/technic/machines/register/cables.lua b/technic/machines/register/cables.lua index a1e7bc8d..28984c02 100644 --- a/technic/machines/register/cables.lua +++ b/technic/machines/register/cables.lua @@ -1,177 +1,65 @@ local S = technic.getter -local cable_itstr_to_tier = {} +local cable_tier = {} + +function technic.is_tier_cable(name, tier) + return cable_tier[name] == tier +end + +function technic.get_cable_tier(name) + return cable_tier[name] +end + +local function clear_networks() + technic.networks = {} +end function technic.register_cable(tier, size) local ltier = string.lower(tier) + cable_tier["technic:"..ltier.."_cable"] = tier - for x1 = 0, 1 do - for x2 = 0, 1 do - for y1 = 0, 1 do - for y2 = 0, 1 do - for z1 = 0, 1 do - for z2 = 0, 1 do - local id = technic.get_cable_id({x1, x2, y1, y2, z1, z2}) + local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2} - cable_itstr_to_tier["technic:"..ltier.."_cable"..id] = tier + local node_box = { + type = "connected", + fixed = {-size, -size, -size, size, size, size}, + connect_top = {-size, -size, -size, size, 0.5, size}, -- y+ + connect_bottom = {-size, -0.5, -size, size, size, size}, -- y- + connect_front = {-size, -size, -0.5, size, size, size}, -- z- + connect_back = {-size, -size, size, size, size, 0.5 }, -- z+ + connect_left = {-0.5, -size, -size, size, size, size}, -- x- + connect_right = {-size, -size, -size, 0.5, size, size}, -- x+ + } - local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2} - if id ~= 0 then - groups.not_in_creative_inventory = 1 - end - - minetest.register_node("technic:"..ltier.."_cable"..id, { - description = S("%s Cable"):format(tier), - tiles = {"technic_"..ltier.."_cable.png"}, - inventory_image = "technic_"..ltier.."_cable_wield.png", - wield_image = "technic_"..ltier.."_cable_wield.png", - groups = groups, - sounds = default.node_sound_wood_defaults(), - drop = "technic:"..ltier.."_cable0", - paramtype = "light", - sunlight_propagates = true, - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = technic.gen_cable_nodebox(x1, y1, z1, x2, y2, z2, size) - }, - on_construct = function() - technic.networks = {} - end, - on_destruct = function() - technic.networks = {} - end, - after_place_node = function(pos) - local node = minetest.get_node(pos) - technic.update_cables(pos, technic.get_cable_tier(node.name)) - end, - after_dig_node = function(pos, oldnode) - local tier = technic.get_cable_tier(oldnode.name) - technic.update_cables(pos, tier, true) - end - }) - end - end - end - end - end - end + minetest.register_node("technic:"..ltier.."_cable", { + description = S("%s Cable"):format(tier), + tiles = {"technic_"..ltier.."_cable.png"}, + inventory_image = "technic_"..ltier.."_cable_wield.png", + wield_image = "technic_"..ltier.."_cable_wield.png", + groups = groups, + sounds = default.node_sound_wood_defaults(), + drop = "technic:"..ltier.."_cable", + paramtype = "light", + sunlight_propagates = true, + drawtype = "nodebox", + node_box = node_box, + connects_to = {"technic:"..ltier.."_cable", + "group:technic_"..ltier, "group:technic_all_tiers"}, + on_construct = clear_networks, + on_destruct = clear_networks, + }) end -minetest.register_on_placenode(function(pos, node) + +local function clear_nets_if_machine(pos, node) for tier, machine_list in pairs(technic.machines) do if machine_list[node.name] ~= nil then - technic.update_cables(pos, tier, true) - technic.networks = {} + return clear_networks() end end -end) - - -minetest.register_on_dignode(function(pos, node) - for tier, machine_list in pairs(technic.machines) do - if machine_list[node.name] ~= nil then - technic.update_cables(pos, tier, true) - technic.networks = {} - end - end -end) - -function technic.get_cable_id(links) - return (links[6] * 1) + (links[5] * 2) - + (links[4] * 4) + (links[3] * 8) - + (links[2] * 16) + (links[1] * 32) end -function technic.update_cables(pos, tier, no_set, secondrun) - local link_positions = { - {x=pos.x+1, y=pos.y, z=pos.z}, - {x=pos.x-1, y=pos.y, z=pos.z}, - {x=pos.x, y=pos.y+1, z=pos.z}, - {x=pos.x, y=pos.y-1, z=pos.z}, - {x=pos.x, y=pos.y, z=pos.z+1}, - {x=pos.x, y=pos.y, z=pos.z-1}} - - local links = {0, 0, 0, 0, 0, 0} - - for i, link_pos in pairs(link_positions) do - local connect_type = technic.cables_should_connect(pos, link_pos, tier) - if connect_type then - links[i] = 1 - -- Have cables next to us update theirselves, - -- but only once. (We don't want to update the entire - -- network or start an infinite loop of updates) - if not secondrun and connect_type == "cable" then - technic.update_cables(link_pos, tier, false, true) - end - end - end - -- We don't want to set ourselves if we have been removed or we are - -- updating a machine - if not no_set then - minetest.set_node(pos, {name="technic:"..string.lower(tier) - .."_cable"..technic.get_cable_id(links)}) - - end -end - - -function technic.is_tier_cable(name, tier) - return cable_itstr_to_tier[name] and cable_itstr_to_tier[name] == tier -end - - -function technic.get_cable_tier(name) - return cable_itstr_to_tier[name] -end - - -function technic.cables_should_connect(pos1, pos2, tier) - local name = minetest.get_node(pos2).name - - if name == "technic:switching_station" then - return pos2.y == pos1.y + 1 and "machine" or false - elseif name == "technic:supply_converter" then - return math.abs(pos2.y - pos1.y) == 1 and "machine" or false - elseif technic.is_tier_cable(name, tier) then - return "cable" - elseif technic.machines[tier][name] then - return "machine" - end - return false -end - - -function technic.gen_cable_nodebox(x1, y1, z1, x2, y2, z2, size) - -- Nodeboxes - local box_center = {-size, -size, -size, size, size, size} - local box_y1 = {-size, -size, -size, size, 0.5, size} -- y+ - local box_x1 = {-size, -size, -size, 0.5, size, size} -- x+ - local box_z1 = {-size, -size, size, size, size, 0.5} -- z+ - local box_z2 = {-size, -size, -0.5, size, size, size} -- z- - local box_y2 = {-size, -0.5, -size, size, size, size} -- y- - local box_x2 = {-0.5, -size, -size, size, size, size} -- x- - - local box = {box_center} - if x1 == 1 then - table.insert(box, box_x1) - end - if y1 == 1 then - table.insert(box, box_y1) - end - if z1 == 1 then - table.insert(box, box_z1) - end - if x2 == 1 then - table.insert(box, box_x2) - end - if y2 == 1 then - table.insert(box, box_y2) - end - if z2 == 1 then - table.insert(box, box_z2) - end - return box -end +minetest.register_on_placenode(clear_nets_if_machine) +minetest.register_on_dignode(clear_nets_if_machine) diff --git a/technic/machines/register/generator.lua b/technic/machines/register/generator.lua index 31c1cef0..2cdc336d 100644 --- a/technic/machines/register/generator.lua +++ b/technic/machines/register/generator.lua @@ -18,14 +18,14 @@ function technic.register_generator(data) local tier = data.tier local ltier = string.lower(tier) - local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1} - local active_groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, not_in_creative_inventory=1} + local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, ["technic_"..ltier]=1} if data.tube then groups.tubedevice = 1 groups.tubedevice_receiver = 1 - active_groups.tubedevice = 1 - active_groups.tubedevice_receiver = 1 end + local active_groups = {not_in_creative_inventory = 1} + for k, v in pairs(groups) do active_groups[k] = v end local generator_formspec = "invsize[8,9;]".. @@ -93,6 +93,7 @@ function technic.register_generator(data) "technic_"..ltier.."_generator_side.png", "technic_"..ltier.."_generator_front.png"}, paramtype2 = "facedir", groups = groups, + connect_sides = {"bottom", "back", "left", "right"}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), tube = data.tube and tube or nil, @@ -122,6 +123,7 @@ function technic.register_generator(data) "technic_"..ltier.."_generator_side.png", "technic_"..ltier.."_generator_front_active.png"}, paramtype2 = "facedir", groups = active_groups, + connect_sides = {"bottom"}, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), tube = data.tube and tube or nil, diff --git a/technic/machines/register/machine_base.lua b/technic/machines/register/machine_base.lua index 0c462619..8cf851bd 100644 --- a/technic/machines/register/machine_base.lua +++ b/technic/machines/register/machine_base.lua @@ -15,6 +15,8 @@ local tube = { connect_sides = {left = 1, right = 1, back = 1, top = 1, bottom = 1}, } +local connect_default = {"bottom", "back", "left", "right"} + local function round(v) return math.floor(v + 0.5) end @@ -27,15 +29,13 @@ function technic.register_base_machine(data) local tier = data.tier local ltier = string.lower(tier) - local groups = {cracky = 2, technic_machine = 1} - local active_groups = {cracky = 2, technic_machine = 1, not_in_creative_inventory = 1} + local groups = {cracky = 2, technic_machine = 1, ["technic_"..ltier] = 1} if data.tube then groups.tubedevice = 1 groups.tubedevice_receiver = 1 - active_groups.tubedevice = 1 - active_groups.tubedevice_receiver = 1 end - + local active_groups = {not_in_creative_inventory = 1} + for k, v in pairs(groups) do active_groups[k] = v end local formspec = "invsize[8,9;]".. @@ -145,6 +145,7 @@ function technic.register_base_machine(data) paramtype2 = "facedir", groups = groups, tube = data.tube and tube or nil, + connect_sides = data.connect_sides or connect_default, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), on_construct = function(pos) @@ -179,6 +180,7 @@ function technic.register_base_machine(data) paramtype2 = "facedir", drop = "technic:"..ltier.."_"..machine_name, groups = active_groups, + connect_sides = data.connect_sides or connect_default, legacy_facedir_simple = true, sounds = default.node_sound_wood_defaults(), tube = data.tube and tube or nil, diff --git a/technic/machines/register/solar_array.lua b/technic/machines/register/solar_array.lua index 39f50d2f..422bfcf2 100644 --- a/technic/machines/register/solar_array.lua +++ b/technic/machines/register/solar_array.lua @@ -30,7 +30,7 @@ function technic.register_solar_array(data) local charge_to_give = math.floor((light + pos.y) * data.power) charge_to_give = math.max(charge_to_give, 0) charge_to_give = math.min(charge_to_give, data.power * 50) - meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.prettynum(charge_to_give))) + meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give))) meta:set_int(tier.."_EU_supply", charge_to_give) else meta:set_string("infotext", S("%s Idle"):format(machine_name)) @@ -42,7 +42,8 @@ function technic.register_solar_array(data) tiles = {"technic_"..ltier.."_solar_array_top.png", "technic_"..ltier.."_solar_array_bottom.png", "technic_"..ltier.."_solar_array_side.png", "technic_"..ltier.."_solar_array_side.png", "technic_"..ltier.."_solar_array_side.png", "technic_"..ltier.."_solar_array_side.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, ["technic_"..ltier]=1}, + connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), description = S("Arrayed Solar %s Generator"):format(tier), active = false, diff --git a/technic/machines/supply_converter.lua b/technic/machines/supply_converter.lua index ffcd40df..32597deb 100644 --- a/technic/machines/supply_converter.lua +++ b/technic/machines/supply_converter.lua @@ -30,7 +30,7 @@ local run = function(pos, node) meta:set_int(from.."_EU_supply", 0) meta:set_int(to.."_EU_demand", 0) meta:set_int(to.."_EU_supply", input * remain) - meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name, technic.prettynum(input), from, technic.prettynum(input * remain), to)) + meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name, technic.pretty_num(input), from, technic.pretty_num(input * remain), to)) else meta:set_string("infotext", S("%s Has Bad Cabling"):format(machine_name)) if to then @@ -49,14 +49,10 @@ minetest.register_node("technic:supply_converter", { tiles = {"technic_supply_converter_top.png", "technic_supply_converter_bottom.png", "technic_supply_converter_side.png", "technic_supply_converter_side.png", "technic_supply_converter_side.png", "technic_supply_converter_side.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, + technic_machine=1, technic_all_tiers=1}, + connect_sides = {"top", "bottom"}, sounds = default.node_sound_wood_defaults(), - drawtype = "nodebox", - paramtype = "light", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_string("infotext", S("Supply Converter")) @@ -68,9 +64,9 @@ minetest.register_node("technic:supply_converter", { minetest.register_craft({ output = 'technic:supply_converter 1', recipe = { - {'technic:fine_gold_wire', 'technic:rubber', 'technic:doped_silicon_wafer'}, - {'technic:mv_transformer', 'technic:machine_casing', 'technic:lv_transformer'}, - {'technic:mv_cable0', 'technic:rubber', 'technic:lv_cable0'}, + {'technic:fine_gold_wire', 'technic:rubber', 'technic:doped_silicon_wafer'}, + {'technic:mv_transformer', 'technic:machine_casing', 'technic:lv_transformer'}, + {'technic:mv_cable', 'technic:rubber', 'technic:lv_cable'}, } }) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index d6f23a3c..f7ec0b69 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -38,9 +38,9 @@ local S = technic.getter minetest.register_craft({ output = "technic:switching_station", recipe = { - {"", "technic:lv_transformer", ""}, - {"default:copper_ingot", "technic:machine_casing", "default:copper_ingot"}, - {"technic:lv_cable0", "technic:lv_cable0", "technic:lv_cable0"} + {"", "technic:lv_transformer", ""}, + {"default:copper_ingot", "technic:machine_casing", "default:copper_ingot"}, + {"technic:lv_cable", "technic:lv_cable", "technic:lv_cable"} } }) @@ -49,14 +49,9 @@ minetest.register_node("technic:switching_station",{ tiles = {"technic_water_mill_top_active.png", "technic_water_mill_top_active.png", "technic_water_mill_top_active.png", "technic_water_mill_top_active.png", "technic_water_mill_top_active.png", "technic_water_mill_top_active.png"}, - groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2}, + groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_all_tiers=1}, + connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), - drawtype = "nodebox", - paramtype = "light", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_string("infotext", S("Switching Station")) @@ -294,7 +289,7 @@ minetest.register_abm({ meta:set_string("infotext", S("@1. Supply: @2 Demand: @3", - machine_name, technic.prettynum(PR_eu_supply), technic.prettynum(RE_eu_demand))) + machine_name, technic.pretty_num(PR_eu_supply), technic.pretty_num(RE_eu_demand))) -- If the PR supply is enough for the RE demand supply them all if PR_eu_supply >= RE_eu_demand then diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index bf4efff7..3653d2dc 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -9,15 +9,19 @@ local chainsaw_leaves = true -- The default trees local timber_nodenames = { - ["default:jungletree"] = true, - ["default:papyrus"] = true, - ["default:cactus"] = true, - ["default:tree"] = true, - ["default:apple"] = true, - ["default:pinetree"] = true, + ["default:acacia_tree"] = true, + ["default:aspen_tree"] = true, + ["default:jungletree"] = true, + ["default:papyrus"] = true, + ["default:cactus"] = true, + ["default:tree"] = true, + ["default:apple"] = true, + ["default:pine_tree"] = true, } if chainsaw_leaves then + timber_nodenames["default:acacia_leaves"] = true + timber_nodenames["default:aspen_leaves"] = true timber_nodenames["default:leaves"] = true timber_nodenames["default:jungleleaves"] = true timber_nodenames["default:pine_needles"] = true diff --git a/technic/tools/mining_lasers.lua b/technic/tools/mining_lasers.lua index 4c83ae9d..c09aa928 100644 --- a/technic/tools/mining_lasers.lua +++ b/technic/tools/mining_lasers.lua @@ -32,67 +32,6 @@ minetest.register_craft({ } }) --- Based on code by Uberi: https://gist.github.com/Uberi/3125280 -local function rayIter(pos, dir, range) - local p = vector.round(pos) - local x_step, y_step, z_step = 0, 0, 0 - local x_component, y_component, z_component = 0, 0, 0 - local x_intersect, y_intersect, z_intersect = 0, 0, 0 - - if dir.x == 0 then - x_intersect = math.huge - elseif dir.x > 0 then - x_step = 1 - x_component = 1 / dir.x - x_intersect = x_component - else - x_step = -1 - x_component = 1 / -dir.x - end - if dir.y == 0 then - y_intersect = math.huge - elseif dir.y > 0 then - y_step = 1 - y_component = 1 / dir.y - y_intersect = y_component - else - y_step = -1 - y_component = 1 / -dir.y - end - if dir.z == 0 then - z_intersect = math.huge - elseif dir.z > 0 then - z_step = 1 - z_component = 1 / dir.z - z_intersect = z_component - else - z_step = -1 - z_component = 1 / -dir.z - end - - return function() - if x_intersect < y_intersect then - if x_intersect < z_intersect then - p.x = p.x + x_step - x_intersect = x_intersect + x_component - else - p.z = p.z + z_step - z_intersect = z_intersect + z_component - end - elseif y_intersect < z_intersect then - p.y = p.y + y_step - y_intersect = y_intersect + y_component - else - p.z = p.z + z_step - z_intersect = z_intersect + z_component - end - if vector.distance(pos, p) > range then - return nil - end - return p - end -end - local function laser_node(pos, node, player) local def = minetest.registered_nodes[node.name] if def and def.liquidtype ~= "none" then @@ -132,7 +71,7 @@ local function laser_shoot(player, range, particle_texture, sound) texture = particle_texture .. "^[transform" .. math.random(0, 7), }) minetest.sound_play(sound, {pos = player_pos, max_hear_distance = range}) - for pos in rayIter(start_pos, dir, range) do + for pos in technic.trace_node_ray(start_pos, dir, range) do if minetest.is_protected(pos, player_name) then minetest.record_protection_violation(pos, player_name) break diff --git a/trafficlight/init.lua b/trafficlight/init.lua index 38b18c48..7f472e04 100644 --- a/trafficlight/init.lua +++ b/trafficlight/init.lua @@ -207,7 +207,7 @@ for _,i in pairs({"","_left","_right"}) do }) minetest.register_node(":streets:trafficlight_top"..i.."_red",{ - drop = "streets:trafficlight_top_off", + drop = "streets:trafficlight_top"..i.."_off", groups = {cracky = 1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", @@ -230,7 +230,7 @@ for _,i in pairs({"","_left","_right"}) do }) minetest.register_node(":streets:trafficlight_top"..i.."_yellow",{ - drop = "streets:trafficlight_top_off", + drop = "streets:trafficlight_top"..i.."_off", groups = {cracky = 1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", @@ -255,7 +255,7 @@ for _,i in pairs({"","_left","_right"}) do minetest.register_alias("streets:trafficlight_top"..i.."_redyellow","streets:trafficlight_top"..i.."_green") minetest.register_node(":streets:trafficlight_top"..i.."_green",{ - drop = "streets:trafficlight_top_off", + drop = "streets:trafficlight_top"..i.."_off", groups = {cracky = 1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", @@ -278,7 +278,7 @@ for _,i in pairs({"","_left","_right"}) do }) minetest.register_node(":streets:trafficlight_top"..i.."_warn",{ - drop = "streets:trafficlight_top_off", + drop = "streets:trafficlight_top"..i.."_off", groups = {cracky = 1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", @@ -286,7 +286,7 @@ for _,i in pairs({"","_left","_right"}) do drawtype = "nodebox", tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ name="streets_tl"..i.."_warn.png", - animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.5}, + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}, }}, node_box = { type = "fixed", @@ -304,7 +304,7 @@ for _,i in pairs({"","_left","_right"}) do }) minetest.register_node(":streets:trafficlight_top"..i.."_flashred",{ - drop = "streets:trafficlight_top_off", + drop = "streets:trafficlight_top"..i.."_off", groups = {cracky = 1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", @@ -312,7 +312,7 @@ for _,i in pairs({"","_left","_right"}) do drawtype = "nodebox", tiles = {"streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png","streets_tl_bg.png",{ name="streets_tl"..i.."_flashred.png", - animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.5}, + animation={type="vertical_frames", aspect_w=64, aspect_h=64, length=1.2}, }}, node_box = { type = "fixed", diff --git a/trafficlight/textures/streets_tl_left_red.png b/trafficlight/textures/streets_tl_left_red.png index db0694c346d6403f3cce40b6b7aa89ee1383b7c4..85e9b71b04af02263df07bcbe392b31114b88b55 100644 GIT binary patch delta 875 zcmV-x1C;!&2eAi`Q-2WxCNSyN&yD~913pPaK~#9!?OI)PqCgOAP!MDht&-%b@}B?y zd+ryc67l3)5q9t4f+d3jmr?^{=fxUPWZUg#rUwN#j@4=<&hy!9Rykf2MJ1n1CY3zT z^GZIQPAmD_+naLB>s9f?Ljv&A0hr$Ugqo&R@+`|5b6wXPbAQgc+yN2*3Bdj0zwW6* zh}O@n*K5(H5k*lT3_~0ahtqrW`5cqUq_qy%Y&NaetSCx*hSDZO>9;5 zv=i26Z82kP_#${b9;*neYOR)FjKNP+sGs-znXbdKtWMt_JO#={l?$fLlPrZL00Y+m z%Gp^co1?2NB|@NkI{fGd|WP< zjhwb^8$t-gaf~1cpsFei!+>EJP!y%+3enkNmuu*?Cn$t~=XnT%0FL8;bB-iQ5Cp;9 z1+NzXq-lyQ%iuT;eBVF4pXYgPYBWj!cDr3|@h7t+iXIMta_bX5KR=5m&X%))u0eZ) zE^~oi`+otx?_b>k0N^;zxG7LB{?bAhi^cdgz%)&0npOir)3nysc@Vt-YwZ`=iz1y=`+z z0SSQAfZGOr#;5j!#2=t_1MUCs-62W}NC2b;bbpU7metG4OU(c|57%|UIY$_V2!a5> zzgYrf463TuOc7cqjKULqe}Bhrw}Wll;G83hB6yznGd#g4if}j_YNp8XctnyU;|CxN z!>f)E9hE<%Grjc*UDs{&1nDzCG;G_hD`S zf@Dqbq9`i)Xf&$i zd7fAD@pxRxpP!$NbKb9sA08TjpANwI++S!}Rwd7}tTDH3yMHlPO6eV-0nh+kF8=G8 zN<^*iS*=#orV&L^AP55NcDuuC)9DnW(Wtc!Sg+Tu_iPwOe|LaV3Y*OaB2A%)Kt#y0 z3{uLA3tle(2*VJ|qQENvp8=C3$?ZP|+hQ8Wcm?oOQs($#nqtpN=UxHOgpx z>&M^UCqDnnaepeg>$+d&cQ1E<{{g}ifIpvH9}S%Xq2s_$(}M=A*{?kxx(K?ii;Za> zcEakYEfzxDz6kF3`zpewS*s<45ZERO%#UaO#I`Y;%{qPl<|$Avs$4K{o^&a!0l0Au z;GCVb6gE*5HTns>7tlLE1E2xuw+2k7Q&jt#v@z$J!GAg5#e>j0Km(uwxQ+&N;p1Yl zXyo+W-5rPsQ4~Q+3DY#;I1U`gfngXmSBTFJyWB&sJwYPE+uIwYl<+(cN-4x~3@PQs z1+NzXBuRoS%iwt)w%hID^*qmOQ=>rw@c#Z@Tl~Q+3B#)cV4V94A08g4iL>P_plk5n zpvzpK*MEM%cDp^f0|3DDykS$IT>NJXozLgP*8tabVOdrU1k18oTj!hT1vtk!hlvQw zSMLRg2rn-$74Zwh5WC$DtJP}w6et(VW53@cj^p725Cp-= zYkXARI}PZ+-GO$Qz>eHfw_0F;NLJ`1k+g9M=T z1Ymg##uMaz06+Jql)_@MKomtt(-cGm*L7jrHu5~L^%8BpMehLUDyF3;_#NXgT?%Ue xuILAF+nWm@7e0QSYs#sSn%)5#01d#G;xG6TSBR;}{DA-f002ovPDHLkV1hiTnA-pV diff --git a/ufos/furnace.lua b/ufos/furnace.lua index 6e3d2a16..bde74ae7 100644 --- a/ufos/furnace.lua +++ b/ufos/furnace.lua @@ -20,14 +20,14 @@ minetest.register_node("ufos:furnace", { legacy_facedir_simple = true, sounds = default.node_sound_stone_defaults(), on_construct = function(pos) - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) meta:set_string("formspec", ufos.furnace_inactive_formspec) meta:set_string("infotext", "UFO charging device") local inv = meta:get_inventory() inv:set_size("fuel", 1) end, can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); + local meta = minetest.get_meta(pos); local inv = meta:get_inventory() if not inv:is_empty("fuel") then return false @@ -47,14 +47,14 @@ minetest.register_node("ufos:furnace_active", { legacy_facedir_simple = true, sounds = default.node_sound_stone_defaults(), on_construct = function(pos) - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) meta:set_string("formspec", ufos.furnace_inactive_formspec) meta:set_string("infotext", "UFO charging device") local inv = meta:get_inventory() inv:set_size("fuel", 1) end, can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); + local meta = minetest.get_meta(pos); local inv = meta:get_inventory() if not inv:is_empty("fuel") then return false @@ -64,16 +64,16 @@ minetest.register_node("ufos:furnace_active", { }) function hacky_swap_node(pos,name) - local node = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) + local node = minetest.get_node(pos) + local meta = minetest.get_meta(pos) local meta0 = meta:to_table() if node.name == name then return end node.name = name local meta0 = meta:to_table() - minetest.env:set_node(pos,node) - meta = minetest.env:get_meta(pos) + minetest.set_node(pos,node) + meta = minetest.get_meta(pos) meta:from_table(meta0) end @@ -82,7 +82,7 @@ minetest.register_abm({ interval = .25, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() local stack = inv:get_stack("fuel",1) if stack:get_name() == ufos.fuel then diff --git a/ufos/init.lua b/ufos/init.lua index cb68e654..40fd2410 100644 --- a/ufos/init.lua +++ b/ufos/init.lua @@ -1,6 +1,8 @@ ufos = {} +local e + local floor_pos = function(pos) return {x=math.floor(pos.x),y=math.floor(pos.y),z=math.floor(pos.z)} end @@ -46,7 +48,7 @@ ufos.ufo_from_item = function(itemstack,placer,pointed_thing) local wear = itemstack:get_wear() ufos.set_fuel(ufos.ufo,ufos.fuel_from_wear(wear)) -- add the entity - e = minetest.env:add_entity(pointed_thing.above, "ufos:ufo") + e = minetest.add_entity(pointed_thing.above, "ufos:ufo") -- remove the item itemstack:take_item() -- reset owner for next ufo @@ -162,8 +164,8 @@ function ufos.ufo:on_step (dtime) local t = {{x=2,z=0},{x=-2,z=0},{x=0,z=2},{x=0,z=-2}} for _, i in ipairs(t) do pos.x = pos.x + i.x; pos.z = pos.z + i.z; - if minetest.env:get_node(pos).name == "ufos:furnace" then - meta = minetest.env:get_meta(pos) + if minetest.get_node(pos).name == "ufos:furnace" then + meta = minetest.get_meta(pos) if fuel < 100 and meta:get_int("charge") > 0 then fuel = fuel + 1 meta:set_int("charge",meta:get_int("charge")-1) @@ -235,16 +237,16 @@ minetest.register_node("ufos:box", { tiles = {"ufos_box.png"}, groups = {not_in_creative_inventory=1}, on_rightclick = function(pos, node, clicker, itemstack) - meta = minetest.env:get_meta(pos) + meta = minetest.get_meta(pos) if meta:get_string("owner") == clicker:get_player_name() then -- set owner ufos.next_owner = meta:get_string("owner") -- restore the fuel inside the node ufos.set_fuel(ufos.ufo,meta:get_int("fuel")) -- add the entity - e = minetest.env:add_entity(pos, "ufos:ufo") + e = minetest.add_entity(pos, "ufos:ufo") -- remove the node - minetest.env:remove_node(pos) + minetest.remove_node(pos) -- reset owner for next ufo ufos.next_owner = "" end diff --git a/unified_inventory/init.lua b/unified_inventory/init.lua index b327ecd6..d311ace0 100644 --- a/unified_inventory/init.lua +++ b/unified_inventory/init.lua @@ -48,8 +48,9 @@ unified_inventory = { } -- Disable default creative inventory -if rawget(_G, "creative_inventory") then - function creative_inventory.set_creative_formspec(player, start_i, pagenum) +local creative = rawget(_G, "creative") or rawget(_G, "creative_inventory") +if creative then + function creative.set_creative_formspec(player, start_i, pagenum) return end end diff --git a/unified_inventory/item_names.lua b/unified_inventory/item_names.lua index 2c92d65c..243b938b 100644 --- a/unified_inventory/item_names.lua +++ b/unified_inventory/item_names.lua @@ -6,12 +6,15 @@ local dtimes = {} local dlimit = 3 -- HUD element will be hidden after this many seconds local air_hud_mod = minetest.get_modpath("4air") local hud_mod = minetest.get_modpath("hud") +local hudbars_mod = minetest.get_modpath("hudbars") local function set_hud(player) local player_name = player:get_player_name() local off = {x=0, y=-70} if air_hud_mod or hud_mod then off.y = off.y - 20 + elseif hudbars_mod then + off.y = off.y + 13 end huds[player_name] = player:hud_add({ hud_elem_type = "text", diff --git a/unified_inventory/register.lua b/unified_inventory/register.lua index b47b1c6c..70428493 100644 --- a/unified_inventory/register.lua +++ b/unified_inventory/register.lua @@ -168,11 +168,6 @@ unified_inventory.register_page("craft", { -- stack_image_button(): generate a form button displaying a stack of items -- --- Normally a simple item_image_button[] is used. If the stack contains --- more than one item, item_image_button[] doesn't have an option to --- display an item count in the way that an inventory slot does, so --- we have to fake it using the label facility. --- -- The specified item may be a group. In that case, the group will be -- represented by some item in the group, along with a flag indicating -- that it's a group. If the group contains only one item, it will be @@ -182,7 +177,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) local name = item:get_name() local count = item:get_count() local show_is_group = false - local displayitem = name + local displayitem = name.." "..count local selectitem = name if name:sub(1, 6) == "group:" then local group_name = name:sub(7) @@ -191,8 +186,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) displayitem = group_item.item or "unknown" selectitem = group_item.sole and displayitem or name end - local label = string.format("\n\n%s%7d", show_is_group and " G\n" or " ", count):gsub(" 1$", " .") - if label == "\n\n ." then label = "" end + local label = show_is_group and "G" or "" return string.format("item_image_button[%f,%f;%u,%u;%s;%s;%s]", x, y, w, h, minetest.formspec_escape(displayitem), diff --git a/unifieddyes/description.txt b/unifieddyes/description.txt new file mode 100644 index 00000000..ef5380e5 --- /dev/null +++ b/unifieddyes/description.txt @@ -0,0 +1 @@ +Unified Dyes expands the standard dye set from 15 to 90 colors. diff --git a/unifieddyes/mod.conf b/unifieddyes/mod.conf new file mode 100644 index 00000000..861cb265 --- /dev/null +++ b/unifieddyes/mod.conf @@ -0,0 +1 @@ +name = unifieddyes diff --git a/vines/bower.json b/vines/bower.json new file mode 100644 index 00000000..108a7c16 --- /dev/null +++ b/vines/bower.json @@ -0,0 +1,18 @@ +{ + "name": "vines", + "description": "Vines that spawn on trees and rope", + "keywords": [ + "vines", + "trees", + "rope", + "jungle" + ], + "homepage": "https://github.com/bas080/vines/", + "screenshots": [ + "https://raw.githubusercontent.com/bas080/vines/forum/screenshot.png" + ], + "authors": [ + "bas080" + ], + "license": "WTFPL" +} diff --git a/worldedit/init.lua b/worldedit/init.lua index e193454d..ec6e99d6 100644 --- a/worldedit/init.lua +++ b/worldedit/init.lua @@ -36,6 +36,7 @@ load_module(path .. "/visualization.lua") load_module(path .. "/serialization.lua") load_module(path .. "/code.lua") load_module(path .. "/compatibility.lua") +load_module(path .. "/wand.lua") if minetest.setting_getbool("log_mods") then diff --git a/worldedit/serialization.lua b/worldedit/serialization.lua index 00d984d0..a0848e22 100644 --- a/worldedit/serialization.lua +++ b/worldedit/serialization.lua @@ -144,9 +144,9 @@ local function load_schematic(value) "([^%s]+)%s+(%d+)%s+(%d+)[^\r\n]*[\r\n]*") do param1, param2 = tonumber(param1), tonumber(param2) table.insert(nodes, { - x = originx + tonumber(x), - y = originy + tonumber(y), - z = originz + tonumber(z), + x = tonumber(x), + y = tonumber(y), + z = tonumber(z), name = name, param1 = param1 ~= 0 and param1 or nil, param2 = param2 ~= 0 and param2 or nil, diff --git a/worldedit/textures/worldedit_wand.png b/worldedit/textures/worldedit_wand.png new file mode 100644 index 0000000000000000000000000000000000000000..13eb12189cb19a680229526a474f38f932300ab1 GIT binary patch literal 442 zcmV;r0Y(0aP)YX~D;^6zhY%lq+t9~~3e-UnQMy0G(L5CoCbLBh== z5DNIw3X)cJp+6FWexczo(!-(xV*dHr8*{Uf%fUJ@g7q`K=_*qFSkw$sgJBr=*Vvy8 zuyBGp@o_hoig{RlLBvn4NLT;>YtaC^q!P$t!^+Vu2@3!qHqph3MTY70B9_X~zZ*1? zIDaM6>4p6Egzf2G78U?NER`XfqZ5^40rB}T3kv{X=|Cs5!w2=NfQ`v+ZhC`8wx+yn zl?gAkb|lkT5*7f!a&(A2ZDqXIOl+P$Q&ScGl1yhQU#UW|%UGQoX5j?C<1UQyhj9nL kM{P|20J}2^J8ETo0~vOCmI$`c0000007*qoM6N<$f^)O3761SM literal 0 HcmV?d00001 diff --git a/worldedit/wand.lua b/worldedit/wand.lua new file mode 100644 index 00000000..415e7cad --- /dev/null +++ b/worldedit/wand.lua @@ -0,0 +1,51 @@ +minetest.register_tool("worldedit:wand", { + description = "WorldEdit wand tool. Left-click to set the 1st position, Right-click to set the 2nd position.", + groups = {}, + inventory_image = "worldedit_wand.png", + wield_image = "", + wield_scale = {x=1,y=1,z=1}, + stack_max = 1, -- there is no need to have more than one + liquids_pointable = true, -- ground with only water on can be selected as well + -- the tool_capabilities are completely irrelevant here - no need to dig + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=0, + groupcaps={ + fleshy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, + snappy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1}, + choppy={times={[3]=0.90}, maxwear=0.05, maxlevel=0} + } + }, + node_placement_prediction = nil, + + on_use = function(itemstack, placer, pointed_thing) + if placer ~= nil and pointed_thing ~= nil then + local name = placer:get_player_name() + local pos = minetest.get_pointed_thing_position( pointed_thing, false ) -- not above + + if not pos then + return itemstack + end + + worldedit.pos1[name] = pos + worldedit.mark_pos1(name) + + end + return itemstack -- nothing consumed, nothing changed + end, + + on_place = function(itemstack, placer, pointed_thing) -- Left Click + if placer ~= nil and pointed_thing ~= nil then + local name = placer:get_player_name() + local pos = minetest.get_pointed_thing_position( pointed_thing, false ) -- not above + + if not pos then + return itemstack + end + + worldedit.pos2[name] = pos + worldedit.mark_pos2(name) + end + return itemstack -- nothing consumed, nothing changed + end, +}) diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index 83a127ea..c93a7604 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -838,6 +838,30 @@ minetest.register_chatcommand("/fixlight", { end), }) +minetest.register_chatcommand("/drain", { + params = "", + description = "Remove any fluid node within the current WorldEdit region", + privs = {worldedit=true}, + func = safe_region(function(name, param) + -- TODO: make an API function for this + local count = 0 + local pos1, pos2 = worldedit.sort_pos(worldedit.pos1[name], worldedit.pos2[name]) + for x = pos1.x, pos2.x do + for y = pos1.y, pos2.y do + for z = pos1.z, pos2.z do + local n = minetest.get_node({x=x, y=y, z=z}).name + local d = minetest.registered_nodes[n] + if d ~= nil and (d["drawtype"] == "liquid" or d["drawtype"] == "flowingliquid") then + minetest.remove_node({x=x, y=y, z=z}) + count = count + 1 + end + end + end + end + worldedit.player_notify(name, count .. " nodes updated") + end), +}) + minetest.register_chatcommand("/hide", { params = "", description = "Hide all nodes in the current WorldEdit region non-destructively", diff --git a/worldedit_gui/init.lua b/worldedit_gui/init.lua index da54f7b4..5f602acf 100644 --- a/worldedit_gui/init.lua +++ b/worldedit_gui/init.lua @@ -143,8 +143,21 @@ else --fallback button if not player then --this is in case the player signs off while the media is loading return end - if (minetest.check_player_privs(name, {creative=true}) or minetest.setting_getbool("creative_mode")) and creative_inventory then --creative_inventory is active, add button to modified formspec - formspec = player:get_inventory_formspec() .. "image_button[6,0;1,1;inventory_plus_worldedit_gui.png;worldedit_gui;]" + if (minetest.check_player_privs(name, {creative=true}) or + minetest.setting_getbool("creative_mode")) and + creative then --creative is active, add button to modified formspec + local creative_formspec = player:get_inventory_formspec() + local tab_id = tonumber(creative_formspec:match("tabheader%[.-;(%d+)%;")) + + if tab_id == 1 then + formspec = creative_formspec .. + "image_button[0,1;1,1;inventory_plus_worldedit_gui.png;worldedit_gui;]" + elseif not tab_id then + formspec = creative_formspec .. + "image_button[6,0;1,1;inventory_plus_worldedit_gui.png;worldedit_gui;]" + else + return + end else formspec = formspec .. "image_button[0,0;1,1;inventory_plus_worldedit_gui.png;worldedit_gui;]" end