forked from minetest-mods/cozy
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| 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