--
--
-- Green
--
--
minetest.register_entity("neoblocks:rupee_green_en", {
visual = "sprite",
visual_size = {x=0.5, y=0.5},
textures = {"zelda_rupee_green.png"},
velocity = 0,
on_step = function(self, dtime)
local pos = self.object:getpos()
pos.y = pos.y-1
for _,player in pairs(minetest.env:get_objects_inside_radius(pos, 1)) do
if player:is_player() then
self.hit_player(self, player)
self.object:remove()
return
end
end
end,
hit_player = function(self, player, pos)
local pos = self.object:getpos()
player:get_inventory():add_item("main", "neoblocks:rupee_green")
minetest.env:remove_node(pos)
end,
})
minetest.register_craftitem("neoblocks:rupee_green", {
description = "Green Rupee",
inventory_image = "zelda_rupee_green.png",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.above then
minetest.env:add_entity(pointed_thing.above, "neoblocks:rupee_green_en")
itemstack:take_item()
end
return itemstack
end,
})
minetest.register_craft({
output = '"neoblocks:rupee_green" 1',
recipe = {
{'', 'default:cobblestone', ''},
{'default:cobblestone', 'default:cobblestone', 'default:cobblestone'},
{'', 'default:cobblestone', ''},
}
})
--
--
-- Blue
--
--
minetest.register_entity("neoblocks:rupee_blue_en", {
visual = "sprite",
visual_size = {x=0.5, y=0.5},
textures = {"zelda_rupee_blue.png"},
velocity = 0,
on_step = function(self, dtime)
local pos = self.object:getpos()
pos.y = pos.y-1
for _,player in pairs(minetest.env:get_objects_inside_radius(pos, 1)) do
if player:is_player() then
self.hit_player(self, player)
self.object:remove()
return
end
end
end,
hit_player = function(self, player, pos)
local pos = self.object:getpos()
player:get_inventory():add_item("main", "neoblocks:rupee_blue")
minetest.env:remove_node(pos)
end,
})
minetest.register_craftitem("neoblocks:rupee_blue", {
description = "Blue Rupee",
inventory_image = "zelda_rupee_blue.png",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.above then
minetest.env:add_entity(pointed_thing.above, "neoblocks:rupee_blue_en")
itemstack:take_item()
end
return itemstack
end,
})
minetest.register_craft({
output = '"neoblocks:rupee_blue" 1',
recipe = {
{'', 'neoblocks:rupee_green', ''},
{'neoblocks:rupee_green', 'neoblocks:rupee_green', 'neoblocks:rupee_green'},
{'', 'neoblocks:rupee_green', ''},
}
})
--
--
-- Red
--
--
minetest.register_entity("neoblocks:rupee_red_en", {
visual = "sprite",
visual_size = {x=0.5, y=0.5},
textures = {"zelda_rupee_red.png"},
velocity = 0,
on_step = function(self, dtime)
local pos = self.object:getpos()
pos.y = pos.y-1
for _,player in pairs(minetest.env:get_objects_inside_radius(pos, 1)) do
if player:is_player() then
self.hit_player(self, player)
self.object:remove()
return
end
end
end,
hit_player = function(self, player, pos)
local pos = self.object:getpos()
player:get_inventory():add_item("main", "neoblocks:rupee_red")
minetest.env:remove_node(pos)
end,
})
minetest.register_craftitem("neoblocks:rupee_red", {
description = "Red Rupee",
inventory_image = "zelda_rupee_red.png",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.above then
minetest.env:add_entity(pointed_thing.above, "neoblocks:rupee_red_en")
itemstack:take_item()
end
return itemstack
end,
})
minetest.register_craft({
output = '"neoblocks:rupee_red" 1',
recipe = {
{'', 'neoblocks:rupee_blue', ''},
{'neoblocks:rupee_blue', '', 'neoblocks:rupee_blue'},
{'', 'neoblocks:rupee_blue', ''},
}
})