123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- return function(plg)
- minetest.register_tool("mesecons_fpga:programmer", {
- description = "FPGA Programmer",
- inventory_image = "jeija_fpga_programmer.png",
- stack_max = 1,
- on_place = function(itemstack, placer, pointed_thing)
- if pointed_thing.type ~= "node" then
- return itemstack
- end
- local pos = pointed_thing.under
- if minetest.get_node(pos).name:find("mesecons_fpga:fpga") ~= 1 then
- return itemstack
- end
- local meta = minetest.get_meta(pos)
- if meta:get_string("instr") == "//////////////" then
- minetest.chat_send_player(placer:get_player_name(), "This FPGA is unprogrammed.")
- return itemstack
- end
- itemstack:set_metadata(meta:get_string("instr"))
- minetest.chat_send_player(placer:get_player_name(), "FPGA gate configuration was successfully copied!")
-
- return itemstack
- end,
- on_use = function(itemstack, user, pointed_thing)
- if pointed_thing.type ~= "node" then
- return itemstack
- end
- local pos = pointed_thing.under
- if minetest.get_node(pos).name:find("mesecons_fpga:fpga") ~= 1 then
- return itemstack
- end
- local imeta = itemstack:get_metadata()
- if imeta == "" then
- minetest.chat_send_player(user:get_player_name(), "Use shift+right-click to copy a gate configuration first.")
- return itemstack
- end
- local meta = minetest.get_meta(pos)
- meta:set_string("instr", imeta)
- plg.update_formspec(pos, imeta)
- minetest.chat_send_player(user:get_player_name(), "Gate configuration was successfully written to FPGA!")
- return itemstack
- end
- })
- minetest.register_craft({
- output = "mesecons_fpga:programmer",
- recipe = {
- {'group:mesecon_conductor_craftable'},
- {'mesecons_materials:silicon'},
- }
- })
- end
|