From f47da0c0453981929c1bde0eb47d86507c9305cd Mon Sep 17 00:00:00 2001 From: Gábriel <38207624+gabriel1379@users.noreply.github.com> Date: Fri, 08 Mar 2024 18:44:13 +0100 Subject: [PATCH] Add grinding for pyrite from Everness mod (#633) --- technic_cnc/cnc_api.lua | 89 ++++++++++++++++++++++---------------------- 1 files changed, 45 insertions(+), 44 deletions(-) diff --git a/technic_cnc/cnc_api.lua b/technic_cnc/cnc_api.lua index c801fbc..41fbe1b 100644 --- a/technic_cnc/cnc_api.lua +++ b/technic_cnc/cnc_api.lua @@ -1,16 +1,15 @@ -- API for the technic CNC machine -- Again code is adapted from the NonCubic Blocks MOD v1.4 by yves_de_beck -local S = technic.getter - -technic.cnc = {} +local S = technic_cnc.getter +local ALPHA_CLIP = minetest.features.use_texture_alpha_string_modes and "clip" or true -- REGISTER NONCUBIC FORMS, CREATE MODELS AND RECIPES: ------------------------------------------------------ -- Define slope boxes for the various nodes ------------------------------------------- -technic.cnc.programs = { +technic_cnc.programs = { { suffix = "technic_cnc_stick", model = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}, desc = S("Stick") @@ -239,7 +238,7 @@ type = "fixed", fixed = { { 4/16, -8/16, 4/16, 8/16, 8/16, 8/16 }, - { 0, -8/16, 0, 4/16, 8/16, 8/16 }, + { 0, -8/16, 0, 4/16, 8/16, 8/16 }, { -4/16, -8/16, -4/16, 0, 8/16, 8/16 }, { -8/16, -8/16, -8/16, -4/16, 8/16, 8/16 } } @@ -259,11 +258,11 @@ } } }, - + } -- Allow disabling certain programs for some node. Default is allowing all types for all nodes -technic.cnc.programs_disable = { +technic_cnc.programs_disable = { -- ["default:brick"] = {"technic_cnc_stick"}, -- Example: Disallow the stick for brick -- ... ["default:dirt"] = {"technic_cnc_oblate_spheroid", "technic_cnc_slope_upsdown", "technic_cnc_edge", @@ -273,7 +272,7 @@ } -- Generic function for registering all the different node types -function technic.cnc.register_program(recipeitem, suffix, model, groups, images, description, cbox, sbox) +function technic_cnc.register_program(recipeitem, suffix, model, groups, images, description, cbox, sbox) local dtype local nodeboxdef @@ -300,6 +299,7 @@ tiles = images, paramtype = "light", paramtype2 = "facedir", + use_texture_alpha = ALPHA_CLIP, walkable = true, groups = groups, selection_box = sbox, @@ -308,12 +308,12 @@ end -- function to iterate over all the programs the CNC machine knows -function technic.cnc.register_all(recipeitem, groups, images, description) - for _, data in ipairs(technic.cnc.programs) do +function technic_cnc.register_all(recipeitem, groups, images, description) + for _, data in ipairs(technic_cnc.programs) do -- Disable node creation for disabled node types for some material local do_register = true - if technic.cnc.programs_disable[recipeitem] ~= nil then - for __, disable in ipairs(technic.cnc.programs_disable[recipeitem]) do + if technic_cnc.programs_disable[recipeitem] ~= nil then + for __, disable in ipairs(technic_cnc.programs_disable[recipeitem]) do if disable == data.suffix then do_register = false end @@ -321,49 +321,50 @@ end -- Create the node if it passes the test if do_register then - technic.cnc.register_program(recipeitem, data.suffix, data.model, + technic_cnc.register_program(recipeitem, data.suffix, data.model, groups, images, description.." "..data.desc, data.cbox, data.sbox) end end end - --- REGISTER NEW TECHNIC_CNC_API's PART 2: technic.cnc..register_element_end(subname, recipeitem, groups, images, desc_element_xyz) +-- REGISTER NEW TECHNIC_CNC_API's PART 2: technic_cnc..register_element_end(subname, recipeitem, groups, images, desc_element_xyz) ----------------------------------------------------------------------------------------------------------------------- -function technic.cnc.register_slope_edge_etc(recipeitem, groups, images, desc_slope, desc_slope_lying, desc_slope_upsdown, desc_slope_edge, desc_slope_inner_edge, desc_slope_upsdwn_edge, desc_slope_upsdwn_inner_edge, desc_pyramid, desc_spike, desc_onecurvededge, desc_twocurvededge, desc_cylinder, desc_cylinder_horizontal, desc_spheroid, desc_element_straight, desc_element_edge, desc_element_t, desc_element_cross, desc_element_end) - - technic.cnc.register_slope(recipeitem, groups, images, desc_slope) - technic.cnc.register_slope_lying(recipeitem, groups, images, desc_slope_lying) - technic.cnc.register_slope_upsdown(recipeitem, groups, images, desc_slope_upsdown) - technic.cnc.register_slope_edge(recipeitem, groups, images, desc_slope_edge) - technic.cnc.register_slope_inner_edge(recipeitem, groups, images, desc_slope_inner_edge) - technic.cnc.register_slope_edge_upsdown(recipeitem, groups, images, desc_slope_upsdwn_edge) - technic.cnc.register_slope_inner_edge_upsdown(recipeitem, groups, images, desc_slope_upsdwn_inner_edge) - technic.cnc.register_pyramid(recipeitem, groups, images, desc_pyramid) - technic.cnc.register_spike(recipeitem, groups, images, desc_spike) - technic.cnc.register_onecurvededge(recipeitem, groups, images, desc_onecurvededge) - technic.cnc.register_twocurvededge(recipeitem, groups, images, desc_twocurvededge) - technic.cnc.register_cylinder(recipeitem, groups, images, desc_cylinder) - technic.cnc.register_cylinder_horizontal(recipeitem, groups, images, desc_cylinder_horizontal) - technic.cnc.register_spheroid(recipeitem, groups, images, desc_spheroid) - technic.cnc.register_element_straight(recipeitem, groups, images, desc_element_straight) - technic.cnc.register_element_edge(recipeitem, groups, images, desc_element_edge) - technic.cnc.register_element_t(recipeitem, groups, images, desc_element_t) - technic.cnc.register_element_cross(recipeitem, groups, images, desc_element_cross) - technic.cnc.register_element_end(recipeitem, groups, images, desc_element_end) +function technic_cnc.register_slope_edge_etc(recipeitem, groups, images, desc_slope, desc_slope_lying, desc_slope_upsdown, desc_slope_edge, desc_slope_inner_edge, desc_slope_upsdwn_edge, desc_slope_upsdwn_inner_edge, desc_pyramid, desc_spike, desc_onecurvededge, desc_twocurvededge, desc_cylinder, desc_cylinder_horizontal, desc_spheroid, desc_element_straight, desc_element_edge, desc_element_t, desc_element_cross, desc_element_end) + -- TODO: Remove this evil sorcery + technic_cnc.register_slope(recipeitem, groups, images, desc_slope) + technic_cnc.register_slope_lying(recipeitem, groups, images, desc_slope_lying) + technic_cnc.register_slope_upsdown(recipeitem, groups, images, desc_slope_upsdown) + technic_cnc.register_slope_edge(recipeitem, groups, images, desc_slope_edge) + technic_cnc.register_slope_inner_edge(recipeitem, groups, images, desc_slope_inner_edge) + technic_cnc.register_slope_edge_upsdown(recipeitem, groups, images, desc_slope_upsdwn_edge) + technic_cnc.register_slope_inner_edge_upsdown(recipeitem, groups, images, desc_slope_upsdwn_inner_edge) + technic_cnc.register_pyramid(recipeitem, groups, images, desc_pyramid) + technic_cnc.register_spike(recipeitem, groups, images, desc_spike) + technic_cnc.register_onecurvededge(recipeitem, groups, images, desc_onecurvededge) + technic_cnc.register_twocurvededge(recipeitem, groups, images, desc_twocurvededge) + technic_cnc.register_cylinder(recipeitem, groups, images, desc_cylinder) + technic_cnc.register_cylinder_horizontal(recipeitem, groups, images, desc_cylinder_horizontal) + technic_cnc.register_spheroid(recipeitem, groups, images, desc_spheroid) + technic_cnc.register_element_straight(recipeitem, groups, images, desc_element_straight) + technic_cnc.register_element_edge(recipeitem, groups, images, desc_element_edge) + technic_cnc.register_element_t(recipeitem, groups, images, desc_element_t) + technic_cnc.register_element_cross(recipeitem, groups, images, desc_element_cross) + technic_cnc.register_element_end(recipeitem, groups, images, desc_element_end) end -- REGISTER STICKS: noncubic.register_xyz(recipeitem, groups, images, desc_element_xyz) ------------------------------------------------------------------------------------------------------------ -function technic.cnc.register_stick_etc(recipeitem, groups, images, desc_stick) - technic.cnc.register_stick(recipeitem, groups, images, desc_stick) +function technic_cnc.register_stick_etc(recipeitem, groups, images, desc_stick) + -- TODO: Remove this evil sorcery + technic_cnc.register_stick(recipeitem, groups, images, desc_stick) end -function technic.cnc.register_elements(recipeitem, groups, images, desc_element_straight_double, desc_element_edge_double, desc_element_t_double, desc_element_cross_double, desc_element_end_double) - technic.cnc.register_element_straight_double(recipeitem, groups, images, desc_element_straight_double) - technic.cnc.register_element_edge_double(recipeitem, groups, images, desc_element_edge_double) - technic.cnc.register_element_t_double(recipeitem, groups, images, desc_element_t_double) - technic.cnc.register_element_cross_double(recipeitem, groups, images, desc_element_cross_double) - technic.cnc.register_element_end_double(recipeitem, groups, images, desc_element_end_double) +function technic_cnc.register_elements(recipeitem, groups, images, desc_element_straight_double, desc_element_edge_double, desc_element_t_double, desc_element_cross_double, desc_element_end_double) + -- TODO: Remove this evil sorcery + technic_cnc.register_element_straight_double(recipeitem, groups, images, desc_element_straight_double) + technic_cnc.register_element_edge_double(recipeitem, groups, images, desc_element_edge_double) + technic_cnc.register_element_t_double(recipeitem, groups, images, desc_element_t_double) + technic_cnc.register_element_cross_double(recipeitem, groups, images, desc_element_cross_double) + technic_cnc.register_element_end_double(recipeitem, groups, images, desc_element_end_double) end -- Gitblit v1.8.0