mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-10-31 07:25:22 +01:00 
			
		
		
		
	Use round if falling node is misplaced
Fixes: http://i.imgur.com/arAWw1i.png (middle-right)
This commit is contained in:
		| @@ -43,7 +43,6 @@ core.register_entity(":__builtin:falling_node", { | ||||
|  | ||||
| 	on_activate = function(self, staticdata) | ||||
| 		self.object:set_armor_groups({immortal=1}) | ||||
| 		--self.object:setacceleration({x=0, y=-10, z=0}) | ||||
| 		self:set_node({name=staticdata}) | ||||
| 	end, | ||||
|  | ||||
| @@ -102,8 +101,12 @@ core.register_entity(":__builtin:falling_node", { | ||||
| 			core.add_node(np, self.node) | ||||
| 			self.object:remove() | ||||
| 			nodeupdate(np) | ||||
| 		else | ||||
| 			-- Do nothing | ||||
| 			return | ||||
| 		end | ||||
| 		local vel = self.object:getvelocity() | ||||
| 		if vector.equals(vel, {x=0,y=0,z=0}) then | ||||
| 			local npos = self.object:getpos() | ||||
| 			self.object:setpos(vector.round(npos)) | ||||
| 		end | ||||
| 	end | ||||
| }) | ||||
| @@ -175,7 +178,7 @@ function nodeupdate_single(p, delay) | ||||
| 			if delay then | ||||
| 				core.after(0.1, nodeupdate_single, {x=p.x, y=p.y, z=p.z}, false) | ||||
| 			else | ||||
| 				n.level = core.env:get_node_level(p) | ||||
| 				n.level = core.get_node_level(p) | ||||
| 				core.remove_node(p) | ||||
| 				spawn_falling_node(p, n) | ||||
| 				nodeupdate(p) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user