From 598051814d5bb5208a60a7f72f1201975cce4d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Sun, 1 Dec 2019 12:28:09 +0100 Subject: Add customizable stripe The stripe's color can be changed when punching the train with a configured bike painter. --- advtrains_train_jre231/init.lua | 35 +++++++++++++++++++++ .../textures/advtrains_KuHa_E231_livery.png | Bin 0 -> 1057 bytes .../textures/advtrains_MoHa_E231_livery.png | Bin 0 -> 487 bytes 3 files changed, 35 insertions(+) create mode 100644 advtrains_train_jre231/textures/advtrains_KuHa_E231_livery.png create mode 100644 advtrains_train_jre231/textures/advtrains_MoHa_E231_livery.png (limited to 'advtrains_train_jre231') diff --git a/advtrains_train_jre231/init.lua b/advtrains_train_jre231/init.lua index a14be1c..e793927 100644 --- a/advtrains_train_jre231/init.lua +++ b/advtrains_train_jre231/init.lua @@ -5,6 +5,25 @@ else S = function(s,a,...)a={a,...}return s:gsub("@(%d+)",function(n)return a[tonumber(n)]end)end end +local function jr_set_livery(self, puncher, itemstack,data) + -- Get color data + local meta = itemstack:get_meta() + local color = meta:get_string("paint_color") + local alpha = tonumber(meta:get_string("alpha")) + if color then + data.livery = self.base_texture.."^("..self.base_livery.."^[colorize:"..color..":255)" -- livery texture has no own texture.... + self:set_textures(data) + end +end + +local function jr_set_textures(self, data) + if data.livery then + self.object:set_properties({ + textures={data.livery} + }) + end +end + advtrains.register_wagon("KuHa_E231", { mesh="advtrains_KuHa_E231.b3d", textures = {"advtrains_KuHa_E231.png"}, @@ -77,6 +96,10 @@ advtrains.register_wagon("KuHa_E231", { collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, drops={"default:steelblock 4"}, horn_sound = "advtrains_train_jre231_horn", + base_texture = "advtrains_KuHa_E231.png", + base_livery = "advtrains_KuHa_E231_livery.png", + set_textures = jr_set_textures, + set_livery = jr_set_livery, custom_on_velocity_change = function(self, velocity, old_velocity, dtime) if not velocity or not old_velocity then return end @@ -168,6 +191,10 @@ advtrains.register_wagon("MoHa_E231", { visual_size = {x=1, y=1}, wagon_span=2.3, collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, + base_texture = "advtrains_MoHa_E231.png", + base_livery = "advtrains_MoHa_E231_livery.png", + set_textures = jr_set_textures, + set_livery = jr_set_livery, drops={"default:steelblock 4"}, }, S("MoHa_E231"), "advtrains_MoHa_E231_inv.png^advtrains_jre231_inv_overlay_middle.png^advtrains_jre231_inv_overlay_left.png^advtrains_jre231_inv_overlay_right.png^advtrains_jre231_inv_overlay_top.png") @@ -239,6 +266,10 @@ advtrains.register_wagon("SaHa_E231", { wagon_span=2.3, collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, drops={"default:steelblock 4"}, + base_texture = "advtrains_SaHa_E231.png", + base_livery = "advtrains_MoHa_E231_livery.png", + set_textures = jr_set_textures, + set_livery = jr_set_livery, }, S("SaHa_E231"), "advtrains_SaHa_E231_inv.png^advtrains_jre231_inv_overlay_left.png^advtrains_jre231_inv_overlay_right.png") advtrains.register_wagon("MoHa_E230", { @@ -308,5 +339,9 @@ advtrains.register_wagon("MoHa_E230", { visual_size = {x=1, y=1}, wagon_span=2.3, collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, + base_texture = "advtrains_MoHa_E230.png", + base_livery = "advtrains_MoHa_E231_livery.png", + set_textures = jr_set_textures, + set_livery = jr_set_livery, drops={"default:steelblock 4"}, }, S("MoHa_E230"), "advtrains_MoHa_E230_inv.png^advtrains_jre231_inv_overlay_middle.png^advtrains_jre231_inv_overlay_left.png^advtrains_jre231_inv_overlay_right.png") diff --git a/advtrains_train_jre231/textures/advtrains_KuHa_E231_livery.png b/advtrains_train_jre231/textures/advtrains_KuHa_E231_livery.png new file mode 100644 index 0000000..0ac7050 Binary files /dev/null and b/advtrains_train_jre231/textures/advtrains_KuHa_E231_livery.png differ diff --git a/advtrains_train_jre231/textures/advtrains_MoHa_E231_livery.png b/advtrains_train_jre231/textures/advtrains_MoHa_E231_livery.png new file mode 100644 index 0000000..efb160c Binary files /dev/null and b/advtrains_train_jre231/textures/advtrains_MoHa_E231_livery.png differ -- cgit v1.2.3