create a new version whit translation
master
IIIullaIII 2022-07-31 20:22:14 +02:00
commit f87f42c425
93 changed files with 8714 additions and 0 deletions

43
LICENSE.txt Normal file
View File

@ -0,0 +1,43 @@
FOR THE CODE THE LICENSE IS OF THE TYPE: MIT
L'autorizzazione è concessa, gratuitamente,
a chiunque ottenga una copia di questo software e dei file di documentazione associati (il "Software"),
per trattare il Software senza restrizioni,
inclusi senza limitazione i diritti di utilizzo, copia, modifica, unione , pubblicare, distribuire,
concedere in sublicenza e / o vendere copie del Software e per consentire alle persone a cui il Software è fornito di farlo,
fatte salve le seguenti condizioni:
La nota di copyright e il presente avviso di autorizzazione di cui sopra devono essere inclusi in tutte le copie o parti sostanziali del software.
IL SOFTWARE È FORNITO "COSÌ COM'È", SENZA ALCUN TIPO DI GARANZIA, ESPRESSA O IMPLICITA, COMPRESO MA NON LIMITATO ALLE GARANZIE DI COMMERCIABILITÀ,
IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI OI TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI DI QUALSIASI RECLAMO,
DANNO O ALTRO RESPONSABILITÀ, SE IN AZIONE DI CONTRATTO, TORT O ALTRO, DERIVANTE DA,
FUORI O IN CONNESSIONE CON IL SOFTWARE O L'UTILIZZO O ALTRE OFFERTE NEL SOFTWARE.
PER I MEDIA FILE LA LICENZA E'DI TIPO: CC BY-NC
Permette di distribuire, modificare,
creare opere derivate dall'originale,
ma non a scopi commerciali,
a condizione che venga: riconosciuta una menzione di paternità adeguata,
fornito un link alla licenza e indicato se sono state effettuate delle modifiche.
Chi modifica l'opera originale non è tenuto a utilizzare le stesse licenze per le opere derivate.
ENG
FOR SCRIPT FILES THE LICENSE IS TYPE: MT
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
FOR MEDIA FILES THE LICENSE IS TYPE: CC BY-NC
Allows you to distribute, modify,
create works derived from the original,
  but not for commercial purposes,
  provided that: a mention of adequate authorship is recognized,
  provided a link to the license and indicated if changes have been made.
Anyone who modifies the original work is not required to use the same licenses for derivative works.

31
colors.lua Normal file
View File

@ -0,0 +1,31 @@
-- get Boilerplate for Translations
local S = nodeu.S
local path = nodeu.path
local Color_list = {
{ S("Red Color"),"red"},
{ S("Orange Color"), "orange"},
{ S("Grey Color"), "grey"},
{ S("Yellow Color"), "yellow"},
{ S("Green Color"), "green"},
{ S("Blue Color"), "blue"},
{ S("Violet Color"), "violet"},
{ S("Black Color"), "black"},
{ S("White Color"), "white"},
{ S("Cyan Color"), "cyan"},
}
for i in ipairs(Color_list) do
local Colordesc = Color_list[i][1]
local color = Color_list[i][2]
minetest.register_craftitem("nodeu:boccetta", {
description = S("small bottle"),
inventory_image = "boccetta.png",
})
minetest.register_craftitem("nodeu:colors_"..color.."", {
description = Colordesc.."",
inventory_image = "colors_"..color..".png",
})
end

BIN
colors_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

285
craft.lua Normal file
View File

@ -0,0 +1,285 @@
local S = nodeu.S
local path = nodeu.path
local Lamiera_list = {
{ S("Red Sheet metal"), "red"},
{ S("Orange Sheet metal"), "orange"},
{ S("Grey Sheet metal"), "grey"},
{ S("Yellow Sheet metal"), "yellow"},
{ S("Green Sheet metal"), "green"},
{ S("Blue Sheet metal"), "blue"},
{ S("Violet Sheet metal"), "violet"},
{ S("Black Sheet metal"), "black"},
{ S("White Sheet metal"), "white"},
{ S("Cyan Sheet metal"), "cyan"},
}
for i in ipairs(Lamiera_list) do
local lamieradesc = Lamiera_list[i][1]
local colore = Lamiera_list[i][2]
minetest.register_craftitem("nodeu:lamiera_white", {
description = S("Sheet metal white"),
inventory_image = "scalaa_white.png",
})
minetest.register_craftitem("nodeu:lamiera_"..colore.."", {
description = lamieradesc,
inventory_image = "scalaa_"..colore..".png",
})
minetest.register_craftitem("nodeu:farettow_"..colore.."", {
description = S("lightspot_w_")..colore,
inventory_image = "farettow_"..colore..".png",
})
minetest.register_craftitem("nodeu:ringhiera_nodeu", {
description = S("Railing panel NU"),
inventory_image = "ringhieranodeu.png",
})
minetest.register_craftitem("nodeu:ferro", {
description = S("Iron_bar"),
inventory_image = "bferro.png",
})
----LAMIERA BIANCA
minetest.register_craft({
output = "nodeu:lamiera_white",
recipe = {
{"","","" },
{"","nodeu:colors_white",""},
{"","nodeu:lamiera_"..colore,""}
}
})
--[[minetest.register_craft({
output = "nodeu:scala_white",
recipe = {
{"nodeu:lamiera_white","","" },
{"nodeu:lamiera_white","nodeu:lamiera_white",""},
{"nodeu:lamiera_white","nodeu:lamiera_white","nodeu:lamiera_white"}
}
})]]
----SCALA METAL COLORATA
minetest.register_craft({
output = "nodeu:scala_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"","" },
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,""},
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore}
}
})
---SCALA CON BASE RINGHIERA INCORPORATA
minetest.register_craft({
output = "nodeu:fine_scala_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,"" },
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,""},
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore}
}
})
--LAMIERA WHITE----------------------------------
minetest.register_craft({
type = 'cooking',
recipe = "default:steel_ingot",
output = "nodeu:lamiera_white",
})
----BARRA DI FERRO---------------------------------------------------------------
minetest.register_craft({
output = "nodeu:ferro",
recipe = {
{"","","" },
{"","","" },
{"default:steel_ingot","default:steel_ingot","default:steel_ingot" }
}
})
--LAMIERA COLORATA--------------------------------------------------
minetest.register_craft({
output = "nodeu:lamiera_"..colore.."",
recipe = {
{"","nodeu:colors_"..colore.."","" },
{"","nodeu:lamiera_white","" },
{"","","" }
}
})
--BOCCETTA---------------------------------------------------------
minetest.register_craft({
--type = 'cooking',
--recipe = "default:glass",
type = "shaped",
output = 'nodeu:boccetta',
recipe = {
{"", "","" },
{"default:glass", "","" },
{"default:glass", "","" }
}
})
--BOCCETTE DEI COLORI----------------------------------------------------------------
minetest.register_craft({
output = "nodeu:colors_"..colore,
recipe = {
{"", "nodeu:boccetta","" },
{"", "dye:"..colore,"" },
{"", "","" }
}
})
--NODO-----------------------------------------------------
minetest.register_craft({
output = "nodeu:nodo_scala_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, "nodeu:lamiera_"..colore, },
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, "nodeu:lamiera_"..colore, },
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, "nodeu:lamiera_"..colore, }
}
})
--FARETTOW--white----------------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:farettow_white",
recipe = {
{"", "nodeu:colors_white","", },
{"", "default:steel_ingot","", },
{"", "default:torch","" }
}
})
----FARETTO_S-----------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:faretto_s_"..colore.."",
recipe = {
{"", "nodeu:colors_"..colore,"" },
{"", "default:torch","" },
{"", "default:steel_ingot","" }
}
})
--FARETTOW------------------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:farettow_"..colore.."",
recipe = {
{"", "nodeu:colors_"..colore,"" },
{"", "default:steel_ingot","" },
{"", "default:torch","" }
}
})
--NODO FARETTO-------------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:faretto_"..colore.."",
recipe = {
{"", "nodeu:farettow_"..colore,"" },
{"", "nodeu:nodo_scala_"..colore,"" },
{"", "","" }
}
})
--PIANEROTTOLO-----------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:piano_scala_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, "nodeu:lamiera_"..colore, },
{"","",""},
{"","",""}
}
})
--PARAPETTO SCALA----------------------------------------------------------------------------------------------------
minetest.register_craft({
type = "shaped",
output = "nodeu:scala_ringhiera_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, },
{"nodeu:lamiera_"..colore,"nodeu:ringhiera_nodeu","nodeu:lamiera_"..colore, },
{"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, }
}
})
---PARAPETTO X-------------------
minetest.register_craft({
type = "shaped",
output = "nodeu:ringhiera_X_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"","nodeu:lamiera_"..colore, },
{"","nodeu:ringhiera_nodeu","", },
{"nodeu:lamiera_"..colore,"","nodeu:lamiera_"..colore, }
}
})
---PARAPETTO L-------------------
minetest.register_craft({
type = "shaped",
output = "nodeu:ringhiera_L_"..colore.."",
recipe = {
{"nodeu:lamiera_"..colore,"","", },
{"nodeu:lamiera_"..colore,"","", },
{"nodeu:ringhiera_nodeu","nodeu:lamiera_"..colore,"nodeu:lamiera_"..colore, }
}
})
---RINGHIERA PER CRAFTARE PARAPETTO------------------------------------------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:ringhiera_nodeu",
recipe ={
{"nodeu:ferro","","nodeu:ferro"},
{"","nodeu:ferro",""},
{"nodeu:ferro","","nodeu:ferro"}
}
})
--RINGHIERA F 4------------------------------------------
minetest.register_craft({
output = "nodeu:ringhiera_f",
recipe = {
{"","",""},
{"","",""},
{"nodeu:ferro","nodeu:ferro",""}
}
})
minetest.register_craft({
output = "nodeu:ringhiera_f_ang",
recipe = {
{"","",""},
{"","","nodeu:ferro"},
{"","nodeu:ferro","nodeu:ferro"}
}
})
---RINGHIERA G 6----------------------------------------------------------------------------------------------
minetest.register_craft({
output = "nodeu:ringhiera_g",
recipe = {
{"","",""},
{"nodeu:ferro","",""},
{"nodeu:ferro","",""}
}
})
minetest.register_craft({
output = "nodeu:ringhiera_g_ang",
recipe = {
{"","",""},
{"nodeu:ferro","",""},
{"nodeu:ferro","nodeu:ferro",""}
}
})
-----------PORTAU------------------------------
minetest.register_craft({
output = "nodeu:portau_"..colore.."_ch",
recipe = {
{"nodeu:ferro", "nodeu:colors_"..colore, "", },
{"nodeu:colors_"..colore, "nodeu:ferro", "", },
{"nodeu:ferro", "nodeu:colors_"..colore, "" }
}
})
----SCALETTA---------------------------
minetest.register_craft({
output = "nodeu:scaletta",
recipe = {
{"nodeu:ferro", "", "", },
{ "nodeu:ferro", "","", },
{"nodeu:ferro", "", "" }
}
})
end

3
depends.txt Normal file
View File

@ -0,0 +1,3 @@
default
dye

476
i18n.py Normal file
View File

