forked from minetest-mods/cozy
		
	Compare commits
	
		
			6 Commits
		
	
	
		
			26e9a32006
			...
			5a04858fc0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5a04858fc0 | |||
| 
						 | 
					ad3a575257 | ||
| 
						 | 
					7aad47076e | ||
| e89aae8092 | |||
| 0a725be9a6 | |||
| 
						 | 
					b51cd0326c | 
@@ -1,2 +0,0 @@
 | 
				
			|||||||
default
 | 
					 | 
				
			||||||
player_monoids?
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
Adds sitting down, and lying down player animations.
 | 
					 | 
				
			||||||
							
								
								
									
										24
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								init.lua
									
									
									
									
									
								
							@@ -1,4 +1,5 @@
 | 
				
			|||||||
local has_monoids = minetest.global_exists("player_monoids")
 | 
					local has_monoids = minetest.global_exists("player_monoids")
 | 
				
			||||||
 | 
					local has_pova = minetest.global_exists("pova")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local function freeze(player)
 | 
					local function freeze(player)
 | 
				
			||||||
        local player_name = player:get_player_name()
 | 
					        local player_name = player:get_player_name()
 | 
				
			||||||
@@ -6,10 +7,13 @@ local function freeze(player)
 | 
				
			|||||||
                player_monoids.speed:add_change(player, 0, "cozy:speed")
 | 
					                player_monoids.speed:add_change(player, 0, "cozy:speed")
 | 
				
			||||||
                player_monoids.jump:add_change(player, 0, "cozy:jump")
 | 
					                player_monoids.jump:add_change(player, 0, "cozy:jump")
 | 
				
			||||||
                player_monoids.gravity:add_change(player, 0, "cozy:gravity")
 | 
					                player_monoids.gravity:add_change(player, 0, "cozy:gravity")
 | 
				
			||||||
 | 
					        elseif has_pova then
 | 
				
			||||||
 | 
					                pova.add_override(player_name, "force", {speed = 0, jump = 0, gravity = 0})
 | 
				
			||||||
 | 
					                pova.do_override(player)
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
                player:set_physics_override({speed = 0, jump = 0, gravity = 0})
 | 
					                player:set_physics_override({speed = 0, jump = 0, gravity = 0})
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        default.player_attached[player_name] = true
 | 
					        player_api.player_attached[player_name] = true
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local function unfreeze(player)
 | 
					local function unfreeze(player)
 | 
				
			||||||
@@ -18,11 +22,14 @@ local function unfreeze(player)
 | 
				
			|||||||
                player_monoids.speed:del_change(player, "cozy:speed")
 | 
					                player_monoids.speed:del_change(player, "cozy:speed")
 | 
				
			||||||
                player_monoids.jump:del_change(player, "cozy:jump")
 | 
					                player_monoids.jump:del_change(player, "cozy:jump")
 | 
				
			||||||
                player_monoids.gravity:del_change(player, "cozy:gravity")
 | 
					                player_monoids.gravity:del_change(player, "cozy:gravity")
 | 
				
			||||||
 | 
					        elseif has_pova then
 | 
				
			||||||
 | 
					                pova.del_override(player_name, "force")
 | 
				
			||||||
 | 
					                pova.do_override(player)
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
                player:set_physics_override({speed = 1, jump = 1, gravity = 1})
 | 
					                player:set_physics_override({speed = 1, jump = 1, gravity = 1})
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
        default.player_attached[player_name] = nil
 | 
					        player_api.player_attached[player_name] = nil
 | 
				
			||||||
        default.player_set_animation(player, "stand", 30)
 | 
					        player_api.set_animation(player, "stand", 30)
 | 
				
			||||||
        player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
 | 
					        player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -32,7 +39,7 @@ minetest.register_globalstep(function(dtime)
 | 
				
			|||||||
                local player = players[i]
 | 
					                local player = players[i]
 | 
				
			||||||
                local name = player:get_player_name()
 | 
					                local name = player:get_player_name()
 | 
				
			||||||
                local control = player:get_player_control()
 | 
					                local control = player:get_player_control()
 | 
				
			||||||
                if default.player_attached[name] and not player:get_attach() and (
 | 
					                if player_api.player_attached[name] and not player:get_attach() and (
 | 
				
			||||||
                        control.up == true or
 | 
					                        control.up == true or
 | 
				
			||||||
                        control.down == true or
 | 
					                        control.down == true or
 | 
				
			||||||
                        control.left == true or
 | 
					                        control.left == true or
 | 
				
			||||||
@@ -48,11 +55,11 @@ minetest.register_chatcommand("sit", {
 | 
				
			|||||||
        description = "Sit down",
 | 
					        description = "Sit down",
 | 
				
			||||||
        func = function(name)
 | 
					        func = function(name)
 | 
				
			||||||
                local player = minetest.get_player_by_name(name)
 | 
					                local player = minetest.get_player_by_name(name)
 | 
				
			||||||
                if default.player_attached[name] then
 | 
					                if player_api.player_attached[name] then
 | 
				
			||||||
                        unfreeze(player)
 | 
					                        unfreeze(player)
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                        freeze(player)
 | 
					                        freeze(player)
 | 
				
			||||||
                        default.player_set_animation(player, "sit", 30)
 | 
					                        player_api.set_animation(player, "sit", 30)
 | 
				
			||||||
                        player:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
 | 
					                        player:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
 | 
				
			||||||
                end
 | 
					                end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
@@ -62,13 +69,14 @@ minetest.register_chatcommand("lay", {
 | 
				
			|||||||
        description = "Lay down",
 | 
					        description = "Lay down",
 | 
				
			||||||
        func = function(name)
 | 
					        func = function(name)
 | 
				
			||||||
                local player = minetest.get_player_by_name(name)
 | 
					                local player = minetest.get_player_by_name(name)
 | 
				
			||||||
                if default.player_attached[name] then
 | 
					                if player_api.player_attached[name] then
 | 
				
			||||||
                        unfreeze(player)
 | 
					                        unfreeze(player)
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                        freeze(player)
 | 
					                        freeze(player)
 | 
				
			||||||
                        default.player_set_animation(player, "lay", 0)
 | 
					                        player_api.set_animation(player, "lay", 0)
 | 
				
			||||||
                        player:set_eye_offset({x=0, y=-13, z=0}, {x=0, y=0, z=0})
 | 
					                        player:set_eye_offset({x=0, y=-13, z=0}, {x=0, y=0, z=0})
 | 
				
			||||||
                end
 | 
					                end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.log("action", "[cozy] loaded.")
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user