1 local minetest,vector,pairs = minetest,vector,pairs
2 --this is a debug for creating flat planes to test redstone
5 "redstone:repeater_off_0 50",
6 "redstone:comparator_0 50",
8 "redstone:lever_off 50",
9 "redstone:button_off 50",
10 "redstone:piston_off 50",
11 "redstone:light_off 50",
12 "redstone:inverter_off 50",
13 "redstone:player_detector_0 50"}
15 minetest.register_node("redstone:space", {
16 description = "Stone",
17 tiles = {"stone.png"},
18 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1},
19 sounds = main.stoneSound(),
20 after_place_node = function(pos, placer, itemstack, pointed_thing)
21 local min = vector.subtract(pos,50)
23 local max = vector.add(pos,50)
25 local vm = minetest.get_voxel_manip()
26 local emin, emax = vm:read_from_map(min,max)
27 local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
28 local data = vm:get_data()
29 local content_id = minetest.get_name_from_content_id
35 local i = vector.add(pos,vector.new(x,0,z))
37 local p_pos = area:index(i.x,i.y,i.z)
38 data[p_pos] = minetest.get_content_id("main:stone")
44 local placer_pos = placer:get_pos()
45 placer_pos.y = pos.y + 1
46 placer:move_to(placer_pos)
49 for _,item in pairs(items) do
50 local obj = minetest.add_item(pos,item)
51 --local x=math.random(-2,2)*math.random()
52 --local y=math.random(2,5)
53 --local z=math.random(-2,2)*math.random()
54 --if obj and obj:get_luaentity() then
55 -- obj:setvelocity({x=x, y=y, z=z})
63 minetest.register_node("redstone:the_stone", {
64 description = "redstone ultimate",
65 tiles = {"redstone_dust_item.png"},
66 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1},
67 sounds = main.stoneSound(),
68 after_place_node = function(pos, placer, itemstack, pointed_thing)
69 local min = vector.subtract(pos,50)
71 local max = vector.add(pos,50)
73 local vm = minetest.get_voxel_manip()
74 local emin, emax = vm:read_from_map(min,max)
75 local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
76 local data = vm:get_data()
77 local content_id = minetest.get_name_from_content_id
83 local i = vector.add(pos,vector.new(x,0,z))
85 local p_pos = area:index(i.x,i.y,i.z)
86 data[p_pos] = minetest.get_content_id("redstone:dust_0")
87 redstone.inject(i,{dust=0})