@ -0,0 +1,476 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Script to generate the template file and update the translation files.
# Copy the script into the mod or modpack root folder and run it there.
#
# Copyright (C) 2019 Joachim Stolberg, 2020 FaceDeer, 2020 Louis Royer
# LGPLv2.1+
#
# See https://github.com/minetest-tools/update_translations for
# potential future updates to this script.
from __future__ import print_function
import os, fnmatch, re, shutil, errno
from sys import argv as _argv
from sys import stderr as _stderr
# Running params
params = {"recursive": False,
"help": False,
"mods": False,
"verbose": False,
"folders": [],
"no-old-file": False,
"break-long-lines": False,
"sort": False,
"print-source": False,
"truncate-unused": False,
}
# Available CLI options
options = {"recursive": ['--recursive', '-r'],
"help": ['--help', '-h'],
"mods": ['--installed-mods', '-m'],
"verbose": ['--verbose', '-v'],
"no-old-file": ['--no-old-file', '-O'],
"break-long-lines": ['--break-long-lines', '-b'],
"sort": ['--sort', '-s'],
"print-source": ['--print-source', '-p'],
"truncate-unused": ['--truncate-unused', '-t'],
}
# Strings longer than this will have extra space added between
# them in the translation files to make it easier to distinguish their
# beginnings and endings at a glance
doublespace_threshold = 80
def set_params_folders(tab: list):
'''Initialize params["folders"] from CLI arguments.'''
# Discarding argument 0 (tool name)
for param in tab[1:]:
stop_param = False
for option in options:
if param in options[option]:
stop_param = True
break
if not stop_param:
params["folders"].append(os.path.abspath(param))
def set_params(tab: list):
'''Initialize params from CLI arguments.'''
for option in options:
for option_name in options[option]:
if option_name in tab:
params[option] = True
break
def print_help(name):
'''Prints some help message.'''
print(f'''SYNOPSIS
{name} [OPTIONS] [PATHS...]
DESCRIPTION
{', '.join(options["help"])}
prints this help message
{', '.join(options["recursive"])}
run on all subfolders of paths given
{', '.join(options["mods"])}
run on locally installed modules
{', '.join(options["no-old-file"])}
do not create *.old files
{', '.join(options["sort"])}
sort output strings alphabetically
{', '.join(options["break-long-lines"])}
add extra line breaks before and after long strings
{', '.join(options["print-source"])}
add comments denoting the source file
{', '.join(options["verbose"])}
add output information
{', '.join(options["truncate-unused"])}
delete unused strings from files
''')
def main():
'''Main function'''
set_params(_argv)
set_params_folders(_argv)
if params["help"]:
print_help(_argv[0])
elif params["recursive"] and params["mods"]:
print("Option --installed-mods is incompatible with --recursive")
else:
# Add recursivity message
print("Running ", end='')
if params["recursive"]:
print("recursively ", end='')
# Running
if params["mods"]:
print(f"on all locally installed modules in {os.path.expanduser('~/.minetest/mods/')}")
run_all_subfolders(os.path.expanduser("~/.minetest/mods"))
elif len(params["folders"]) >= 2:
print("on folder list:", params["folders"])
for f in params["folders"]:
if params["recursive"]:
run_all_subfolders(f)
else:
update_folder(f)
elif len(params["folders"]) == 1:
print("on folder", params["folders"][0])
if params["recursive"]:
run_all_subfolders(params["folders"][0])
else:
update_folder(params["folders"][0])
else:
print("on folder", os.path.abspath("./"))
if params["recursive"]:
run_all_subfolders(os.path.abspath("./"))
else:
update_folder(os.path.abspath("./"))
#group 2 will be the string, groups 1 and 3 will be the delimiters (" or ')
#See https://stackoverflow.com/questions/46967465/regex-match-text-in-either-single-or-double-quote
pattern_lua_s = re.compile(r'[\.=^\t,{\(\s]N?S\(\s*(["\'])((?:\\\1|(?:(?!\1)).)*)(\1)[\s,\)]', re.DOTALL)
pattern_lua_fs = re.compile(r'[\.=^\t,{\(\s]N?FS\(\s*(["\'])((?:\\\1|(?:(?!\1)).)*)(\1)[\s,\)]', re.DOTALL)
pattern_lua_bracketed_s = re.compile(r'[\.=^\t,{\(\s]N?S\(\s*\[\[(.*?)\]\][\s,\)]', re.DOTALL)
pattern_lua_bracketed_fs = re.compile(r'[\.=^\t,{\(\s]N?FS\(\s*\[\[(.*?)\]\][\s,\)]', re.DOTALL)
# Handles "concatenation" .. " of strings"
pattern_concat = re.compile(r'["\'][\s]*\.\.[\s]*["\']', re.DOTALL)
pattern_tr = re.compile(r'(.*?[^@])=(.*)')
pattern_name = re.compile(r'^name[ ]*=[ ]*([^ \n]*)')
pattern_tr_filename = re.compile(r'\.tr$')
pattern_po_language_code = re.compile(r'(.*)\.po$')
#attempt to read the mod's name from the mod.conf file or folder name. Returns None on failure
def get_modname(folder):
try:
with open(os.path.join(folder, "mod.conf"), "r", encoding='utf-8') as mod_conf:
for line in mod_conf:
match = pattern_name.match(line)
if match:
return match.group(1)
except FileNotFoundError:
if not os.path.isfile(os.path.join(folder, "modpack.txt")):
folder_name = os.path.basename(folder)
# Special case when run in Minetest's builtin directory
if folder_name == "builtin":
return "__builtin"
else:
return folder_name
else:
return None
return None
#If there are already .tr files in /locale, returns a list of their names
def get_existing_tr_files(folder):
out = []
for root, dirs, files in os.walk(os.path.join(folder, 'locale/')):
for name in files:
if pattern_tr_filename.search(name):
out.append(name)
return out
# A series of search and replaces that massage a .po file's contents into
# a .tr file's equivalent
def process_po_file(text):
# The first three items are for unused matches
text = re.sub(r'#~ msgid "', "", text)
text = re.sub(r'"\n#~ msgstr ""\n"', "=", text)
text = re.sub(r'"\n#~ msgstr "', "=", text)
# comment lines
text = re.sub(r'#.*\n', "", text)
# converting msg pairs into "=" pairs
text = re.sub(r'msgid "', "", text)
text = re.sub(r'"\nmsgstr ""\n"', "=", text)
text = re.sub(r'"\nmsgstr "', "=", text)
# various line breaks and escape codes
text = re.sub(r'"\n"', "", text)
text = re.sub(r'"\n', "\n", text)
text = re.sub(r'\\"', '"', text)
text = re.sub(r'\\n', '@n', text)
# remove header text
text = re.sub(r'=Project-Id-Version:.*\n', "", text)
# remove double-spaced lines
text = re.sub(r'\n\n', '\n', text)
return text
# Go through existing .po files and, if a .tr file for that language
# *doesn't* exist, convert it and create it.
# The .tr file that results will subsequently be reprocessed so
# any "no longer used" strings will be preserved.
# Note that "fuzzy" tags will be lost in this process.
def process_po_files(folder, modname):
for root, dirs, files in os.walk(os.path.join(folder, 'locale/')):
for name in files:
code_match = pattern_po_language_code.match(name)
if code_match == None:
continue
language_code = code_match.group(1)
tr_name = f'{modname}.{language_code}.tr'
tr_file = os.path.join(root, tr_name)
if os.path.exists(tr_file):
if params["verbose"]:
print(f"{tr_name} already exists, ignoring {name}")
continue
fname = os.path.join(root, name)
with open(fname, "r", encoding='utf-8') as po_file:
if params["verbose"]:
print(f"Importing translations from {name}")
text = process_po_file(po_file.read())
with open(tr_file, "wt", encoding='utf-8') as tr_out:
tr_out.write(text)
# from https://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python/600612#600612
# Creates a directory if it doesn't exist, silently does
# nothing if it already exists
def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc: # Python >2.5
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else: raise
# Converts the template dictionary to a text to be written as a file
# dKeyStrings is a dictionary of localized string to source file sets
# dOld is a dictionary of existing translations and comments from
# the previous version of this text
def strings_to_text(dkeyStrings, dOld, mod_name, header_comments):
lOut = [f"# textdomain: {mod_name}"]
if header_comments is not None:
lOut.append(header_comments)
dGroupedBySource = {}
for key in dkeyStrings:
sourceList = list(dkeyStrings[key])
if params["sort"]:
sourceList.sort()
sourceString = "\n".join(sourceList)
listForSource = dGroupedBySource.get(sourceString, [])
listForSource.append(key)
dGroupedBySource[sourceString] = listForSource
lSourceKeys = list(dGroupedBySource.keys())
lSourceKeys.sort()
for source in lSourceKeys:
localizedStrings = dGroupedBySource[source]
if params["sort"]:
localizedStrings.sort()
if params["print-source"]:
if lOut[-1] != "":
lOut.append("")
lOut.append(source)
for localizedString in localizedStrings:
val = dOld.get(localizedString, {})
translation = val.get("translation", "")
comment = val.get("comment")
if params["break-long-lines"] and len(localizedString) > doublespace_threshold and not lOut[-1] == "":
lOut.append("")
if comment != None and comment != "" and not comment.startswith("# textdomain:"):
lOut.append(comment)
lOut.append(f"{localizedString}={translation}")
if params["break-long-lines"] and len(localizedString) > doublespace_threshold:
lOut.append("")
unusedExist = False
if not params["truncate-unused"]:
for key in dOld:
if key not in dkeyStrings:
val = dOld[key]
translation = val.get("translation")
comment = val.get("comment")
# only keep an unused translation if there was translated
# text or a comment associated with it
if translation != None and (translation != "" or comment):
if not unusedExist:
unusedExist = True
lOut.append("\n\n##### not used anymore #####\n")
if params["break-long-lines"] and len(key) > doublespace_threshold and not lOut[-1] == "":
lOut.append("")
if comment != None:
lOut.append(comment)
lOut.append(f"{key}={translation}")
if params["break-long-lines"] and len(key) > doublespace_threshold:
lOut.append("")
return "\n".join(lOut) + '\n'
# Writes a template.txt file
# dkeyStrings is the dictionary returned by generate_template
def write_template(templ_file, dkeyStrings, mod_name):
# read existing template file to preserve comments
existing_template = import_tr_file(templ_file)
text = strings_to_text(dkeyStrings, existing_template[0], mod_name, existing_template[2])
mkdir_p(os.path.dirname(templ_file))
with open(templ_file, "wt", encoding='utf-8') as template_file:
template_file.write(text)
# Gets all translatable strings from a lua file
def read_lua_file_strings(lua_file):
lOut = []
with open(lua_file, encoding='utf-8') as text_file:
text = text_file.read()
#TODO remove comments here
text = re.sub(pattern_concat, "", text)
strings = []
for s in pattern_lua_s.findall(text):
strings.append(s[1])
for s in pattern_lua_bracketed_s.findall(text):
strings.append(s)
for s in pattern_lua_fs.findall(text):
strings.append(s[1])
for s in pattern_lua_bracketed_fs.findall(text):
strings.append(s)
for s in strings:
s = re.sub(r'"\.\.\s+"', "", s)
s = re.sub("@[^@=0-9]", "@@", s)
s = s.replace('\\"', '"')
s = s.replace("\\'", "'")
s = s.replace("\n", "@n")
s = s.replace("\\n", "@n")
s = s.replace("=", "@=")
lOut.append(s)
return lOut
# Gets strings from an existing translation file
# returns both a dictionary of translations
# and the full original source text so that the new text
# can be compared to it for changes.
# Returns also header comments in the third return value.
def import_tr_file(tr_file):
dOut = {}
text = None
header_comment = None
if os.path.exists(tr_file):
with open(tr_file, "r", encoding='utf-8') as existing_file :
# save the full text to allow for comparison
# of the old version with the new output
text = existing_file.read()
existing_file.seek(0)
# a running record of the current comment block
# we're inside, to allow preceeding multi-line comments
# to be retained for a translation line
latest_comment_block = None
for line in existing_file.readlines():
line = line.rstrip('\n')
if line.startswith("###"):
if header_comment is None and not latest_comment_block is None:
# Save header comments
header_comment = latest_comment_block
# Strip textdomain line
tmp_h_c = ""
for l in header_comment.split('\n'):
if not l.startswith("# textdomain:"):
tmp_h_c += l + '\n'
header_comment = tmp_h_c
# Reset comment block if we hit a header
latest_comment_block = None
continue
elif line.startswith("#"):
# Save the comment we're inside
if not latest_comment_block:
latest_comment_block = line
else:
latest_comment_block = latest_comment_block + "\n" + line
continue
match = pattern_tr.match(line)
if match:
# this line is a translated line
outval = {}
outval["translation"] = match.group(2)
if latest_comment_block:
# if there was a comment, record that.
outval["comment"] = latest_comment_block
latest_comment_block = None
dOut[match.group(1)] = outval
return (dOut, text, header_comment)
# Walks all lua files in the mod folder, collects translatable strings,
# and writes it to a template.txt file
# Returns a dictionary of localized strings to source file sets
# that can be used with the strings_to_text function.
def generate_template(folder, mod_name):
dOut = {}
for root, dirs, files in os.walk(folder):
for name in files:
if fnmatch.fnmatch(name, "*.lua"):
fname = os.path.join(root, name)
found = read_lua_file_strings(fname)
if params["verbose"]:
print(f"{fname}: {str(len(found))} translatable strings")
for s in found:
sources = dOut.get(s, set())
sources.add(f"### {os.path.basename(fname)} ###")
dOut[s] = sources
if len(dOut) == 0:
return None
templ_file = os.path.join(folder, "locale/template.txt")
write_template(templ_file, dOut, mod_name)
return dOut
# Updates an existing .tr file, copying the old one to a ".old" file
# if any changes have happened
# dNew is the data used to generate the template, it has all the
# currently-existing localized strings
def update_tr_file(dNew, mod_name, tr_file):
if params["verbose"]:
print(f"updating {tr_file}")
tr_import = import_tr_file(tr_file)
dOld = tr_import[0]
textOld = tr_import[1]
textNew = strings_to_text(dNew, dOld, mod_name, tr_import[2])
if textOld and textOld != textNew:
print(f"{tr_file} has changed.")
if not params["no-old-file"]:
shutil.copyfile(tr_file, f"{tr_file}.old")
with open(tr_file, "w", encoding='utf-8') as new_tr_file:
new_tr_file.write(textNew)
# Updates translation files for the mod in the given folder
def update_mod(folder):
modname = get_modname(folder)
if modname is not None:
process_po_files(folder, modname)
print(f"Updating translations for {modname}")
data = generate_template(folder, modname)
if data == None:
print(f"No translatable strings found in {modname}")
else:
for tr_file in get_existing_tr_files(folder):
update_tr_file(data, modname, os.path.join(folder, "locale/", tr_file))
else:
print(f"\033[31mUnable to find modname in folder {folder}.\033[0m", file=_stderr)
exit(1)
# Determines if the folder being pointed to is a mod or a mod pack
# and then runs update_mod accordingly
def update_folder(folder):
is_modpack = os.path.exists(os.path.join(folder, "modpack.txt")) or os.path.exists(os.path.join(folder, "modpack.conf"))
if is_modpack:
subfolders = [f.path for f in os.scandir(folder) if f.is_dir() and not f.name.startswith('.')]
for subfolder in subfolders:
update_mod(subfolder)
else:
update_mod(folder)
print("Done.")
def run_all_subfolders(folder):
for modfolder in [f.path for f in os.scandir(folder) if f.is_dir() and not f.name.startswith('.')]:
update_folder(modfolder)
main()

