diff options
Diffstat (limited to 'advtrains_train_subway')
-rw-r--r-- | advtrains_train_subway/init.lua | 64 |
1 files changed, 5 insertions, 59 deletions
diff --git a/advtrains_train_subway/init.lua b/advtrains_train_subway/init.lua index 864fa2f..845f15f 100644 --- a/advtrains_train_subway/init.lua +++ b/advtrains_train_subway/init.lua @@ -13,31 +13,31 @@ advtrains.register_wagon("subway_wagon", { seats = { { name="Driver stand", - attach_offset={x=0, y=10, z=0}, + attach_offset={x=0, y=0, z=0}, view_offset={x=0, y=0, z=0}, group="dstand", }, { name="1", - attach_offset={x=-4, y=8, z=8}, + attach_offset={x=-4, y=-2, z=8}, view_offset={x=0, y=0, z=0}, group="pass", }, { name="2", - attach_offset={x=4, y=8, z=8}, + attach_offset={x=4, y=-2, z=8}, view_offset={x=0, y=0, z=0}, group="pass", }, { name="3", - attach_offset={x=-4, y=8, z=-8}, + attach_offset={x=-4, y=-2, z=-8}, view_offset={x=0, y=0, z=0}, group="pass", }, { name="4", - attach_offset={x=4, y=8, z=-8}, + attach_offset={x=4, y=-2, z=-8}, view_offset={x=0, y=0, z=0}, group="pass", }, @@ -76,7 +76,6 @@ advtrains.register_wagon("subway_wagon", { is_locomotive=true, drops={"default:steelblock 4"}, horn_sound = "advtrains_subway_horn", - glow = -1, --supposed to disable effect of light to texture color, so that the entity always appears as full-bright custom_on_velocity_change = function(self, velocity, old_velocity, dtime) if not velocity or not old_velocity then return end if old_velocity == 0 and velocity > 0 then @@ -133,56 +132,3 @@ minetest.register_craft({ {'default:steelblock', 'default:steelblock', 'default:steelblock'}, }, }) - -minetest.register_craftitem(":advtrains:subway_train", { - description = "Subway train, will drive forward when placed", - inventory_image = "advtrains_subway_wagon_inv.png", - wield_image = "advtrains_subway_wagon_inv.png", - - on_place = function(itemstack, placer, pointed_thing) - return advtrains.pcall(function() - if not pointed_thing.type == "node" then - return - end - local pname = placer:get_player_name() - - local node=minetest.get_node_or_nil(pointed_thing.under) - if not node then atprint("[advtrains]Ignore at placer position") return itemstack end - local nodename=node.name - if(not advtrains.is_track_and_drives_on(nodename, {default=true})) then - atprint("no track here, not placing.") - return itemstack - end - if not minetest.check_player_privs(placer, {train_operator = true }) then - minetest.chat_send_player(pname, "You don't have the train_operator privilege.") - return itemstack - end - if not minetest.check_player_privs(placer, {train_admin = true }) and minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - return itemstack - end - local tconns=advtrains.get_track_connections(node.name, node.param2) - local yaw = placer:get_look_horizontal() - local plconnid = advtrains.yawToClosestConn(yaw, tconns) - - local prevpos = advtrains.get_adjacent_rail(pointed_thing.under, tconns, plconnid, {default=true}) - if not prevpos then - minetest.chat_send_player(pname, "The track you are trying to place the wagon on is not long enough!") - return - end - - local wid1 = advtrains.create_wagon("advtrains:subway_wagon", pname) - local wid2 = advtrains.create_wagon("advtrains:subway_wagon", pname) - local wid3 = advtrains.create_wagon("advtrains:subway_wagon", pname) - - local id=advtrains.create_new_train_at(pointed_thing.under, plconnid, 0, {wid1, wid2, wid3}) - - minetest.after(2, function() advtrains.trains[id].tarvelocity = 2 end) - - if not advtrains.is_creative(pname) then - itemstack:take_item() - end - return itemstack - - end) - end, - }) |