forked from minetest-mods/player_monoids
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
daf92c43e3 | |||
|
8d6f1ade93 | ||
0bbad015ef | |||
|
08bc018f92 | ||
64f8057333 | |||
|
ed11a7395b | ||
|
1e12f0e293 | ||
|
4df04550e3 | ||
|
ca996b5dcb |
|
@ -43,6 +43,7 @@ mymod.speed_monoid = player_monoids.make_monoid({
|
||||||
for _, speed in pairs(tab) do
|
for _, speed in pairs(tab) do
|
||||||
res = res * speed
|
res = res * speed
|
||||||
end
|
end
|
||||||
|
return res
|
||||||
end,
|
end,
|
||||||
identity = 1,
|
identity = 1,
|
||||||
apply = function(speed, player)
|
apply = function(speed, player)
|
||||||
|
@ -111,6 +112,7 @@ newmod.speed_boosts = player_monoids.make_monoid({
|
||||||
for _, speed in pairs(tab) do
|
for _, speed in pairs(tab) do
|
||||||
res = math.max(res, speed)
|
res = math.max(res, speed)
|
||||||
end
|
end
|
||||||
|
return res
|
||||||
end,
|
end,
|
||||||
identity = 1,
|
identity = 1,
|
||||||
apply = ???
|
apply = ???
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
player_monoids is a library for managing global player state, such as physics
|
|
||||||
overrides or player visual size.
|
|
6
mod.conf
6
mod.conf
|
@ -1 +1,5 @@
|
||||||
name=player_monoids
|
name = player_monoids
|
||||||
|
description = """
|
||||||
|
A library for managing global player state,
|
||||||
|
such as physics overrides or player visual size.
|
||||||
|
"""
|
|
@ -63,7 +63,6 @@ player_monoids.jump = monoid({
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- Gravity monoid. Effect values are gravity multipliers.
|
-- Gravity monoid. Effect values are gravity multipliers.
|
||||||
player_monoids.gravity = monoid({
|
player_monoids.gravity = monoid({
|
||||||
combine = mult,
|
combine = mult,
|
||||||
|
@ -76,7 +75,6 @@ player_monoids.gravity = monoid({
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- Fly ability monoid. The values are booleans, which are combined by or. A true
|
-- Fly ability monoid. The values are booleans, which are combined by or. A true
|
||||||
-- value indicates having the ability to fly.
|
-- value indicates having the ability to fly.
|
||||||
player_monoids.fly = monoid({
|
player_monoids.fly = monoid({
|
||||||
|
@ -104,7 +102,6 @@ player_monoids.fly = monoid({
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- Noclip ability monoid. Works the same as fly monoid.
|
-- Noclip ability monoid. Works the same as fly monoid.
|
||||||
player_monoids.noclip = monoid({
|
player_monoids.noclip = monoid({
|
||||||
combine = function(p, q) return p or q end,
|
combine = function(p, q) return p or q end,
|
||||||
|
|
3
test.lua
3
test.lua
|
@ -4,6 +4,7 @@ local speed = player_monoids.speed
|
||||||
minetest.register_privilege("monoid_master", {
|
minetest.register_privilege("monoid_master", {
|
||||||
description = "Allows testing of player monoids.",
|
description = "Allows testing of player monoids.",
|
||||||
give_to_singleplayer = false,
|
give_to_singleplayer = false,
|
||||||
|
give_to_admin = true,
|
||||||
})
|
})
|
||||||
|
|
||||||
local function test(player)
|
local function test(player)
|
||||||
|
@ -13,6 +14,8 @@ local function test(player)
|
||||||
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))
|
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))
|
||||||
|
|
||||||
minetest.after(3, function()
|
minetest.after(3, function()
|
||||||
|
local player = minetest.get_player_by_name(p_name)
|
||||||
|
if not player then return end
|
||||||
speed:del_change(player, ch_id)
|
speed:del_change(player, ch_id)
|
||||||
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))
|
minetest.chat_send_player(p_name, "Your speed is: " .. speed:value(player))
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user