34
init.lua Normal file
View File

@ -0,0 +1,34 @@
nodeu = {} -- A global Object for the mod
nodeu.path = minetest.get_modpath("nodeu")
local path = minetest.get_modpath("nodeu")
local S
if(minetest.get_translator) then
S = minetest.get_translator(minetest.get_current_modname())
else
S = function ( s ) return s end
end
nodeu.S = S
if minetest.get_modpath("letters") then
dofile(path.."/letters.lua")
end
dofile(path.."/portau.lua")
dofile(path.."/scala_metal.lua")
dofile(path.."/ringhiere.lua")
dofile(path.."/scaletta.lua")
dofile(path.."/craft.lua")
dofile(path.."/colors.lua")

12
letters.lua Normal file
View File

@ -0,0 +1,12 @@
if minetest.get_modpath("letters") then
letters.register_letters("nodeu", "nodo_scala_red", "nodeu:nodo_scala_red", "Metal_block red", "scalaa_red.png")
letters.register_letters("nodeu", "nodo_scala_orange", "nodeu:nodo_scala_oramge", "Metal_block orange", "scalaa_orange.png")
letters.register_letters("nodeu", "nodo_scala_green", "nodeu:nodo_scala_green", "Metal_block green", "scalaa_green.png")
letters.register_letters("nodeu", "nodo_scala_grey", "nodeu:nodo_scala_grey", "Metal_block grey", "scalaa_grey.png")
letters.register_letters("nodeu", "nodo_scala_yellow", "nodeu:nodo_scala_yellow", "Metal_block yellow", "scalaa_yellow.png")
letters.register_letters("nodeu", "nodo_scala_blue", "nodeu:nodo_scala_blue", "Metal_block blue", "scalaa_blue.png")
letters.register_letters("nodeu", "nodo_scala_black", "nodeu:nodo_scala_black", "Metal_block black", "scalaa_black.png")
letters.register_letters("nodeu", "nodo_scala_violet", "nodeu:nodo_scala_violet", "Metal_block violet", "scalaa_violet.png")
letters.register_letters("nodeu", "nodo_scala_white", "nodeu:nodo_scala_white", "Metal_block white", "scalaa_white.png")
letters.register_letters("nodeu", "nodo_scala_cyan", "nodeu:nodo_scala_cyan", "Metal_block cyan", "scalaa_cyan.png")
end

63
locale/nodeu.it.tr Normal file
View File

@ -0,0 +1,63 @@
# textdomain: nodeu
Red Color=Colore rosso
Orange Color=Colore arancione
Grey Color=Colore grigio
Yellow Color=Colore giallo
Green Color=Colore verde
Blue Color=Colore blu
Violet Color=Colore viola
Black Color=Colore nero
White Color=Colore bianco
Cyan Color=Colore ciano
small bottle=Boccetta_
Red Sheet metal= Lamiera rossa
Orange Sheet metal=Lamiera arancione
Grey Sheet metal=Lamiera grigia
Yellow Sheet metal=Lamiera gialla
Green Sheet metal=Lamiera verde
Blue Sheet metal=Lamiera blu
Violet Sheet metal=Lamiera viola
Black Sheet metal=Lamiera nera
White Sheet metal=Lamiera bianca
Cyan Sheet metal=Lamiera ciano
Sheet metal white=Lamiera bianca
lightspot_w_=Faretto per blocco_
Railing panel NU= Pannello della ringhiera NU_
Iron_bar=Barra di ferro
Red DoorU=PortaU rossa
Orange DoorU=PortaU arancione
Cyan DoorU=PortaU ciano
Yellow DoorU=PortaU gialla
Green DoorU=PortaU verde
Blue DoorU=PortaU blu
Violet DoorU=PortaU viola
Black DoorU=PortaU nera
White DoorU=PortaU bianca
Grey DoorU=PortaU grigia
machined railing=Ringhiera lavorata
corner machined railing=Angolo della Ringhiera lavorata
machined railing 2=Ringhiera lavorata 2
corner machined railing 2=Angolo della Ringhiera lavorata 2
Red_Metal=Metallo rosso
Orange_Metal=Metallo arancione
Grey_Metal=Metallo grigio
Yellow_Metal=Metallo giallo
Green_Metal=Metallo verde
Blue_Metal=Metallo blu
Black_Metal=Metallo nero
white_Metal=Metallo bianco
Violet_Metal=Metallo viola
Cyan_Metal=Metallo ciano
Stair = Scala_
Railing support =Scala con supporto ringhiera_
Landing of the staircase =Pianerottolo della scalinata_
Railing stair NU = Ringhiera della scala NU_
Corner railing stair = Angolo ringhiera della scala_
Stair railing crossing=Incrocio ringhiera della scala_
Metal_blocK =Blocco di metallo_
Spotlight =Faretto_
Block whit spotlight=Blocco di metallo con faretto_
Metal ladder whit handrail=Scaletta con passamano_

54
locale/nodeu.it.tr.old Normal file
View File

@ -0,0 +1,54 @@
# textdomain: nodeu
Red Color=Colore rosso
Orange Color=Colore arancione
Grey Color=Colore grigio
Yellow Color=Colore giallo
Green Color=Colore verde
Blue Color=Colore blu
Violet Color=Colore viola
Black Color=Colore nero
White Color=Colore bianco
Cyan Color=Colore ciano
small bottle=Boccetta
Red Sheet metal= Lamiera rossa
Orange Sheet metal=Lamiera arancione
Grey Sheet metal=Lamiera grigia
Yellow Sheet metal=Lamiera gialla
Green Sheet metal=Lamiera verde
Blue Sheet metal=Lamiera blu
Violet Sheet metal=Lamiera viola
Black Sheet metal=Lamiera nera
White Sheet metal=Lamiera bianca
Cyan Sheet metal=Lamiera ciano
Sheet metal white=Lamiera bianca
Iron_bar=Barra di ferro
Red DoorU=PortaU rossa
Orange DoorU=PortaU arancione
Cyan DoorU=PortaU ciano
Yellow DoorU=PortaU gialla
Green DoorU=PortaU verde
Blue DoorU=PortaU blu
Violet DoorU=PortaU viola
Black DoorU=PortaU nera
White DoorU=PortaU bianca
Grey DoorU=PortaU grigia
machined railing=Ringhiera lavorata
corner machined railing=Angolo della Ringhiera lavorata
machined railing 2=Ringhiera lavorata 2
corner machined railing 2=Angolo della Ringhiera lavorata 2
Red_Metal=Metallo rosso
Orange_Metal=Metallo arancione
Grey_Metal=Metallo grigio
Yellow_Metal=Metallo giallo
Green_Metal=Metallo verde
Blue_Metal=Metallo blu
Black_Metal=Metallo nero
white_Metal=Metallo bianco
Violet_Metal=Metallo viola
Cyan_Metal=Metallo ciano
Metal ladder whit handrail=Scaletta con passamano
##### not used anymore #####
red=Rosso

59
locale/template.txt Normal file
View File

@ -0,0 +1,59 @@
# textdomain: nodeu
Orange Color=
Grey Color=
Yellow Color=
Green Color=
Blue Color=
Violet Color=
Black Color=
White Color=
Cyan Color=
small bottle=
Red Sheet metal=
Orange Sheet metal=
Grey Sheet metal=
Yellow Sheet metal=
Green Sheet metal=
Blue Sheet metal=
Violet Sheet metal=
Black Sheet metal=
White Sheet metal=
Cyan Sheet metal=
Sheet metal white=
lightspot_w_=
Railing NU=
Iron_bar=
Red DoorU=
Orange DoorU=
Cyan DoorU=
Yellow DoorU=
Green DoorU=
Blue DoorU=
Violet DoorU=
Black DoorU=
White DoorU=
Grey DoorU=
machined railing=
corner machined railing=
machined railing 2=
corner machined railing 2=
Red_Metal=
Orange_Metal=
Grey_Metal=
Yellow_Metal=
Green_Metal=
Blue_Metal=
Black_Metal=
white_Metal=
Violet_Metal=
Cyan_Metal=
Stair =
Railing support =
Landing of the staircase =
Railing stair =
Corner railing stair =
Stair railing crossing=
Metal_blocK =
Spotlight =
Block whit spotlight=
Metal ladder whit handrail=

7
mod.conf Normal file
View File

@ -0,0 +1,7 @@
name = nodeu
depends = default
optional_depends = letters
author = ulla
title = Nodeu
description = Metal block stair railing and spotlight colored
release =

