| | |
| | | register_grinder_recipe("default:iron_lump","technic:iron_dust 2") |
| | | register_grinder_recipe("default:coal_lump","technic:coal_dust 2") |
| | | register_grinder_recipe("moreores:copper_lump","technic:copper_dust 2") |
| | | register_grinder_recipe("default:copper_lump","technic:copper_dust 2") |
| | | register_grinder_recipe("moreores:tin_lump","technic:tin_dust 2") |
| | | register_grinder_recipe("moreores:silver_lump","technic:silver_dust 2") |
| | | register_grinder_recipe("moreores:gold_lump","technic:gold_dust 2") |
| | | register_grinder_recipe("default:gold_lump","technic:gold_dust 2") |
| | | register_grinder_recipe("moreores:mithril_lump","technic:mithril_dust 2") |
| | | register_grinder_recipe("technic:chromium_lump","technic:chromium_dust 2") |
| | | register_grinder_recipe("technic:zinc_lump","technic:zinc_dust 2") |
| | |
| | | output = 'technic:grinder', |
| | | recipe = { |
| | | {'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, |
| | | {'default:desert_stone', 'technic:diamond', 'default:desert_stone'}, |
| | | {'default:desert_stone', 'default:diamond', 'default:desert_stone'}, |
| | | {'default:stone', 'moreores:copper_ingot', 'default:stone'}, |
| | | } |
| | | }) |
| | |
| | | |
| | | minetest.register_node("technic:grinder", { |
| | | description = "Grinder", |
| | | tiles = {"technic_grinder_top.png", "technic_machine_bottom.png", "technic_grinder_side.png", |
| | | "technic_grinder_side.png", "technic_grinder_side.png", "technic_grinder_front.png"}, |
| | | tiles = {"technic_lv_grinder_top.png", "technic_lv_grinder_bottom.png", "technic_lv_grinder_side.png", |
| | | "technic_lv_grinder_side.png", "technic_lv_grinder_side.png", "technic_lv_grinder_front.png"}, |
| | | paramtype2 = "facedir", |
| | | groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, |
| | | groups = {cracky=2}, |
| | | legacy_facedir_simple = true, |
| | | sounds = default.node_sound_wood_defaults(), |
| | | technic_power_machine=1, |
| | |
| | | meta:set_float("internal_EU_buffer_size", 5000) |
| | | meta:set_string("formspec", grinder_formspec) |
| | | meta:set_float("grind_time", 0) |
| | | |
| | | local inv = meta:get_inventory() |
| | | inv:set_size("src", 1) |
| | | inv:set_size("dst", 4) |
| | | |
| | | end, |
| | | can_dig = function(pos,player) |
| | | local meta = minetest.env:get_meta(pos); |
| | |
| | | if not inv:is_empty("dst") then |
| | | return false |
| | | end |
| | | |
| | | return true |
| | | end, |
| | | }) |
| | | |
| | | minetest.register_node("technic:grinder_active", { |
| | | description = "Grinder", |
| | | tiles = {"technic_lv_grinder_top.png", "technic_lv_grinder_bottom.png", "technic_lv_grinder_side.png", |
| | | "technic_lv_grinder_side.png", "technic_lv_grinder_side.png", "technic_lv_grinder_front_active.png"}, |
| | | paramtype2 = "facedir", |
| | | groups = {cracky=2,not_in_creative_inventory=1}, |
| | | legacy_facedir_simple = true, |
| | | sounds = default.node_sound_wood_defaults(), |
| | | can_dig = function(pos,player) |
| | | local meta = minetest.env:get_meta(pos); |
| | | local inv = meta:get_inventory() |
| | | if not inv:is_empty("src") then |
| | | return false |
| | | end |
| | | if not inv:is_empty("dst") then |
| | | return false |
| | | end |
| | | return true |
| | | end, |
| | | }) |
| | | |
| | | minetest.register_abm({ |
| | | nodenames = {"technic:grinder"}, |
| | | nodenames = {"technic:grinder","technic:grinder_active"}, |
| | | interval = 1, |
| | | chance = 1, |
| | | action = function(pos, node, active_object_count, active_object_count_wider) |
| | |
| | | "list[current_player;main;0,5;8,4;]" |
| | | ) |
| | | |
| | | |
| | | |
| | | local inv = meta:get_inventory() |
| | | |
| | | -- local grinder_on = meta:get_float("grinder_on") |
| | | |
| | | local srclist = inv:get_list("src") |
| | | if inv:is_empty("src") then meta:set_float("grinder_on",0) end |
| | | |
| | |
| | | if (meta:get_float("grinder_on")==0) then |
| | | local grinded=nil |
| | | if not inv:is_empty("src") then |
| | | grinded = get_grinded_item (inv:get_stack("src", 1)) |
| | | if grinded then meta:set_float("grinder_on",1) end |
| | | grind_time=4 |
| | | meta:set_float("grind_time",grind_time) |
| | | meta:set_float("src_time", 0) |
| | | return |
| | | grinded = get_grinded_item (inv:get_stack("src", 1)) |
| | | if grinded then |
| | | meta:set_float("grinder_on",1) |
| | | hacky_swap_node(pos,"technic:grinder_active") |
| | | meta:set_string("infotext", "Grinder Active") |
| | | grind_time=4 |
| | | meta:set_float("grind_time",grind_time) |
| | | meta:set_float("src_time", 0) |
| | | return |
| | | end |
| | | else |
| | | hacky_swap_node(pos,"technic:grinder") |
| | | meta:set_string("infotext", "Grinder Inactive") |
| | | end |
| | | end |
| | | end |
| | |
| | | end |
| | | |
| | | register_LV_machine ("technic:grinder","RE") |
| | | register_LV_machine ("technic:grinder_active","RE") |