123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- local S
- if minetest.get_modpath("intllib") then
- S = intllib.Getter()
- else
- S = function(s,a,...)a={a,...}return s:gsub("@(%d+)",function(n)return a[tonumber(n)]end)end
- end
- advtrains.register_wagon("moretrains_draisine", {
- mesh="moretrains_draisine.b3d",
- textures = {"moretrains_vintage.png"},
- drives_on={default=true},
- max_speed=3,
- seats = {
- {
- name=S("Driver stand"),
- attach_offset={x=0, y=1, z=-8.7},
- view_offset={x=0, y=1.5, z=-1},
- group="dstand",
- },
- {
- name="1",
- attach_offset={x=0, y=1, z=8.7},
- view_offset={x=0, y=1.5, z=1},
- group="pass",
- },
- },
- seat_groups = {
- dstand={
- name = "Driver Stand",
- access_to = {"pass"},
- require_doors_open=true,
- driving_ctrl_access=true,
- },
- pass={
- name = "Passenger area",
- access_to = {"dstand"},
- require_doors_open=true,
- },
- },
- assign_to_seat_group = {"dstand", "pass"},
- visual_size = {x=1, y=1},
- wagon_span=1.12,
- is_locomotive=true,
- collisionbox = {-0.8,-0.5,-0.7, 0.8,2,0.7},
- custom_on_velocity_change=function(self, velocity)
- if self.old_anim_velocity~=advtrains.abs_ceil(velocity) then
- self.object:set_animation({x=1,y=80}, advtrains.abs_ceil(velocity)*14, 0, true)
- self.old_anim_velocity=advtrains.abs_ceil(velocity)
- end
- end,
- drops={"default:wood"},
- }, S("Draisine"), "moretrains_draisine_inv.png")
- advtrains.register_wagon("moretrains_minecart", {
- mesh="moretrains_minecart.b3d",
- textures = {"moretrains_vintage.png"},
- drives_on={default=true},
- max_speed=6,
- seats = {},
- visual_size = {x=1, y=1},
- wagon_span=1.06,
- collisionbox = {-0.8,-0.5,-0.7, 0.8,2,0.7},
- drops={"default:wood"},
- has_inventory = true,
- get_inventory_formspec = function(self, pname, invname)
- return "size[8,11]"..
- "list["..invname..";box;0,0;8,3;]"..
- "list[current_player;main;0,5;8,4;]"..
- "listring[]"
- end,
- inventory_list_sizes = {
- box=1*4,
- },
- }, S("Minecart"), "moretrains_minecart_inv.png")
- advtrains.register_wagon("moretrains_minecart_loaded", {
- mesh="moretrains_minecart_loaded.b3d",
- textures = {"moretrains_vintage.png"},
- drives_on={default=true},
- max_speed=6,
- seats = {},
- visual_size = {x=1, y=1},
- wagon_span=1.06,
- collisionbox = {-0.8,-0.5,-0.7, 0.8,2,0.7},
- drops={"default:wood"},
- has_inventory = true,
- get_inventory_formspec = function(self, pname, invname)
- return "size[8,11]"..
- "list["..invname..";box;0,0;8,3;]"..
- "list[current_player;main;0,5;8,4;]"..
- "listring[]"
- end,
- inventory_list_sizes = {
- box=1*4,
- },
- }, S("Minecart (loaded)"), "moretrains_minecart_loaded_inv.png")
- advtrains.register_wagon("moretrains_minecart_engine", {
- mesh="moretrains_minecart_engine.b3d",
- textures = {"moretrains_vintage.png"},
- drives_on={default=true},
- max_speed=6,
- seats = {
- {
- name=S("Driver stand"),
- attach_offset={x=0, y=2, z=5.5},
- view_offset={x=0, y=1.5, z=-1},
- group="dstand",
- },
- {
- name="1",
- attach_offset={x=0, y=2, z=0.5},
- view_offset={x=0, y=1.5, z=1},
- group="pass",
- },
- },
- seat_groups = {
- dstand={
- name = "Driver Stand",
- access_to = {"pass"},
- require_doors_open=true,
- driving_ctrl_access=true,
- },
- pass={
- name = "Passenger area",
- access_to = {"dstand"},
- require_doors_open=true,
- },
- },
- assign_to_seat_group = {"dstand", "pass"},
-
- visual_size = {x=1, y=1},
- wagon_span=1.06,
- is_locomotive=true,
- collisionbox = {-0.8,-0.5,-0.7, 0.8,2,0.7},
- drops={"default:wood"},
-
- }, S("Minecart with Engine"), "moretrains_minecart_engine_inv.png")
- minetest.register_craftitem("moretrains_vintage:item_draisine_lever", {
- description = S("lever for draisine"),
- inventory_image = "moretrains_item_lever.png"
- })
- minetest.register_craft({
- output = "moretrains_vintage:item_draisine_lever",
- recipe = {
- {"default:steel_ingot", "default:stick", "default:steel_ingot"},
- {"", "default:stick", ""},
- {"", "default:steel_ingot", ""},
- },
- })
- minetest.register_craft({
- output = 'advtrains:moretrains_draisine',
- recipe = {
- {'', 'moretrains_vintage:item_draisine_lever', ''},
- {'group:wood', 'group:wood', 'group:wood'},
- {'advtrains:wheel', '', 'advtrains:wheel'},
- },
- })
- minetest.register_craft({
- output = 'advtrains:moretrains_minecart',
- recipe = {
- {'group:wood', '', 'group:wood'},
- {'default:steel_ingot', 'group:wood', 'default:steel_ingot'},
- {'advtrains:wheel', '', 'advtrains:wheel'},
- },
- })
- minetest.register_craft({
- output = 'advtrains:moretrains_minecart_loaded',
- recipe = {
- {'group:wood', 'default:coalblock', 'group:wood'},
- {'default:steel_ingot', 'group:wood', 'default:steel_ingot'},
- {'advtrains:wheel', '', 'advtrains:wheel'},
- },
- })
- minetest.register_craft({
- output = 'advtrains:moretrains_minecart_engine',
- recipe = {
- {'group:wood', '', 'group:wood'},
- {'default:steel_ingot', 'group:wood', 'default:steel_ingot'},
- {'advtrains:wheel', 'default:steelblock', 'advtrains:wheel'},
- },
- })
- minetest.register_craft({
- output = "advtrains:moretrains_minecart_loaded",
- type = "shapeless",
- recipe = {"advtrains:moretrains_minecart", "default:coalblock"},
- })
- minetest.register_craft({
- output = "advtrains:moretrains_minecart_engine",
- type = "shapeless",
- recipe = {"advtrains:moretrains_minecart", "default:steelblock"},
- })
|