4
models/.directory Normal file
View File

@ -0,0 +1,4 @@
[Dolphin]
PreviewsShown=true
Timestamp=2017,1,12,14,53,12
Version=3

12
models/faretto_s.mtl Normal file
View File

@ -0,0 +1,12 @@
# Blender MTL File: 'faretto_model.blend'
# Material Count: 1
newmtl Default_OBJ
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

364
models/faretto_s.obj Normal file
View File

@ -0,0 +1,364 @@
# Blender v2.81 (sub 16) OBJ File: 'faretto_model.blend'
# www.blender.org
mtllib faretto_s.mtl
o faretto_basso_faretto_basso9
v 0.085798 -0.500932 -0.431336
v 0.085798 -0.500932 0.431335
v 0.168299 -0.500932 0.406309
v 0.244332 -0.500932 0.365668
v 0.310976 -0.500932 0.310975
v 0.365669 -0.500932 0.244332
v 0.406309 -0.500932 0.168298
v 0.431336 -0.500932 0.085798
v 0.439786 -0.500932 -0.000000
v 0.431336 -0.500932 -0.085798
v 0.406309 -0.500932 -0.168299
v 0.365669 -0.500932 -0.244332
v 0.310976 -0.500932 -0.310976
v 0.244332 -0.500932 -0.365669
v 0.168299 -0.500932 -0.406309
v 0.000000 -0.500932 0.439786
v -0.085798 -0.500932 0.431335
v -0.168299 -0.500932 0.406309
v -0.244332 -0.500932 0.365668
v -0.310976 -0.500932 0.310975
v -0.365669 -0.500932 0.244332
v -0.406309 -0.500932 0.168298
v -0.431336 -0.500932 0.085798
v -0.439786 -0.500932 -0.000000
v -0.431336 -0.500932 -0.085798
v -0.406309 -0.500932 -0.168299
v -0.365669 -0.500932 -0.244332
v -0.310976 -0.500932 -0.310976
v -0.244332 -0.500932 -0.365669
v -0.168299 -0.500932 -0.406309
v -0.085798 -0.500932 -0.431336
v 0.000000 -0.500932 -0.439786
v 0.079523 -0.468055 -0.399790
v 0.079523 -0.468055 0.399789
v 0.155990 -0.468055 0.376593
v 0.226463 -0.468055 0.338925
v 0.288232 -0.468055 0.288232
v 0.338925 -0.468055 0.226462
v 0.376593 -0.468055 0.155990
v 0.399790 -0.468055 0.079523
v 0.407622 -0.468055 -0.000000
v 0.399789 -0.468055 -0.079523
v 0.376593 -0.468055 -0.155990
v 0.338925 -0.468055 -0.226463
v 0.288232 -0.468055 -0.288232
v 0.226463 -0.468055 -0.338925
v 0.155990 -0.468055 -0.376594
v 0.000000 -0.468055 0.407622
v -0.079523 -0.468055 0.399789
v -0.155990 -0.468055 0.376593
v -0.226463 -0.468055 0.338925
v -0.288232 -0.468055 0.288232
v -0.338925 -0.468055 0.226462
v -0.376593 -0.468055 0.155990
v -0.399790 -0.468055 0.079523
v -0.407622 -0.468055 -0.000000
v -0.399789 -0.468055 -0.079523
v -0.376593 -0.468055 -0.155990
v -0.338925 -0.468055 -0.226463
v -0.288232 -0.468055 -0.288232
v -0.226463 -0.468055 -0.338925
v -0.155990 -0.468055 -0.376594
v -0.079523 -0.468055 -0.399790
v 0.000000 -0.468055 -0.407622
vt 0.571071 0.857300
vt 0.639411 0.836569
vt 0.702394 0.802904
vt 0.757599 0.757599
vt 0.802904 0.702394
vt 0.836569 0.639411
vt 0.857300 0.571071
vt 0.864300 0.500000
vt 0.857300 0.428929
vt 0.836569 0.360589
vt 0.802904 0.297606
vt 0.757599 0.242402
vt 0.702394 0.197096
vt 0.639411 0.163431
vt 0.571071 0.142701
vt 0.500000 0.135701
vt 0.428929 0.142701
vt 0.360589 0.163431
vt 0.297606 0.197096
vt 0.242401 0.242402
vt 0.197096 0.297606
vt 0.163431 0.360589
vt 0.142700 0.428929
vt 0.135701 0.500000
vt 0.142700 0.571071
vt 0.163431 0.639411
vt 0.197096 0.702394
vt 0.242401 0.757599
vt 0.297606 0.802904
vt 0.360589 0.836569
vt 0.428929 0.857300
vt 0.500000 0.864299
vt 0.315137 0.500000
vt 0.318689 0.463935
vt 0.329209 0.429256
vt 0.346292 0.397296
vt 0.369282 0.369282
vt 0.397296 0.346292
vt 0.429256 0.329209
vt 0.463935 0.318689
vt 0.500000 0.315137
vt 0.536065 0.318689
vt 0.570744 0.329209
vt 0.602704 0.346292
vt 0.630718 0.369282
vt 0.653708 0.397296
vt 0.670791 0.429256
vt 0.681311 0.463935
vt 0.684863 0.500000
vt 0.681311 0.536065
vt 0.670791 0.570744
vt 0.653708 0.602704
vt 0.630718 0.630718
vt 0.602704 0.653708
vt 0.570744 0.670791
vt 0.536065 0.681311
vt 0.500000 0.684863
vt 0.463935 0.681311
vt 0.429256 0.670791
vt 0.397296 0.653708
vt 0.369282 0.630718
vt 0.346292 0.602704
vt 0.329209 0.570744
vt 0.318689 0.536065
vt 0.258624 0.661282
vt 0.294727 0.705273
vt 0.790300 0.500000
vt 0.784722 0.443365
vt 0.215278 0.443365
vt 0.209700 0.500000
vt 0.611093 0.768203
vt 0.661282 0.741376
vt 0.338718 0.741376
vt 0.705273 0.705273
vt 0.388907 0.768203
vt 0.443365 0.784722
vt 0.768203 0.611093
vt 0.784722 0.556635
vt 0.741376 0.338718
vt 0.705273 0.294727
vt 0.741376 0.661282
vt 0.661282 0.258624
vt 0.500000 0.790300
vt 0.556635 0.784722
vt 0.443365 0.215278
vt 0.388907 0.231798
vt 0.556635 0.215278
vt 0.500000 0.209700
vt 0.338718 0.258624
vt 0.611093 0.231798
vt 0.215278 0.556635
vt 0.231797 0.611093
vt 0.294727 0.294727
vt 0.258624 0.338718
vt 0.231797 0.388907
vt 0.768203 0.388907
vt 0.455444 0.723997
vt 0.500000 0.728386
vt 0.544556 0.723997
vt 0.338507 0.661493
vt 0.661493 0.661493
vt 0.587399 0.711001
vt 0.626884 0.689896
vt 0.426691 0.868549
vt 0.500000 0.875769
vt 0.573309 0.868549
vt 0.373116 0.689896
vt 0.412601 0.711001
vt 0.310104 0.626884
vt 0.689896 0.626884
vt 0.276003 0.544556
vt 0.757353 0.606599
vt 0.773204 0.554344
vt 0.731611 0.654758
vt 0.723997 0.544556
vt 0.226796 0.554344
vt 0.242647 0.606599
vt 0.268389 0.654758
vt 0.271615 0.500000
vt 0.728385 0.500000
vt 0.288999 0.412601
vt 0.723997 0.455444
vt 0.242647 0.393401
vt 0.226796 0.445657
vt 0.221443 0.500000
vt 0.711001 0.412601
vt 0.310104 0.373116
vt 0.689896 0.373116
vt 0.338507 0.338507
vt 0.661493 0.338507
vt 0.373116 0.310105
vt 0.626884 0.310105
vt 0.412601 0.289000
vt 0.587399 0.289000
vt 0.500000 0.271615
vt 0.544556 0.276003
vt 0.455444 0.276003
vt 0.234291 0.765709
vt 0.291234 0.812440
vt 0.356199 0.847165
vt 0.708766 0.812440
vt 0.765709 0.765709
vt 0.643801 0.847165
vt 0.187560 0.708766
vt 0.812440 0.708766
vt 0.868549 0.573309
vt 0.152835 0.356200
vt 0.124231 0.500000
vt 0.131451 0.573309
vt 0.152835 0.643801
vt 0.875769 0.500000
vt 0.847165 0.356200
vt 0.868549 0.426691
vt 0.131451 0.426691
vt 0.187560 0.291234
vt 0.812440 0.291234
vt 0.234291 0.234292
vt 0.765709 0.234292
vt 0.291234 0.187560
vt 0.708766 0.187560
vt 0.356200 0.152835
vt 0.643800 0.152835
vt 0.500000 0.124231
vt 0.573309 0.131452
vt 0.426691 0.131452
vt 0.847165 0.643801
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -0.5539 0.6976 -0.4545
vn 0.7130 0.6976 0.0702
vn -0.7130 0.6976 0.0702
vn 0.3378 0.6976 -0.6319
vn -0.4545 0.6976 -0.5539
vn 0.4545 0.6976 -0.5539
vn -0.2080 0.6976 -0.6856
vn 0.6856 0.6976 -0.2080
vn -0.3378 0.6976 -0.6319
vn 0.5539 0.6976 0.4545
vn 0.6319 0.6976 -0.3378
vn 0.4545 0.6976 0.5539
vn 0.0702 0.6976 -0.7130
vn 0.2080 0.6976 -0.6856
vn -0.2080 0.6976 0.6856
vn 0.0702 0.6976 0.7130
vn -0.0702 0.6976 -0.7130
vn -0.3378 0.6976 0.6319
vn 0.2080 0.6976 0.6856
vn -0.6856 0.6976 -0.2080
vn -0.0702 0.6976 0.7130
vn 0.3378 0.6976 0.6319
vn -0.4545 0.6976 0.5539
vn -0.7130 0.6976 -0.0702
vn 0.7130 0.6976 -0.0702
vn -0.5539 0.6976 0.4545
vn -0.6319 0.6976 0.3378
vn 0.6319 0.6976 0.3378
vn -0.6856 0.6976 0.2080
vn 0.6856 0.6976 0.2080
vn -0.6319 0.6976 -0.3378
vn 0.5539 0.6976 -0.4545
usemtl Default_OBJ
s off
f 1/1/1 15/2/1 14/3/1 13/4/1 12/5/1 11/6/1 10/7/1 9/8/1 8/9/1 7/10/1 6/11/1 5/12/1 4/13/1 3/14/1 2/15/1 16/16/1 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1 25/25/1 26/26/1 27/27/1 28/28/1 29/29/1 30/30/1 31/31/1 32/32/1
f 56/33/2 55/34/2 54/35/2 53/36/2 52/37/2 51/38/2 50/39/2 49/40/2 48/41/2 34/42/2 35/43/2 36/44/2 37/45/2 38/46/2 39/47/2 40/48/2 41/49/2 42/50/2 43/51/2 44/52/2 45/53/2 46/54/2 47/55/2 33/56/2 64/57/2 63/58/2 62/59/2 61/60/2 60/61/2 59/62/2 58/63/2 57/64/2
f 28/28/3 27/27/3 59/65/3 60/66/3
f 8/9/4 9/8/4 41/67/4 40/68/4
f 24/24/5 23/23/5 55/69/5 56/70/5
f 14/3/6 15/2/6 47/71/6 46/72/6
f 29/29/7 28/28/7 60/66/7 61/73/7
f 13/4/8 14/3/8 46/72/8 45/74/8
f 31/31/9 30/30/9 62/75/9 63/76/9
f 10/7/10 11/6/10 43/77/10 42/78/10
f 30/30/11 29/29/11 61/73/11 62/75/11
f 5/12/12 6/11/12 38/79/12 37/80/12
f 11/6/13 12/5/13 44/81/13 43/77/13
f 4/13/14 5/12/14 37/80/14 36/82/14
f 1/1/15 32/32/15 64/83/15 33/84/15
f 15/2/16 1/1/16 33/84/16 47/71/16
f 18/18/17 17/17/17 49/85/17 50/86/17
f 16/16/18 2/15/18 34/87/18 48/88/18
f 32/32/19 31/31/19 63/76/19 64/83/19
f 19/19/20 18/18/20 50/86/20 51/89/20
f 2/15/21 3/14/21 35/90/21 34/87/21
f 26/26/22 25/25/22 57/91/22 58/92/22
f 17/17/23 16/16/23 48/88/23 49/85/23
f 3/14/24 4/13/24 36/82/24 35/90/24
f 20/20/25 19/19/25 51/89/25 52/93/25
f 25/25/26 24/24/26 56/70/26 57/91/26
f 9/8/27 10/7/27 42/78/27 41/67/27
f 21/21/28 20/20/28 52/93/28 53/94/28
f 22/22/29 21/21/29 53/94/29 54/95/29
f 6/11/30 7/10/30 39/96/30 38/79/30
f 23/23/31 22/22/31 54/95/31 55/69/31
f 7/10/32 8/9/32 40/68/32 39/96/32
f 27/27/33 26/26/33 58/92/33 59/65/33
f 12/5/34 13/4/34 45/74/34 44/81/34
f 63/97/1 64/98/1 33/99/1
f 33/99/1 60/100/1 63/97/1
f 33/99/1 45/101/1 60/100/1
f 33/99/1 47/102/1 45/101/1
f 46/103/1 45/101/1 47/102/1
f 31/104/1 32/105/1 1/106/1
f 60/100/1 61/107/1 62/108/1
f 59/109/1 60/100/1 45/101/1
f 59/109/1 45/101/1 44/110/1
f 44/110/1 57/111/1 59/109/1
f 43/112/1 42/113/1 44/114/1
f 44/110/1 42/115/1 57/111/1
f 57/116/1 58/117/1 59/118/1
f 56/119/1 57/111/1 42/115/1
f 56/119/1 42/115/1 41/120/1
f 41/120/1 54/121/1 56/119/1
f 40/122/1 54/121/1 41/120/1
f 54/123/1 55/124/1 56/125/1
f 39/126/1 53/127/1 40/122/1
f 60/100/1 62/108/1 63/97/1
f 53/127/1 39/126/1 38/128/1
f 52/129/1 53/127/1 38/128/1
f 52/129/1 38/128/1 37/130/1
f 51/131/1 52/129/1 37/130/1
f 51/131/1 37/130/1 36/132/1
f 50/133/1 51/131/1 36/132/1
f 50/133/1 36/132/1 35/134/1
f 35/134/1 48/135/1 50/133/1
f 34/136/1 48/135/1 35/134/1
f 48/135/1 49/137/1 50/133/1
f 53/127/1 54/121/1 40/122/1
f 1/106/1 28/138/1 31/104/1
f 28/138/1 29/139/1 30/140/1
f 14/141/1 13/142/1 15/143/1
f 28/138/1 30/140/1 31/104/1
f 28/138/1 1/106/1 13/142/1
f 27/144/1 28/138/1 13/142/1
f 13/142/1 1/106/1 15/143/1
f 13/142/1 12/145/1 10/146/1
f 22/147/1 24/148/1 25/149/1
f 25/149/1 26/150/1 27/144/1
f 25/149/1 13/142/1 10/146/1
f 10/146/1 22/147/1 25/149/1
f 9/151/1 7/152/1 10/146/1
f 7/152/1 22/147/1 10/146/1
f 9/151/1 8/153/1 7/152/1
f 23/154/1 24/148/1 22/147/1
f 25/149/1 27/144/1 13/142/1
f 21/155/1 22/147/1 7/152/1
f 21/155/1 7/152/1 6/156/1
f 20/157/1 21/155/1 6/156/1
f 20/157/1 6/156/1 5/158/1
f 19/159/1 20/157/1 5/158/1
f 19/159/1 5/158/1 4/160/1
f 18/161/1 19/159/1 4/160/1
f 18/161/1 4/160/1 3/162/1
f 3/162/1 16/163/1 18/161/1
f 2/164/1 16/163/1 3/162/1
f 16/163/1 17/165/1 18/161/1
f 12/145/1 11/166/1 10/146/1

