Grass spread to dirt_with_snow, fix playereffects, remove playerphysics

This commit is contained in:
MoNTE48 2019-07-24 18:55:24 +02:00 committed by MoNTE48
parent 1a7786260e
commit 97b4906965
5 changed files with 18 additions and 58 deletions

View File

@ -418,12 +418,15 @@ end
minetest.register_abm({
label = "Grass spread",
nodenames = {"default:dirt"},
nodenames = {
"default:dirt",
"default:dirt_with_snow"
},
neighbors = {
"air",
"group:grass",
"group:dry_grass",
"default:snow",
"default:snow"
},
interval = 10,
chance = 25,

View File

@ -666,6 +666,7 @@ minetest.register_node("default:birch_leaves", {
tiles = {"default_birch_leaves.png"},
waving = 1,
paramtype = "light",
walkable = false,
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {

View File

@ -9,7 +9,7 @@ local ppa = minetest.get_modpath("playerphysics")
pep = {}
-- Whether to use save (true, false or minetest.is_singleplayer())
-- Whether to use mole (true, false or minetest.is_singleplayer())
pep.mole = minetest.is_singleplayer()
function return_empty_bottle(potiondef, user, itemstack)

View File

@ -47,8 +47,8 @@ playereffects.autosave_time = 10
--[=[ Load inactive_effects and last_effect_id from playereffects, if this file exists ]=]
do
if playereffects.save then
if playereffects.save then
do
local filepath = minetest.get_worldpath().."/playereffects"
local file = io.open(filepath, "r")
if file then
@ -415,12 +415,12 @@ minetest.register_on_joinplayer(function(player)
end
end)
-- Autosave into file
if playereffects.use_autosave then
playereffects.autosave_timer = 0
minetest.register_globalstep(function(dtime)
playereffects.autosave_timer = playereffects.autosave_timer or 0
playereffects.autosave_timer = playereffects.autosave_timer + dtime
-- Autosave into file
if playereffects.autosave_timer >= playereffects.autosave_time then
playereffects.autosave_timer = 0
minetest.log("action", "[playereffects] Autosaving mod data to playereffects ...")
@ -430,21 +430,20 @@ if playereffects.use_autosave then
end
minetest.register_playerstep(function(dtime, playernames)
-- Update HUDs of all players
for _, name in pairs(playernames) do
playereffects.hud_update(name)
local player = minetest.get_player_by_name(name)
if player and player:is_player() then
playereffects.hud_update(player)
end
end
end, minetest.is_singleplayer()) -- Force step in singlplayer mode only
end)
--[=[ HUD ]=]
function playereffects.hud_update(player)
if(playereffects.use_hud == true) then
local now = os.time()
local player = minetest.get_player_by_name(player)
if not player or not player:is_player() then
return
end
local hudinfos = playereffects.hudinfos[player]
local playername = player:get_player_name()
local hudinfos = playereffects.hudinfos[playername]
if(hudinfos ~= nil) then
for effect_id, hudinfo in pairs(hudinfos) do
local effect = playereffects.effects[effect_id]

View File

@ -1,43 +0,0 @@
playerphysics = {}
local function calculate_attribute_product(player, attribute)
local a = minetest.deserialize(player:get_attribute("playerphysics:physics"))
local product = 1
if a == nil or a[attribute] == nil then
return product
end
local factors = a[attribute]
if type(factors) == "table" then
for _, factor in pairs(factors) do
product = product * factor
end
end
return product
end
function playerphysics.add_physics_factor(player, attribute, id, value)
local a = minetest.deserialize(player:get_attribute("playerphysics:physics"))
if a == nil then
a = { [attribute] = { [id] = value } }
elseif a[attribute] == nil then
a[attribute] = { [id] = value }
else
a[attribute][id] = value
end
player:set_attribute("playerphysics:physics", minetest.serialize(a))
local raw_value = calculate_attribute_product(player, attribute)
player:set_physics_override({[attribute] = raw_value})
end
function playerphysics.remove_physics_factor(player, attribute, id)
local a = minetest.deserialize(player:get_attribute("playerphysics:physics"))
if a == nil or a[attribute] == nil then
-- Nothing to remove
return
else
a[attribute][id] = nil
end
player:set_attribute("playerphysics:physics", minetest.serialize(a))
local raw_value = calculate_attribute_product(player, attribute)
player:set_physics_override({[attribute] = raw_value})
end