forked from mtcontrib/throwing
Merge branch 'gitlab'
This commit is contained in:
commit
3f0c287a6d
@ -42,7 +42,7 @@ local THROWING_ARROW_ENTITY={
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
if not self.inventory or not self.stack then
|
if not self.inventory or not self.stack then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
|
@ -41,7 +41,7 @@ local THROWING_ARROW_ENTITY={
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
@ -41,7 +41,7 @@ local THROWING_ARROW_ENTITY={
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
@ -28,6 +28,7 @@ local function throwing_register_fireworks(color, desc)
|
|||||||
},
|
},
|
||||||
tiles = {"throwing_arrow_fireworks_" .. color .. ".png", "throwing_arrow_fireworks_" .. color .. ".png", "throwing_arrow_fireworks_" .. color .. "_back.png", "throwing_arrow_fireworks_" .. color .. "_front.png", "throwing_arrow_fireworks_" .. color .. "_2.png", "throwing_arrow_fireworks_" .. color .. ".png"},
|
tiles = {"throwing_arrow_fireworks_" .. color .. ".png", "throwing_arrow_fireworks_" .. color .. ".png", "throwing_arrow_fireworks_" .. color .. "_back.png", "throwing_arrow_fireworks_" .. color .. "_front.png", "throwing_arrow_fireworks_" .. color .. "_2.png", "throwing_arrow_fireworks_" .. color .. ".png"},
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
|
use_texture_alpha = "opaque",
|
||||||
})
|
})
|
||||||
|
|
||||||
local THROWING_ARROW_ENTITY={
|
local THROWING_ARROW_ENTITY={
|
||||||
@ -74,7 +75,7 @@ local function throwing_register_fireworks(color, desc)
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
if self.timer < 0.07 then
|
if self.timer < 0.07 then
|
||||||
minetest.sound_play("throwing_firework_launch", {pos=pos, gain=0.8, max_hear_distance=2*64})
|
minetest.sound_play("throwing_firework_launch", {pos=pos, gain=0.8, max_hear_distance=2*64})
|
||||||
|
@ -20,12 +20,12 @@ function throwing_shoot_arrow (itemstack, player, stiffness, is_cross)
|
|||||||
local arrow = itemstack:get_metadata()
|
local arrow = itemstack:get_metadata()
|
||||||
itemstack:set_metadata("")
|
itemstack:set_metadata("")
|
||||||
player:set_wielded_item(itemstack)
|
player:set_wielded_item(itemstack)
|
||||||
local playerpos = player:getpos()
|
local playerpos = player:get_pos()
|
||||||
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, arrow)
|
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, arrow)
|
||||||
local dir = player:get_look_dir()
|
local dir = player:get_look_dir()
|
||||||
obj:setvelocity({x=dir.x*stiffness, y=dir.y*stiffness, z=dir.z*stiffness})
|
obj:set_velocity({x=dir.x*stiffness, y=dir.y*stiffness, z=dir.z*stiffness})
|
||||||
obj:setacceleration({x=dir.x*-3, y=-8.5, z=dir.z*-3})
|
obj:set_acceleration({x=dir.x*-3, y=-8.5, z=dir.z*-3})
|
||||||
obj:setyaw(player:get_look_yaw()+math.pi)
|
obj:set_yaw(player:get_look_horizontal()-math.pi/2)
|
||||||
if is_cross then
|
if is_cross then
|
||||||
minetest.sound_play("throwing_crossbow_sound", {pos=playerpos})
|
minetest.sound_play("throwing_crossbow_sound", {pos=playerpos})
|
||||||
else
|
else
|
||||||
@ -58,11 +58,11 @@ function throwing_reload (itemstack, player, pos, is_cross, loaded)
|
|||||||
local playerName = player:get_player_name()
|
local playerName = player:get_player_name()
|
||||||
players[playerName]['reloading'] = false
|
players[playerName]['reloading'] = false
|
||||||
if itemstack:get_name() == player:get_wielded_item():get_name() then
|
if itemstack:get_name() == player:get_wielded_item():get_name() then
|
||||||
if (pos.x == player:getpos().x and pos.y == player:getpos().y and pos.z == player:getpos().z) or not is_cross then
|
if (pos.x == player:get_pos().x and pos.y == player:get_pos().y and pos.z == player:get_pos().z) or not is_cross then
|
||||||
local wear = itemstack:get_wear()
|
local wear = itemstack:get_wear()
|
||||||
for _,arrow in ipairs(throwing_arrows) do
|
for _,arrow in ipairs(throwing_arrows) do
|
||||||
if player:get_inventory():get_stack("main", player:get_wield_index()+1):get_name() == arrow[1] then
|
if player:get_inventory():get_stack("main", player:get_wield_index()+1):get_name() == arrow[1] then
|
||||||
if not minetest.setting_getbool("creative_mode") then
|
if not minetest.settings:get_bool("creative_mode") then
|
||||||
player:get_inventory():remove_item("main", arrow[1])
|
player:get_inventory():remove_item("main", arrow[1])
|
||||||
end
|
end
|
||||||
local meta = arrow[2]
|
local meta = arrow[2]
|
||||||
@ -82,7 +82,7 @@ function throwing_register_bow (name, desc, scale, stiffness, reload_time, tough
|
|||||||
wield_scale = scale,
|
wield_scale = scale,
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
local pos = user:getpos()
|
local pos = user:get_pos()
|
||||||
local playerName = user:get_player_name()
|
local playerName = user:get_player_name()
|
||||||
if not players[playerName]['reloading'] then
|
if not players[playerName]['reloading'] then
|
||||||
players[playerName]['reloading'] = true
|
players[playerName]['reloading'] = true
|
||||||
@ -99,7 +99,7 @@ function throwing_register_bow (name, desc, scale, stiffness, reload_time, tough
|
|||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
local wear = itemstack:get_wear()
|
local wear = itemstack:get_wear()
|
||||||
if not minetest.setting_getbool("creative_mode") then
|
if not minetest.settings:get_bool("creative_mode") then
|
||||||
wear = wear + (65535/toughness)
|
wear = wear + (65535/toughness)
|
||||||
end
|
end
|
||||||
local unloaded = "throwing:" .. name
|
local unloaded = "throwing:" .. name
|
||||||
|
2
init.lua
2
init.lua
@ -61,6 +61,6 @@ if minetest.get_modpath('tnt') then
|
|||||||
dofile(minetest.get_modpath("throwing").."/fireworks_arrows.lua")
|
dofile(minetest.get_modpath("throwing").."/fireworks_arrows.lua")
|
||||||
end
|
end
|
||||||
|
|
||||||
if minetest.setting_get("log_mods") then
|
if minetest.settings:get("log_mods") then
|
||||||
minetest.log("action", "throwing loaded")
|
minetest.log("action", "throwing loaded")
|
||||||
end
|
end
|
||||||
|
@ -27,6 +27,7 @@ minetest.register_node("throwing:arrow_shell_box", {
|
|||||||
},
|
},
|
||||||
tiles = {"throwing_arrow_shell.png", "throwing_arrow_shell.png", "throwing_arrow_shell_back.png", "throwing_arrow_shell_front.png", "throwing_arrow_shell_2.png", "throwing_arrow_shell.png"},
|
tiles = {"throwing_arrow_shell.png", "throwing_arrow_shell.png", "throwing_arrow_shell_back.png", "throwing_arrow_shell_front.png", "throwing_arrow_shell_2.png", "throwing_arrow_shell.png"},
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
|
use_texture_alpha = "opaque",
|
||||||
})
|
})
|
||||||
|
|
||||||
local THROWING_ARROW_ENTITY={
|
local THROWING_ARROW_ENTITY={
|
||||||
@ -71,7 +72,7 @@ end
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
@ -28,6 +28,7 @@ function throwing_register_arrow_standard (kind, desc, eq, toughness, craft)
|
|||||||
},
|
},
|
||||||
tiles = {"throwing_arrow_" .. kind .. ".png", "throwing_arrow_" .. kind .. ".png", "throwing_arrow_" .. kind .. "_back.png", "throwing_arrow_" .. kind .. "_front.png", "throwing_arrow_" .. kind .. "_2.png", "throwing_arrow_" .. kind .. ".png"},
|
tiles = {"throwing_arrow_" .. kind .. ".png", "throwing_arrow_" .. kind .. ".png", "throwing_arrow_" .. kind .. "_back.png", "throwing_arrow_" .. kind .. "_front.png", "throwing_arrow_" .. kind .. "_2.png", "throwing_arrow_" .. kind .. ".png"},
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
|
use_texture_alpha = "opaque",
|
||||||
})
|
})
|
||||||
|
|
||||||
local THROWING_ARROW_ENTITY={
|
local THROWING_ARROW_ENTITY={
|
||||||
@ -42,7 +43,7 @@ function throwing_register_arrow_standard (kind, desc, eq, toughness, craft)
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
@ -42,7 +42,7 @@ local THROWING_ARROW_ENTITY={
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
if not self.player then
|
if not self.player then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
@ -55,7 +55,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
|||||||
if obj:get_luaentity().name ~= "throwing:arrow_teleport_entity" and obj:get_luaentity().name ~= "__builtin:item" then
|
if obj:get_luaentity().name ~= "throwing:arrow_teleport_entity" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
if self.player ~= "" then
|
if self.player ~= "" then
|
||||||
self.player:setpos(pos)
|
self.player:set_pos(pos)
|
||||||
self.player:get_inventory():add_item("main", ItemStack("default:stick 2"))
|
self.player:get_inventory():add_item("main", ItemStack("default:stick 2"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -67,7 +67,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
|||||||
if node.name ~= "air" then
|
if node.name ~= "air" then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
if self.player ~= "" then
|
if self.player ~= "" then
|
||||||
self.player:setpos(self.lastpos)
|
self.player:set_pos(self.lastpos)
|
||||||
self.player:get_inventory():add_item("main", ItemStack("default:stick 2"))
|
self.player:get_inventory():add_item("main", ItemStack("default:stick 2"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -147,8 +147,8 @@ local function entity_physics(pos, radius)
|
|||||||
radius = radius * 2
|
radius = radius * 2
|
||||||
local objs = minetest.get_objects_inside_radius(pos, radius)
|
local objs = minetest.get_objects_inside_radius(pos, radius)
|
||||||
for _, obj in pairs(objs) do
|
for _, obj in pairs(objs) do
|
||||||
local obj_pos = obj:getpos()
|
local obj_pos = obj:get_pos()
|
||||||
local obj_vel = obj:getvelocity()
|
local obj_vel = obj:get_velocity()
|
||||||
local dist = math.max(1, vector.distance(pos, obj_pos))
|
local dist = math.max(1, vector.distance(pos, obj_pos))
|
||||||
|
|
||||||
if obj_vel ~= nil then
|
if obj_vel ~= nil then
|
||||||
@ -245,7 +245,7 @@ end
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
@ -27,6 +27,7 @@ minetest.register_node("throwing:arrow_torch_box", {
|
|||||||
},
|
},
|
||||||
tiles = {"throwing_arrow_torch.png", "throwing_arrow_torch.png", "throwing_arrow_torch_back.png", "throwing_arrow_torch_front.png", "throwing_arrow_torch_2.png", "throwing_arrow_torch.png"},
|
tiles = {"throwing_arrow_torch.png", "throwing_arrow_torch.png", "throwing_arrow_torch_back.png", "throwing_arrow_torch_front.png", "throwing_arrow_torch_2.png", "throwing_arrow_torch.png"},
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
|
use_texture_alpha = "opaque",
|
||||||
})
|
})
|
||||||
|
|
||||||
local THROWING_ARROW_ENTITY={
|
local THROWING_ARROW_ENTITY={
|
||||||
@ -42,7 +43,7 @@ local THROWING_ARROW_ENTITY={
|
|||||||
|
|
||||||
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
self.timer=self.timer+dtime
|
self.timer=self.timer+dtime
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if self.timer>0.2 then
|
if self.timer>0.2 then
|
||||||
|
Loading…
Reference in New Issue
Block a user