12
models/faretto_sl.mtl Normal file
View File

@ -0,0 +1,12 @@
# Blender MTL File: 'faretto_model.blend'
# Material Count: 1
newmtl Default_OBJ
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

326
models/faretto_sl.obj Normal file
View File

@ -0,0 +1,326 @@
# Blender v2.81 (sub 16) OBJ File: 'faretto_model.blend'
# www.blender.org
mtllib faretto_sl.mtl
o faretto_basso_faretto_basso9
v 0.085798 -0.500932 -0.431336
v 0.085798 -0.500932 0.431335
v 0.168299 -0.500932 0.406309
v 0.244332 -0.500932 0.365668
v 0.310976 -0.500932 0.310975
v 0.365669 -0.500932 0.244332
v 0.406309 -0.500932 0.168298
v 0.431336 -0.500932 0.085798
v 0.439786 -0.500932 -0.000000
v 0.431336 -0.500932 -0.085798
v 0.406309 -0.500932 -0.168299
v 0.365669 -0.500932 -0.244332
v 0.310976 -0.500932 -0.310976
v 0.244332 -0.500932 -0.365669
v 0.168299 -0.500932 -0.406309
v 0.000000 -0.500932 0.439786
v -0.085798 -0.500932 0.431335
v -0.168299 -0.500932 0.406309
v -0.244332 -0.500932 0.365668
v -0.310976 -0.500932 0.310975
v -0.365669 -0.500932 0.244332
v -0.406309 -0.500932 0.168298
v -0.431336 -0.500932 0.085798
v -0.439786 -0.500932 -0.000000
v -0.431336 -0.500932 -0.085798
v -0.406309 -0.500932 -0.168299
v -0.365669 -0.500932 -0.244332
v -0.310976 -0.500932 -0.310976
v -0.244332 -0.500932 -0.365669
v -0.168299 -0.500932 -0.406309
v -0.085798 -0.500932 -0.431336
v 0.000000 -0.500932 -0.439786
v 0.079523 -0.468055 -0.399790
v 0.079523 -0.468055 0.399789
v 0.155990 -0.468055 0.376593
v 0.226463 -0.468055 0.338925
v 0.288232 -0.468055 0.288232
v 0.338925 -0.468055 0.226462
v 0.376593 -0.468055 0.155990
v 0.399790 -0.468055 0.079523
v 0.407622 -0.468055 -0.000000
v 0.399789 -0.468055 -0.079523
v 0.376593 -0.468055 -0.155990
v 0.338925 -0.468055 -0.226463
v 0.288232 -0.468055 -0.288232
v 0.226463 -0.468055 -0.338925
v 0.155990 -0.468055 -0.376594
v 0.000000 -0.468055 0.407622
v -0.079523 -0.468055 0.399789
v -0.155990 -0.468055 0.376593
v -0.226463 -0.468055 0.338925
v -0.288232 -0.468055 0.288232
v -0.338925 -0.468055 0.226462
v -0.376593 -0.468055 0.155990
v -0.399790 -0.468055 0.079523
v -0.407622 -0.468055 -0.000000
v -0.399789 -0.468055 -0.079523
v -0.376593 -0.468055 -0.155990
v -0.338925 -0.468055 -0.226463
v -0.288232 -0.468055 -0.288232
v -0.226463 -0.468055 -0.338925
v -0.155990 -0.468055 -0.376594
v -0.079523 -0.468055 -0.399790
v 0.000000 -0.468055 -0.407622
vt 0.590165 0.953289
vt 0.676865 0.926989
vt 0.756768 0.884280
vt 0.826803 0.826804
vt 0.884280 0.756768
vt 0.926989 0.676865
vt 0.953289 0.590165
vt 0.962170 0.500000
vt 0.953289 0.409835
vt 0.926989 0.323136
vt 0.884280 0.243232
vt 0.826803 0.173197
vt 0.756768 0.115720
vt 0.676865 0.073011
vt 0.590165 0.046711
vt 0.500000 0.037830
vt 0.409835 0.046711
vt 0.323135 0.073011
vt 0.243232 0.115720
vt 0.173196 0.173197
vt 0.115720 0.243232
vt 0.073011 0.323136
vt 0.046711 0.409835
vt 0.037830 0.500000
vt 0.046711 0.590165
vt 0.073011 0.676865
vt 0.115720 0.756768
vt 0.173196 0.826804
vt 0.243232 0.884280
vt 0.323135 0.926989
vt 0.409835 0.953289
vt 0.500000 0.962170
vt 0.071631 0.500000
vt 0.079862 0.416430
vt 0.104239 0.336071
vt 0.143825 0.262011
vt 0.197098 0.197098
vt 0.262011 0.143825
vt 0.336070 0.104239
vt 0.416430 0.079863
vt 0.500000 0.071632
vt 0.583571 0.079863
vt 0.663930 0.104239
vt 0.737989 0.143825
vt 0.802902 0.197098
vt 0.856175 0.262011
vt 0.895761 0.336071
vt 0.920138 0.416430
vt 0.928369 0.500000
vt 0.920138 0.583571
vt 0.895761 0.663930
vt 0.856175 0.737989
vt 0.802902 0.802902
vt 0.737989 0.856176
vt 0.663930 0.895761
vt 0.583571 0.920138
vt 0.500000 0.928369
vt 0.416429 0.920138
vt 0.336070 0.895761
vt 0.262011 0.856176
vt 0.197098 0.802902
vt 0.143825 0.737989
vt 0.104239 0.663930
vt 0.079862 0.583571
vt 0.431882 0.842454
vt 0.500000 0.849163
vt 0.568118 0.842454
vt 0.253105 0.746895
vt 0.746895 0.746895
vt 0.633619 0.822584
vt 0.693984 0.790318
vt 0.406996 0.967561
vt 0.500000 0.976721
vt 0.593004 0.967561
vt 0.306016 0.790318
vt 0.366381 0.822584
vt 0.209682 0.693984
vt 0.790318 0.693984
vt 0.157547 0.568118
vt 0.822584 0.633619
vt 0.842453 0.568118
vt 0.177416 0.633619
vt 0.150837 0.500000
vt 0.849163 0.500000
vt 0.177416 0.366382
vt 0.842454 0.431882
vt 0.157546 0.431882
vt 0.822584 0.366382
vt 0.209682 0.306016
vt 0.790318 0.306016
vt 0.253105 0.253105
vt 0.746895 0.253105
vt 0.306016 0.209682
vt 0.693984 0.209682
vt 0.366381 0.177416
vt 0.633619 0.177416
vt 0.500000 0.150838
vt 0.568118 0.157547
vt 0.431882 0.157547
vt 0.162908 0.837093
vt 0.235148 0.896379
vt 0.317567 0.940433
vt 0.764852 0.896379
vt 0.837092 0.837093
vt 0.682433 0.940433
vt 0.103621 0.764852
vt 0.896379 0.764852
vt 0.967561 0.593004
vt 0.059568 0.317567
vt 0.023279 0.500000
vt 0.032439 0.593004
vt 0.059568 0.682433
vt 0.976721 0.500000
vt 0.940432 0.317567
vt 0.967561 0.406997
vt 0.032439 0.406997
vt 0.103621 0.235148
vt 0.896379 0.235148
vt 0.162908 0.162908
vt 0.837092 0.162908
vt 0.235148 0.103621
vt 0.764852 0.103621
vt 0.317567 0.059568
vt 0.682433 0.059568
vt 0.500000 0.023280
vt 0.593004 0.032440
vt 0.406996 0.032440
vt 0.940432 0.682433
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -0.5539 0.6976 -0.4545
vn 0.7130 0.6976 0.0702
vn -0.7130 0.6976 0.0702
vn 0.3378 0.6976 -0.6319
vn -0.4545 0.6976 -0.5539
vn 0.4545 0.6976 -0.5539
vn -0.2080 0.6976 -0.6856
vn 0.6856 0.6976 -0.2080
vn -0.3378 0.6976 -0.6319
vn 0.5539 0.6976 0.4545
vn 0.6319 0.6976 -0.3378
vn 0.4545 0.6976 0.5539
vn 0.0702 0.6976 -0.7130
vn 0.2080 0.6976 -0.6856
vn -0.2080 0.6976 0.6856
vn 0.0702 0.6976 0.7130
vn -0.0702 0.6976 -0.7130
vn -0.3378 0.6976 0.6319
vn 0.2080 0.6976 0.6856
vn -0.6856 0.6976 -0.2080
vn -0.0702 0.6976 0.7130
vn 0.3378 0.6976 0.6319
vn -0.4545 0.6976 0.5539
vn -0.7130 0.6976 -0.0702
vn 0.7130 0.6976 -0.0702
vn -0.5539 0.6976 0.4545
vn -0.6319 0.6976 0.3378
vn 0.6319 0.6976 0.3378
vn -0.6856 0.6976 0.2080
vn 0.6856 0.6976 0.2080
vn -0.6319 0.6976 -0.3378
vn 0.5539 0.6976 -0.4545
usemtl Default_OBJ
s off
f 1/1/1 15/2/1 14/3/1 13/4/1 12/5/1 11/6/1 10/7/1 9/8/1 8/9/1 7/10/1 6/11/1 5/12/1 4/13/1 3/14/1 2/15/1 16/16/1 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1 25/25/1 26/26/1 27/27/1 28/28/1 29/29/1 30/30/1 31/31/1 32/32/1
f 56/33/2 55/34/2 54/35/2 53/36/2 52/37/2 51/38/2 50/39/2 49/40/2 48/41/2 34/42/2 35/43/2 36/44/2 37/45/2 38/46/2 39/47/2 40/48/2 41/49/2 42/50/2 43/51/2 44/52/2 45/53/2 46/54/2 47/55/2 33/56/2 64/57/2 63/58/2 62/59/2 61/60/2 60/61/2 59/62/2 58/63/2 57/64/2
f 28/28/3 27/27/3 59/62/3 60/61/3
f 8/9/4 9/8/4 41/49/4 40/48/4
f 24/24/5 23/23/5 55/34/5 56/33/5
f 14/3/6 15/2/6 47/55/6 46/54/6
f 29/29/7 28/28/7 60/61/7 61/60/7
f 13/4/8 14/3/8 46/54/8 45/53/8
f 31/31/9 30/30/9 62/59/9 63/58/9
f 10/7/10 11/6/10 43/51/10 42/50/10
f 30/30/11 29/29/11 61/60/11 62/59/11
f 5/12/12 6/11/12 38/46/12 37/45/12
f 11/6/13 12/5/13 44/52/13 43/51/13
f 4/13/14 5/12/14 37/45/14 36/44/14
f 1/1/15 32/32/15 64/57/15 33/56/15
f 15/2/16 1/1/16 33/56/16 47/55/16
f 18/18/17 17/17/17 49/40/17 50/39/17
f 16/16/18 2/15/18 34/42/18 48/41/18
f 32/32/19 31/31/19 63/58/19 64/57/19
f 19/19/20 18/18/20 50/39/20 51/38/20
f 2/15/21 3/14/21 35/43/21 34/42/21
f 26/26/22 25/25/22 57/64/22 58/63/22
f 17/17/23 16/16/23 48/41/23 49/40/23
f 3/14/24 4/13/24 36/44/24 35/43/24
f 20/20/25 19/19/25 51/38/25 52/37/25
f 25/25/26 24/24/26 56/33/26 57/64/26
f 9/8/27 10/7/27 42/50/27 41/49/27
f 21/21/28 20/20/28 52/37/28 53/36/28
f 22/22/29 21/21/29 53/36/29 54/35/29
f 6/11/30 7/10/30 39/47/30 38/46/30
f 23/23/31 22/22/31 54/35/31 55/34/31
f 7/10/32 8/9/32 40/48/32 39/47/32
f 27/27/33 26/26/33 58/63/33 59/62/33
f 12/5/34 13/4/34 45/53/34 44/52/34
f 63/65/1 64/66/1 33/67/1
f 33/67/1 60/68/1 63/65/1
f 33/67/1 45/69/1 60/68/1
f 33/67/1 47/70/1 45/69/1
f 46/71/1 45/69/1 47/70/1
f 31/72/1 32/73/1 1/74/1
f 60/68/1 61/75/1 62/76/1
f 59/77/1 60/68/1 45/69/1
f 59/77/1 45/69/1 44/78/1
f 44/78/1 57/79/1 59/77/1
f 43/80/1 42/81/1 44/78/1
f 44/78/1 42/81/1 57/79/1
f 57/79/1 58/82/1 59/77/1
f 56/83/1 57/79/1 42/81/1
f 56/83/1 42/81/1 41/84/1
f 41/84/1 54/85/1 56/83/1
f 40/86/1 54/85/1 41/84/1
f 54/85/1 55/87/1 56/83/1
f 39/88/1 53/89/1 40/86/1
f 60/68/1 62/76/1 63/65/1
f 53/89/1 39/88/1 38/90/1
f 52/91/1 53/89/1 38/90/1
f 52/91/1 38/90/1 37/92/1
f 51/93/1 52/91/1 37/92/1
f 51/93/1 37/92/1 36/94/1
f 50/95/1 51/93/1 36/94/1
f 50/95/1 36/94/1 35/96/1
f 35/96/1 48/97/1 50/95/1
f 34/98/1 48/97/1 35/96/1
f 48/97/1 49/99/1 50/95/1
f 53/89/1 54/85/1 40/86/1
f 1/74/1 28/100/1 31/72/1
f 28/100/1 29/101/1 30/102/1
f 14/103/1 13/104/1 15/105/1
f 28/100/1 30/102/1 31/72/1
f 28/100/1 1/74/1 13/104/1
f 27/106/1 28/100/1 13/104/1
f 13/104/1 1/74/1 15/105/1
f 13/104/1 12/107/1 10/108/1
f 22/109/1 24/110/1 25/111/1
f 25/111/1 26/112/1 27/106/1
f 25/111/1 13/104/1 10/108/1
f 10/108/1 22/109/1 25/111/1
f 9/113/1 7/114/1 10/108/1
f 7/114/1 22/109/1 10/108/1
f 9/113/1 8/115/1 7/114/1
f 23/116/1 24/110/1 22/109/1
f 25/111/1 27/106/1 13/104/1
f 21/117/1 22/109/1 7/114/1
f 21/117/1 7/114/1 6/118/1
f 20/119/1 21/117/1 6/118/1
f 20/119/1 6/118/1 5/120/1
f 19/121/1 20/119/1 5/120/1
f 19/121/1 5/120/1 4/122/1
f 18/123/1 19/121/1 4/122/1
f 18/123/1 4/122/1 3/124/1
f 3/124/1 16/125/1 18/123/1
f 2/126/1 16/125/1 3/124/1
f 16/125/1 17/127/1 18/123/1
f 12/107/1 11/128/1 10/108/1

