Remove translation strings from minetest.log output and from print() output

Since they are not translated anyway.
This commit is contained in:
Louis 2020-02-18 12:58:48 +01:00
parent dc0fe350f5
commit fcbc7ecb60
20 changed files with 16 additions and 112 deletions

View File

@ -12,9 +12,6 @@ local modpath = minetest.get_modpath("technic")
technic.modpath = modpath technic.modpath = modpath
-- Translation support
local S = minetest.get_translator("technic")
-- Read configuration file -- Read configuration file
dofile(modpath.."/config.lua") dofile(modpath.."/config.lua")
@ -43,6 +40,6 @@ dofile(modpath.."/tools/init.lua")
dofile(modpath.."/legacy.lua") dofile(modpath.."/legacy.lua")
if minetest.settings:get_bool("log_mods") then if minetest.settings:get_bool("log_mods") then
print(S("[Technic] Loaded in @1 seconds", string.format("%f", os.clock() - load_start))) print(string.format("[Technic] Loaded in %f seconds", os.clock() - load_start))
end end

View File

@ -4,9 +4,6 @@
# Deutsche Uebersetzung des Technic Mods # Deutsche Uebersetzung des Technic Mods
# by Xanthin # by Xanthin
## Misc
[Technic] Loaded in @1 seconds=[Technic] ist in @1 Sekunden geladen
## Items ## Items
Silicon Wafer=Siliziumscheibe Silicon Wafer=Siliziumscheibe
Doped Silicon Wafer=Dotierte Siliziumscheibe Doped Silicon Wafer=Dotierte Siliziumscheibe
@ -80,7 +77,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -92,9 +88,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
Power Monitor= Power Monitor=
@ -150,7 +143,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -253,4 +245,3 @@ Compressing=
Extracting= Extracting=
Separating= Separating=
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -4,9 +4,6 @@
# Traduccion al Español del Mod Technic # Traduccion al Español del Mod Technic
# Autor: Diego Martínez <kaeza> # Autor: Diego Martínez <kaeza>
## Misc
[Technic] Loaded in @1 seconds=[Technic] Cargado en @1 segundos
## Items ## Items
Silicon Wafer=Oblea de Silicio Silicon Wafer=Oblea de Silicio
Doped Silicon Wafer=Oblea de Silicio Dopada Doped Silicon Wafer=Oblea de Silicio Dopada
@ -80,7 +77,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -92,9 +88,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
Power Monitor= Power Monitor=
@ -148,7 +141,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -251,4 +243,3 @@ Compressing=
Extracting= Extracting=
Separating= Separating=
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -4,9 +4,6 @@
# Template for translations of Technic # Template for translations of Technic
## Misc
[Technic] Loaded in @1 seconds=[Technic] Chargement en @1 secondes
## Items ## Items
Silicon Wafer=Tranche de silicium Silicon Wafer=Tranche de silicium
Doped Silicon Wafer=Tranche de silicium doppé Doped Silicon Wafer=Tranche de silicium doppé
@ -79,7 +76,6 @@ HV=haute tension
@1 Nuclear Reactor Core=Cœur de réacteur nucléaire @1 @1 Nuclear Reactor Core=Cœur de réacteur nucléaire @1
Enables or disables technic's switching station ABM=Active ou desactive la station de commutation de technic Enables or disables technic's switching station ABM=Active ou desactive la station de commutation de technic
@1 Already Present=@1 déja présent @1 Already Present=@1 déja présent
[TECHNIC] Warning: redundant switching station found near @1=[TECHNIC] Avertissement : station de commutation redondante près de @1
Machines: timeout check=Machines : vérification de timeout Machines: timeout check=Machines : vérification de timeout
Machines: re-enable check=Machines : réactivation des vérifications Machines: re-enable check=Machines : réactivation des vérifications
You are not allowed to edit this!=Vous nêtes pas autorisé à modifier cela ! You are not allowed to edit this!=Vous nêtes pas autorisé à modifier cela !
@ -91,9 +87,6 @@ Machines: run injector= fonctionnement de linjecteur
Tools: tree tap=Outils : Robinet à sève Tools: tree tap=Outils : Robinet à sève
@1 is unpowered=@1 est hors tension @1 is unpowered=@1 est hors tension
@1 is powered (@2% of maximum power)=@1 est alimenté (@2 % de la puissance maximale) @1 is powered (@2% of maximum power)=@1 est alimenté (@2 % de la puissance maximale)
@1 tried to place @2 at protected position @3=@1 a essayé de placer @2 à la position protégée @3
@1 tried to take @2 at protected position @3 with a @4=@1 a essayé de prendre @2 à la position protégée @3 avec un @4
@1 tried to place @2 at protected position @3 with a @4=@1 a essayé de placer @2 à la position protégée @3 avec un @4
## Machine names ## Machine names
@ -149,7 +142,6 @@ Enable Digiline=Activer Digiline
Digiline Remote Channel=Cannal Digiline distant Digiline Remote Channel=Cannal Digiline distant
Save=Sauvegarder Save=Sauvegarder
Start=Démarrer Start=Démarrer
A reactor melted down at @1=Un réacteur a fusionné à @1
Start successuful=Démarré avec succès Start successuful=Démarré avec succès
Error=Erreur Error=Erreur
Restart=Redémarrer Restart=Redémarrer
@ -253,4 +245,3 @@ Compressing=Compression
Extracting=Extraction Extracting=Extraction
Separating=Séparation Separating=Séparation
Freezing=Congélation Freezing=Congélation
[Technic] ignored registration of garbage recipe!=[Technic] enregistrement dune recette incohérente ignoré !

