diff options
Diffstat (limited to 'moretrains_vintage/init.lua')
-rw-r--r-- | moretrains_vintage/init.lua | 147 |
1 files changed, 82 insertions, 65 deletions
diff --git a/moretrains_vintage/init.lua b/moretrains_vintage/init.lua index 6d5faa9..881ba13 100644 --- a/moretrains_vintage/init.lua +++ b/moretrains_vintage/init.lua @@ -5,6 +5,8 @@ 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"}, @@ -13,32 +15,14 @@ advtrains.register_wagon("moretrains_draisine", { seats = { { name=S("Driver stand"), - attach_offset={x=0, y=-2, z=13}, - view_offset={x=0, y=1.5, z=0}, + 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=-4, y=-2, z=0}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=-2, z=-8}, - view_offset={x=0, y=-2, z=0}, + attach_offset={x=0, y=1, z=8.7}, + view_offset={x=0, y=1.5, z=1}, group="pass", }, }, @@ -60,6 +44,12 @@ advtrains.register_wagon("moretrains_draisine", { wagon_span=1.06, 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") @@ -107,43 +97,25 @@ advtrains.register_wagon("moretrains_minecart_loaded", { box=1*4, }, -}, S("Minecart (loaded)"), "moretrains_minecart_inv.png") +}, S("Minecart (loaded)"), "moretrains_minecart_loaded_inv.png") advtrains.register_wagon("moretrains_minecart_engine", { - mesh="moretrains_minecart.b3d", + 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=13}, - view_offset={x=0, y=1.5, z=0}, + 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=-4, y=-2, z=0}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=-2, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=-2, z=-8}, - view_offset={x=0, y=-2, z=0}, + attach_offset={x=0, y=2, z=0.5}, + view_offset={x=0, y=1.5, z=1}, group="pass", }, }, @@ -168,23 +140,68 @@ advtrains.register_wagon("moretrains_minecart_engine", { collisionbox = {-0.8,-0.5,-0.7, 0.8,2,0.7}, drops={"default:wood"}, -}, S("Minecart with Engine"), "moretrains_minecart_inv.png") - ---minetest.register_craft({ --- output = 'advtrains:moretrains_draisine', --- recipe = { --- {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, --- {'default:glass', 'dye:green', 'default:glass'}, --- {'advtrains:wheel', '', 'advtrains:wheel'}, --- }, ---}) - ---minetest.register_craft({ --- output = 'advtrains:moretrains_minecart', --- recipe = { --- {'default:steel_ingot', 'default:steel_ingot', ''}, --- {'default:glass', 'dye:green', 'default:glass'}, --- {'advtrains:wheel', 'advtrains:wheel', 'advtrains:wheel'}, --- }, ---}) +}, 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"}, +}) + |