Add throwable cake

This commit is contained in:
MrIbby 2015-11-06 19:24:55 -08:00
parent af72871bf0
commit 85c2284da5
3 changed files with 55 additions and 0 deletions

View File

@ -35,6 +35,7 @@ Authors of textures:
--------------------
rubenwardy (CC-BY-SA):
cake_bottom.png, derivative
cake_entity.png
cake_inner.png, derivative
cake_side.png, derivative
cake_sugar.png

View File

@ -1,3 +1,7 @@
local throwable_cake = false
-- CAKE --
local sizes = {-0.4375, -0.3125, -0.1875, -0.0625, 0.0625, 0.1875, 0.3125}
for i, size in ipairs(sizes) do
@ -70,3 +74,53 @@ minetest.register_craft({
output = "cake:cake",
recipe = {"farming:flour", "group:water_bucket", "group:food_sugar", "group:food_sugar"}
})
-- THROWABLE CAKE --
minetest.register_entity("cake:cake_entity", {
physical = false,
timer = 0,
textures = {"cake_entity.png"},
lastpos = {},
collisionbox = {0,0,0,0,0,0},
on_step = function(self, dtime)
self.timer=self.timer+dtime
local pos = self.object:getpos()
local node = minetest.env:get_node(pos)
if self.timer>0.2 then
local objs = minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
for k, obj in pairs(objs) do
if obj:get_luaentity() == nil or obj:get_luaentity().name ~= "cake:cake_entity" and obj:get_luaentity().name ~= "__builtin:item" then
obj:set_hp(obj:get_hp() + 7)
self.object:remove()
end
end
end
if self.lastpos.x~=nil then
if node.name ~= "air" then
minetest.env:add_item(self.lastpos, 'cake:cake')
self.object:remove()
end
end
self.lastpos={x=pos.x, y=pos.y, z=pos.z}
end,
})
if throwable_cake then
minetest.override_item("cake:cake", {
on_use = function(itemstack, player, pointed_thing)
if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
local playerpos = player:getpos()
local obj = minetest.env:add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, "cake:cake_entity")
local dir = player:get_look_dir()
obj:setvelocity({x=dir.x*19, y=dir.y*19, z=dir.z*19})
obj:setacceleration({x=dir.x*-3, y=-10, z=dir.z*-3})
obj:setyaw(player:get_look_yaw()+math.pi)
return itemstack
end,
})
end

BIN
textures/cake_entity.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B