View File

@ -1,9 +1,6 @@
# textdomain: technic # textdomain: technic
## Misc
[Technic] Loaded in @1 seconds=[Technic] caricato in @1 secondi
## Items ## Items
Silicon Wafer=Wafer di silicone Silicon Wafer=Wafer di silicone
Doped Silicon Wafer=Wafer di silicone dopato Doped Silicon Wafer=Wafer di silicone dopato
@ -75,7 +72,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -87,9 +83,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
Power Monitor= Power Monitor=
@ -143,7 +136,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -246,4 +238,3 @@ Compressing=Compressione
Extracting=Estrazione Extracting=Estrazione
Separating= Separating=
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -4,9 +4,6 @@
# Polskie tłumaczenie Technic mod # Polskie tłumaczenie Technic mod
# by mat9117 # by mat9117
## Misc
[Technic] Loaded in @1 seconds=[Technic] Wczytany w @1 sekund
## Items ## Items
Silicon Wafer=Płytka krzemowa Silicon Wafer=Płytka krzemowa
Doped Silicon Wafer=Domieszkowana płytka krzemowa Doped Silicon Wafer=Domieszkowana płytka krzemowa
@ -79,7 +76,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -91,9 +87,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
@1 Alloy Furnace=@1 Piec stopowy @1 Alloy Furnace=@1 Piec stopowy
@ -147,7 +140,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -251,4 +243,3 @@ Compressing=Kompresowanie
Extracting=Ekstrakcja Extracting=Ekstrakcja
Separating=Oddzielanie Separating=Oddzielanie
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -4,9 +4,6 @@
# Tradução portuguesa brasileira para technic # Tradução portuguesa brasileira para technic
# By Sires # By Sires
## Misc
[Technic] Loaded in @1 seconds = [Technic] Carregado em @1 segundos
## Items ## Items
Silicon Wafer=Pastilha de Silício Silicon Wafer=Pastilha de Silício
Doped Silicon Wafer=Pastilha de Silício Dopada Doped Silicon Wafer=Pastilha de Silício Dopada
@ -79,7 +76,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -91,9 +87,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
Power Monitor= Power Monitor=
@ -149,7 +142,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -245,4 +237,3 @@ Compressing=Comprimindo
Extracting=Extraindo Extracting=Extraindo
Separating=Separando Separating=Separando
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -4,9 +4,6 @@
# Template for translations of Technic # Template for translations of Technic
## Misc
[Technic] Loaded in @1 seconds=
## Items ## Items
Silicon Wafer= Silicon Wafer=
Doped Silicon Wafer= Doped Silicon Wafer=
@ -79,7 +76,6 @@ HV=
@1 Nuclear Reactor Core= @1 Nuclear Reactor Core=
Enables or disables technic's switching station ABM= Enables or disables technic's switching station ABM=
@1 Already Present= @1 Already Present=
[TECHNIC] Warning: redundant switching station found near @1=
Machines: timeout check= Machines: timeout check=
Machines: re-enable check= Machines: re-enable check=
You are not allowed to edit this!= You are not allowed to edit this!=
@ -91,9 +87,6 @@ Machines: run injector=
Tools: tree tap= Tools: tree tap=
@1 is unpowered= @1 is unpowered=
@1 is powered (@2% of maximum power)= @1 is powered (@2% of maximum power)=
@1 tried to place @2 at protected position @3=
@1 tried to take @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
## Machine names ## Machine names
@ -149,7 +142,6 @@ Enable Digiline=
Digiline Remote Channel Digiline Remote Channel
Save= Save=
Start= Start=
A reactor melted down at @1=
Start successful= Start successful=
Error= Error=
Restart= Restart=
@ -254,4 +246,3 @@ Compressing=
Extracting= Extracting=
Separating= Separating=
Freezing= Freezing=
[Technic] ignored registration of garbage recipe!=

View File

@ -211,7 +211,7 @@ end
local function melt_down_reactor(pos) local function melt_down_reactor(pos)
minetest.log("action", S("A reactor melted down at @1", minetest.pos_to_string(pos))) minetest.log("action", "A reactor melted down at "..minetest.pos_to_string(pos))
minetest.set_node(pos, {name = "technic:corium_source"}) minetest.set_node(pos, {name = "technic:corium_source"})
end end

View File

@ -296,9 +296,7 @@ for zp = 0, 1 do
local pos = pointed_thing.above local pos = pointed_thing.above
if minetest.is_protected(pos, placer:get_player_name()) then if minetest.is_protected(pos, placer:get_player_name()) then
minetest.log("action", S("@1 tried to place @2 at protected position @3", placer:get_player_name(), minetest.log("action", placer:get_player_name().." tried to place "..itemstack:get_name().." at protected position "..minetest.pos_to_string(pos))
itemstack:get_name(),
minetest.pos_to_string(pos)))
minetest.record_protection_violation(pos, placer:get_player_name()) minetest.record_protection_violation(pos, placer:get_player_name())
return itemstack return itemstack
end end
@ -324,9 +322,7 @@ for zp = 0, 1 do
on_rightclick = function(pos, node, placer, itemstack, pointed_thing) on_rightclick = function(pos, node, placer, itemstack, pointed_thing)
if is_supported_node(itemstack:get_name()) then if is_supported_node(itemstack:get_name()) then
if minetest.is_protected(pos, placer:get_player_name()) then if minetest.is_protected(pos, placer:get_player_name()) then
minetest.log("action", S("@1 tried to place @2 at protected position @3", placer:get_player_name(), minetest.log("action", placer:get_player_name().." tried to place "..itemstack:get_name().." at protected position "..minetest.pos_to_string(pos))
itemstack:get_name(),
minetest.pos_to_string(pos)))
minetest.record_protection_violation(pos, placer:get_player_name()) minetest.record_protection_violation(pos, placer:get_player_name())
return itemstack return itemstack
end end

View File

@ -45,7 +45,7 @@ local function register_recipe(typename, data)
local recipe = {time = data.time, input = {}, output = data.output} local recipe = {time = data.time, input = {}, output = data.output}
local index = get_recipe_index(data.input) local index = get_recipe_index(data.input)
if not index then if not index then
print(S("[Technic] ignored registration of garbage recipe!")) print("[Technic] ignored registration of garbage recipe!")
return return
end end
for _, stack in ipairs(data.input) do for _, stack in ipairs(data.input) do
@ -84,7 +84,7 @@ function technic.get_recipe(typename, items)
end end
local index = get_recipe_index(items) local index = get_recipe_index(items)
if not index then if not index then
print(S("[Technic] ignored registration of garbage recipe!")) print("[Technic] ignored registration of garbage recipe!")
return return
end end
local recipe = technic.recipes[typename].recipes[index] local recipe = technic.recipes[typename].recipes[index]

View File

@ -271,7 +271,7 @@ minetest.register_abm({
if not technic.redundant_warn[poshash] then if not technic.redundant_warn[poshash] then
technic.redundant_warn[poshash] = true technic.redundant_warn[poshash] = true
print(S("[TECHNIC] Warning: redundant switching station found near @1", minetest.pos_to_string(pos))) print("[TECHNIC] Warning: redundant switching station found near "..minetest.pos_to_string(pos))
end end
return return
end end

View File

@ -36,11 +36,7 @@ function technic.register_can(d)
local charge = get_can_level(itemstack) local charge = get_can_level(itemstack)
if charge == data.can_capacity then return end if charge == data.can_capacity then return end
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
minetest.log("action", S("@1 tried to take @2 at protected position @3 with a @4", minetest.log("action", user:get_player_name().." tried to take "..node.name.." at protected position "..minetest.pos_to_string(pointed_thing.under).." with a "..data.can_name)
user:get_player_name(),
node.name,
minetest.pos_to_string(pointed_thing.under),
data.can_name))
return return
end end
minetest.remove_node(pointed_thing.under) minetest.remove_node(pointed_thing.under)
@ -67,11 +63,7 @@ function technic.register_can(d)
local charge = get_can_level(itemstack) local charge = get_can_level(itemstack)
if charge == 0 then return end if charge == 0 then return end
if minetest.is_protected(pos, user:get_player_name()) then if minetest.is_protected(pos, user:get_player_name()) then
minetest.log("action", S("@1 tried to place @2 at protected position @3 with a @4", minetest.log("action", user:get_player_name().." tried to place "..data.liquid_source_name.." at protected position "..minetest.pos_to_string(pos).." with a "..data.can_name)
user:get_player_name(),
data.liquid_source_name,
minetest.pos_to_string(pos),
data.can_name))
return return
end end
minetest.set_node(pos, {name=data.liquid_source_name}) minetest.set_node(pos, {name=data.liquid_source_name})

View File

@ -50,14 +50,14 @@ function technic.chests.inv_take(pos, listname, index, stack, player)
end end
function technic.chests.on_inv_move(pos, from_list, from_index, to_list, to_index, count, player) function technic.chests.on_inv_move(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", S("@1 moves stuff in chest at @2", player:get_player_name(), minetest.pos_to_string(pos))) minetest.log("action", player:get_player_name().." moves stuff in chest at "..minetest.pos_to_string(pos))
end end
function technic.chests.on_inv_put(pos, listname, index, stack, player) function technic.chests.on_inv_put(pos, listname, index, stack, player)
minetest.log("action", S("@1 moves @2 to chest at @3", player:get_player_name(), stack:get_name(), minetest.pos_to_string(pos))) minetest.log("action", player:get_player_name().." moves "..stack:get_name().." to chest at "..minetest.pos_to_string(pos))
end end
function technic.chests.on_inv_take(pos, listname, index, stack, player) function technic.chests.on_inv_take(pos, listname, index, stack, player)
minetest.log("action", S("@1 takes @2 from chest at @3", player:get_player_name(), stack:get_name(), minetest.pos_to_string(pos))) minetest.log("action", player:get_player_name().." takes "..stack:get_name().." from chest at "..minetest.pos_to_string(pos))
end end

View File

@ -40,9 +40,5 @@ Auto-sort is @1=Tri automatique @1
Off=désactivé Off=désactivé
On=activé On=activé
@1 moves stuff in chest at @2=@1 déplace des affaires dans le coffre à @2
@1 moves @2 to chest at @3=@1 déplace @2 vers le coffre à @3
@1 takes @2 from chest at @3=@1 prend @2 du coffre à @3
[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method…=[technic_chests] AVERTISSEMENT : la variable ou la méthode '@1' nest pas présente dans la table factice - en considérant que cest une méthode…
Allow splitting incoming stacks from tubes=Séparer les piles venant des tuyaux Allow splitting incoming stacks from tubes=Séparer les piles venant des tuyaux

View File

@ -40,8 +40,4 @@ Auto-sort is @1=
Off= Off=
On= On=
@1 moves stuff in chest at @2=
@1 moves @2 to chest at @3=
@1 takes @2 from chest at @3=
[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method…=
Allow splitting incoming stacks from tubes= Allow splitting incoming stacks from tubes=

View File

@ -19,7 +19,7 @@ if not minetest.get_modpath("pipeworks") then
local dummy = function() local dummy = function()
end end
pipeworks_meta.__index = function(table, key) pipeworks_meta.__index = function(table, key)
print(S("[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method…", key)) print("[technic_chests] WARNING: variable or method '"..key.."' not present in dummy pipeworks table - assuming it is a method…")
pipeworks[key] = dummy pipeworks[key] = dummy
return dummy return dummy
end end

View File

@ -41,9 +41,8 @@ local function restore(pos, placer, itemstack)
data = minetest.deserialize(data) data = minetest.deserialize(data)
if not data then if not data then
minetest.remove_node(pos) minetest.remove_node(pos)
minetest.log("error", S("@1 wanted to place @2 at @3, but it had no data.", placer:get_player_name(), minetest.log("error", placer:get_player_name().." wanted to place "..name.." at "..minetest.pos_to_string(pos)..", but it had no data.")
name, minetest.pos_to_string(pos))) minetest.log("verbose", "itemstack: "..itemstack:to_string())
minetest.log("verbose", S("itemstack: @1", itemstack:to_string()))
return true return true
end end
minetest.set_node(pos, {name = data.name, param2 = node.param2}) minetest.set_node(pos, {name = data.name, param2 = node.param2})
@ -122,9 +121,7 @@ minetest.register_tool("wrench:wrench", {
if def.owned and not minetest.check_player_privs(placer, "protection_bypass") then if def.owned and not minetest.check_player_privs(placer, "protection_bypass") then
local owner = meta:get_string("owner") local owner = meta:get_string("owner")
if owner and owner ~= player_name then if owner and owner ~= player_name then
minetest.log("action", S("@1 tried to pick up an owned node belonging to @2 at @3", minetest.log("action", player_name.." tried to pick up an owned node belonging to "..owner.." at "..minetest.pos_to_string(pos))
player_name, owner,
minetest.pos_to_string(pos)))
return return
end end
end end

View File

@ -5,7 +5,3 @@
Wrench=Clé Wrench=Clé
@1 with items=@1 avec des objets @1 with items=@1 avec des objets
@1 wanted to place @2 at @3, but it had no data.=@1 a voulu placer @2 à la positon @3, mais il ny avait pas de données.
itemstack: @1=pile darticles : @1
@1 tried to pick up an owned node belonging to @2 at @3=@1 a essayé de prendre un bloc protégé appartenant à @2 à la position @3

View File

@ -5,6 +5,3 @@
Wrench = Wrench =
@1 with items = @1 with items =
@1 wanted to place @2 at @3, but it had no data.=
itemstack: @1=
@1 tried to pick up an owned node belonging to @2 at @3