From f89505402e448852cb5b29e809f74d51844de8d7 Mon Sep 17 00:00:00 2001 From: Andrey2470T Date: Sun, 12 Dec 2021 15:45:42 +0300 Subject: [PATCH] Fixed view offsets of some trains, inventory storages of wagons and added modpack logo --- advtrains_train_industrial/init.lua | 8 +- advtrains_train_japan/init.lua | 44 +++++----- advtrains_train_steam/init.lua | 16 ++-- bboe_1080/init.lua | 20 ++--- db_160/init.lua | 39 ++------- freight_train/init.lua | 27 +++--- logo.png | Bin 0 -> 2729786 bytes moretrains_basic/init.lua | 78 +++++++++--------- .../blend/moretrains_wagon_wood_loaded.blend | Bin 812196 -> 786476 bytes .../blend/moretrains_wagon_wood_loaded.blend1 | Bin 0 -> 812196 bytes .../models/moretrains_wagon_wood_loaded.b3d | Bin 88725 -> 88672 bytes railbus/init.lua | 20 ++--- rocket/init.lua | 12 +-- train_orient_express/init.lua | 40 ++++----- .../advtrains_engine_electronic_inv.png | Bin 752 -> 2141 bytes train_zugspitzbahn/init.lua | 14 ++-- .../textures/advtrains_bzb_inv.png | Bin 644 -> 1703 bytes .../textures/advtrains_engine_bzb_inv.png | Bin 0 -> 691 bytes transib/init.lua | 41 ++------- 19 files changed, 150 insertions(+), 209 deletions(-) mode change 100755 => 100644 freight_train/init.lua create mode 100644 logo.png create mode 100644 moretrains_industrial/blend/moretrains_wagon_wood_loaded.blend1 create mode 100644 train_zugspitzbahn/textures/advtrains_engine_bzb_inv.png mode change 100755 => 100644 transib/init.lua diff --git a/advtrains_train_industrial/init.lua b/advtrains_train_industrial/init.lua index f22f806..ffe233a 100644 --- a/advtrains_train_industrial/init.lua +++ b/advtrains_train_industrial/init.lua @@ -9,14 +9,14 @@ advtrains.register_wagon("engine_industrial", { { name=S("Driver Stand (right)"), attach_offset={x=5, y=-3, z=-8}, - view_offset={x=5.2, y=-4, z=0}, + view_offset={x=5, y=-3, z=-8}, driving_ctrl_access=true, group = "dstand", }, { name=S("Driver Stand (left)"), attach_offset={x=5, y=7, z=-8}, - view_offset={x=-5.2, y=-4, z=0}, + view_offset={x=5, y=-7, z=-8}, driving_ctrl_access=true, group = "dstand", }, @@ -46,14 +46,14 @@ advtrains.register_wagon("engine_industrial_big", { { name=S("Driver Stand (right)"), attach_offset={x=5, y=-3, z=20}, - view_offset={x=5.2, y=-4, z=11}, + view_offset={x=5, y=-3, z=20}, driving_ctrl_access=true, group = "dstand", }, { name=S("Driver Stand (left)"), attach_offset={x=5, y=-3, z=-8}, - view_offset={x=-5.2, y=-4, z=0}, + view_offset={x=5, y=-3, z=-8}, driving_ctrl_access=true, group = "dstand", }, diff --git a/advtrains_train_japan/init.lua b/advtrains_train_japan/init.lua index a784845..852ec4e 100644 --- a/advtrains_train_japan/init.lua +++ b/advtrains_train_japan/init.lua @@ -8,32 +8,32 @@ advtrains.register_wagon("engine_japan", { seats = { { name=S("Driver stand"), - attach_offset={x=0, y=-2, z=13}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=0, y=0, z=13}, + view_offset={x=0, y=0, z=13}, group="dstand", }, { name="1", - attach_offset={x=-4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=0, z=0}, + view_offset={x=-4, y=0, z=0}, group="pass", }, { name="2", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=0, z=0}, + view_offset={x=4, y=0, z=0}, group="pass", }, { name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=0, z=-8}, + view_offset={x=-4, y=0, z=-8}, group="pass", }, { name="4", - attach_offset={x=4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=0, z=-8}, + view_offset={x=4, y=0, z=8}, group="pass", }, }, @@ -78,38 +78,38 @@ advtrains.register_wagon("wagon_japan", { seats = { { name="1", - attach_offset={x=-4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=0, z=8}, + view_offset={x=-4, y=0, z=8}, group="pass", }, { name="2", - attach_offset={x=4, y=-2, z=8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=0, z=8}, + view_offset={x=4, y=0, z=8}, group="pass", }, { name="1a", - attach_offset={x=-4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=0, z=0}, + view_offset={x=-4, y=0, z=0}, group="pass", }, { name="2a", - attach_offset={x=4, y=-2, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=0, z=0}, + view_offset={x=4, y=0, z=0}, group="pass", }, { name="3", - attach_offset={x=-4, y=-2, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=0, z=-8}, + view_offset={x=-4, y=0, z=-8}, group="pass", }, { name="4", - attach_offset={x=4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=0, z=-8}, + view_offset={x=4, y=0, z=-8}, group="pass", }, }, diff --git a/advtrains_train_steam/init.lua b/advtrains_train_steam/init.lua index 2f46ac2..7a6310f 100644 --- a/advtrains_train_steam/init.lua +++ b/advtrains_train_steam/init.lua @@ -12,14 +12,14 @@ advtrains.register_wagon("newlocomotive", { seats = { { name=S("Driver Stand (left)"), - attach_offset={x=-5, y=0, z=-10}, - view_offset={x=0, y=6, z=0}, + attach_offset={x=-4, y=3, z=-8}, + view_offset={x=-4, y=3, z=-8}, group = "dstand", }, { name=S("Driver Stand (right)"), - attach_offset={x=5, y=0, z=-10}, - view_offset={x=0, y=6, z=0}, + attach_offset={x=4, y=3, z=-8}, + view_offset={x=4, y=3, z=-8}, group = "dstand", }, }, @@ -40,7 +40,7 @@ advtrains.register_wagon("newlocomotive", { self.old_anim_velocity=advtrains.abs_ceil(velocity) end end, - + custom_on_activate = function(self, staticdata_table, dtime_s) minetest.add_particlespawner({ amount = 10, @@ -82,13 +82,13 @@ advtrains.register_wagon("detailed_steam_engine", { { name=S("Driver Stand (left)"), attach_offset={x=-8, y=0, z=-10}, - view_offset={x=9, y=-2, z=-6}, + view_offset={x=-8, y=0, z=-10}, group = "dstand", }, { name=S("Driver Stand (right)"), attach_offset={x=8, y=0, z=-10}, - view_offset={x=0, y=6, z=0}, + view_offset={x=8, y=0, z=-10}, group = "dstand", }, }, @@ -191,7 +191,7 @@ advtrains.register_wagon("wagon_default", { access_to = {}, }, }, - + assign_to_seat_group = {"pass"}, visual_size = {x=1, y=1}, wagon_span=2.634, diff --git a/bboe_1080/init.lua b/bboe_1080/init.lua index 11d1243..24a03b3 100644 --- a/bboe_1080/init.lua +++ b/bboe_1080/init.lua @@ -13,32 +13,32 @@ advtrains.register_wagon("engine_BBOE_1080", { seats = { { name=S("Driver stand"), - attach_offset={x=0, y=8, z=13}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=0, y=2, z=13}, + view_offset={x=0, y=2, z=13}, group="dstand", }, { name="1", - attach_offset={x=-4, y=8, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=2, z=0}, + view_offset={x=-4, y=2, z=0}, group="pass", }, { name="2", - attach_offset={x=4, y=8, z=0}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=2, z=0}, + view_offset={x=4, y=2, z=0}, group="pass", }, { name="3", - attach_offset={x=-4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=-4, y=2, z=-8}, + view_offset={x=-4, y=2, z=-8}, group="pass", }, { name="4", - attach_offset={x=4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=4, y=2, z=-8}, + view_offset={x=4, y=2, z=-8}, group="pass", }, }, diff --git a/db_160/init.lua b/db_160/init.lua index 33a8095..5c963ea 100644 --- a/db_160/init.lua +++ b/db_160/init.lua @@ -13,47 +13,18 @@ advtrains.register_wagon("engine_DB_160", { seats = { { name=S("Driver stand"), - attach_offset={x=0, y=8, z=13}, - view_offset={x=0, y=0, z=0}, + attach_offset={x=0, y=1, z=-3}, + view_offset={x=0, y=1, z=-3}, group="dstand", - }, - { - name="1", - attach_offset={x=-4, y=8, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="2", - attach_offset={x=4, y=8, z=0}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="3", - attach_offset={x=-4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, - { - name="4", - attach_offset={x=4, y=8, z=-8}, - view_offset={x=0, y=0, z=0}, - group="pass", - }, + } }, seat_groups = { dstand={ name = "Driver Stand", - access_to = {"pass"}, + access_to = {}, require_doors_open=true, driving_ctrl_access=true, - }, - pass={ - name = "Engenier's area", - access_to = {"dstand"}, - require_doors_open=true, - }, + } }, assign_to_seat_group = {"dstand"}, doors={ diff --git a/freight_train/init.lua b/freight_train/init.lua old mode 100755 new mode 100644 index 7a7787e..ac74cbc --- a/freight_train/init.lua +++ b/freight_train/init.lua @@ -15,14 +15,14 @@ advtrains.register_wagon("diesel_lokomotive", { seats = { { name = S("Driver Stand (left)"), - attach_offset = {x=-3, y=12, z=-2}, - view_offset = {x=-4, y=3, z=0}, + attach_offset = {x=-3, y=4, z=3}, + view_offset = {x=-3, y=4, z=3}, group = "dstand", }, { name = S("Trainee Seat (right)"), - attach_offset = {x=3, y=12, z=-2}, - view_offset = {x=4, y=3, z=0}, + attach_offset = {x=3, y=4, z=3}, + view_offset = {x=3, y=4, z=3}, group = "tseat", }, }, @@ -90,9 +90,9 @@ advtrains.register_wagon("wagon_gravel", { collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, drops={"advtrains:wagon_gravel"}, has_inventory = true, - get_inventory_formspec = function(self) + get_inventory_formspec = function(self, pname, invname) return "size[8,11]".. - "list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. + "list[" .. invname .. ";box;0,0;8,6;]".. "list[current_player;main;0,7;8,4;]".. "listring[]" end, @@ -112,9 +112,9 @@ advtrains.register_wagon("wagon_track", { collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, drops={"advtrains:wagon_track"}, has_inventory = true, - get_inventory_formspec = function(self) + get_inventory_formspec = function(self, pname, invname) return "size[8,11]".. - "list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. + "list[" .. invname .. ";box;0,0;8,6;]".. "list[current_player;main;0,7;8,4;]".. "listring[]" end, @@ -136,11 +136,10 @@ advtrains.register_wagon("wagon_lava", { collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, drops={"advtrains:wagon_lava"}, has_inventory = true, - get_inventory_formspec = function(self) + get_inventory_formspec = function(self, pname, invname) return "size[8,11]".. - "list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. - "list[current_player;main;0,7;8,4;]".. - "listring[]" + "list[" .. invname .. ";box;0,0;8,6;]".. + "list[current_player;main;0,7;8,4;]" end, inventory_list_sizes = { box=8*6, @@ -159,9 +158,9 @@ advtrains.register_wagon("wagon_tree", { collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, drops={"advtrains:wagon_tree"}, has_inventory = true, - get_inventory_formspec = function(self) + get_inventory_formspec = function(self, pname, invname) return "size[8,11]".. - "list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. + "list[" .. invname .. ";box;0,0;8,6;]".. "list[current_player;main;0,7;8,4;]".. "listring[]" end, diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dabae1d0dce3260400b147a107bc535a1254e6ad GIT binary patch literal 2729786 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 `pV#R&{`R;=*U9K!hSze| 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