summaryrefslogtreecommitdiff
path: root/advtrains_train_japan/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains_train_japan/init.lua')
-rw-r--r--advtrains_train_japan/init.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/advtrains_train_japan/init.lua b/advtrains_train_japan/init.lua
index 930ffc8..578e472 100644
--- a/advtrains_train_japan/init.lua
+++ b/advtrains_train_japan/init.lua
@@ -3,9 +3,33 @@ local S = attrans
-- note: scharfenberg coupler is defined in advtrains core
advtrains.register_coupler_type("train_japan_interwagon", attrans("Japanese Train Inter-Wagon Connection"))
+local function set_livery(self, puncher, itemstack, data)
+ local meta = itemstack:get_meta()
+ local color = meta:get_string("paint_color")
+ if color and color:find("^#%x%x%x%x%x%x$") then
+ local alpha = tonumber(meta:get_string("alpha"))
+ if alpha == 0 then
+ data.livery = self.base_texture
+ else
+ data.livery = self.base_texture.."^("..self.base_livery.."^[colorize:"..color..":255)"
+ end
+ self:set_textures(data)
+ end
+end
+
+local function set_textures(self, data)
+ if data.livery then
+ self.object:set_properties({textures={data.livery}})
+ end
+end
+
advtrains.register_wagon("engine_japan", {
mesh="advtrains_engine_japan.b3d",
textures = {"advtrains_engine_japan.png"},
+ base_texture = "advtrains_engine_japan.png",
+ base_livery = "advtrains_engine_japan_livery.png",
+ set_textures = set_textures,
+ set_livery = set_livery,
drives_on={default=true},
max_speed=20,
seats = {
@@ -69,6 +93,7 @@ advtrains.register_wagon("engine_japan", {
door_entry={-1.7},
visual_size = {x=1, y=1},
wagon_span=2.5,
+ wheel_positions = {1.5, -2.5},
is_locomotive=true,
collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0},
drops={"default:steelblock 4"},
@@ -78,6 +103,10 @@ advtrains.register_wagon("engine_japan", {
advtrains.register_wagon("wagon_japan", {
mesh="advtrains_wagon_japan.b3d",
textures = {"advtrains_wagon_japan.png"},
+ base_texture = "advtrains_wagon_japan.png",
+ base_livery = "advtrains_wagon_japan_livery.png",
+ set_textures = set_textures,
+ set_livery = set_livery,
drives_on={default=true},
max_speed=20,
seats = {
@@ -141,6 +170,7 @@ advtrains.register_wagon("wagon_japan", {
door_entry={-1.7, 1.7},
visual_size = {x=1, y=1},
wagon_span=2.3,
+ wheel_positions = {2.3, -2.3},
collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0},
drops={"default:steelblock 4"},
}, S("Japanese Train Wagon"), "advtrains_wagon_japan_inv.png")