From 2e7859c35e55b842752c6533edae2dd19290fabc Mon Sep 17 00:00:00 2001
From: Tanmaya Meher <tanmayameher@users.noreply.github.com>
Date: Sat, 25 Aug 2018 12:24:14 +0200
Subject: [PATCH] New MV Hydro Machine (#412)

---
 technic/machines/LV/cnc.lua |   51 +++++++++++++++++++++++++--------------------------
 1 files changed, 25 insertions(+), 26 deletions(-)

diff --git a/technic/machines/LV/cnc.lua b/technic/machines/LV/cnc.lua
index 2a89a7a..fdfec99 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,
@@ -17,6 +28,7 @@
 	pyramid                  = 2,
 	spike                    = 1,
 	cylinder                 = 2,
+	oblate_spheroid          = 1,
 	sphere                   = 1,
 	stick                    = 8,
 	slope_upsdown            = 2,
@@ -36,7 +48,7 @@
 }
 
 local cnc_formspec =
-	"invsize[9,11;]"..
+	"size[9,11;]"..
 	"label[1,0;"..S("Choose Milling Program:").."]"..
 	"image_button[1,0.5;1,1;technic_cnc_slope.png;slope; ]"..
 	"image_button[2,0.5;1,1;technic_cnc_slope_edge.png;slope_edge; ]"..
@@ -44,13 +56,14 @@
 	"image_button[4,0.5;1,1;technic_cnc_pyramid.png;pyramid; ]"..
 	"image_button[5,0.5;1,1;technic_cnc_spike.png;spike; ]"..
 	"image_button[6,0.5;1,1;technic_cnc_cylinder.png;cylinder; ]"..
-	"image_button[7,0.5;1,1;technic_cnc_sphere.png;sphere; ]"..
+	"image_button[7,0.5;1,1;technic_cnc_oblate_spheroid.png;oblate_spheroid; ]"..
 	"image_button[8,0.5;1,1;technic_cnc_stick.png;stick; ]"..
 
 	"image_button[1,1.5;1,1;technic_cnc_slope_upsdwn.png;slope_upsdown; ]"..
 	"image_button[2,1.5;1,1;technic_cnc_slope_edge_upsdwn.png;slope_edge_upsdown; ]"..
 	"image_button[3,1.5;1,1;technic_cnc_slope_inner_edge_upsdwn.png;slope_inner_edge_upsdown; ]"..
 	"image_button[4,1.5;1,1;technic_cnc_cylinder_horizontal.png;cylinder_horizontal; ]"..
+	"image_button[5,1.5;1,1;technic_cnc_sphere.png;sphere; ]"..
 
 	"image_button[1,2.5;1,1;technic_cnc_slope_lying.png;slope_lying; ]"..
 	"image_button[2,2.5;1,1;technic_cnc_onecurvededge.png;onecurvededge; ]"..
@@ -71,7 +84,11 @@
 	"label[4, 5.5;"..S("Out:").."]"..
 	"list[current_name;dst;5,5.5;4,1;]"..
 
-	"list[current_player;main;0,7;8,4;]"
+	"list[current_player;main;0,7;8,4;]"..
+	"listring[current_name;dst]"..
+	"listring[current_player;main]"..
+	"listring[current_name;src]"..
+	"listring[current_player;main]"
 
 local size = 1;
 
@@ -135,7 +152,7 @@
 	local demand       = 450
 
 	local result = meta:get_string("cnc_product")
-	if inv:is_empty("src") or 
+	if inv:is_empty("src") or
 	   (not minetest.registered_nodes[result]) or
 	   (not inv:room_for_item("dst", result)) then
 		technic.swap_node(pos, machine_node)
@@ -168,16 +185,9 @@
 	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)
@@ -201,9 +211,10 @@
 	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,
@@ -216,16 +227,4 @@
 
 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'},         
-	},
-})
 

--
Gitblit v1.8.0