mirror of
				https://github.com/luanti-org/minetest_game.git
				synced 2025-11-04 01:05:49 +01:00 
			
		
		
		
	Carts: Do not connect rails with gunpowder (#1812)
This commit is contained in:
		@@ -58,7 +58,8 @@ end
 | 
			
		||||
 | 
			
		||||
function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, direction)
 | 
			
		||||
	local pos = self.object:getpos()
 | 
			
		||||
	if not self.railtype then
 | 
			
		||||
	local vel = self.object:getvelocity()
 | 
			
		||||
	if not self.railtype or vector.equals(vel, {x=0, y=0, z=0}) then
 | 
			
		||||
		local node = minetest.get_node(pos).name
 | 
			
		||||
		self.railtype = minetest.get_item_group(node, "connect_to_raillike")
 | 
			
		||||
	end
 | 
			
		||||
@@ -105,7 +106,6 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities,
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
	-- Player punches cart to alter velocity
 | 
			
		||||
	local vel = self.object:getvelocity()
 | 
			
		||||
	if puncher:get_player_name() == self.driver then
 | 
			
		||||
		if math.abs(vel.x + vel.z) > carts.punch_speed_max then
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -211,7 +211,12 @@ end
 | 
			
		||||
 | 
			
		||||
function carts:get_rail_groups(additional_groups)
 | 
			
		||||
	-- Get the default rail groups and add more when a table is given
 | 
			
		||||
	local groups = {dig_immediate = 2, attached_node = 1, rail = 1, connect_to_raillike = 1}
 | 
			
		||||
	local groups = {
 | 
			
		||||
		dig_immediate = 2,
 | 
			
		||||
		attached_node = 1,
 | 
			
		||||
		rail = 1,
 | 
			
		||||
		connect_to_raillike = minetest.raillike_group("rail")
 | 
			
		||||
	}
 | 
			
		||||
	if type(additional_groups) == "table" then
 | 
			
		||||
		for k, v in pairs(additional_groups) do
 | 
			
		||||
			groups[k] = v
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user