summaryrefslogtreecommitdiff
path: root/technic/machines
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2018-12-17 02:20:30 -0500
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2018-12-17 02:20:30 -0500
commitec25fd83415d0ecb49f41295af3dc30f14850b2f (patch)
tree59fe699656e75a52e6665b385907b86cc0b89c16 /technic/machines
parent856b86858ebfa4af2c352b022188f82dcff7ed92 (diff)
downloaddreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.gz
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.bz2
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.xz
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.zip
update biome_lib, digilines, hotbar, mesecons, pipeworks,
ropes, technic, unified inventory, unified dyes, vines, and worldedit
Diffstat (limited to 'technic/machines')
-rw-r--r--technic/machines/HV/forcefield.lua11
-rw-r--r--technic/machines/HV/quarry.lua5
-rw-r--r--technic/machines/MV/freezer.lua12
-rw-r--r--technic/machines/MV/hydro_turbine.lua2
-rw-r--r--technic/machines/MV/init.lua2
-rw-r--r--technic/machines/register/freezer.lua9
-rw-r--r--technic/machines/register/freezer_recipes.lua21
-rw-r--r--technic/machines/register/grinder_recipes.lua2
-rw-r--r--technic/machines/register/init.lua2
9 files changed, 56 insertions, 10 deletions
diff --git a/technic/machines/HV/forcefield.lua b/technic/machines/HV/forcefield.lua
index 230c8b0..7395284 100644
--- a/technic/machines/HV/forcefield.lua
+++ b/technic/machines/HV/forcefield.lua
@@ -42,7 +42,7 @@ end)
-- | |
-- \___/\___/
-local function update_forcefield(pos, meta, active, first)
+local function update_forcefield(pos, meta, active)
local shape = meta:get_int("shape")
local range = meta:get_int("range")
local vm = VoxelManip()
@@ -86,11 +86,6 @@ local function update_forcefield(pos, meta, active, first)
vm:set_data(data)
vm:update_liquids()
vm:write_to_map()
- -- update_map is very slow, but if we don't call it we'll
- -- get phantom blocks on the client.
- if not active or first then
- vm:update_map()
- end
end
local function set_forcefield_formspec(meta)
@@ -273,13 +268,11 @@ local function run(pos, node)
technic.swap_node(pos, "technic:forcefield_emitter_off")
end
elseif eu_input >= power_requirement then
- local first = false
if node.name == "technic:forcefield_emitter_off" then
- first = true
technic.swap_node(pos, "technic:forcefield_emitter_on")
meta:set_string("infotext", S("%s Active"):format(machine_name))
end
- update_forcefield(pos, meta, true, first)
+ update_forcefield(pos, meta, true)
end
end
diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua
index 0a45559..b6f9c14 100644
--- a/technic/machines/HV/quarry.lua
+++ b/technic/machines/HV/quarry.lua
@@ -112,6 +112,11 @@ local function quarry_run(pos, node)
if meta:get_int("enabled") and meta:get_int("HV_EU_input") >= quarry_demand and meta:get_int("purge_on") == 0 then
local pdir = minetest.facedir_to_dir(node.param2)
+ if pdir.y ~= 0 then
+ -- faces up or down, not valid, otherwise depth-check would run endless and hang up the server
+ return
+ end
+
local qdir = pdir.x == 1 and vector.new(0,0,-1) or
(pdir.z == -1 and vector.new(-1,0,0) or
(pdir.x == -1 and vector.new(0,0,1) or
diff --git a/technic/machines/MV/freezer.lua b/technic/machines/MV/freezer.lua
new file mode 100644
index 0000000..ab48838
--- /dev/null
+++ b/technic/machines/MV/freezer.lua
@@ -0,0 +1,12 @@
+-- MV freezer
+
+minetest.register_craft({
+ output = 'technic:mv_freezer',
+ recipe = {
+ {'technic:stainless_steel_ingot', 'technic:motor', 'technic:stainless_steel_ingot'},
+ {'pipeworks:pipe_1_empty', 'technic:mv_transformer', 'pipeworks:pipe_1_empty'},
+ {'technic:stainless_steel_ingot', 'technic:mv_cable', 'technic:stainless_steel_ingot'},
+ }
+})
+
+technic.register_freezer({tier = "MV", demand = {800, 600, 400}, speed = 0.5, upgrade = 1, tube = 1})
diff --git a/technic/machines/MV/hydro_turbine.lua b/technic/machines/MV/hydro_turbine.lua
index 36aac91..e5df5e6 100644
--- a/technic/machines/MV/hydro_turbine.lua
+++ b/technic/machines/MV/hydro_turbine.lua
@@ -18,7 +18,7 @@ minetest.register_craft({
local function get_water_flow(pos)
local node = minetest.get_node(pos)
- if minetest.get_item_group(node.name, "water") == 3 then
+ if minetest.get_item_group(node.name, "water") == 3 and string.find(node.name, "flowing") then
return node.param2 -- returns approx. water flow, if any
end
return 0
diff --git a/technic/machines/MV/init.lua b/technic/machines/MV/init.lua
index 7092fda..07c44b6 100644
--- a/technic/machines/MV/init.lua
+++ b/technic/machines/MV/init.lua
@@ -25,6 +25,8 @@ dofile(path.."/centrifuge.lua")
dofile(path.."/tool_workshop.lua")
+dofile(path.."/freezer.lua")
+
-- The power radiator supplies appliances with inductive coupled power:
-- Lighting and associated textures is taken directly from VanessaE's homedecor and made electric.
-- This is currently useless, slow, and mostly copied
diff --git a/technic/machines/register/freezer.lua b/technic/machines/register/freezer.lua
new file mode 100644
index 0000000..b4da6d9
--- /dev/null
+++ b/technic/machines/register/freezer.lua
@@ -0,0 +1,9 @@
+
+local S = technic.getter
+
+function technic.register_freezer(data)
+ data.typename = "freezing"
+ data.machine_name = "freezer"
+ data.machine_desc = S("%s Freezer")
+ technic.register_base_machine(data)
+end
diff --git a/technic/machines/register/freezer_recipes.lua b/technic/machines/register/freezer_recipes.lua
new file mode 100644
index 0000000..641b28a
--- /dev/null
+++ b/technic/machines/register/freezer_recipes.lua
@@ -0,0 +1,21 @@
+
+local S = technic.getter
+
+technic.register_recipe_type("freezing", { description = S("Freezing") })
+
+function technic.register_freezer_recipe(data)
+ data.time = data.time or 5
+ technic.register_recipe("freezing", data)
+end
+
+local recipes = {
+ {"bucket:bucket_water", { "default:ice", "bucket:bucket_empty" } },
+ {"bucket:bucket_river_water", { "default:ice", "bucket:bucket_empty" } },
+ {"default:dirt", "default:dirt_with_snow" },
+ {"bucket:bucket_lava", { "default:obsidian", "bucket:bucket_empty" } }
+}
+
+for _, data in pairs(recipes) do
+ technic.register_freezer_recipe({input = {data[1]}, output = data[2]})
+end
+
diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua
index da90aad..ab70724 100644
--- a/technic/machines/register/grinder_recipes.lua
+++ b/technic/machines/register/grinder_recipes.lua
@@ -30,6 +30,8 @@ local recipes = {
{"default:sandstone", "default:sand 2"}, -- reverse recipe can be found in the compressor
{"default:desert_sandstone", "default:desert_sand 2"}, -- reverse recipe can be found in the compressor
{"default:silver_sandstone", "default:silver_sand 2"}, -- reverse recipe can be found in the compressor
+
+ {"default:ice", "default:snowblock"},
}
-- defuse the sandstone -> 4 sand recipe to avoid infinite sand bugs (also consult the inverse compressor recipe)
diff --git a/technic/machines/register/init.lua b/technic/machines/register/init.lua
index 1667d75..29ec2ea 100644
--- a/technic/machines/register/init.lua
+++ b/technic/machines/register/init.lua
@@ -20,6 +20,7 @@ dofile(path.."/grinder_recipes.lua")
dofile(path.."/extractor_recipes.lua")
dofile(path.."/compressor_recipes.lua")
dofile(path.."/centrifuge_recipes.lua")
+dofile(path.."/freezer_recipes.lua")
-- Multi-Machine Recipes
dofile(path.."/grindings.lua")
@@ -31,3 +32,4 @@ dofile(path.."/grinder.lua")
dofile(path.."/extractor.lua")
dofile(path.."/compressor.lua")
dofile(path.."/centrifuge.lua")
+dofile(path.."/freezer.lua")