13
models/portau.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'portau.blend'
# Material Count: 1
newmtl None
Ns 0.000000
Ka 0.000000 0.000000 0.000000
Kd 0.800000 0.800000 0.800000
Ks 0.800000 0.800000 0.800000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd /home/ulla/.minetest/mods/nodeu/textures/portau_red.png

2898
models/portau.obj Normal file

File diff suppressed because it is too large Load Diff

13
models/portau2.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'portau2.blend'
# Material Count: 1
newmtl None
Ns 0.000000
Ka 0.000000 0.000000 0.000000
Kd 0.800000 0.800000 0.800000
Ks 0.800000 0.800000 0.800000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd /home/ulla/.minetest/mods/nodeu/textures/portau_red.png

3150
models/portau2.obj Normal file

File diff suppressed because it is too large Load Diff

13
models/scaletta.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'scaletta.blend'
# Material Count: 1
newmtl none.001
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd /home/ulla/Dropbox/NodeBoxEditor-master/textures/scaletta.png

367
models/scaletta.obj Normal file
View File

@ -0,0 +1,367 @@
# Blender v2.78 (sub 0) OBJ File: 'scaletta.blend'
# www.blender.org
mtllib scaletta.mtl
o nodebox8
v 0.500000 0.312500 0.437500
v 0.500000 0.312500 0.500000
v 0.500000 0.437500 0.500000
v 0.500000 0.437500 0.437500
v -0.500000 0.312500 0.437500
v -0.500000 0.312500 0.500000
v -0.500000 0.437500 0.500000
v -0.500000 0.437500 0.437500
v 0.500000 0.062500 0.437500
v 0.500000 0.062500 0.500000
v 0.500000 0.187500 0.500000
v 0.500000 0.187500 0.437500
v -0.500000 0.062500 0.437500
v -0.500000 0.062500 0.500000
v -0.500000 0.187500 0.500000
v -0.500000 0.187500 0.437500
v 0.500000 -0.187500 0.437500
v 0.500000 -0.187500 0.500000
v 0.500000 -0.062500 0.500000
v 0.500000 -0.062500 0.437500
v -0.500000 -0.187500 0.437500
v -0.500000 -0.187500 0.500000
v -0.500000 -0.062500 0.500000
v -0.500000 -0.062500 0.437500
v 0.500000 -0.437500 0.437500
v 0.500000 -0.437500 0.500000
v 0.500000 -0.312500 0.500000
v 0.500000 -0.312500 0.437500
v -0.500000 -0.437500 0.437500
v -0.500000 -0.437500 0.500000
v -0.500000 -0.312500 0.500000
v -0.500000 -0.312500 0.437500
v -0.250000 -0.500000 0.437500
v -0.250000 -0.500000 0.500000
v -0.250000 0.500000 0.500000
v -0.250000 0.500000 0.437500
v -0.500000 -0.500000 0.437500
v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 0.500000 0.437500
v 0.500000 0.437500 0.000000
v 0.500000 0.437500 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 0.500000 0.000000
v 0.437500 0.437500 0.000000
v 0.437500 0.437500 0.500000
v 0.437500 0.500000 0.500000
v 0.437500 0.500000 0.000000
v -0.437500 0.437500 0.000000
v -0.437500 0.437500 0.500000
v -0.437500 0.500000 0.500000
v -0.437500 0.500000 0.000000
v -0.500000 0.437500 0.000000
v -0.500000 0.437500 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 0.500000 0.000000
v 0.500000 -0.500000 -0.000000
v 0.500000 -0.500000 0.062500
v 0.500000 0.500000 0.062500
v 0.500000 0.500000 0.000000
v 0.437500 -0.500000 -0.000000
v 0.437500 -0.500000 0.062500
v 0.437500 0.500000 0.062500
v 0.437500 0.500000 0.000000
v -0.437500 -0.500000 -0.000000
v -0.437500 -0.500000 0.062500
v -0.437500 0.500000 0.062500
v -0.437500 0.500000 0.000000
v -0.500000 -0.500000 -0.000000
v -0.500000 -0.500000 0.062500
v -0.500000 0.500000 0.062500
v -0.500000 0.500000 0.000000
v 0.500000 -0.500000 0.437500
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 0.500000 0.437500
v 0.250000 -0.500000 0.437500
v 0.250000 -0.500000 0.500000
v 0.250000 0.500000 0.500000
v 0.250000 0.500000 0.437500
vt 0.8134 0.9387
vt 0.8134 1.0014
vt 0.9387 1.0014
vt 0.9387 0.9387
vt 0.8134 0.9387
vt 0.8134 1.0014
vt 0.9387 1.0014
vt 0.9387 0.9387
vt 1.0014 0.8134
vt 1.0014 0.9387
vt -0.0014 0.9387
vt -0.0014 0.8134
vt 1.0014 0.8134
vt 1.0014 0.9387
vt -0.0014 0.9387
vt -0.0014 0.8134
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt 0.5627 0.9387
vt 0.5627 1.0014
vt 0.6880 1.0014
vt 0.6880 0.9387
vt 0.5627 0.9387
vt 0.5627 1.0014
vt 0.6880 1.0014
vt 0.6880 0.9387
vt 1.0014 0.5627
vt 1.0014 0.6880
vt -0.0014 0.6880
vt -0.0014 0.5627
vt 1.0014 0.5627
vt 1.0014 0.6880
vt -0.0014 0.6880
vt -0.0014 0.5627
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 0.3120 0.9387
vt 0.3120 1.0014
vt 0.4373 1.0014
vt 0.4373 0.9387
vt 0.3120 0.9387
vt 0.3120 1.0014
vt 0.4373 1.0014
vt 0.4373 0.9387
vt 1.0014 0.3120
vt 1.0014 0.4373
vt -0.0014 0.4373
vt -0.0014 0.3120
vt 1.0014 0.3120
vt 1.0014 0.4373
vt -0.0014 0.4373
vt -0.0014 0.3120
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 0.0613 0.9387
vt 0.0613 1.0014
vt 0.1866 1.0014
vt 0.1866 0.9387
vt 0.0613 0.9387
vt 0.0613 1.0014
vt 0.1866 1.0014
vt 0.1866 0.9387
vt 1.0014 0.0613
vt 1.0014 0.1866
vt -0.0014 0.1866
vt -0.0014 0.0613
vt 1.0014 0.0613
vt 1.0014 0.1866
vt -0.0014 0.1866
vt -0.0014 0.0613
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 1.0014 0.9387
vt 1.0014 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt -0.0014 0.9387
vt -0.0014 1.0014
vt 1.0014 1.0014
vt 1.0014 0.9387
vt -0.0014 0.9387
vt -0.0014 1.0014
vt 1.0014 1.0014
vt 1.0014 0.9387
vt 0.2493 -0.0014
vt 0.2493 1.0014
vt -0.0014 1.0014
vt -0.0014 -0.0014
vt 0.2493 -0.0014
vt 0.2493 1.0014
vt -0.0014 1.0014
vt -0.0014 -0.0014
vt 0.2493 0.9387
vt 0.2493 1.0014
vt 0.2493 0.9387
vt -0.0014 0.9387
vt 0.9387 0.5000
vt 0.9387 1.0014
vt 1.0014 1.0014
vt 1.0014 0.5000
vt 0.9387 0.5000
vt 0.9387 1.0014
vt 1.0014 1.0014
vt 1.0014 0.5000
vt 1.0014 0.9387
vt 1.0014 1.0014
vt 0.9387 1.0014
vt 0.9387 0.9387
vt 1.0014 0.9387
vt 0.9387 1.0014
vt 0.9387 0.9387
vt 1.0014 0.5000
vt 1.0014 1.0014
vt 0.9387 0.5000
vt 0.9387 0.5000
vt 0.9387 1.0014
vt 1.0014 1.0014
vt 1.0014 0.5000
vt 0.9387 0.5000
vt 0.9387 1.0014
vt 1.0014 1.0014
vt 1.0014 0.5000
vt 0.0613 0.9387
vt 0.0613 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 0.0613 0.9387
vt 0.0613 1.0014
vt -0.0014 1.0014
vt -0.0014 0.9387
vt 0.0613 0.5000
vt 0.0613 1.0014
vt -0.0014 1.0014
vt -0.0014 0.5000
vt 0.0613 0.5000
vt -0.0014 0.5000
vt -0.0014 0.5000
vt -0.0014 0.5627
vt 1.0014 0.5627
vt 1.0014 0.5000
vt -0.0014 0.5000
vt -0.0014 0.5627
vt 1.0014 0.5627
vt 1.0014 0.5000
vt 1.0014 -0.0014
vt 1.0014 1.0014
vt 0.9387 1.0014
vt 0.9387 -0.0014
vt 1.0014 -0.0014
vt 1.0014 1.0014
vt 0.9387 1.0014
vt 0.9387 -0.0014
vt 1.0014 0.5000
vt 1.0014 0.5627
vt 0.9387 0.5627
vt 0.9387 0.5000
vt 0.9387 0.5627
vt 0.9387 0.5000
vt -0.0014 0.5000
vt -0.0014 0.5627
vt 1.0014 0.5627
vt 1.0014 0.5000
vt -0.0014 0.5000
vt -0.0014 0.5627
vt 1.0014 0.5627
vt 1.0014 0.5000
vt 0.0613 -0.0014
vt 0.0613 1.0014
vt -0.0014 1.0014
vt -0.0014 -0.0014
vt 0.0613 -0.0014
vt 0.0613 1.0014
vt -0.0014 1.0014
vt -0.0014 -0.0014
vt 0.0613 0.5000
vt 0.0613 0.5627
vt 0.0613 0.5000
vt 0.0613 0.5627
vt -0.0014 0.5627
vt -0.0014 0.5000
vt -0.0014 0.9387
vt -0.0014 1.0014
vt 1.0014 1.0014
vt 1.0014 0.9387
vt -0.0014 0.9387
vt -0.0014 1.0014
vt 1.0014 1.0014
vt 1.0014 0.9387
vt 1.0014 -0.0014
vt 1.0014 1.0014
vt 0.7507 1.0014
vt 0.7507 -0.0014
vt 1.0014 -0.0014
vt 0.7507 1.0014
vt 0.7507 -0.0014
vt 1.0014 0.9387
vt 1.0014 1.0014
vt 0.7507 1.0014
vt 0.7507 0.9387
vt 0.7507 0.9387
vn -1.0000 0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn 0.0000 -1.0000 0.0000
usemtl none.001
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/5/1 6/6/1 7/7/1 8/8/1
f 1/9/2 4/10/2 8/11/2 5/12/2
f 2/13/2 3/14/2 7/15/2 6/16/2
f 1/17/3 2/18/3 6/19/3 5/20/3
f 4/10/3 3/21/3 7/22/3 8/11/3
f 9/23/1 10/24/1 11/25/1 12/26/1
f 13/27/1 14/28/1 15/29/1 16/30/1
f 9/31/2 12/32/2 16/33/2 13/34/2
f 10/35/2 11/36/2 15/37/2 14/38/2
f 9/39/3 10/40/3 14/41/3 13/42/3
f 12/43/3 11/44/3 15/45/3 16/46/3
f 17/47/1 18/48/1 19/49/1 20/50/1
f 21/51/1 22/52/1 23/53/1 24/54/1
f 17/55/2 20/56/2 24/57/2 21/58/2
f 18/59/2 19/60/2 23/61/2 22/62/2
f 17/63/3 18/64/3 22/65/3 21/66/3
f 20/67/3 19/68/3 23/69/3 24/70/3
f 25/71/1 26/72/1 27/73/1 28/74/1
f 29/75/1 30/76/1 31/77/1 32/78/1
f 25/79/2 28/80/2 32/81/2 29/82/2
f 26/83/2 27/84/2 31/85/2 30/86/2
f 25/87/3 26/88/3 30/89/3 29/90/3
f 28/91/3 27/92/3 31/93/3 32/94/3
f 33/95/1 34/96/1 35/97/1 36/98/1
f 37/99/1 38/100/1 39/101/1 40/102/1
f 33/103/2 36/104/2 40/105/2 37/106/2
f 34/107/2 35/108/2 39/109/2 38/110/2
f 33/111/3 34/112/3 38/100/3 37/99/3
f 36/113/3 35/108/3 39/109/3 40/114/3
f 41/115/1 42/116/1 43/117/1 44/118/1
f 45/119/1 46/120/1 47/121/1 48/122/1
f 41/123/2 44/124/2 48/125/2 45/126/2
f 42/127/2 43/117/2 47/128/2 46/129/2
f 41/130/3 42/131/3 46/120/3 45/119/3
f 44/118/3 43/117/3 47/128/3 48/132/3
f 49/133/1 50/134/1 51/135/1 52/136/1
f 53/137/1 54/138/1 55/139/1 56/140/1
f 49/141/2 52/142/2 56/143/2 53/144/2
f 50/145/2 51/146/2 55/147/2 54/148/2
f 49/149/3 50/150/3 54/151/3 53/152/3
f 52/153/3 51/146/3 55/147/3 56/154/3
f 57/155/1 58/156/1 59/157/1 60/158/1
f 61/159/1 62/160/1 63/161/1 64/162/1
f 57/163/2 60/164/2 64/165/2 61/166/2
f 58/167/2 59/168/2 63/169/2 62/170/2
f 57/171/3 58/172/3 62/173/3 61/174/3
f 60/158/3 59/157/3 63/175/3 64/176/3
f 65/177/1 66/178/1 67/179/1 68/180/1
f 69/181/1 70/182/1 71/183/1 72/184/1
f 65/185/2 68/186/2 72/187/2 69/188/2
f 66/189/2 67/190/2 71/191/2 70/192/2
f 65/193/3 66/194/3 70/182/3 69/181/3
f 68/195/3 67/196/3 71/197/3 72/198/3
f 73/199/1 74/200/1 75/201/1 76/202/1
f 77/203/1 78/204/1 79/205/1 80/206/1
f 73/207/2 76/208/2 80/209/2 77/210/2
f 74/211/2 75/201/2 79/212/2 78/213/2
f 73/214/3 74/215/3 78/216/3 77/217/3
f 76/202/3 75/201/3 79/212/3 80/218/3

