resolve mergeconflicts

This commit is contained in:
Milan Ihl 2020-08-17 22:07:15 +02:00
commit 029ab5aa0c
488 changed files with 9848 additions and 2154 deletions

View file

@ -40,8 +40,10 @@ Following textures created by PenguinDad (CC BY-SA 4.0):
Following textures created by sofar (CC-BY-SA-3.0):
doors_trapdoor_steel.png
doors_trapdoor_steel_side.png
Following textures created by paramat (CC-BY-SA-3.0):
door_trapdoor_side.png
doors_trapdoor_steel_side.png
Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0):
door_obsidian_glass.png

View file

@ -1,2 +0,0 @@
default
screwdriver?

View file

@ -1,9 +1,15 @@
-- doors/init.lua
-- our API object
doors = {}
doors.registered_doors = {}
doors.registered_trapdoors = {}
-- Load support for MT game translation.
local S = minetest.get_translator("doors")
local function replace_old_owner_information(pos)
local meta = minetest.get_meta(pos)
local owner = meta:get_string("doors_owner")
@ -71,10 +77,8 @@ end
-- this hidden node is placed on top of the bottom, and prevents
-- nodes from being placed in the top half of the door.
minetest.register_node("doors:hidden", {
description = "Hidden Door Segment",
-- can't use airlike otherwise falling nodes will turn to entities
-- and will be forever stuck until door is removed.
drawtype = "nodebox",
description = S("Hidden Door Segment"),
drawtype = "airlike",
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
@ -87,13 +91,7 @@ minetest.register_node("doors:hidden", {
drop = "",
groups = {not_in_creative_inventory = 1},
on_blast = function() end,
tiles = {"doors_blank.png"},
-- 1px transparent block inside door hinge near node top.
node_box = {
type = "fixed",
fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32},
},
-- collision_box needed otherise selection box would be full node size
-- 1px block inside door hinge near node top
collision_box = {
type = "fixed",
fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32},
@ -109,10 +107,10 @@ local transform = {
{v = "_a", param2 = 2},
},
{
{v = "_b", param2 = 1},
{v = "_b", param2 = 2},
{v = "_b", param2 = 3},
{v = "_b", param2 = 0},
{v = "_c", param2 = 1},
{v = "_c", param2 = 2},
{v = "_c", param2 = 3},
{v = "_c", param2 = 0},
},
{
{v = "_b", param2 = 1},
@ -121,10 +119,10 @@ local transform = {
{v = "_b", param2 = 0},
},
{
{v = "_a", param2 = 3},
{v = "_a", param2 = 0},
{v = "_a", param2 = 1},
{v = "_a", param2 = 2},
{v = "_d", param2 = 3},
{v = "_d", param2 = 0},
{v = "_d", param2 = 1},
{v = "_d", param2 = 2},
},
}
@ -170,10 +168,10 @@ function doors.door_toggle(pos, node, clicker)
if state % 2 == 0 then
minetest.sound_play(def.door.sounds[1],
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
else
minetest.sound_play(def.door.sounds[2],
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
end
minetest.swap_node(pos, {
@ -327,14 +325,14 @@ function doors.register(name, def)
if def.protected then
meta:set_string("owner", pn)
meta:set_string("infotext", "Owned by " .. pn)
meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn))
end
if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then
itemstack:take_item()
end
minetest.sound_play(def.sounds.place, {pos = pos})
minetest.sound_play(def.sounds.place, {pos = pos}, true)
on_place_node(pos, minetest.get_node(pos),
placer, node, itemstack, pointed_thing)
@ -401,7 +399,7 @@ function doors.register(name, def)
-- verify placer is owner of lockable door
if owner ~= pname then
minetest.record_protection_violation(pos, pname)
minetest.chat_send_player(pname, "You do not own this locked door.")
minetest.chat_send_player(pname, S("You do not own this locked door."))
return nil
end
@ -411,7 +409,7 @@ function doors.register(name, def)
meta:set_string("key_lock_secret", secret)
end
return secret, "a locked door", owner
return secret, S("a locked door"), owner
end
def.node_dig_prediction = ""
else
@ -443,15 +441,23 @@ function doors.register(name, def)
def.mesh = "door_b.obj"
minetest.register_node(":" .. name .. "_b", def)
def.mesh = "door_a2.obj"
minetest.register_node(":" .. name .. "_c", def)
def.mesh = "door_b2.obj"
minetest.register_node(":" .. name .. "_d", def)
doors.registered_doors[name .. "_a"] = true
doors.registered_doors[name .. "_b"] = true
doors.registered_doors[name .. "_c"] = true
doors.registered_doors[name .. "_d"] = true
end
doors.register("door_wood", {
tiles = {{ name = "doors_door_wood.png", backface_culling = true }},
description = "Wooden Door",
description = S("Wooden Door"),
inventory_image = "doors_item_wood.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
recipe = {
{"group:wood", "group:wood"},
{"group:wood", "group:wood"},
@ -461,10 +467,10 @@ doors.register("door_wood", {
doors.register("door_steel", {
tiles = {{name = "doors_door_steel.png", backface_culling = true}},
description = "Steel Door",
description = S("Steel Door"),
inventory_image = "doors_item_steel.png",
protected = true,
groups = {cracky = 1, level = 2},
groups = {node = 1, cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
@ -477,9 +483,9 @@ doors.register("door_steel", {
doors.register("door_glass", {
tiles = {"doors_door_glass.png"},
description = "Glass Door",
description = S("Glass Door"),
inventory_image = "doors_item_glass.png",
groups = {cracky=3, oddly_breakable_by_hand=3},
groups = {node = 1, cracky=3, oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close",
@ -492,9 +498,9 @@ doors.register("door_glass", {
doors.register("door_obsidian_glass", {
tiles = {"doors_door_obsidian_glass.png"},
description = "Obsidian Glass Door",
description = S("Obsidian Glass Door"),
inventory_image = "doors_item_obsidian_glass.png",
groups = {cracky=3},
groups = {node = 1, cracky=3},
sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close",
@ -544,12 +550,12 @@ function doors.trapdoor_toggle(pos, node, clicker)
if string.sub(node.name, -5) == "_open" then
minetest.sound_play(def.sound_close,
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = string.sub(node.name, 1,
string.len(node.name) - 5), param1 = node.param1, param2 = node.param2})
else
minetest.sound_play(def.sound_open,
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = node.name .. "_open",
param1 = node.param1, param2 = node.param2})
end
@ -580,7 +586,7 @@ function doors.register_trapdoor(name, def)
local pn = placer:get_player_name()
local meta = minetest.get_meta(pos)
meta:set_string("owner", pn)
meta:set_string("infotext", "Owned by "..pn)
meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn))
return (creative and creative.is_enabled_for and creative.is_enabled_for(pn))
end
@ -599,7 +605,7 @@ function doors.register_trapdoor(name, def)
-- verify placer is owner of lockable door
if owner ~= pname then
minetest.record_protection_violation(pos, pname)
minetest.chat_send_player(pname, "You do not own this trapdoor.")
minetest.chat_send_player(pname, S("You do not own this trapdoor."))
return nil
end
@ -609,7 +615,7 @@ function doors.register_trapdoor(name, def)
meta:set_string("key_lock_secret", secret)
end
return secret, "a locked trapdoor", owner
return secret, S("a locked trapdoor"), owner
end
def.node_dig_prediction = ""
else
@ -642,10 +648,14 @@ function doors.register_trapdoor(name, def)
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
}
def_closed.tiles = {def.tile_front,
def.tile_front .. '^[transformFY',
def.tile_side, def.tile_side,
def.tile_side, def.tile_side}
def_closed.tiles = {
def.tile_front,
def.tile_front .. '^[transformFY',
def.tile_side,
def.tile_side,
def.tile_side,
def.tile_side
}
def_opened.node_box = {
type = "fixed",
@ -655,11 +665,14 @@ function doors.register_trapdoor(name, def)
type = "fixed",
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
}
def_opened.tiles = {def.tile_side, def.tile_side,
def.tile_side .. '^[transform3',
def.tile_side .. '^[transform1',
def.tile_front .. '^[transform46',
def.tile_front .. '^[transform6'}
def_opened.tiles = {
def.tile_side,
def.tile_side .. '^[transform2',
def.tile_side .. '^[transform3',
def.tile_side .. '^[transform1',
def.tile_front .. '^[transform46',
def.tile_front .. '^[transform6'
}
def_opened.drop = name_closed
def_opened.groups.not_in_creative_inventory = 1
@ -672,7 +685,7 @@ function doors.register_trapdoor(name, def)
end
doors.register_trapdoor("doors:trapdoor", {
description = "Wooden Trapdoor",
description = S("Wooden Trapdoor"),
inventory_image = "doors_trapdoor.png",
wield_image = "doors_trapdoor.png",
tile_front = "doors_trapdoor.png",
@ -681,7 +694,7 @@ doors.register_trapdoor("doors:trapdoor", {
})
doors.register_trapdoor("doors:trapdoor_steel", {
description = "Steel Trapdoor",
description = S("Steel Trapdoor"),
inventory_image = "doors_trapdoor_steel.png",
wield_image = "doors_trapdoor_steel.png",
tile_front = "doors_trapdoor_steel.png",
@ -694,7 +707,7 @@ doors.register_trapdoor("doors:trapdoor_steel", {
})
minetest.register_craft({
output = 'doors:trapdoor 2',
output = "doors:trapdoor 2",
recipe = {
{'group:wood', 'group:wood', ''},
{'group:wood', 'group:wood', ''},
@ -703,15 +716,16 @@ minetest.register_craft({
})
minetest.register_craft({
output = 'doors:trapdoor_steel',
output = "doors:trapdoor_steel",
recipe = {
{'default:steel_ingot', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot'},
{"default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot"},
}
})
----fence gate----
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0
function doors.register_fencegate(name, def)
local fence = {
@ -730,12 +744,12 @@ function doors.register_fencegate(name, def)
local node_def = minetest.registered_nodes[node.name]
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2})
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3,
max_hear_distance = 8})
max_hear_distance = 8}, true)
return itemstack
end,
selection_box = {
type = "fixed",
fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4},
fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}
},
}
@ -761,7 +775,7 @@ function doors.register_fencegate(name, def)
fence_closed.sound = "doors_fencegate_open"
fence_closed.collision_box = {
type = "fixed",
fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4},
fixed = {-1/2, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
}
local fence_open = table.copy(fence)
@ -771,8 +785,8 @@ function doors.register_fencegate(name, def)
fence_open.groups.not_in_creative_inventory = 1
fence_open.collision_box = {
type = "fixed",
fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4},
{-1/2, -3/8, -1/2, -3/8, 3/8, 0}},
fixed = {{-1/2, -1/2, -1/8, -3/8, 1/2 + fence_collision_extra, 1/8},
{-1/2, -3/8, -1/2, -3/8, 3/8, 0 }}
}
minetest.register_node(":" .. name .. "_closed", fence_closed)
@ -781,42 +795,42 @@ function doors.register_fencegate(name, def)
minetest.register_craft({
output = name .. "_closed",
recipe = {
{"default:stick", def.material, "default:stick"},
{"default:stick", def.material, "default:stick"}
{"group:stick", def.material, "group:stick"},
{"group:stick", def.material, "group:stick"}
}
})
end
doors.register_fencegate("doors:gate_wood", {
description = "Apple Wood Fence Gate",
description = S("Apple Wood Fence Gate"),
texture = "default_wood.png",
material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_acacia_wood", {
description = "Acacia Wood Fence Gate",
description = S("Acacia Wood Fence Gate"),
texture = "default_acacia_wood.png",
material = "default:acacia_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_junglewood", {
description = "Jungle Wood Fence Gate",
description = S("Jungle Wood Fence Gate"),
texture = "default_junglewood.png",
material = "default:junglewood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_pine_wood", {
description = "Pine Wood Fence Gate",
description = S("Pine Wood Fence Gate"),
texture = "default_pine_wood.png",
material = "default:pine_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}
})
doors.register_fencegate("doors:gate_aspen_wood", {
description = "Aspen Wood Fence Gate",
description = S("Aspen Wood Fence Gate"),
texture = "default_aspen_wood.png",
material = "default:aspen_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Verborgenes Türsegment
Owned by @1=Eigentum von @1
You do not own this locked door.=Diese abgeschlossene Tür gehört Ihnen nicht.
a locked door=eine abgeschlossene Tür
Wooden Door=Holztür
Steel Door=Stahltür
Glass Door=Glastür
Obsidian Glass Door=Obsidianglastür
You do not own this trapdoor.=Diese Falltür gehört Ihnen nicht.
a locked trapdoor=eine abgeschlossene Falltür
Wooden Trapdoor=Holzfalltür
Steel Trapdoor=Stahlfalltür
Apple Wood Fence Gate=Apfelholzzauntor
Acacia Wood Fence Gate=Akazienholzzauntor
Jungle Wood Fence Gate=Dschungelholzzauntor
Pine Wood Fence Gate=Kiefernholzzauntor
Aspen Wood Fence Gate=Espenholzzauntor

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Segmento de puerta oculta
Owned by @1=Propiedad de @1
You do not own this locked door.=Esta puerta cerrada no te pertenece.
a locked door=una puerta cerrada
Wooden Door=Puerta de madera
Steel Door=Puerta de acero
Glass Door=Puerta de vidrio
Obsidian Glass Door=Puerta de vidrio de obsidiana
You do not own this trapdoor.=Esta trampilla no te pertenece.
a locked trapdoor=una trampilla cerrada
Wooden Trapdoor=Trampilla de madera
Steel Trapdoor=Trampilla de acero
Apple Wood Fence Gate=Puerta de cerca de manzano
Acacia Wood Fence Gate=Puerta de cerca de acacia
Jungle Wood Fence Gate=Puerta de cerca de madera tropical
Pine Wood Fence Gate=Puerta de cerca de pino
Aspen Wood Fence Gate=Puerta de cerca de álamo

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Segment de porte cachée
Owned by @1=Possédée par @1
You do not own this locked door.=Cette porte vérouillée ne vous appartient pas.
a locked door=une porte verouillée
Wooden Door=Porte en bois
Steel Door=Porte en acier
Glass Door=Porte en verre
Obsidian Glass Door=Porte en verre d'obsidienne
You do not own this trapdoor.=Vous ne possédez pas cette trappe.
a locked trapdoor=une trappe verouillée
Wooden Trapdoor=Trappe en bois
Steel Trapdoor=Trappe en acier
Apple Wood Fence Gate=Porte de clôture en bois de pommier
Acacia Wood Fence Gate=Porte de clôture en bois d'acacia
Jungle Wood Fence Gate=Porte de clôture en bois de la jungle
Pine Wood Fence Gate=Porte de clôture en bois de pin
Aspen Wood Fence Gate=Porte de clôture en bois de tremble

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Bagian Pintu Tersembunyi
Owned by @1=Milik @1
You do not own this locked door.=Anda bukan pemilik pintu terkunci ini.
a locked door=pintu terkunci
Wooden Door=Pintu Kayu
Steel Door=Pintu Baja
Glass Door=Pintu Kaca
Obsidian Glass Door=Pintu Kaca Obsidian
You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini.
a locked trapdoor=pintu kolong terkunci
Wooden Trapdoor=Pintu Kolong Kayu
Steel Trapdoor=Pintu Kolong Baja
Apple Wood Fence Gate=Gerbang Kayu Pohon Apel
Acacia Wood Fence Gate=Gerbang Kayu Akasia
Jungle Wood Fence Gate=Gerbang Kayu Pohon Rimba
Pine Wood Fence Gate=Gerbang Kayu Pinus
Aspen Wood Fence Gate=Gerbang Kayu Aspen

View file

@ -0,0 +1,19 @@
# textdomain: doors
Hidden Door Segment=Segmento di porta nascosto
Owned by @1=Di proprietà di @1
You do not own this locked door.=Non sei il proprietario di questa porta chiusa a chiave.
a locked door=una porta chiusa a chiave
Wooden Door=Porta di legno
Steel Door=Porta d'acciaio
Glass Door=Porta di vetro
Obsidian Glass Door=Porta di vetro d'ossidiana
Owned by @1=Di proprietà di @1
You do not own this trapdoor.=Non sei il proprietario di questa botola.
a locked trapdoor=una botola chiusa a chiave
Wooden Trapdoor=Botola di legno
Steel Trapdoor=Botola d'acciaio
Apple Wood Fence Gate=Cancello della recinzione di legno di melo
Acacia Wood Fence Gate=Cancello della recinzione di legno d'acacia
Jungle Wood Fence Gate=Cancello della recinzione di legno della giungla
Pine Wood Fence Gate=Cancello della recinzione di legno di pino
Aspen Wood Fence Gate=Cancello della recinzione di legno di pioppo

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Segmen Pintu Tersembunyi
Owned by @1=Milik @1
You do not own this locked door.=Anda bukan pemilik pintu berkunci ini.
a locked door=pintu berkunci
Wooden Door=Pintu Kayu
Steel Door=Pintu Keluli
Glass Door=Pintu Kaca
Obsidian Glass Door=Pintu Kaca Obsidia
You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini.
a locked trapdoor=pintu kolong berkunci
Wooden Trapdoor=Pintu Kolong Kayu
Steel Trapdoor=Pintu Kolong Keluli
Apple Wood Fence Gate=Pintu Pagar Kayu Epal
Acacia Wood Fence Gate=Pintu Pagar Kayu Akasia
Jungle Wood Fence Gate=Pintu Pagar Kayu Hutan
Pine Wood Fence Gate=Pintu Pagar Kayu Pain
Aspen Wood Fence Gate=Pintu Pagar Kayu Aspen

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Спрятанная Часть Двери
Owned by @1=Владелец: @1
You do not own this locked door.=Вы не владелец этой заблокированной двери.
a locked door=заблокированная дверь
Wooden Door=Деревянная Дверь
Steel Door=Стальная Дверь
Glass Door=Стеклянная Дверь
Obsidian Glass Door=Дверь Из Обсидианового Стекла
You do not own this trapdoor.=Вы не владелец этого люка.
a locked trapdoor=заблокированный люк
Wooden Trapdoor=Деревянный Люк
Steel Trapdoor=Стальной Люк
Apple Wood Fence Gate=Яблоневая Деревянная Калитка
Acacia Wood Fence Gate=Деревянная Калитка Из Акации
Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева
Pine Wood Fence Gate=Сосновая Деревянная Калитка
Aspen Wood Fence Gate=Осиновая Деревянная Калитка

View file

@ -0,0 +1,19 @@
# textdomain: doors
Hidden Door Segment=Dold dörrsegment
Owned by @1=Ägd av @1
You do not own this locked door.=Du äger inte denna låsta dörr.
a locked door=en låst dörr
Wooden Door=Trä Dörr
Steel Door=Stål Dörr
Glass Door=Glas Dörr
Obsidian Glass Door=Obsidian Glas Dörr
Owned by @1=Ägd av @1
You do not own this trapdoor.=Du äger inte denna fallucka
a locked trapdoor=en låst fallucka
Wooden Trapdoor=Trä Fallucka
Steel Trapdoor=Stål Fallucka
Apple Wood Fence Gate=Äpple Trä Fallucka
Acacia Wood Fence Gate=Akacia Trä Fallucka
Jungle Wood Fence Gate=Djungel Trä Fallucka
Pine Wood Fence Gate=Tall Trä Fallucka
Aspen Wood Fence Gate=Asp Trä Fallucka

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隐藏门段
Owned by @1=由@1拥有
You do not own this locked door.=这个门不属于你所有。
a locked door=一扇已上锁的门
Wooden Door=木门
Steel Door=铁门
Glass Door=玻璃门
Obsidian Glass Door=黑曜石玻璃门
You do not own this trapdoor.=这个活板门不属于你所有。
a locked trapdoor=一扇已上锁的活板门
Wooden Trapdoor=木活板门
Steel Trapdoor=铁活板门
Apple Wood Fence Gate=用苹果树做的木栅栏门
Acacia Wood Fence Gate=相思木栅栏门
Jungle Wood Fence Gate=丛林木栅栏门
Pine Wood Fence Gate=松木栅栏门
Aspen Wood Fence Gate=白杨木栅栏门

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隱藏門段
Owned by @1=由@1擁有
You do not own this locked door.=這個門不屬於你所有。
a locked door=一扇已上鎖的門
Wooden Door=木門
Steel Door=鐵門
Glass Door=玻璃門
Obsidian Glass Door=黑曜石玻璃門
You do not own this trapdoor.=這個活板門不屬於你所有。
a locked trapdoor=一扇已上鎖的活板門
Wooden Trapdoor=木活板門
Steel Trapdoor=鐵活板門
Apple Wood Fence Gate=用蘋果樹做的木柵欄門
Acacia Wood Fence Gate=相思木柵欄門
Jungle Wood Fence Gate=叢林木柵欄門
Pine Wood Fence Gate=松木柵欄門
Aspen Wood Fence Gate=白楊木柵欄門

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=
Owned by @1=
You do not own this locked door.=
a locked door=
Wooden Door=
Steel Door=
Glass Door=
Obsidian Glass Door=
You do not own this trapdoor.=
a locked trapdoor=
Wooden Trapdoor=
Steel Trapdoor=
Apple Wood Fence Gate=
Acacia Wood Fence Gate=
Jungle Wood Fence Gate=
Pine Wood Fence Gate=
Aspen Wood Fence Gate=

4
mods/doors/mod.conf Normal file
View file

@ -0,0 +1,4 @@
name = doors
description = Minetest Game mod: doors
depends = default
optional_depends = screwdriver

View file

@ -1,7 +1,7 @@
# Blender v2.76 (sub 0) OBJ File: 'door_a.blend'
# www.blender.org
mtllib door_a.mtl
o Cube_Cube.001
o door_a
v 0.499000 -0.499000 -0.499000
v 0.499000 1.499000 -0.499000
v 0.499000 -0.499000 -0.375000

View file

@ -0,0 +1,50 @@
# Blender v2.79 (sub 0) OBJ File: ''
# www.blender.org
mtllib door_a2.mtl
o door_a2
v -0.499000 1.499000 -0.499000
v -0.499000 -0.499000 -0.499000
v -0.499000 -0.499000 -0.375000
v -0.499000 1.499000 -0.375000
v 0.499000 -0.499000 -0.375000
v 0.499000 1.499000 -0.375000
v 0.499000 -0.499000 -0.499000
v 0.499000 1.499000 -0.499000
vt 0.894737 1.000000
vt 0.894737 0.000000
vt 0.842105 0.000000
vt 0.842105 1.000000
vt 0.421052 1.000000
vt 0.421052 0.000000
vt 0.000001 0.000000
vt 0.000001 1.000000
vt 0.894737 1.000000
vt 0.894737 0.000000
vt 0.947368 0.000000
vt 0.947368 1.000000
vt 0.842105 1.000000
vt 0.842105 0.000000
vt 0.421052 0.000000
vt 0.421052 1.000000
vt 0.947368 0.000000
vt 0.947368 0.500000
vt 1.000000 0.500000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 1.000000 0.500000
vt 0.947368 0.500000
vt 0.947368 1.000000
vn -1.0000 -0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl None.009
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/5/2 3/6/2 5/7/2 6/8/2
f 6/9/3 5/10/3 7/11/3 8/12/3
f 8/13/4 7/14/4 2/15/4 1/16/4
f 2/17/5 7/18/5 5/19/5 3/20/5
f 8/21/6 1/22/6 4/23/6 6/24/6

View file

@ -1,40 +1,50 @@
# Blender v2.76 (sub 0) OBJ File: 'door_b.blend'
# Blender v2.79 (sub 0) OBJ File: ''
# www.blender.org
mtllib door_b.mtl
o Cube_Cube.001
v -0.499000 -0.499000 -0.499000
v -0.499000 1.499000 -0.499000
v -0.499000 -0.499000 -0.375000
v -0.499000 1.499000 -0.375000
v 0.499000 -0.499000 -0.499000
o door_b
v 0.499000 1.499000 -0.499000
v 0.499000 -0.499000 -0.375000
v 0.499000 1.499000 -0.375000
v 0.499000 -0.499000 -0.375000
v 0.499000 -0.499000 -0.499000
v -0.499000 1.499000 -0.375000
v -0.499000 -0.499000 -0.375000
v -0.499000 1.499000 -0.499000
v -0.499000 -0.499000 -0.499000
vt 0.894736 1.000000
vt 0.947368 1.000000
vt 0.947368 0.000000
vt 0.894736 0.000000
vt 0.842105 1.000000
vt 0.842105 0.000000
vt 0.894737 0.000000
vt 0.894737 1.000000
vt 0.421053 1.000000
vt 0.421053 0.000000
vt 0.947368 0.000000
vt 0.947368 1.000000
vt 0.842105 0.000000
vt 0.842105 1.000000
vt 0.894736 1.000000
vt 0.894736 0.000000
vt 0.842105 0.000000
vt 0.421053 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.421053 0.000000
vt 1.000000 0.500000
vt 0.947368 0.500000
vt 0.947368 1.000000
vt 1.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 2/1/1 1/2/1 3/3/1 4/4/1
f 4/5/2 3/6/2 7/2/2 8/1/2
f 8/4/3 7/3/3 5/7/3 6/8/3
f 6/9/4 5/10/4 1/6/4 2/5/4
f 1/11/5 5/12/5 7/13/5 3/7/5
f 6/8/6 2/13/6 4/12/6 8/14/6
vt 1.000000 0.000000
vt 0.947368 0.000000
vt 0.947368 0.500000
vt 1.000000 0.500000
vn 1.0000 0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl None.007
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/5/2 5/6/2 6/7/2 3/8/2
f 5/9/3 7/10/3 8/11/3 6/12/3
f 7/13/4 1/14/4 4/15/4 8/16/4
f 4/17/5 3/18/5 6/19/5 8/20/5
f 7/21/6 5/22/6 2/23/6 1/24/6

View file

@ -0,0 +1,50 @@
# Blender v2.79 (sub 0) OBJ File: ''
# www.blender.org
mtllib door_b2.mtl
o door_b2
v 0.499000 1.499000 -0.499000
v 0.499000 1.499000 -0.375000
v 0.499000 -0.499000 -0.375000
v 0.499000 -0.499000 -0.499000
v -0.499000 1.499000 -0.375000
v -0.499000 -0.499000 -0.375000
v -0.499000 1.499000 -0.499000
v -0.499000 -0.499000 -0.499000
vt 0.842105 1.000000
vt 0.894737 1.000000
vt 0.894737 0.000000
vt 0.842105 0.000000
vt 0.421052 1.000000
vt 0.000001 1.000000
vt 0.000001 0.000000
vt 0.421052 0.000000
vt 0.894737 1.000000
vt 0.947368 1.000000
vt 0.947368 0.000000
vt 0.894737 0.000000
vt 0.842105 1.000000
vt 0.421052 1.000000
vt 0.421052 0.000000
vt 0.842105 0.000000
vt 1.000000 0.500000
vt 0.947368 0.500000
vt 0.947368 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.947368 0.000000
vt 0.947368 0.500000
vt 1.000000 0.500000
vn 1.0000 0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl None.010
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/5/2 5/6/2 6/7/2 3/8/2
f 5/9/3 7/10/3 8/11/3 6/12/3
f 7/13/4 1/14/4 4/15/4 8/16/4
f 4/17/5 3/18/5 6/19/5 8/20/5
f 7/21/6 5/22/6 2/23/6 1/24/6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 118 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 B

After

Width:  |  Height:  |  Size: 98 B

Before After
Before After