aboutsummaryrefslogtreecommitdiff
path: root/moretrains_vintage/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'moretrains_vintage/init.lua')
-rw-r--r--moretrains_vintage/init.lua147
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"},
+})
+