cannons is a mod for the game minetest written by Kingarthurs Team (Semmett9, eythen, and addi)
if you have some muni in the cannon and some gunpowder you can shot the cannon if you punch it with a torch.
the cannonball will damage the other players. if it wears armor the damage will be calculated.
create a file caled cannons.conf in your world dir.
add the folowing lines to it:
#!conf
enable_explosion = "true"
enable_fire = "true"
now you can change it. eg. if you want to disable fire then cange enable_fire = "true" to enable_fire = "false"
thats all :-)
relases are in the donwloads Tab swith there to tab 'Tags'
its also aviable as a git repo:
$ git clone https://[email protected]/kingarthursteam/canons.git
Bucket with salt:
Salt (shapeless):
Gunpowder (schapeless):
cannons:
Wooden stand:
Stone Stand:
#!lua
local ball_wood={
physical = false,
timer=0,
textures = {"cannons_wood_bullet.png"},
lastpos={},
damage=20,
range=1,
gravity=10,
velocity=40,
name="cannons:wood_bullet",
collisionbox = {-0.25,-0.25,-0.25, 0.25,0.25,0.25},
on_player_hit = function(self,pos,player)
local playername = player:get_player_name()
player:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups={fleshy=self.damage},
}, nil)
self.object:remove()
minetest.chat_send_all(playername .." tried to catch a cannonball")
end,
on_mob_hit = function(self,pos,mob)
mob:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups={fleshy=self.damage},
}, nil)
self.object:remove()
end,
on_node_hit = function(self,pos,node)
if node.name == "default:dirt_with_grass" then
minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z},{name="default:dirt"})
minetest.sound_play("cannons_hit",
{pos = pos, gain = 1.0, max_hear_distance = 32,})
self.object:remove()
elseif node.name == "default:water_source" then
minetest.sound_play("cannons_splash",
{pos = pos, gain = 1.0, max_hear_distance = 32,})
self.object:remove()
else
minetest.sound_play("cannons_hit",
{pos = pos, gain = 1.0, max_hear_distance = 32,})
self.object:remove()
end
end,
}
cannons.register_muni("cannons:ball_wood",ball_wood)
Have fun!