Skip to content

Commit

Permalink
Carts: Do not connect rails with gunpowder (#1812)
Browse files Browse the repository at this point in the history
  • Loading branch information
SmallJoker committed Jul 2, 2017
1 parent bae17cd commit c51ebcb
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
4 changes: 2 additions & 2 deletions mods/carts/cart_entity.lua
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
7 changes: 6 additions & 1 deletion mods/carts/functions.lua
Expand Up @@ -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
Expand Down

0 comments on commit c51ebcb

Please sign in to comment.