94
portau.lua Normal file
View File

@ -0,0 +1,94 @@
-- get Boilerplate for Translations
local S = nodeu.S
local path = nodeu.path
local Portau_list = {
{ S("Red DoorU"), "red"},
{ S("Orange DoorU"), "orange"},
{ S("Cyan DoorU"), "cyan"},
{ S("Yellow DoorU"), "yellow"},
{ S("Green DoorU"), "green"},
{ S("Blue DoorU"), "blue"},
{ S("Violet DoorU"), "violet"},
{ S("Black DoorU"), "black"},
{ S("White DoorU"), "white"},
{ S("Grey DoorU"), "grey"},
}
for i in ipairs(Portau_list) do
local portaudesc = Portau_list[i][1]
local colour = Portau_list[i][2]
minetest.register_node("nodeu:portau_"..colour.."", {
description =portaudesc,
drawtype = "mesh",
mesh = "portau2.obj",
tiles = {"portau_"..colour..".png",
},
--inventory_image = "nodeu_p_"..colour..".png",
--wield_image = {"nodeu_p_"..colour..".png",
-- },
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
light_source = 12,
walkable = false,
selection_box = {
type = "fixed",
--fixed = { -0.5, 1.48, 0.35, 0.5,2.0, 0.5},
fixed = { -2, 1.45, 0.35, 2,2.0, 0.5 },
},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
--sounds = default.node_sound_wood_defaults(),
drop = "nodeu:portau_"..colour.."_ch",
on_rightclick = function(pos, node, clicker)
node.name = "nodeu:portau_"..colour.."_ch"
minetest.set_node(pos, node)
minetest.sound_play("portau_op", {
to_player = "",
gain = 2.0,
})
end,
})
minetest.register_node("nodeu:portau_"..colour.."_ch", {
description = portaudesc.."_ch",
drawtype = "mesh",
mesh = "portau.obj",
tiles = {"portau_"..colour..".png",
},
inventory_image = "nodeu_p_"..colour..".png",
wield_image = {"nodeu_p_"..colour..".png",
},
paramtype = "light",
paramtype2 = "facedir",
light_source = 12,
sunlight_propagates = true,
-- walkable = true,
collision_box = {
type = "fixed",
fixed = { -0.5, -0.5, 0.35, 0.5,1.5, 0.5}},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, 0.35, 0.5,1.5, 0.5}
--fixed = { -0.5, 0.35, -0.5, 0.5,1.5, 0.5},
},-- largdx h
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=0},
--sounds = default_dig_cracky(),
drop = "nodeu:portau_"..colour.."_ch",
on_rightclick = function(pos, node, clicker)
node.name = "nodeu:portau_"..colour..""
minetest.set_node(pos, node)
minetest.sound_play("portau_ch", {
to_player = "",
gain = 2.0,
})
end,
})
end

