[slingshot] Update to Git commit 903fc8d:

https://github.com/AntumDeluge/mtmod-slingshot/tree/903fc8d
master
AntumDeluge 2017-06-01 03:07:50 -07:00
parent ab9c885823
commit 2e94a2c33a
6 changed files with 109 additions and 42 deletions

View File

@ -38,7 +38,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
* [enchanting][] ([GPL / WTFPL / CC BY-SA-NA][lic.enchanting]) -- version: [13ea31c Git][ver.enchanting] *2016-12-16*
* equipment/
* [airtanks][] ([MIT][lic.airtanks]) -- version: [fc01ffb Git][ver.airtanks] *2017-04-01* ([patched][patch.airtanks])
* [slingshot][] ([MIT][lic.slingshot] / [CC0][lic.cc0]) -- version: [f30e13d Git][ver.slingshot] *2017-06-01*
* [slingshot][] ([MIT][lic.slingshot] / [CC0][lic.cc0]) -- version: [903fc8d Git][ver.slingshot] *2017-06-01*
* [xtraarmor][] ([CC BY-SA][lic.ccbysa3.0]) -- version: 0.3
* farming/
* [crops][] ([LGPL / CC BY-SA / CC BY / CC0][lic.crops]) -- version: [2b1bb37 Git][ver.crops] *2017-03-31* ([patched][patch.crops])
@ -467,7 +467,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
[ver.rainbow_ore]: https://github.com/FsxShader2012/rainbow_ore/tree/6e77693
[ver.signs_lib]: https://github.com/minetest-mods/signs_lib/tree/2c36937
[ver.simple_protection]: https://github.com/SmallJoker/simple_protection/tree/23c024f
[ver.slingshot]: https://github.com/AntumDeluge/mtmod-slingshot/tree/f30e13d
[ver.slingshot]: https://github.com/AntumDeluge/mtmod-slingshot/tree/903fc8d
[ver.sneeker]: https://github.com/AntumDeluge/mtmod-sneeker/tree/258d366
[ver.snowdrift]: https://github.com/paramat/snowdrift/tree/fcb0537
[ver.spawneggs]: https://github.com/thefamilygrog66/spawneggs/tree/4650370

View File

@ -25,19 +25,32 @@ Depends:
### Crafting:
* `SI` = default:steel_ingot
* `SB` = default:steelblock
* `ST` = default:stick
Craft recipe:
##### Craft recipes:
slingshot:
╔════╦════╦════╗
║ SI ║ ║ SI ║
╠════╬════╬════╣
║ ║ SB ║ ║
║ ║ SI ║ ║
╠════╬════╬════╣
║ ║ SI ║ ║
╚════╩════╩════╝
wood slingshot:
╔════╦════╦════╗
║ ST ║ ║ ST ║
╠════╬════╬════╣
║ ║ ST ║ ║
╠════╬════╬════╣
║ ║ ST ║ ║
╚════╩════╩════╝
[AiTechEye]: https://forum.minetest.net/memberlist.php?mode=viewprofile&u=16172

View File

@ -32,8 +32,7 @@ minetest.register_globalstep(function(dtime)
end)
function slingshot.on_use(itemstack, user)
local veloc = 15
function slingshot.on_use(itemstack, user, veloc)
local pos = user:getpos()
local upos = {x=pos.x, y=pos.y+2, z=pos.z}
local dir = user:get_look_dir()
@ -57,3 +56,67 @@ function slingshot.on_use(itemstack, user)
minetest.sound_play('slingshot_throw', {pos=pos, gain = 1.0, max_hear_distance = 5,})
return itemstack
end
-- Registers a new slingshot
-- 'def' should include 'description', 'damage_groups', & 'velocity'
function slingshot.register(name, def)
local image = {}
-- The default slingshot
if name == 'slingshot' then
image = 'slingshot.png'
else
image = 'slingshot_' .. name .. '.png'
end
minetest.register_tool('slingshot:' .. name, {
description = def.description,
range = 4,
inventory_image = image,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.ref and pointed_thing.ref:is_player() == false and pointed_thing.ref:get_luaentity().name == '__builtin:item' then
pointed_thing.ref:punch(user, {full_punch_interval=1.0, damage_groups=def.damage_groups}, 'default:bronze_pick', nil)
return itemstack
end
slingshot.on_use(itemstack, user, def.velocity)
return itemstack
end,
on_place = function(itemstack, user, pointed_thing)
local item = itemstack:to_table()
local meta = minetest.deserialize(item['metadata'])
local mode = 0
if meta == nil then meta = {} mode = 1 end
if meta.mode == nil then meta.mode = 1 end
mode = (meta.mode)
if mode == 1 then
mode = -1
minetest.chat_send_player(user:get_player_name(), 'Use stack to left')
else
mode = 1
minetest.chat_send_player(user:get_player_name(), 'Use stack to right')
end
meta.mode = mode
item.metadata = minetest.serialize(meta)
item.meta = minetest.serialize(meta)
itemstack:replace(item)
return itemstack
end
})
if def.recipe ~= nil then
minetest.register_craft({
output = 'slingshot:' .. name,
recipe = def.recipe,
})
end
-- Optionally register aliases
if def.aliases ~= nil then
for index, alias in ipairs(def.aliases) do
minetest.register_alias(alias, 'slingshot:' .. name)
end
end
end

View File

@ -7,7 +7,6 @@ slingshot.modpath = minetest.get_modpath(slingshot.modname)
local scripts = {
'functions',
'register',
'crafting',
}
for index, script in ipairs(scripts) do

View File

@ -1,41 +1,33 @@
-- Registrations for slinghot mod
minetest.register_tool('slingshot:slingshot', {
-- A metal slingshot
slingshot.register('slingshot', {
description = 'Slingshot',
range = 4,
inventory_image = 'slingshot.png',
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.ref and pointed_thing.ref:is_player() == false and pointed_thing.ref:get_luaentity().name == '__builtin:item' then
pointed_thing.ref:punch(user, {full_punch_interval=1.0, damage_groups={fleshy=4}}, 'default:bronze_pick', nil)
return itemstack
end
slingshot.on_use(itemstack, user)
return itemstack
end,
on_place = function(itemstack, user, pointed_thing)
local item = itemstack:to_table()
local meta = minetest.deserialize(item['metadata'])
local mode = 0
if meta == nil then meta = {} mode = 1 end
if meta.mode == nil then meta.mode = 1 end
mode = (meta.mode)
if mode == 1 then
mode = -1
minetest.chat_send_player(user:get_player_name(), 'Use stack to left')
else
mode = 1
minetest.chat_send_player(user:get_player_name(), 'Use stack to right ')
end
meta.mode = mode
item.metadata = minetest.serialize(meta)
item.meta = minetest.serialize(meta)
itemstack:replace(item)
return itemstack
end
damage_groups = {fleshy=4},
velocity = 15,
recipe = {
{'default:steel_ingot', '', 'default:steel_ingot'},
{'', 'default:steel_ingot', ''},
{'', 'default:steel_ingot', ''},
},
aliases = {
'slingshot',
},
})
minetest.register_alias('slingshot', 'slingshot:slingshot')
-- A weaker slingshot
slingshot.register('wood', {
description = 'Wooden slingshot',
damage_groups = {fleshy=2},
velocity = 10,
recipe = {
{'default:stick', '', 'default:stick'},
{'', 'default:stick', ''},
{'', 'default:stick', ''},
},
aliases = {
'wood_slingshot',
}
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B