aboutsummaryrefslogtreecommitdiff
path: root/advtrains_train_track
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains_train_track')
-rw-r--r--advtrains_train_track/init.lua66
-rw-r--r--advtrains_train_track/mod.conf2
2 files changed, 55 insertions, 13 deletions
diff --git a/advtrains_train_track/init.lua b/advtrains_train_track/init.lua
index 32e1235..c7bcb80 100644
--- a/advtrains_train_track/init.lua
+++ b/advtrains_train_track/init.lua
@@ -1,6 +1,11 @@
-- Default tracks for advtrains
-- (c) orwell96 and contributors
+-- Initialize internationalization (using ywang's poconvert)
+advtrains.poconvert.from_flat("advtrains_train_track")
+-- ask engine for translator instance, this will load the translation files
+local S = core.get_translator("advtrains_train_track")
+
local default_boxen = {
["st"] = {
[""] = {
@@ -184,7 +189,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("Track"),
+ description=S("Track"),
formats={},
get_additional_definiton = function(def, preset, suffix, rotation)
@@ -265,7 +270,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack_sy",
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("Y-turnout"),
+ description=S("Y-turnout"),
formats = {},
get_additional_definiton = y3_turnouts_addef,
}, advtrains.ap.t_yturnout)
@@ -284,7 +289,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack_s3",
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("3-way turnout"),
+ description=S("3-way turnout"),
formats = {},
get_additional_definiton = y3_turnouts_addef,
}, advtrains.ap.t_s3way)
@@ -334,7 +339,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack_xing",
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("Perpendicular Diamond Crossing Track"),
+ description=S("Perpendicular Diamond Crossing Track"),
formats = {},
get_additional_definiton = function(def, preset, suffix, rotation)
return perp_boxen[rotation] or {}
@@ -426,7 +431,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack_xing90plusx",
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("90+Angle Diamond Crossing Track"),
+ description=S("90+Angle Diamond Crossing Track"),
formats = {},
get_additional_definiton = function(def, preset, suffix, rotation)
return ninety_plus_boxen[suffix] or {}
@@ -548,7 +553,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack_xingdiag",
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
- description=attrans("Diagonal Diamond Crossing Track"),
+ description=S("Diagonal Diamond Crossing Track"),
formats = {},
get_additional_definiton = function(def, preset, suffix, rotation)
return diagonal_boxen[suffix] or {}
@@ -575,7 +580,7 @@ advtrains.register_tracks("default", {
models_suffix=".obj",
shared_texture="advtrains_dtrack_shared.png",
second_texture="default_gravel.png",
- description=attrans("Track"),
+ description=S("Track"),
formats={vst1={true, false, true}, vst2={true, false, true}, vst31={true}, vst32={true}, vst33={true}},
}, advtrains.ap.t_30deg_slope)
@@ -598,8 +603,37 @@ advtrains.register_tracks("default", {
models_suffix=".b3d",
shared_texture="advtrains_dtrack_rail.png",
--bumpers still use the old texture until the models are redone.
- description=attrans("Bumper"),
+ description=S("Bumper"),
formats={},
+ get_additional_definiton = function(def, preset, suffix, rotation)
+ -- 2024-11-25: Bumpers get the additional feature of being both a signal and a self-contained TCB, when interlocking is used.
+ if advtrains.interlocking then
+ return {
+ -- use the special callbacks for self_tcb (see tcb_ts_ui.lua)
+ can_dig = advtrains.interlocking.self_tcb_make_can_dig_callback(true),
+ after_dig_node = advtrains.interlocking.self_tcb_make_after_dig_callback(true),
+ after_place_node = advtrains.interlocking.self_tcb_make_after_place_callback(true, true),
+ on_rightclick = advtrains.interlocking.self_tcb_make_on_rightclick_callback(false, true),
+ advtrains = {
+ main_aspects = {
+ -- No main aspects, it always shows Stop.
+ -- But we need to define the table so that signal caplevel is 3
+ },
+ apply_aspect = function(pos, node, main_aspect, rem_aspect, rem_aspinfo)
+ -- is a no-op for bumpers, it always shows Stop
+ end,
+ get_aspect_info = function(pos, main_aspect)
+ -- it always shows Stop
+ return advtrains.interlocking.signal.ASPI_HALT
+ end,
+ distant_support = false, -- not a distant
+ route_role = "end", -- the end is nigh!
+ }
+ }
+ else
+ return {} -- no additional defs when interlocking is not used
+ end
+ end,
}, advtrains.ap.t_30deg_straightonly)
minetest.register_craft({
output = 'advtrains:dtrack_bumper_placer 2',
@@ -620,11 +654,19 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_atc.png",
- description=attrans("ATC controller"),
+ description=S("ATC controller"),
formats={},
get_additional_definiton = advtrains.atc_function
}, advtrains.trackpresets.t_30deg_straightonly)
+minetest.register_craft({
+ output = "advtrains:dtrack_atc_placer",
+ recipe = {
+ {"","mesecons_microcontroller:microcontroller0000",""},
+ {"","advtrains:dtrack_placer",""},
+ {"","",""}
+ }
+})
-- Tracks for loading and unloading trains
-- Copyright (C) 2017 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
@@ -790,7 +832,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_unload.png",
- description=attrans("Unloading Track"),
+ description=S("Unloading Track"),
formats={},
get_additional_definiton = function(def, preset, suffix, rotation)
return {
@@ -822,7 +864,7 @@ advtrains.register_tracks("default", {
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_load.png",
- description=attrans("Loading Track"),
+ description=S("Loading Track"),
formats={},
get_additional_definiton = function(def, preset, suffix, rotation)
return {
@@ -892,7 +934,7 @@ if mesecon then
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_detector_off.png",
- description=attrans("Detector Rail"),
+ description=S("Detector Rail"),
formats={},
get_additional_definiton = function(def, preset, suffix, rotation)
return {
diff --git a/advtrains_train_track/mod.conf b/advtrains_train_track/mod.conf
index 2aece3e..a7fef4d 100644
--- a/advtrains_train_track/mod.conf
+++ b/advtrains_train_track/mod.conf
@@ -4,4 +4,4 @@ description=Default track set for Advanced Trains
author=orwell96
depends=advtrains
-optional_depends=mesecons,digtron
+optional_depends=mesecons,digtron,advtrains_interlocking