99
ringhiere.lua Normal file
View File

@ -0,0 +1,99 @@
-- get Boilerplate for Translations
local S = nodeu.S
local path = nodeu.path
--fences4
minetest.register_node("nodeu:ringhiera_f", {
description = S("machined railing"),
tiles = {
"pix.png",
"pix.png",
"ringhieraok.png",
"ringhieraok.png",
"pix.png",
"pix.png"
},
drawtype = "nodebox",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_glass_defaults(),
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5,- 0.48, 0.5, 0.5}, -- NodeBox2
}
}
})
--fences angolo
minetest.register_node("nodeu:ringhiera_f_ang", {
description =S("corner machined railing"),
tiles = {
"pix.png",
"pix.png",
"ringhieraok.png",
"ringhieraok.png",
"ringhieraok.png",
"ringhieraok.png"
},
drawtype = "nodebox",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_glass_defaults(),
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5,- 0.48, 0.5, 0.5}, -- NodeBox1
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.48}, -- NodeBox2
}
}
})
--fences2
minetest.register_node("nodeu:ringhiera_g", {
description = S("machined railing 2"),
tiles = {
"pix.png",
"pix.png",
"ringhiera6n.png",
"ringhiera6n.png",
"pix.png",
"pix.png"
},
drawtype = "nodebox",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_glass_defaults(),
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5,- 0.48, 0.5, 0.5}, -- NodeBox2
}
}
})
--fences2 angolo
minetest.register_node("nodeu:ringhiera_g_ang", {
description = S("corner machined railing 2"),
tiles = {
"pix.png",
"pix.png",
"ringhiera6n.png",
"ringhiera6n.png",
"ringhiera6n.png",
"ringhiera6n.png"
},
drawtype = "nodebox",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_glass_defaults(),
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5,- 0.48, 0.5, 0.5}, -- NodeBox1
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.48}, -- NodeBox2
}
}
})

239
scala_metal.lua Normal file
View File

@ -0,0 +1,239 @@
-- get Boilerplate for Translations
local S = nodeu.S
local path = nodeu.path
local metal_list = {
{ S("Red_Metal") , "red"},
{ S("Orange_Metal") , "orange"},
{ S("Grey_Metal") , "grey"},
{ S("Yellow_Metal") , "yellow"},
{ S("Green_Metal") , "green"},
{ S("Blue_Metal") , "blue"},
{ S("Black_Metal") , "black"},
{ S("white_Metal") , "white"},
{ S("Violet_Metal") , "violet"},
{ S("Cyan_Metal") , "cyan"}
}
for i in ipairs(metal_list) do
local metaldesc = metal_list[i][1]
local col = metal_list[i][2]
--scala
minetest.register_node("nodeu:scala_"..col.."", {
description =S("Stair ")..metaldesc.."",
tiles = {
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png"
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, -0.375, -0.25, -0.25}, -- NodeBox1
{0.375, -0.5, -0.5, 0.5, -0.25, -0.25}, -- NodeBox3
{-0.5, -0.25, -0.5, 0.5, 0, 0.25}, -- NodeBox4
{-0.5, 0, 0, -0.3125, 0.25, 0.25}, -- NodeBox5
{0.375, 0, 0, 0.5, 0.25, 0.25}, -- NodeBox6
{-0.5, 0.25, 0, 0.5, 0.5, 0.5}, -- NodeBox7
}
}
})
--pianetto piccolo
minetest.register_node("nodeu:fine_scala_"..col.."", {
description = S("Railing support ")..col.."",
tiles = {"scalaa_"..col..".png",
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, -0.375, -0.25, -0.25}, -- NodeBox1
{0.375, -0.5, -0.5, 0.5, -0.25, -0.25}, -- NodeBox3
{-0.5, -0.25, -0.5, 0.5, 0, 0.25}, -- NodeBox4
{-0.5, 0, 0, -0.375, 0.25, 0.25}, -- NodeBox5
{0.375, 0, 0, 0.5, 0.25, 0.25}, -- NodeBox6
{-0.5, 0.25, 0, 0.5, 0.5, 0.5}, -- NodeBox7
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5}, -- NodeBox7
}
}
})
minetest.register_node("nodeu:piano_scala_"..col.."", {
description =S("Landing of the staircase ")..col.."",
tiles = {"scalaa_"..col..".png",
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.25, -0.5, 0.5, 0.5, 0.5}, -- NodeBox7
}
}
})
minetest.register_node("nodeu:scala_ringhiera_"..col.."", {
description = S("Railing stair NU ")..col.."",
tiles = {"scalaa_"..col..".png",
"scalaa_"..col..".png",
"ringhieranodeu.png",
"ringhieranodeu.png",
"scalaa_"..col..".png",
"scalaa_"..col..".png"
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5}, -- NodeBox7
}
}
})
--angoloringhiera scala
minetest.register_node("nodeu:ringhiera_L_"..col.."", {
description = S("Corner railing stair ")..col.."",
tiles = {
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"ringhieranodeu.png",
"ringhieranodeu.png",
"ringhieranodeu.png",
"ringhieranodeu.png"
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.1875}, -- NodeBox7
{-0.1875, -0.5, -0.1875, 0.5, 0.5, 0.1875}, -- NodeBox2
}
}
})
--incrocio scala
minetest.register_node("nodeu:ringhiera_X_"..col.."", {
description = S("Stair railing crossing")..col.."",
tiles = {
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"ringhieranodeu.png",
"ringhieranodeu.png",
"ringhieranodeu.png",
"ringhieranodeu.png"
},
drawtype = "nodebox",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5}, -- NodeBox7
{-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875}, -- NodeBox2
}
}
})
minetest.register_node("nodeu:nodo_scala_"..col.."", {
description =S("Metal_blocK ")..col.."",
tiles = {"scalaa_"..col..".png",
},
drawtype = "nodebox",
paramtype = "light",
paramtype2="facedir",
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=0},
sounds = default.node_sound_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox7
}
}
})
---------------------------------------FARETTO--------------------------
local S_C_box = {
type = "fixed",
fixed = { -0.35, -0.5, -0.35, 0.35, -0.45, 0.35 }
}
minetest.register_node("nodeu:faretto_s_"..col.."", {
description =S("Spotlight ")..metaldesc.."",
tiles = {
"farettow_"..col..".png"
},
drawtype = "mesh",
mesh="faretto_s.obj",
alpha = 160,
selection_box = S_C_box,
collision_box = S_C_box,
light_source = minetest.LIGHT_MAX,
paramtype = "light",
paramtype2 = 'facedir',
walkable = true,
pointable = true,
diggable = true,
drop = "",
drowning = 1,
sunlight_propagates = true,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=0},
})
----------------------------------
minetest.register_node("nodeu:faretto_"..col.."", {
description =S("Block whit spotlight")..metaldesc.." ",
tiles = {
"scalaa_"..col..".png^farettow_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png",
"scalaa_"..col..".png"
},
drawtype = "nodebox",
alpha = 160,
light_source = minetest.LIGHT_MAX,
paramtype = "light",
walkable = true,
pointable = true,
diggable = true,
drop = "",
drowning = 1,
sunlight_propagates = true,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=0},
})
end

39
scaletta.lua Normal file
View File

@ -0,0 +1,39 @@
-- get Boilerplate for Translations
local S = nodeu.S
local path = nodeu.path
minetest.register_node("nodeu:scaletta", {
description= S("Metal ladder whit handrail"),
drawtype = "mesh",
mesh = "scaletta.obj",
tiles = {"scaletta.png"},
paramtype = "light",
paramtype2 = "facedir",
inventory_image = "scaletta_inv.png",
wield_image ="scaletta_inv.png",
sunlight_propagates = true,
walkable = false,
climbable = true,
is_ground_content = false,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_metal_defaults(),
selection_box = {type = "wallmounted",
-0.5, -0.5, 0.4375, -0.25, 0.5, 0.5},
--
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.4375, -0.25, 0.5, 0.5},
{0.4375, -0.5, 0, 0.5, 0.5, 0.0625},
{-0.5, -0.5, 0, -0.4375, 0.5, 0.0625},
{0.4375, 0.4375, 0, 0.5, 0.5, 0.5},
{-0.5, 0.4375, 0, -0.4375, 0.5, 0.5},
{0.25, -0.5, 0.4375, 0.5, 0.5, 0.5},
{-0.5, -0.4375, 0.4375, 0.5, -0.3125, 0.5},
{-0.5, -0.1875, 0.4375, 0.5, -0.0625, 0.5},
{-0.5, 0.0625, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, 0.3125, 0.4375, 0.5, 0.4375, 0.5},
}
}
})

BIN
sounds/portau_ch.ogg Normal file

Binary file not shown.

BIN
sounds/portau_op.ogg Normal file

Binary file not shown.

4
textures/.directory Normal file
View File

@ -0,0 +1,4 @@
[Dolphin]
PreviewsShown=true
Timestamp=2017,1,7,3,59,8
Version=3

BIN
textures/bferro.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

BIN
textures/boccetta.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
textures/colors_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

BIN
textures/colors_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

BIN
textures/colors_cyan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

BIN
textures/colors_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

BIN
textures/colors_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

BIN
textures/colors_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

BIN
textures/colors_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

BIN
textures/colors_violet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

BIN
textures/colors_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

BIN
textures/colors_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

BIN
textures/faretto_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
textures/farettow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
textures/farettow_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

BIN
textures/farettow_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

BIN
textures/farettow_cyan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 B

BIN
textures/farettow_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
textures/farettow_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
textures/farettow_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
textures/farettow_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

BIN
textures/nodeu_p_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
textures/nodeu_p_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
textures/nodeu_p_cyan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
textures/nodeu_p_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
textures/nodeu_p_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
textures/nodeu_p_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
textures/nodeu_p_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
textures/nodeu_p_violet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
textures/nodeu_p_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
textures/nodeu_p_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
textures/pix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
textures/portau_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

BIN
textures/portau_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

BIN
textures/portau_cyan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/portau_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

BIN
textures/portau_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

BIN
textures/portau_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

BIN
textures/portau_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

BIN
textures/portau_violet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

BIN
textures/portau_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

BIN
textures/portau_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

BIN
textures/ringhiera1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
textures/ringhiera2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
textures/ringhiera6n.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

BIN
textures/ringhiera6o.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
textures/ringhieranodeu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
textures/ringhieraok.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
textures/scalaa_black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
textures/scalaa_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
textures/scalaa_cyan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
textures/scalaa_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
textures/scalaa_grey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
textures/scalaa_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
textures/scalaa_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
textures/scalaa_violet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
textures/scalaa_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
textures/scalaa_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
textures/scaletta.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

BIN
textures/scaletta_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB