intllib support added

This commit is contained in:
Joachim Stolberg 2018-12-20 18:52:00 +01:00
parent d6e525223c
commit f169fe6f29
21 changed files with 711 additions and 58 deletions

View File

@ -10,16 +10,18 @@
The fast and modern way of travelling. The fast and modern way of travelling.
* Hyperloop allows travelling from point point in seconds (900 km/h) :-) * Hyperloop allows travelling from point point in seconds (900 km/h) :-)
* Hyperloop tubes can be build in teamwork together with other players * Hyperloop tubes can be build in teamwork together with other players
* It can be used even on small servers (Raspberry PI) without lagging * It can be used even on small servers without lagging
* No configuration or programming of the tube network is necessary (only the station names have to be entered) * No configuration or programming of the tube network is necessary (only the station names have to be entered)
![screenshot](https://github.com/joe7575/Minetest-Hyperloop/blob/master/screenshot.png)
The mod includes many different kind of blocks: The mod includes many different kind of blocks:
- Hyperloop Stations Block to automatically build the pod/car - Hyperloop Stations Block to automatically build the pod/car
- Hyperloop Booking Machine for the station to select the destination - Hyperloop Booking Machine for the station to select the destination
- Hyperloop Tube to connect two stations - Hyperloop Tube to connect two stations
- Hyperloop Junction Block to connect up to 4 tubes for complex network structures - Hyperloop Junction Block to connect up to 6 tubes for complex network structures
- Hyperloop Tube Robot to automatically build tubes - Hyperloop Stations Signs
- Hyperloop Stations Sign
- Hyperloop Promo Poster for station advertisement - Hyperloop Promo Poster for station advertisement
- Hyperloop Elevator to reach other levels - Hyperloop Elevator to reach other levels
- Hyperloop Elevator Shaft to connect two elevator cars - Hyperloop Elevator Shaft to connect two elevator cars
@ -45,12 +47,13 @@ The tubes system with all stations and pods have to be build by the players.
The tube route is automatically protected. You can dig only the ends of a tube line (head blocks). The junction block / station has to be protected manually. The tube route is automatically protected. You can dig only the ends of a tube line (head blocks). The junction block / station has to be protected manually.
There is an admin tool available to crack tube lines. There is an admin tool available to crack tube lines.
Junction and Station Blocks can connect up to four tube lines. That means you can build complex networks of tube lines. Each junction/station can be reaches from each point with one trip. Junction and Station Blocks can connect up to 6 tube lines. That means you can build complex networks of tube lines. Each junction/station can be reaches from each point with one trip.
## Dependencies ## Dependencies
tubelib2 (![GitHub](https://github.com/joe7575/tubelib2)) tubelib2 (![GitHub](https://github.com/joe7575/tubelib2))
default default
intllib
# License # License

View File

@ -16,6 +16,10 @@ local S = function(pos) if pos then return minetest.pos_to_string(pos) end end
local P = minetest.string_to_pos local P = minetest.string_to_pos
local M = minetest.get_meta local M = minetest.get_meta
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
local tBlockingTime = {} local tBlockingTime = {}
local tBookings = {} -- open bookings: tBookings[S(departure_pos)] = arrival_pos local tBookings = {} -- open bookings: tBookings[S(departure_pos)] = arrival_pos
@ -24,18 +28,18 @@ local Stations = hyperloop.Stations
-- Reserve departure and arrival stations for some time -- Reserve departure and arrival stations for some time
function hyperloop.reserve(departure_pos, arrival_pos, player) function hyperloop.reserve(departure_pos, arrival_pos, player)
if Stations:get(departure_pos) == nil then if Stations:get(departure_pos) == nil then
hyperloop.chat(player, "Station data is corrupted. Please rebuild the station!") hyperloop.chat(player, I("Station data is corrupted. Please rebuild the station!"))
return false return false
elseif Stations:get(arrival_pos) == nil then elseif Stations:get(arrival_pos) == nil then
hyperloop.chat(player, "Station data is corrupted. Please rebuild the station!") hyperloop.chat(player, I("Station data is corrupted. Please rebuild the station!"))
return false return false
end end
if (tBlockingTime[S(departure_pos)] or 0) > minetest.get_gametime() then if (tBlockingTime[S(departure_pos)] or 0) > minetest.get_gametime() then
hyperloop.chat(player, "Station is still blocked. Please try again in a few seconds!") hyperloop.chat(player, I("Station is still blocked. Please try again in a few seconds!"))
return false return false
elseif (tBlockingTime[S(arrival_pos)] or 0) > minetest.get_gametime() then elseif (tBlockingTime[S(arrival_pos)] or 0) > minetest.get_gametime() then
hyperloop.chat(player, "Station is still blocked. Please try again in a few seconds!") hyperloop.chat(player, I("Station is still blocked. Please try again in a few seconds!"))
return false return false
end end

View File

@ -35,7 +35,7 @@ local function generate_string(sortedList)
default.gui_slots.. default.gui_slots..
"label[4,0; "..I("Select your destination").."]"} "label[4,0; "..I("Select your destination").."]"}
tRes[2] = "label[1,0.6;"..I("Destination").."]label[5,0.6;".. tRes[2] = "label[1,0.6;"..I("Destination").."]label[5,0.6;"..
I("Distance").."]label[6.6,0.6;"..I("Local Info").."]" I("Distance").."]label[7,0.6;"..I("Local Info").."]"
for idx,tDest in ipairs(sortedList) do for idx,tDest in ipairs(sortedList) do
if idx >= 12 then if idx >= 12 then
break break

View File

@ -13,6 +13,10 @@
]]-- ]]--
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
local tilesL = {"hyperloop_alpsL.png", "hyperloop_seaL.png", "hyperloop_agyptL.png"} local tilesL = {"hyperloop_alpsL.png", "hyperloop_seaL.png", "hyperloop_agyptL.png"}
local tilesR = {"hyperloop_alpsR.png", "hyperloop_seaR.png", "hyperloop_agyptR.png"} local tilesR = {"hyperloop_alpsR.png", "hyperloop_seaR.png", "hyperloop_agyptR.png"}
@ -26,7 +30,7 @@ end
for idx = 1,3 do for idx = 1,3 do
minetest.register_node("hyperloop:poster"..idx.."L", { minetest.register_node("hyperloop:poster"..idx.."L", {
description = "Hyperloop Promo Poster "..idx, description = I("Hyperloop Promo Poster ")..idx,
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_skin2.png", "hyperloop_skin2.png",
@ -74,7 +78,7 @@ for idx = 1,3 do
}) })
minetest.register_node("hyperloop:poster"..idx.."R", { minetest.register_node("hyperloop:poster"..idx.."R", {
description = "Hyperloop Promo Poster "..idx, description = I("Hyperloop Promo Poster ")..idx,
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_skin2.png", "hyperloop_skin2.png",
@ -100,7 +104,7 @@ end
minetest.register_node("hyperloop:sign", { minetest.register_node("hyperloop:sign", {
description = "Hyperloop Station Sign", description = I("Hyperloop Station Sign"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_sign_top.png", "hyperloop_sign_top.png",
@ -112,7 +116,7 @@ minetest.register_node("hyperloop:sign", {
}) })
minetest.register_node("hyperloop:signR", { minetest.register_node("hyperloop:signR", {
description = "Hyperloop Station Sign Right", description = I("Hyperloop Station Sign Right"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_sign3.png^[transformR90]", "hyperloop_sign3.png^[transformR90]",
@ -149,7 +153,7 @@ minetest.register_node("hyperloop:signR", {
}) })
minetest.register_node("hyperloop:signL", { minetest.register_node("hyperloop:signL", {
description = "Hyperloop Station Sign Left", description = I("Hyperloop Station Sign Left"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_sign3.png^[transformR90]", "hyperloop_sign3.png^[transformR90]",
@ -186,7 +190,7 @@ minetest.register_node("hyperloop:signL", {
}) })
minetest.register_node("hyperloop:signR_ground", { minetest.register_node("hyperloop:signR_ground", {
description = "Hyperloop Station Sign Right", description = I("Hyperloop Station Sign Right"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_sign3.png^[transformR90]", "hyperloop_sign3.png^[transformR90]",
@ -212,7 +216,7 @@ minetest.register_node("hyperloop:signR_ground", {
}) })
minetest.register_node("hyperloop:signL_ground", { minetest.register_node("hyperloop:signL_ground", {
description = "Hyperloop Station Sign Left", description = I("Hyperloop Station Sign Left"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_sign3.png^[transformR90]", "hyperloop_sign3.png^[transformR90]",

View File

@ -3,7 +3,7 @@
Hyperloop Mod Hyperloop Mod
============= =============
v2.00 by JoSt v2.02 by JoSt
Copyright (C) 2017-2019 Joachim Stolberg Copyright (C) 2017-2019 Joachim Stolberg
@ -29,15 +29,15 @@
2018-10-27 v1.00 Release 2018-10-27 v1.00 Release
2018-10-27 v2.00 Switched to lubelib2 for shafts and tubes 2018-10-27 v2.00 Switched to lubelib2 for shafts and tubes
2018-12-16 v2.01 Adapted to lubelib2 v0.5 2018-12-16 v2.01 Adapted to lubelib2 v0.5
2018-12-20 v2.02 Intllib support added, bugs fixed
]]-- ]]--
hyperloop = {} hyperloop = {}
-- Configuration settings -- Configuration settings
hyperloop.wifi_enabled = minetest.settings:get("hyperloop_wifi_enabled") or true hyperloop.wifi_enabled = minetest.settings:get("hyperloop_wifi_enabled") == "true"
hyperloop.free_tube_placement_enabled = minetest.settings:get("hyperloop_free_tube_placement_enabled") or true hyperloop.free_tube_placement_enabled = minetest.settings:get("hyperloop_free_tube_placement_enabled") == "true"
dofile(minetest.get_modpath("hyperloop") .. "/network.lua") dofile(minetest.get_modpath("hyperloop") .. "/network.lua")
dofile(minetest.get_modpath("hyperloop") .. "/data_base.lua") dofile(minetest.get_modpath("hyperloop") .. "/data_base.lua")
@ -55,7 +55,6 @@ end
dofile(minetest.get_modpath("hyperloop") .. "/map.lua") dofile(minetest.get_modpath("hyperloop") .. "/map.lua")
dofile(minetest.get_modpath("hyperloop") .. "/door.lua") dofile(minetest.get_modpath("hyperloop") .. "/door.lua")
dofile(minetest.get_modpath("hyperloop") .. "/seat.lua") dofile(minetest.get_modpath("hyperloop") .. "/seat.lua")
--dofile(minetest.get_modpath("hyperloop") .. "/robot.lua")
dofile(minetest.get_modpath("hyperloop") .. "/lcd.lua") dofile(minetest.get_modpath("hyperloop") .. "/lcd.lua")
dofile(minetest.get_modpath("hyperloop") .. "/waypoint.lua") dofile(minetest.get_modpath("hyperloop") .. "/waypoint.lua")
dofile(minetest.get_modpath("hyperloop") .. "/deco.lua") dofile(minetest.get_modpath("hyperloop") .. "/deco.lua")

3
intllib.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
../intllib/tools/xgettext.sh ./booking.lua ./door.lua ./lcd.lua ./tube.lua ./booking_node.lua ./elevator.lua ./map.lua ./seat.lua ./utils.lua ./data_base.lua ./init.lua ./waypoint.lua ./network.lua ./station.lua ./wifi.lua ./deco.lua ./junction.lua ./recipes.lua ./tubecrowbar.lua ./recipes.lua

View File

@ -69,7 +69,7 @@ minetest.register_node("hyperloop:junction", {
-- for tube viaducts -- for tube viaducts
minetest.register_node("hyperloop:pillar", { minetest.register_node("hyperloop:pillar", {
description = "Hyperloop Pillar", description = I("Hyperloop Pillar"),
tiles = {"hyperloop_tube_locked.png^[transformR90]"}, tiles = {"hyperloop_tube_locked.png^[transformR90]"},
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {

View File

@ -10,6 +10,10 @@
]]-- ]]--
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
-- load characters map -- load characters map
local chars_file = io.open(minetest.get_modpath("hyperloop").."/characters.data", "r") local chars_file = io.open(minetest.get_modpath("hyperloop").."/characters.data", "r")
local charmap = {} local charmap = {}
@ -153,7 +157,7 @@ local lcd_box = {
minetest.register_node("hyperloop:lcd", { minetest.register_node("hyperloop:lcd", {
drawtype = "nodebox", drawtype = "nodebox",
description = "Hyperloop Display", description = I("Hyperloop Display"),
tiles = {"hyperloop_lcd.png"}, tiles = {"hyperloop_lcd.png"},
on_rotate = screwdriver.disallow, on_rotate = screwdriver.disallow,
@ -170,7 +174,7 @@ minetest.register_node("hyperloop:lcd", {
if param2 == 0 or param2 == 1 then if param2 == 0 or param2 == 1 then
minetest.add_node(pos, {name = "hyperloop:lcd", param2 = 3}) minetest.add_node(pos, {name = "hyperloop:lcd", param2 = 3})
end end
lcd_update(pos, " | | << Hyperloop >> | be anywhere") lcd_update(pos, I(" | | << Hyperloop >> | be anywhere"))
end, end,
on_destruct = function(pos) on_destruct = function(pos)

BIN
locale/de.mo Normal file

Binary file not shown.

311
locale/de.po Normal file
View File

@ -0,0 +1,311 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-20 17:34+0100\n"
"PO-Revision-Date: 2018-12-20 17:31+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
#: booking.lua
msgid "Station data is corrupted. Please rebuild the station!"
msgstr "Stationsdaten sind beschädigt. Bitte die Station neu bauen!"
#: booking.lua
msgid "Station is still blocked. Please try again in a few seconds!"
msgstr ""
"Die Station ist noch blockiert. Bitte versuche es in ein paar Sekunden "
"wieder!"
#: door.lua
msgid "The Booking Machine for this station is missing!"
msgstr "Der Fahrkartenautomat für die Station fehlt!"
#: lcd.lua
msgid "Hyperloop Display"
msgstr "Hyperloop Bildschirm"
#: lcd.lua seat.lua
msgid " | | << Hyperloop >> | be anywhere"
msgstr " | | << Hyperloop >> | sei überall"
#: tube.lua
msgid "Junction at "
msgstr "Anschlussstelle bei "
#: tube.lua
msgid "There is no station/junction on this level. "
msgstr "Es gibt keine Station/Anschlussstelle auf dieser Höhe. "
#: tube.lua
msgid "Do you really want to start a new network?!"
msgstr "Willst du wirklich ein neues Liniennetz beginnen?!"
#: tube.lua
msgid "Hyperloop Tube"
msgstr "Hyperloop Röhre"
#: booking_node.lua elevator.lua
msgid "Select your destination"
msgstr "Wähle dein Ziel"
#: booking_node.lua elevator.lua
msgid "Destination"
msgstr "Ziel"
#: booking_node.lua
msgid "Distance"
msgstr "Entfernung"
#: booking_node.lua
msgid "Local Info"
msgstr "Zusatzinfo"
#: booking_node.lua
msgid ""
"Please enter the station name to\n"
"which this booking machine belongs."
msgstr ""
"Bitte gib den Stationsnamen ein\n"
"zu dem dieser Fahrkartenautomat gehört."
#: booking_node.lua
msgid "Station name"
msgstr "Stationsname"
#: booking_node.lua
msgid "Additional station information"
msgstr "Zusätzliche Stationsinformationen"
#: booking_node.lua
msgid "Station has already a booking machine!"
msgstr "Station hat bereits einen Fahrkartenautomat!"
#: booking_node.lua
msgid "Invalid station name!"
msgstr "Ungültiger Stationsname!"
#: booking_node.lua
msgid "Hyperloop Booking Machine"
msgstr "Hyperloop Fahrkartenautomat"
#: elevator.lua
msgid "Hyperloop Elevator Shaft"
msgstr "Hyperloop Aufzugsschacht"
#: elevator.lua
msgid "Floor"
msgstr "Stockwerk"
#: elevator.lua
msgid "(current position)"
msgstr "(aktuelle Position)"
#: elevator.lua
msgid "Hyperloop Elevator"
msgstr "Hyperloop Aufzug"
#: elevator.lua
msgid "Please insert floor name"
msgstr "Gib den Stockwerknamen ein"
#: elevator.lua
msgid "Floor name"
msgstr "Stockwerkname"
#: elevator.lua
msgid "Base"
msgstr "Basis"
#: elevator.lua wifi.lua
msgid "Save"
msgstr "Speichern"
#: map.lua
msgid "Dist."
msgstr "Entf."
#: map.lua
msgid "Station/Junction"
msgstr "Station/Anschlussstelle"
#: map.lua
msgid "Position"
msgstr "Position"
#: map.lua
msgid "Owner"
msgstr "Besitzer"
#: map.lua
msgid "Conn. with"
msgstr "Verb. mit"
#: map.lua
msgid "Close"
msgstr "Schließen"
#: map.lua
msgid "Hyperloop Station Book"
msgstr "Hyperloop Stationsbuch"
#: seat.lua
msgid "Thank you | for | travelling | with | Hyperloop."
msgstr "Thank you | for | travelling | with | Hyperloop."
#: seat.lua
msgid " | Welcome at | | "
msgstr " | Willkommen | in | | "
#: seat.lua
msgid "[Hyperloop] No booking entered!"
msgstr "[Hyperloop] Keine Buchung eingegeben!"
#: seat.lua
msgid "Destination:"
msgstr "Ziel:"
#: seat.lua
msgid "Distance:"
msgstr "Entfernung:"
#: seat.lua
msgid "Arrival in:"
msgstr "Ankunft in:"
#: seat.lua
msgid "Hyperloop Pod Seat"
msgstr "Hyperloop Sitz"
#: waypoint.lua
msgid "Hyperloop Waypoint"
msgstr "Hyperloop Wegpunkt"
#: station.lua
msgid "Station completed. Now place the Booking Machine!"
msgstr "Station fertig. Setze nun den Fahrkartenautomat!"
#: station.lua
msgid "Area is protected!"
msgstr "Die Area ist geschützt!"
#: station.lua
msgid "Not enough space to build the station!"
msgstr "Nicht ausreichend Platz um die Station zu errichten!"
#: station.lua
msgid "Hyperloop Station Pod Builder"
msgstr "Hyperloop Stations Ersteller"
#: station.lua
msgid "Hyperloop Pod Shell"
msgstr "Hyperloop Kabinenwand"
#: station.lua recipes.lua
msgid "Hypersteel Ingot"
msgstr "Hypersteel Barren"
#: station.lua
msgid "Blue Wool"
msgstr "Blaue Wolle"
#: station.lua
msgid "Glass"
msgstr "Glas"
#: station.lua
msgid "Not enough inventory items to build the station!"
msgstr "Nicht ausreichend Inventory Items um die Station zu bauen!"
#: station.lua
msgid "Destroy Station"
msgstr "Zerstöre Station"
#: station.lua
msgid "Build Station"
msgstr "Baue Station"
#: station.lua
msgid "Hyperloop Station Block"
msgstr "Hyperloop Stations Block"
#: station.lua
msgid "Station"
msgstr "Station"
#: wifi.lua
msgid "Enter channel string"
msgstr "Kanalname eingeben"
#: wifi.lua
msgid "Hyperloop WiFi Tube"
msgstr "Hyperloop Wifi Röhre"
#: deco.lua
msgid "Hyperloop Promo Poster "
msgstr "Hyperloop Werbeposter "
#: deco.lua
msgid "Hyperloop Station Sign"
msgstr "Hyperloop Stationszeichen"
#: deco.lua
msgid "Hyperloop Station Sign Right"
msgstr "Hyperloop Stationszeichen rechts"
#: deco.lua
msgid "Hyperloop Station Sign Left"
msgstr "Hyperloop Stationszeichen links"
#: junction.lua
msgid "Station connected with "
msgstr "Station verbunden mit "
#: junction.lua
msgid "Junction connected with "
msgstr "Anschlussstelle verbunden mit "
#: junction.lua
msgid "Hyperloop Junction Block"
msgstr "Hyperloop Anschlussstelle"
#: junction.lua
msgid "Junction"
msgstr "Anschlussstelle"
#: junction.lua
msgid "Hyperloop Pillar"
msgstr "Hyperloop Stütze"
#: tubecrowbar.lua
msgid "[Crowbar Help]\n"
msgstr "[Brecheisen Hilfe]\n"
#: tubecrowbar.lua
msgid " left: remove node\n"
msgstr " links: entferne Block\n"
#: tubecrowbar.lua
msgid " right: repair tube/shaft line\n"
msgstr " rechts: repariere Röhre/Schacht\n"
#: tubecrowbar.lua
msgid "You don't have the necessary privs!"
msgstr "Du hast nicht die notwendigen Rechte!"
#: tubecrowbar.lua
msgid "Hyperloop Tube Crowbar"
msgstr "Hyperloop Brecheisen"
#~ msgid "Hypersteel Pod Shell"
#~ msgstr "Hyperloop Kabinenwand"

304
locale/template.pot Normal file
View File

@ -0,0 +1,304 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-20 17:35+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: booking.lua
msgid "Station data is corrupted. Please rebuild the station!"
msgstr ""
#: booking.lua
msgid "Station is still blocked. Please try again in a few seconds!"
msgstr ""
#: door.lua
msgid "The Booking Machine for this station is missing!"
msgstr ""
#: lcd.lua
msgid "Hyperloop Display"
msgstr ""
#: lcd.lua seat.lua
msgid " | | << Hyperloop >> | be anywhere"
msgstr ""
#: tube.lua
msgid "Junction at "
msgstr ""
#: tube.lua
msgid "There is no station/junction on this level. "
msgstr ""
#: tube.lua
msgid "Do you really want to start a new network?!"
msgstr ""
#: tube.lua
msgid "Hyperloop Tube"
msgstr ""
#: booking_node.lua elevator.lua
msgid "Select your destination"
msgstr ""
#: booking_node.lua elevator.lua
msgid "Destination"
msgstr ""
#: booking_node.lua
msgid "Distance"
msgstr ""
#: booking_node.lua
msgid "Local Info"
msgstr ""
#: booking_node.lua
msgid ""
"Please enter the station name to\n"
"which this booking machine belongs."
msgstr ""
#: booking_node.lua
msgid "Station name"
msgstr ""
#: booking_node.lua
msgid "Additional station information"
msgstr ""
#: booking_node.lua
msgid "Station has already a booking machine!"
msgstr ""
#: booking_node.lua
msgid "Invalid station name!"
msgstr ""
#: booking_node.lua
msgid "Hyperloop Booking Machine"
msgstr ""
#: elevator.lua
msgid "Hyperloop Elevator Shaft"
msgstr ""
#: elevator.lua
msgid "Floor"
msgstr ""
#: elevator.lua
msgid "(current position)"
msgstr ""
#: elevator.lua
msgid "Hyperloop Elevator"
msgstr ""
#: elevator.lua
msgid "Please insert floor name"
msgstr ""
#: elevator.lua
msgid "Floor name"
msgstr ""
#: elevator.lua
msgid "Base"
msgstr ""
#: elevator.lua wifi.lua
msgid "Save"
msgstr ""
#: map.lua
msgid "Dist."
msgstr ""
#: map.lua
msgid "Station/Junction"
msgstr ""
#: map.lua
msgid "Position"
msgstr ""
#: map.lua
msgid "Owner"
msgstr ""
#: map.lua
msgid "Conn. with"
msgstr ""
#: map.lua
msgid "Close"
msgstr ""
#: map.lua
msgid "Hyperloop Station Book"
msgstr ""
#: seat.lua
msgid "Thank you | for | travelling | with | Hyperloop."
msgstr ""
#: seat.lua
msgid " | Welcome at | | "
msgstr ""
#: seat.lua
msgid "[Hyperloop] No booking entered!"
msgstr ""
#: seat.lua
msgid "Destination:"
msgstr ""
#: seat.lua
msgid "Distance:"
msgstr ""
#: seat.lua
msgid "Arrival in:"
msgstr ""
#: seat.lua
msgid "Hyperloop Pod Seat"
msgstr ""
#: waypoint.lua
msgid "Hyperloop Waypoint"
msgstr ""
#: station.lua
msgid "Station completed. Now place the Booking Machine!"
msgstr ""
#: station.lua
msgid "Area is protected!"
msgstr ""
#: station.lua
msgid "Not enough space to build the station!"
msgstr ""
#: station.lua
msgid "Hyperloop Station Pod Builder"
msgstr ""
#: station.lua
msgid "Hyperloop Pod Shell"
msgstr ""
#: station.lua recipes.lua
msgid "Hypersteel Ingot"
msgstr ""
#: station.lua
msgid "Blue Wool"
msgstr ""
#: station.lua
msgid "Glass"
msgstr ""
#: station.lua
msgid "Not enough inventory items to build the station!"
msgstr ""
#: station.lua
msgid "Destroy Station"
msgstr ""
#: station.lua
msgid "Build Station"
msgstr ""
#: station.lua
msgid "Hyperloop Station Block"
msgstr ""
#: station.lua
msgid "Station"
msgstr ""
#: wifi.lua
msgid "Enter channel string"
msgstr ""
#: wifi.lua
msgid "Hyperloop WiFi Tube"
msgstr ""
#: deco.lua
msgid "Hyperloop Promo Poster "
msgstr ""
#: deco.lua
msgid "Hyperloop Station Sign"
msgstr ""
#: deco.lua
msgid "Hyperloop Station Sign Right"
msgstr ""
#: deco.lua
msgid "Hyperloop Station Sign Left"
msgstr ""
#: junction.lua
msgid "Station connected with "
msgstr ""
#: junction.lua
msgid "Junction connected with "
msgstr ""
#: junction.lua
msgid "Hyperloop Junction Block"
msgstr ""
#: junction.lua
msgid "Junction"
msgstr ""
#: junction.lua
msgid "Hyperloop Pillar"
msgstr ""
#: tubecrowbar.lua
msgid "[Crowbar Help]\n"
msgstr ""
#: tubecrowbar.lua
msgid " left: remove node\n"
msgstr ""
#: tubecrowbar.lua
msgid " right: repair tube/shaft line\n"
msgstr ""
#: tubecrowbar.lua
msgid "You don't have the necessary privs!"
msgstr ""
#: tubecrowbar.lua
msgid "Hyperloop Tube Crowbar"
msgstr ""

15
map.lua
View File

@ -31,8 +31,13 @@ local function generate_string(sortedList)
lStationPositions[sKey] = idx lStationPositions[sKey] = idx
end end
local tRes = {"label[0,0;ID]label[0.7,0;Dist.]label[1.8,0;Station/Junction]label[5.4,0;Position]".. local tRes = {
"label[7.9,0;Owner]label[10,0;Conn. with]"} "label[0,0;ID]"..
"label[0.7,0;"..I("Dist.").."]"..
"label[1.8,0;"..I("Station/Junction").."]"..
"label[5.4,0;"..I("Position").."]"..
"label[7.9,0;"..I("Owner").."]"..
"label[10,0;"..I("Conn. with").."]"}
for idx,dataSet in ipairs(sortedList) do for idx,dataSet in ipairs(sortedList) do
if idx == 23 then if idx == 23 then
break break
@ -87,7 +92,7 @@ local function map_on_use(itemstack, user)
default.gui_bg_img.. default.gui_bg_img..
default.gui_slots.. default.gui_slots..
sStationList .. sStationList ..
"button_exit[5,9.5;2,1;close;Close]" "button_exit[5,9.5;2,1;close;"..I("Close").."]"
minetest.show_formspec(player_name, "hyperloop:station_map", formspec) minetest.show_formspec(player_name, "hyperloop:station_map", formspec)
return itemstack return itemstack
@ -102,7 +107,7 @@ local function map_on_secondary_use(itemstack, user)
default.gui_bg_img.. default.gui_bg_img..
default.gui_slots.. default.gui_slots..
sStationList .. sStationList ..
"button_exit[5,9.5;2,1;close;Close]" "button_exit[5,9.5;2,1;close;"..I("Close").."]"
minetest.show_formspec(player_name, "hyperloop:station_map", formspec) minetest.show_formspec(player_name, "hyperloop:station_map", formspec)
return itemstack return itemstack
@ -110,7 +115,7 @@ end
-- Tool for tube workers to find the next station -- Tool for tube workers to find the next station
minetest.register_node("hyperloop:station_map", { minetest.register_node("hyperloop:station_map", {
description = "Hyperloop Station Book", description = I("Hyperloop Station Book"),
inventory_image = "hyperloop_stations_book.png", inventory_image = "hyperloop_stations_book.png",
wield_image = "hyperloop_stations_book.png", wield_image = "hyperloop_stations_book.png",
groups = {cracky=1, book=1}, groups = {cracky=1, book=1},

View File

@ -107,7 +107,7 @@ local function convert_legary_nodes(self, pos, dir)
local cnt = 0 local cnt = 0
if not dir then return pos, dir, cnt end if not dir then return pos, dir, cnt end
while cnt <= 100000 do while cnt <= 20000 do
local new_pos, new_dir = convert_next_tube(self, pos, dir) local new_pos, new_dir = convert_next_tube(self, pos, dir)
if not new_dir then break end if not new_dir then break end
pos, dir = new_pos, new_dir pos, dir = new_pos, new_dir

View File

@ -13,9 +13,13 @@
]]-- ]]--
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
minetest.register_craftitem("hyperloop:hypersteel_ingot", { minetest.register_craftitem("hyperloop:hypersteel_ingot", {
description = "Hypersteel Ingot", description = I("Hypersteel Ingot"),
inventory_image = "hyperloop_hypersteel_ingot.png", inventory_image = "hyperloop_hypersteel_ingot.png",
}) })

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 KiB

After

Width:  |  Height:  |  Size: 277 KiB

View File

@ -157,8 +157,8 @@ local function on_start_travel(pos, node, clicker)
-- activate display -- activate display
local dist = hyperloop.distance(pos, tArrival.pos) local dist = hyperloop.distance(pos, tArrival.pos)
local text = "Destination: | "..string.sub(tArrival.name, 1, 13).." | Distance: | ".. local text = I("Destination:").." | "..string.sub(tArrival.name, 1, 13).." | "..I("Distance:").." | "..
meter_to_km(dist).." | Arrival in: | " meter_to_km(dist).." | "..I("Arrival in:").." | "
local atime local atime
if dist < 1000 then if dist < 1000 then
atime = 10 + math.floor(dist/200) -- 10..15 sec atime = 10 + math.floor(dist/200) -- 10..15 sec
@ -185,7 +185,7 @@ end
-- Hyperloop Seat -- Hyperloop Seat
minetest.register_node("hyperloop:seat", { minetest.register_node("hyperloop:seat", {
description = "Hyperloop Pod Seat", description = I("Hyperloop Pod Seat"),
tiles = { tiles = {
"hyperloop_seat-top.png", "hyperloop_seat-top.png",
"hyperloop_seat-side.png", "hyperloop_seat-side.png",

View File

@ -132,7 +132,7 @@ local station_formspec =
"label[2,0;"..I("Hyperloop Station Pod Builder").."]" .. "label[2,0;"..I("Hyperloop Station Pod Builder").."]" ..
"image[0.2,0.9;3,3;hyperloop_station_formspec.png]".. "image[0.2,0.9;3,3;hyperloop_station_formspec.png]"..
"list[context;src;3,0.9;1,4;]".. "list[context;src;3,0.9;1,4;]"..
"label[4,1.2;30 x "..I("Hypersteel Pod Shell").."]" .. "label[4,1.2;30 x "..I("Hyperloop Pod Shell").."]" ..
"item_image[3,0.9;1,1;hyperloop:pod_wall]".. "item_image[3,0.9;1,1;hyperloop:pod_wall]"..
"label[4,2.2;4 x "..I("Hypersteel Ingot").."]" .. "label[4,2.2;4 x "..I("Hypersteel Ingot").."]" ..
"item_image[3,1.9;1,1;hyperloop:hypersteel_ingot]".. "item_image[3,1.9;1,1;hyperloop:hypersteel_ingot]"..
@ -166,7 +166,7 @@ local function check_inventory(inv, player)
end end
end end
end end
hyperloop.chat(player,"Not enough inventory items to build the station!") hyperloop.chat(player, I("Not enough inventory items to build the station!"))
return false return false
end end

View File

@ -23,27 +23,27 @@ local function station_name(pos)
local dataSet = hyperloop.get_station(pos) local dataSet = hyperloop.get_station(pos)
if dataSet then if dataSet then
if dataSet.junction == true then if dataSet.junction == true then
return "Junction at "..S(pos) return I("Junction at ")..S(pos)
elseif dataSet.name ~= nil then elseif dataSet.name ~= nil then
return "Station '"..dataSet.name.."' at "..S(pos) return S("Station '")..dataSet.name.."' at "..S(pos)
else else
return "Station at "..S(pos) return S("Station at ")..S(pos)
end end
end end
return "Open end at "..minetest.pos_to_string(pos) return S("Open end at ")..minetest.pos_to_string(pos)
end end
function hyperloop.check_network_level(pos, player) function hyperloop.check_network_level(pos, player)
if hyperloop.free_tube_placement_enabled then if hyperloop.free_tube_placement_enabled then
return return
end end
for key,_ in pairs(hyperloop.tDatabase.tStations) do for key,_ in pairs(hyperloop.Stations.tStations) do
if pos.y == P(key).y then if pos.y == P(key).y then
return return
end end
end end
hyperloop.chat(player, I("These is no station/junction on this level. ").. hyperloop.chat(player, I("There is no station/junction on this level. ")..
I("Do you realy want to start a new network?!")) I("Do you really want to start a new network?!"))
end end
-- North, East, South, West, Down, Up -- North, East, South, West, Down, Up
@ -54,15 +54,15 @@ end
local Tube = tubelib2.Tube:new({ local Tube = tubelib2.Tube:new({
dirs_to_check = dirs_to_check, dirs_to_check = dirs_to_check,
max_tube_length = 10000, max_tube_length = 1000,
show_infotext = true, show_infotext = true,
primary_node_names = {"hyperloop:tubeS", "hyperloop:tubeS2", "hyperloop:tubeA", "hyperloop:tubeA2"}, primary_node_names = {"hyperloop:tubeS", "hyperloop:tubeS2", "hyperloop:tubeA", "hyperloop:tubeA2"},
secondary_node_names = {"hyperloop:junction", "hyperloop:station", "hyperloop:tube_wifi1"}, secondary_node_names = {"hyperloop:junction", "hyperloop:station", "hyperloop:tube_wifi1"},
after_place_tube = function(pos, param2, tube_type, num_tubes) after_place_tube = function(pos, param2, tube_type, num_tubes)
if num_tubes == 2 then if num_tubes == 2 then
minetest.swap_node(pos, {name = "hyperloop:tube"..tube_type.."2", param2 = param2}) minetest.set_node(pos, {name = "hyperloop:tube"..tube_type.."2", param2 = param2})
else else
minetest.swap_node(pos, {name = "hyperloop:tube"..tube_type, param2 = param2}) minetest.set_node(pos, {name = "hyperloop:tube"..tube_type, param2 = param2})
end end
end, end,
}) })
@ -179,7 +179,7 @@ minetest.register_node("hyperloop:tubeS2", {
}) })
minetest.register_node("hyperloop:tubeA", { minetest.register_node("hyperloop:tubeA", {
description = "Hyperloop Tube", description = I("Hyperloop Tube"),
inventory_image = minetest.inventorycube("hyperloop_tube_locked.png", inventory_image = minetest.inventorycube("hyperloop_tube_locked.png",
'hyperloop_tube_open.png', "hyperloop_tube_locked.png"), 'hyperloop_tube_open.png', "hyperloop_tube_locked.png"),
tiles = { tiles = {

View File

@ -15,6 +15,10 @@ local S = function(pos) if pos then return minetest.pos_to_string(pos) end end
local P = minetest.string_to_pos local P = minetest.string_to_pos
local M = minetest.get_meta local M = minetest.get_meta
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
local Shaft = hyperloop.Shaft local Shaft = hyperloop.Shaft
local Tube = hyperloop.Tube local Tube = hyperloop.Tube
@ -59,9 +63,9 @@ local function repair_tubes(itemstack, placer, pointed_thing)
end end
else else
minetest.chat_send_player(placer:get_player_name(), minetest.chat_send_player(placer:get_player_name(),
"[Crowbar Help]\n".. I("[Crowbar Help]\n")..
" left: remove node\n".. I(" left: remove node\n")..
" right: repair tube/shaft line\n") I(" right: repair tube/shaft line\n"))
end end
end end
@ -84,7 +88,7 @@ local function remove_tube(itemstack, placer, pointed_thing)
end end
end end
else else
minetest.chat_send_player(placer:get_player_name(), "You don't have the necessary privs!") minetest.chat_send_player(placer:get_player_name(), I("You don't have the necessary privs!"))
end end
end end
@ -94,7 +98,7 @@ end
-- Tool for tube workers to crack a protected tube line -- Tool for tube workers to crack a protected tube line
minetest.register_node("hyperloop:tube_crowbar", { minetest.register_node("hyperloop:tube_crowbar", {
description = "Hyperloop Tube Crowbar", description = I("Hyperloop Tube Crowbar"),
inventory_image = "hyperloop_tubecrowbar.png", inventory_image = "hyperloop_tubecrowbar.png",
wield_image = "hyperloop_tubecrowbar.png", wield_image = "hyperloop_tubecrowbar.png",
use_texture_alpha = true, use_texture_alpha = true,

View File

@ -15,8 +15,12 @@
local Waypoints = {} local Waypoints = {}
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
minetest.register_node("hyperloop:waypoint", { minetest.register_node("hyperloop:waypoint", {
description = "Hyperloop Waypoint", description = I("Hyperloop Waypoint"),
inventory_image = "hyperloop_waypoint_inv.png", inventory_image = "hyperloop_waypoint_inv.png",
tiles = { tiles = {
"hyperloop_waypoint.png", "hyperloop_waypoint.png",

View File

@ -10,14 +10,18 @@
]]-- ]]--
-- Load support for intllib.
local MP = minetest.get_modpath("hyperloop")
local I, NS = dofile(MP.."/intllib.lua")
local Tube = hyperloop.Tube local Tube = hyperloop.Tube
local sFormspec = "size[7.5,3]".. local sFormspec = "size[7.5,3]"..
"field[0.5,1;7,1;channel;Enter channel string;]" .. "field[0.5,1;7,1;channel;"..I("Enter channel string")..";]" ..
"button_exit[2,2;3,1;exit;Save]" "button_exit[2,2;3,1;exit;"..I("Save").."]"
minetest.register_node("hyperloop:tube_wifi1", { minetest.register_node("hyperloop:tube_wifi1", {
description = "Hyperloop WiFi Tube", description = I("Hyperloop WiFi Tube"),
tiles = { tiles = {
-- up, down, right, left, back, front -- up, down, right, left, back, front
"hyperloop_tube_locked.png^[transformR90]", "hyperloop_tube_locked.png^[transformR90]",