changed core. to minetest. (thx mckaygerhard)
This commit is contained in:
parent
9840e63150
commit
76dd8d4b8e
76
init.lua
76
init.lua
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
local function add_fall_damage(node, damage)
|
local function add_fall_damage(node, damage)
|
||||||
|
|
||||||
if core.registered_nodes[node] then
|
if minetest.registered_nodes[node] then
|
||||||
|
|
||||||
local group = core.registered_nodes[node].groups
|
local group = minetest.registered_nodes[node].groups
|
||||||
|
|
||||||
group.falling_node_damage = damage
|
group.falling_node_damage = damage
|
||||||
|
|
||||||
core.override_item(node, {groups = group})
|
minetest.override_item(node, {groups = group})
|
||||||
else
|
else
|
||||||
print (node .. " not found to add falling_node_damage to")
|
print (node .. " not found to add falling_node_damage to")
|
||||||
end
|
end
|
||||||
@ -26,9 +26,9 @@ add_fall_damage("tnt:tnt_burning", 4)
|
|||||||
-- Falling stuff
|
-- Falling stuff
|
||||||
--
|
--
|
||||||
|
|
||||||
local node_fall_hurt = core.settings:get_bool("node_fall_hurt") ~= false
|
local node_fall_hurt = minetest.settings:get_bool("node_fall_hurt") ~= false
|
||||||
local delay = 0.1 -- used to simulate lag
|
local delay = 0.1 -- used to simulate lag
|
||||||
local gravity = core.settings:get("movement_gravity") or 9.81
|
local gravity = minetest.settings:get("movement_gravity") or 9.81
|
||||||
local builtin_shared = ...
|
local builtin_shared = ...
|
||||||
local SCALE = 0.667
|
local SCALE = 0.667
|
||||||
local facedir_to_euler = {
|
local facedir_to_euler = {
|
||||||
@ -63,8 +63,8 @@ local function fall_hurt_check(self, pos)
|
|||||||
if self.hurt_toggle then
|
if self.hurt_toggle then
|
||||||
|
|
||||||
-- Get damage level from falling_node_damage group
|
-- Get damage level from falling_node_damage group
|
||||||
local damage = core.registered_nodes[self.node.name] and
|
local damage = minetest.registered_nodes[self.node.name] and
|
||||||
core.registered_nodes[self.node.name].groups.falling_node_damage
|
minetest.registered_nodes[self.node.name].groups.falling_node_damage
|
||||||
|
|
||||||
if damage then
|
if damage then
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
-- override falling node entity with new version
|
-- override falling node entity with new version
|
||||||
core.register_entity(":__builtin:falling_node", {
|
minetest.register_entity(":__builtin:falling_node", {
|
||||||
|
|
||||||
initial_properties = {
|
initial_properties = {
|
||||||
visual = "wielditem",
|
visual = "wielditem",
|
||||||
@ -122,13 +122,13 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local def = core.registered_nodes[node.name]
|
local def = minetest.registered_nodes[node.name]
|
||||||
|
|
||||||
if not def then
|
if not def then
|
||||||
|
|
||||||
-- Don't allow unknown nodes to fall
|
-- Don't allow unknown nodes to fall
|
||||||
core.log("warning", "Unknown falling node removed at "
|
minetest.log("warning", "Unknown falling node removed at "
|
||||||
.. core.pos_to_string(self.object:get_pos()))
|
.. minetest.pos_to_string(self.object:get_pos()))
|
||||||
|
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
local np2 = node.param2 or 0
|
local np2 = node.param2 or 0
|
||||||
|
|
||||||
-- Cache whether we're supposed to float on water
|
-- Cache whether we're supposed to float on water
|
||||||
self.floats = core.get_item_group(node.name, "float") ~= 0
|
self.floats = minetest.get_item_group(node.name, "float") ~= 0
|
||||||
|
|
||||||
-- Set entity visuals
|
-- Set entity visuals
|
||||||
if def.drawtype == "torchlike" or def.drawtype == "signlike" then
|
if def.drawtype == "torchlike" or def.drawtype == "signlike" then
|
||||||
@ -184,8 +184,8 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
|
|
||||||
local itemstring = node.name
|
local itemstring = node.name
|
||||||
|
|
||||||
if core.is_colored_paramtype(def.paramtype2) then
|
if minetest.is_colored_paramtype(def.paramtype2) then
|
||||||
itemstring = core.itemstring_with_palette(itemstring, np2)
|
itemstring = minetest.itemstring_with_palette(itemstring, np2)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- FIXME: solution needed for paramtype2 == "leveled"
|
-- FIXME: solution needed for paramtype2 == "leveled"
|
||||||
@ -355,7 +355,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
|
|
||||||
get_staticdata = function(self)
|
get_staticdata = function(self)
|
||||||
|
|
||||||
return core.serialize({
|
return minetest.serialize({
|
||||||
node = self.node,
|
node = self.node,
|
||||||
meta = self.meta
|
meta = self.meta
|
||||||
})
|
})
|
||||||
@ -366,7 +366,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
self.object:set_armor_groups({immortal = 1})
|
self.object:set_armor_groups({immortal = 1})
|
||||||
self.object:set_acceleration({x = 0, y = -gravity, z = 0})
|
self.object:set_acceleration({x = 0, y = -gravity, z = 0})
|
||||||
|
|
||||||
local ds = core.deserialize(staticdata)
|
local ds = minetest.deserialize(staticdata)
|
||||||
|
|
||||||
if ds and ds.node then
|
if ds and ds.node then
|
||||||
self:set_node(ds.node, ds.meta)
|
self:set_node(ds.node, ds.meta)
|
||||||
@ -384,10 +384,10 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
|
|
||||||
if puncher and puncher:is_player() then
|
if puncher and puncher:is_player() then
|
||||||
|
|
||||||
local drops = core.get_node_drops(self.node, "")
|
local drops = minetest.get_node_drops(self.node, "")
|
||||||
|
|
||||||
for _, dropped_item in pairs(drops) do
|
for _, dropped_item in pairs(drops) do
|
||||||
core.add_item(self.object:get_pos(), dropped_item)
|
minetest.add_item(self.object:get_pos(), dropped_item)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
@ -431,15 +431,15 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- check if falling node has custom function set
|
-- check if falling node has custom function set
|
||||||
local custom = core.registered_items[self.node.name]
|
local custom = minetest.registered_items[self.node.name]
|
||||||
and core.registered_items[self.node.name].falling_step
|
and minetest.registered_items[self.node.name].falling_step
|
||||||
|
|
||||||
if custom and custom(self, pos, dtime + delay) == false then
|
if custom and custom(self, pos, dtime + delay) == false then
|
||||||
return -- skip further checks if false
|
return -- skip further checks if false
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Avoid bugs caused by an unloaded node below
|
-- Avoid bugs caused by an unloaded node below
|
||||||
local below_node = core.get_node_or_nil(below_pos)
|
local below_node = minetest.get_node_or_nil(below_pos)
|
||||||
|
|
||||||
-- Delete on contact with ignore at world edges or return if unloaded
|
-- Delete on contact with ignore at world edges or return if unloaded
|
||||||
if not below_node then
|
if not below_node then
|
||||||
@ -452,7 +452,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local below_nodef = core.registered_nodes[below_node.name]
|
local below_nodef = minetest.registered_nodes[below_node.name]
|
||||||
|
|
||||||
-- Is it a level node we can add to?
|
-- Is it a level node we can add to?
|
||||||
if below_nodef and below_nodef.leveled and below_node.name == self.node.name then
|
if below_nodef and below_nodef.leveled and below_node.name == self.node.name then
|
||||||
@ -463,7 +463,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
addlevel = below_nodef.leveled
|
addlevel = below_nodef.leveled
|
||||||
end
|
end
|
||||||
|
|
||||||
if core.add_node_level(below_pos, addlevel) == 0 then
|
if minetest.add_node_level(below_pos, addlevel) == 0 then
|
||||||
|
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
-- Stop node if it falls on walkable surface, or floats on water
|
-- Stop node if it falls on walkable surface, or floats on water
|
||||||
if (below_nodef and below_nodef.walkable == true)
|
if (below_nodef and below_nodef.walkable == true)
|
||||||
or (below_nodef
|
or (below_nodef
|
||||||
and core.get_item_group(self.node.name, "float") ~= 0
|
and minetest.get_item_group(self.node.name, "float") ~= 0
|
||||||
and below_nodef.liquidtype ~= "none") then
|
and below_nodef.liquidtype ~= "none") then
|
||||||
|
|
||||||
self.object:set_velocity({x = 0, y = 0, z = 0})
|
self.object:set_velocity({x = 0, y = 0, z = 0})
|
||||||
@ -489,7 +489,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
|
|
||||||
-- Get node we've landed inside
|
-- Get node we've landed inside
|
||||||
local cnode = minetest.get_node(npos)
|
local cnode = minetest.get_node(npos)
|
||||||
local cdef = core.registered_nodes[cnode.name]
|
local cdef = minetest.registered_nodes[cnode.name]
|
||||||
|
|
||||||
-- If air_equivalent or buildable_to or an attached_node then place
|
-- If air_equivalent or buildable_to or an attached_node then place
|
||||||
-- node, otherwise drop falling node as an item instead.
|
-- node, otherwise drop falling node as an item instead.
|
||||||
@ -497,21 +497,21 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
or (cdef and cdef.buildable_to == true)
|
or (cdef and cdef.buildable_to == true)
|
||||||
or (cdef and cdef.liquidtype ~= "none")
|
or (cdef and cdef.liquidtype ~= "none")
|
||||||
-- only drop attached nodes if area not protected (torch, rails etc.)
|
-- only drop attached nodes if area not protected (torch, rails etc.)
|
||||||
or (core.get_item_group(cnode.name, "attached_node") ~= 0
|
or (minetest.get_item_group(cnode.name, "attached_node") ~= 0
|
||||||
and not minetest.is_protected(npos, "")) then
|
and not minetest.is_protected(npos, "")) then
|
||||||
|
|
||||||
-- Are we an attached node ? (grass, flowers, torch)
|
-- Are we an attached node ? (grass, flowers, torch)
|
||||||
if core.get_item_group(cnode.name, "attached_node") ~= 0 then
|
if minetest.get_item_group(cnode.name, "attached_node") ~= 0 then
|
||||||
|
|
||||||
-- Add drops from attached node
|
-- Add drops from attached node
|
||||||
local drops = core.get_node_drops(cnode.name, "")
|
local drops = minetest.get_node_drops(cnode.name, "")
|
||||||
|
|
||||||
for _, dropped_item in pairs(drops) do
|
for _, dropped_item in pairs(drops) do
|
||||||
core.add_item(npos, dropped_item)
|
minetest.add_item(npos, dropped_item)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Run script hook
|
-- Run script hook
|
||||||
for _, callback in pairs(core.registered_on_dignodes) do
|
for _, callback in pairs(minetest.registered_on_dignodes) do
|
||||||
callback(npos, cnode)
|
callback(npos, cnode)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -520,30 +520,30 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
npos = vector.round(npos)
|
npos = vector.round(npos)
|
||||||
|
|
||||||
-- Place falling entity as node and write any metadata
|
-- Place falling entity as node and write any metadata
|
||||||
core.add_node(npos, self.node)
|
minetest.add_node(npos, self.node)
|
||||||
|
|
||||||
if self.meta then
|
if self.meta then
|
||||||
|
|
||||||
local meta = core.get_meta(npos)
|
local meta = minetest.get_meta(npos)
|
||||||
|
|
||||||
meta:from_table(self.meta)
|
meta:from_table(self.meta)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Play placed sound
|
-- Play placed sound
|
||||||
local def = core.registered_nodes[self.node.name]
|
local def = minetest.registered_nodes[self.node.name]
|
||||||
|
|
||||||
if def.sounds and def.sounds.place and def.sounds.place.name then
|
if def.sounds and def.sounds.place and def.sounds.place.name then
|
||||||
core.sound_play(def.sounds.place, {pos = npos}, true)
|
minetest.sound_play(def.sounds.place, {pos = npos}, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Just incase we landed on other falling nodes
|
-- Just incase we landed on other falling nodes
|
||||||
core.check_for_falling(npos)
|
minetest.check_for_falling(npos)
|
||||||
else
|
else
|
||||||
-- Add drops from falling node
|
-- Add drops from falling node
|
||||||
local drops = core.get_node_drops(self.node, "")
|
local drops = minetest.get_node_drops(self.node, "")
|
||||||
|
|
||||||
for _, dropped_item in pairs(drops) do
|
for _, dropped_item in pairs(drops) do
|
||||||
core.add_item(npos, dropped_item)
|
minetest.add_item(npos, dropped_item)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -555,7 +555,7 @@ core.register_entity(":__builtin:falling_node", {
|
|||||||
|
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
core.override_item("default:gravel", {
|
minetest.override_item("default:gravel", {
|
||||||
falling_step = function(self, pos, dtime)
|
falling_step = function(self, pos, dtime)
|
||||||
print ("Gravel falling!", dtime)
|
print ("Gravel falling!", dtime)
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user