Add minified xdecor mod
22
mods/xdecor/.gitignore
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
## Files related to minetest development cycle
|
||||
/*.patch
|
||||
# GNU Patch reject file
|
||||
*.rej
|
||||
|
||||
## Editors and Development environments
|
||||
*~
|
||||
*.swp
|
||||
*.bak*
|
||||
*.orig
|
||||
# Vim
|
||||
*.vim
|
||||
# Kate
|
||||
.*.kate-swp
|
||||
.swp.*
|
||||
# Eclipse (LDT)
|
||||
.project
|
||||
.settings/
|
||||
.buildpath
|
||||
.metadata
|
||||
# Idea IDE
|
||||
.idea/*
|
14
mods/xdecor/.luacheckrc
Normal file
@ -0,0 +1,14 @@
|
||||
allow_defined_top = true
|
||||
|
||||
read_globals = {
|
||||
"minetest",
|
||||
"vector", "ItemStack",
|
||||
"default",
|
||||
"stairs", "doors", "xpanes",
|
||||
"xdecor", "xbg",
|
||||
table = {fields = {"copy"}},
|
||||
string = {fields = {"split"}},
|
||||
"unpack",
|
||||
"stairsplus",
|
||||
"mesecon"
|
||||
}
|
41
mods/xdecor/LICENSE
Normal file
@ -0,0 +1,41 @@
|
||||
┌──────────────────────────────────────────────────────────────────────┐
|
||||
│ Copyright (c) 2015-2021 kilbith <jeanpatrick.guerrero@gmail.com> │
|
||||
│ │
|
||||
│ Code: BSD │
|
||||
│ Textures: WTFPL (credits: Gambit, kilbith, Cisoun) │
|
||||
│ Textures (radio, speaker, hanging candle, rooster) by │
|
||||
│ gigomaf <bartiko2@poczta.fm> (CC BY-NC 3.0) │
|
||||
│ Sounds: │
|
||||
│ - xdecor_boiling_water.ogg - by Audionautics - CC BY-SA │
|
||||
│ freesound.org/people/Audionautics/sounds/133901/ │
|
||||
│ - xdecor_enchanting.ogg - by Timbre - CC BY-SA-NC │
|
||||
│ freesound.org/people/Timbre/sounds/221683/ │
|
||||
│ - xdecor_bouncy.ogg - by Blender Foundation - CC BY 3.0 │
|
||||
│ opengameart.org/content/funny-comic-cartoon-bounce-sound │
|
||||
└──────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
Copyright (c) 1998, Regents of the University of California
|
||||
All rights reserved.
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the University of California, Berkeley nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
17
mods/xdecor/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
## X-Decor ##
|
||||
|
||||
[](https://content.minetest.net/packages/jp/xdecor/)
|
||||
|
||||
A decoration mod meant to be simple and well-featured.
|
||||
It adds a bunch of cute cubes, various mechanisms and stuff for [cutting](https://forum.minetest.net/viewtopic.php?f=11&t=14085), [enchanting](https://forum.minetest.net/viewtopic.php?f=11&t=14087), cooking, etc.
|
||||
This mod is a lightweight alternative to HomeDecor and MoreBlocks.
|
||||
|
||||
### Requirements ###
|
||||
This mod requires at least version 5.1 of Minetest.
|
||||
|
||||
### Credits ###
|
||||
|
||||
Special thanks to Gambit for the textures from the PixelBOX pack for Minetest.
|
||||
Thanks to all contributors who keep this mod alive.
|
||||
|
||||

|
60
mods/xdecor/handlers/helpers.lua
Normal file
@ -0,0 +1,60 @@
|
||||
-- Returns the greatest numeric key in a table.
|
||||
function xdecor.maxn(T)
|
||||
local n = 0
|
||||
for k in pairs(T) do
|
||||
if k > n then
|
||||
n = k
|
||||
end
|
||||
end
|
||||
|
||||
return n
|
||||
end
|
||||
|
||||
-- Returns the length of an hash table.
|
||||
function xdecor.tablelen(T)
|
||||
local n = 0
|
||||
|
||||
for _ in pairs(T) do
|
||||
n = n + 1
|
||||
end
|
||||
|
||||
return n
|
||||
end
|
||||
|
||||
-- Deep copy of a table. Borrowed from mesecons mod (https://github.com/Jeija/minetest-mod-mesecons).
|
||||
function xdecor.tablecopy(T)
|
||||
if type(T) ~= "table" then
|
||||
return T -- No need to copy.
|
||||
end
|
||||
|
||||
local new = {}
|
||||
|
||||
for k, v in pairs(T) do
|
||||
if type(v) == "table" then
|
||||
new[k] = xdecor.tablecopy(v)
|
||||
else
|
||||
new[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
return new
|
||||
end
|
||||
|
||||
function xdecor.stairs_valid_def(def)
|
||||
return (def.drawtype == "normal" or def.drawtype:sub(1,5) == "glass") and
|
||||
(def.groups.cracky or def.groups.choppy) and
|
||||
not def.on_construct and
|
||||
not def.after_place_node and
|
||||
not def.on_rightclick and
|
||||
not def.on_blast and
|
||||
not def.allow_metadata_inventory_take and
|
||||
not (def.groups.not_in_creative_inventory == 1) and
|
||||
not (def.groups.not_cuttable == 1) and
|
||||
not def.groups.wool and
|
||||
(def.tiles and type(def.tiles[1]) == "string" and not
|
||||
def.tiles[1]:find("default_mineral")) and
|
||||
not def.mesecons and
|
||||
def.description and
|
||||
def.description ~= "" and
|
||||
def.light_source == 0
|
||||
end
|
67
mods/xdecor/handlers/nodeboxes.lua
Normal file
@ -0,0 +1,67 @@
|
||||
xdecor.box = {
|
||||
slab_y = function(height, shift)
|
||||
return {
|
||||
-0.5,
|
||||
-0.5 + (shift or 0),
|
||||
-0.5,
|
||||
0.5,
|
||||
-0.5 + height + (shift or 0),
|
||||
0.5
|
||||
}
|
||||
end,
|
||||
slab_z = function(depth)
|
||||
return {-0.5, -0.5, -0.5 + depth, 0.5, 0.5, 0.5}
|
||||
end,
|
||||
bar_y = function(radius)
|
||||
return {-radius, -0.5, -radius, radius, 0.5, radius}
|
||||
end,
|
||||
cuboid = function(radius_x, radius_y, radius_z)
|
||||
return {-radius_x, -radius_y, -radius_z, radius_x, radius_y, radius_z}
|
||||
end
|
||||
}
|
||||
|
||||
xdecor.nodebox = {
|
||||
regular = {type = "regular"},
|
||||
null = {
|
||||
type = "fixed", fixed = {0,0,0,0,0,0}
|
||||
}
|
||||
}
|
||||
|
||||
xdecor.pixelbox = function(size, boxes)
|
||||
local fixed = {}
|
||||
for _, box in ipairs(boxes) do
|
||||
-- `unpack` has been changed to `table.unpack` in newest Lua versions.
|
||||
local x, y, z, w, h, l = unpack(box)
|
||||
fixed[#fixed + 1] = {
|
||||
(x / size) - 0.5,
|
||||
(y / size) - 0.5,
|
||||
(z / size) - 0.5,
|
||||
((x + w) / size) - 0.5,
|
||||
((y + h) / size) - 0.5,
|
||||
((z + l) / size) - 0.5
|
||||
}
|
||||
end
|
||||
|
||||
return {type = "fixed", fixed = fixed}
|
||||
end
|
||||
|
||||
local mt = {}
|
||||
|
||||
mt.__index = function(table, key)
|
||||
local ref = xdecor.box[key]
|
||||
local ref_type = type(ref)
|
||||
|
||||
if ref_type == "function" then
|
||||
return function(...)
|
||||
return {type = "fixed", fixed = ref(...)}
|
||||
end
|
||||
elseif ref_type == "table" then
|
||||
return {type = "fixed", fixed = ref}
|
||||
elseif ref_type == "nil" then
|
||||
error(key .. "could not be found among nodebox presets and functions")
|
||||
end
|
||||
|
||||
error("unexpected datatype " .. tostring(type(ref)) .. " while looking for " .. key)
|
||||
end
|
||||
|
||||
setmetatable(xdecor.nodebox, mt)
|
137
mods/xdecor/handlers/registration.lua
Normal file
@ -0,0 +1,137 @@
|
||||
xbg = ""
|
||||
local default_inventory_size = 32
|
||||
|
||||
local default_inventory_formspecs = {
|
||||
["8"] = [[ size[8,6]
|
||||
list[context;main;0,0;8,1;]
|
||||
list[current_player;main;0,2;8,4;]
|
||||
listring[current_player;main]
|
||||
listring[context;main] ]] ..
|
||||
"",
|
||||
|
||||
["16"] = [[ size[8,7]
|
||||
list[context;main;0,0;8,2;]
|
||||
list[current_player;main;0,3;8,4;]
|
||||
listring[current_player;main]
|
||||
listring[context;main] ]] ..
|
||||
"",
|
||||
|
||||
["24"] = [[ size[8,8]
|
||||
list[context;main;0,0;8,3;]
|
||||
list[current_player;main;0,4;8,4;]
|
||||
listring[current_player;main]
|
||||
listring[context;main]" ]] ..
|
||||
"",
|
||||
|
||||
["32"] = [[ size[8,9]
|
||||
list[context;main;0,0.3;8,4;]
|
||||
list[current_player;main;0,4.85;8,1;]
|
||||
list[current_player;main;0,6.08;8,3;8]
|
||||
listring[current_player;main]
|
||||
listring[context;main] ]] ..
|
||||
""
|
||||
}
|
||||
|
||||
local function get_formspec_by_size(size)
|
||||
local formspec = default_inventory_formspecs[tostring(size)]
|
||||
return formspec or default_inventory_formspecs
|
||||
end
|
||||
|
||||
local default_can_dig = function(pos)
|
||||
local inv = minetest.get_meta(pos):get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end
|
||||
|
||||
local function xdecor_stairs_alternative(nodename, def)
|
||||
local mod, name = nodename:match("(.*):(.*)")
|
||||
|
||||
for groupname, value in pairs(def.groups) do
|
||||
if groupname ~= "cracky" and groupname ~= "choppy" and
|
||||
groupname ~= "flammable" and groupname ~= "crumbly" and
|
||||
groupname ~= "snappy" then
|
||||
def.groups.groupname = nil
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
stairsplus:register_all(
|
||||
mod,
|
||||
name,
|
||||
nodename,
|
||||
{
|
||||
description = def.description,
|
||||
tiles = def.tiles,
|
||||
groups = def.groups,
|
||||
sounds = def.sounds,
|
||||
}
|
||||
)
|
||||
elseif minetest.get_modpath("stairs") then
|
||||
stairs.register_stair_and_slab(name,nodename,
|
||||
def.groups,
|
||||
def.tiles,
|
||||
("%s Stair"):format(def.description),
|
||||
("%s Slab"):format(def.description),
|
||||
def.sounds
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
function xdecor.register(name, def)
|
||||
def.drawtype = def.drawtype or (def.mesh and "mesh") or (def.node_box and "nodebox")
|
||||
def.sounds = def.sounds or lzr_sounds.node_sound_defaults()
|
||||
|
||||
if not (def.drawtype == "normal" or def.drawtype == "signlike" or
|
||||
def.drawtype == "plantlike" or def.drawtype == "glasslike_framed" or
|
||||
def.drawtype == "glasslike_framed_optional") then
|
||||
def.paramtype2 = def.paramtype2 or "facedir"
|
||||
end
|
||||
|
||||
if def.sunlight_propagates ~= false and
|
||||
(def.drawtype == "plantlike" or def.drawtype == "torchlike" or
|
||||
def.drawtype == "signlike" or def.drawtype == "fencelike") then
|
||||
def.sunlight_propagates = true
|
||||
end
|
||||
|
||||
if not def.paramtype and
|
||||
(def.light_source or def.sunlight_propagates or
|
||||
def.drawtype == "nodebox" or def.drawtype == "mesh") then
|
||||
def.paramtype = "light"
|
||||
end
|
||||
|
||||
local infotext = def.infotext
|
||||
local inventory = def.inventory
|
||||
def.inventory = nil
|
||||
|
||||
if inventory then
|
||||
def.on_construct = def.on_construct or function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if infotext then meta:set_string("infotext", infotext) end
|
||||
|
||||
local size = inventory.size or default_inventory_size
|
||||
local inv = meta:get_inventory()
|
||||
|
||||
inv:set_size("main", size)
|
||||
meta:set_string("formspec",
|
||||
(inventory.formspec or get_formspec_by_size(size)) .. xbg)
|
||||
end
|
||||
|
||||
def.can_dig = def.can_dig or default_can_dig
|
||||
|
||||
elseif infotext and not def.on_construct then
|
||||
def.on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", infotext)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("xdecor:" .. name, def)
|
||||
|
||||
local workbench = minetest.settings:get_bool("enable_xdecor_workbench")
|
||||
|
||||
if workbench == false and
|
||||
(minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs")) then
|
||||
if xdecor.stairs_valid_def(def) then
|
||||
xdecor_stairs_alternative("xdecor:"..name, def)
|
||||
end
|
||||
end
|
||||
end
|
23
mods/xdecor/init.lua
Normal file
@ -0,0 +1,23 @@
|
||||
--local t = os.clock()
|
||||
|
||||
xdecor = {}
|
||||
local modpath = minetest.get_modpath("xdecor")
|
||||
|
||||
dofile(modpath .. "/handlers/helpers.lua")
|
||||
dofile(modpath .. "/handlers/nodeboxes.lua")
|
||||
dofile(modpath .. "/handlers/registration.lua")
|
||||
|
||||
dofile(modpath .. "/src/nodes.lua")
|
||||
|
||||
local subpart = {
|
||||
"rope",
|
||||
}
|
||||
|
||||
for _, name in ipairs(subpart) do
|
||||
local enable = minetest.settings:get_bool("enable_xdecor_" .. name)
|
||||
if enable or enable == nil then
|
||||
dofile(modpath .. "/src/" .. name .. ".lua")
|
||||
end
|
||||
end
|
||||
|
||||
--print(string.format("[xdecor] loaded in %.2f ms", (os.clock()-t)*1000))
|
154
mods/xdecor/locale/template.txt
Normal file
@ -0,0 +1,154 @@
|
||||
# textdomain: xdecor
|
||||
|
||||
|
||||
### chess.lua ###
|
||||
|
||||
Black Bishop=
|
||||
Black King=
|
||||
Black Knight=
|
||||
Black Pawn=
|
||||
Black Queen=
|
||||
Black Rook=
|
||||
Chess=
|
||||
Chess Board=
|
||||
Dumb AI=
|
||||
Multiplayer=
|
||||
New game=
|
||||
Select a mode:=
|
||||
Singleplayer=
|
||||
Someone else plays black pieces!=
|
||||
Someone else plays white pieces!=
|
||||
White Bishop=
|
||||
White King=
|
||||
White Knight=
|
||||
White Pawn=
|
||||
White Queen=
|
||||
White Rook=
|
||||
|
||||
You can't dig the chessboard, a game has been started. Reset it first if you're a current player, or dig it again in @1=
|
||||
|
||||
You can't reset the chessboard, a game has been started. If you aren't a current player, try again in @1=
|
||||
|
||||
check=
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Bowl=
|
||||
Bowl of soup=
|
||||
Cauldron=
|
||||
Cauldron (active) - Drop foods inside to make a soup=
|
||||
Cauldron (active) - Use a bowl to eat the soup=
|
||||
Cauldron (empty)=
|
||||
Cauldron (idle)=
|
||||
No room in your inventory to add a bowl of soup.=
|
||||
No room in your inventory to add a bucket of water.=
|
||||
|
||||
### enchanting.lua ###
|
||||
|
||||
Axe=
|
||||
Bronze=
|
||||
Diamond=
|
||||
Durability=
|
||||
Efficiency=
|
||||
Enchanted @1 @2 @3=
|
||||
Enchantment Table=
|
||||
Mese=
|
||||
Pickaxe=
|
||||
Sharpness=
|
||||
Shovel=
|
||||
Steel=
|
||||
Sword=
|
||||
Your tool digs faster=
|
||||
Your tool last longer=
|
||||
Your weapon inflicts more damages=
|
||||
|
||||
### hive.lua ###
|
||||
|
||||
Artificial Hive=
|
||||
Bees are busy making honey…=
|
||||
Honey=
|
||||
|
||||
### itemframe.lua ###
|
||||
|
||||
@1 (owned by @2)=
|
||||
Item Frame=
|
||||
|
||||
### mailbox.lua ###
|
||||
|
||||
@1's Mailbox=
|
||||
Last donators=
|
||||
Mailbox=
|
||||
Send your goods to@n@1=
|
||||
The mailbox is full.=
|
||||
|
||||
### mechanisms.lua ###
|
||||
|
||||
Lever=
|
||||
Stone Pressure Plate=
|
||||
Wooden Pressure Plate=
|
||||
|
||||
### nodes.lua ###
|
||||
|
||||
Bamboo Frame=
|
||||
Baricade=
|
||||
Barrel=
|
||||
Cactus Brick=
|
||||
Candle=
|
||||
Chainlink=
|
||||
Chair=
|
||||
Coal Stone Tile=
|
||||
Cobweb=
|
||||
Cushion=
|
||||
Cushion Block=
|
||||
Desert Stone Tile=
|
||||
Empty Shelf=
|
||||
Ender Chest=
|
||||
Garden Stone Path=
|
||||
Half Wooden Cabinet=
|
||||
Hardened Clay=
|
||||
Iron Light Box=
|
||||
Ivy=
|
||||
Japanese Door=
|
||||
Lantern=
|
||||
Moon Brick=
|
||||
Multi Shelf=
|
||||
Packed Ice=
|
||||
Painting=
|
||||
Potted Geranium=
|
||||
Potted Rose=
|
||||
Potted Tulip=
|
||||
Potted Viola=
|
||||
Potted White Dandelion=
|
||||
Potted Yellow Dandelion=
|
||||
Prison Door=
|
||||
Red Curtain=
|
||||
Runestone=
|
||||
Rusty Iron Bars=
|
||||
Rusty Prison Door=
|
||||
Screen Door=
|
||||
Slide Door=
|
||||
Stone Tile=
|
||||
Table=
|
||||
Tatami=
|
||||
Television=
|
||||
Trampoline=
|
||||
Wood Frame=
|
||||
Wood Framed Glass=
|
||||
Wooden Cabinet=
|
||||
Wooden Light Box=
|
||||
Wooden Tile=
|
||||
Woodglass Door=
|
||||
|
||||
### rope.lua ###
|
||||
|
||||
Rope=
|
||||
|
||||
### workbench.lua ###
|
||||
|
||||
Back=
|
||||
Crafting=
|
||||
Cut=
|
||||
Hammer=
|
||||
Repair=
|
||||
Storage=
|
||||
Work Bench=
|
152
mods/xdecor/locale/xdecor.de.tr
Normal file
@ -0,0 +1,152 @@
|
||||
# textdomain: xdecor
|
||||
|
||||
|
||||
### chess.lua ###
|
||||
|
||||
Black Bishop=schwarzer Läufer
|
||||
Black King=schwarter König
|
||||
Black Knight=schwarzes Pferd
|
||||
Black Pawn=schwarzer Bauer
|
||||
Black Queen=schwarze Dame
|
||||
Black Rook=schwarzer Turm
|
||||
Chess=Schach
|
||||
Chess Board=Schachbrett
|
||||
Dumb AI=dumme KI
|
||||
Multiplayer=Mehrspieler
|
||||
New game=neues Spiel
|
||||
Select a mode:=Wähle einen Modus:
|
||||
Singleplayer=Einzelspieler
|
||||
Someone else plays black pieces!=Jemand anderes spielt Schwarz!
|
||||
Someone else plays white pieces!=Jemand anderes spielt Weiß!
|
||||
White Bishop=weißer Läufer
|
||||
White King=weißer König
|
||||
White Knight=weißes Pferd
|
||||
White Pawn=weißer Bauer
|
||||
White Queen=weiße Dame
|
||||
White Rook=weißer Turm
|
||||
You can't dig the chessboard, a game has been started. Reset it first if you're a current player, or dig it again in @1=Das Schachbrett ist während eines Schachspieles nicht abbaubar. Setze das Spiel zurück, falls du ein Mitspieler bist oder versuche es in @1 erneut.
|
||||
You can't reset the chessboard, a game has been started. If you aren't a current player, try again in @1=Das Schachbrett kann nicht zurückgesetzt werden, da ein Spiel im Gang ist. Versuche es in @1 erneut, falls du kein Mitspieler bist.
|
||||
|
||||
check=Schach
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Bowl=Schüssel
|
||||
Bowl of soup=Suppenschüssel
|
||||
Cauldron=Kessel
|
||||
Cauldron (active) - Drop foods inside to make a soup=Kessel (aktiv) - Nahrungsmittel einwerfen, um Suppe zu machen.
|
||||
Cauldron (active) - Use a bowl to eat the soup=Kessel (aktiv) - Benutze eine Schüssel, um die Suppe zu essen
|
||||
Cauldron (empty)=Kessel (leer)
|
||||
Cauldron (idle)=Kessel (untätig)
|
||||
No room in your inventory to add a bowl of soup.=Zu wenig Platz im Inventar für eine Schüssel voll Suppe.
|
||||
No room in your inventory to add a bucket of water.=Zu wenig Platz im Inventar für einen Eimer Wasser.
|
||||
|
||||
### enchanting.lua ###
|
||||
|
||||
Axe=axt
|
||||
Bronze=Bronze
|
||||
Diamond=Diamant
|
||||
Durability=Haltbarkeit
|
||||
Efficiency=Effizienz
|
||||
Enchanted @1 @2 @3=verzauberte(s) @1@2 @3
|
||||
Enchantment Table=Zaubertisch
|
||||
Mese=Mese
|
||||
Pickaxe=Spitzhacke
|
||||
Sharpness=Schärfe
|
||||
Shovel=Schaufel
|
||||
Steel=Eisen
|
||||
Sword=Schwert
|
||||
Your tool digs faster=Dein Werkzeug arbeitet schneller
|
||||
Your tool last longer=Dein Werkzeug hält länger
|
||||
Your weapon inflicts more damages=Deine Waffe erzeugt mehr Schaden
|
||||
|
||||
### hive.lua ###
|
||||
|
||||
Artificial Hive=künstlicher Bienenstock
|
||||
Bees are busy making honey…=Bienen sind beschäftigt, Honig herzustellen.
|
||||
Honey=Honig
|
||||
|
||||
### itemframe.lua ###
|
||||
|
||||
@1 (owned by @2)=@1 (gehört @2)
|
||||
Item Frame=Objektrahmen
|
||||
|
||||
### mailbox.lua ###
|
||||
|
||||
@1's Mailbox=Briefkasten von @1
|
||||
Last donators=letzte Spender
|
||||
Mailbox=Briefkasten
|
||||
Send your goods to@n@1=Sende deine Waren an@n@1
|
||||
The mailbox is full.=Der Briefkasten ist voll.
|
||||
|
||||
### mechanisms.lua ###
|
||||
|
||||
Lever=Schalthebel
|
||||
Stone Pressure Plate=steinerne Druckplatte
|
||||
Wooden Pressure Plate=hölzerne Druckplatte
|
||||
|
||||
### nodes.lua ###
|
||||
|
||||
Bamboo Frame=Bambusgerüst
|
||||
Baricade=Barrikade
|
||||
Barrel=Fass
|
||||
Cactus Brick=Kaktusstein
|
||||
Candle=Kerze
|
||||
Chainlink=Kettenvorhang
|
||||
Chair=einfacher Stuhl
|
||||
Coal Stone Tile=Kohle-Stein-Block
|
||||
Cobweb=Spinnenwebe
|
||||
Cushion=Sitzkissen
|
||||
Cushion Block=Sitzkissenblock
|
||||
Desert Stone Tile=Wüstensteinblock
|
||||
Empty Shelf=leeres Regal
|
||||
Ender Chest=Endertruhe
|
||||
Garden Stone Path=Steingartenweg
|
||||
Half Wooden Cabinet=halber Holzschrank
|
||||
Hardened Clay=gehärteter Ton
|
||||
Iron Light Box=eiseneingefasster Lichtblock
|
||||
Ivy=Efeu
|
||||
Japanese Door=japanische Tür
|
||||
Lantern=Laterne
|
||||
Moon Brick=Naturziegelwand
|
||||
Multi Shelf=Mehrzweckregal
|
||||
Packed Ice=Packeis
|
||||
Painting=Gemälde
|
||||
Potted Geranium=Geranien im Topf
|
||||
Potted Rose=Rosen im Topf
|
||||
Potted Tulip=Tulpen im Topf
|
||||
Potted Viola=Veilchen im Topf
|
||||
Potted White Dandelion=weißer Löwenzahn im Topf
|
||||
Potted Yellow Dandelion=gelber Löwenzahn im Topf
|
||||
Prison Door=Verliestür
|
||||
Red Curtain=roter Vorhang
|
||||
Runestone=Runensteinblock
|
||||
Rusty Iron Bars=rostige Eisenstäbe
|
||||
Rusty Prison Door=rostige Verliestür
|
||||
Screen Door=französische Glastür
|
||||
Slide Door=Schiebetür
|
||||
Stone Tile=steinerner Block
|
||||
Table=einfacher Tisch
|
||||
Tatami=Tatamimatte
|
||||
Television=Fernseher
|
||||
Trampoline=Trampolin
|
||||
Wood Frame=hölzerner Zierrahmen
|
||||
Wood Framed Glass=holzeingefasstes Glas
|
||||
Wooden Cabinet=Holzschrank
|
||||
Wooden Light Box=holzeingefasster Lichtblock
|
||||
Wooden Tile=hölzerner Dekorblock
|
||||
Woodglass Door=Tür mit Lichtausschnitt
|
||||
|
||||
### rope.lua ###
|
||||
|
||||
Rope=Seil
|
||||
|
||||
### workbench.lua ###
|
||||
|
||||
Back=Zurück
|
||||
Crafting=Fertigung
|
||||
Cut=Zuschnitt
|
||||
Hammer=Hämmerchen
|
||||
Repair=Reparatur
|
||||
Storage=Aufbewahrung
|
||||
Work Bench=Werkbank
|
154
mods/xdecor/locale/xdecor.fr.tr
Normal file
@ -0,0 +1,154 @@
|
||||
# textdomain: xdecor
|
||||
|
||||
|
||||
### chess.lua ###
|
||||
|
||||
Black Bishop=Fou noir
|
||||
Black King=Roi noir
|
||||
Black Knight=Cavalier noir
|
||||
Black Pawn=Pion noir
|
||||
Black Queen=Reine noire
|
||||
Black Rook=Tour noire
|
||||
Chess=Echecs
|
||||
Chess Board=Echiquier
|
||||
Dumb AI=IA stupide
|
||||
Multiplayer=Multijoueur
|
||||
New game=Nouvelle partie
|
||||
Select a mode:=Sélectionnez un mode de jeu:
|
||||
Singleplayer=Solo
|
||||
Someone else plays black pieces!=Quelqu’un d’autre joue les pièces noires !
|
||||
Someone else plays white pieces!=Quelqu’un d’autre joue les pièces blanches !
|
||||
White Bishop=Fou blanc
|
||||
White King=Roi blanc
|
||||
White Knight=Cavalier blanc
|
||||
White Pawn=Pion blanc
|
||||
White Queen=Reine blanche
|
||||
White Rook=Tour blanche
|
||||
|
||||
You can't dig the chessboard, a game has been started. Reset it first if you're a current player, or dig it again in @1=Vous ne pouvez pas récupérer l’échiquier, une partie à été commencée. Remettez le à zéro si vous c’est votre tour de jouer, ou réessayez dans @1
|
||||
|
||||
You can't reset the chessboard, a game has been started. If you aren't a current player, try again in @1=Vous ne pouvez pas mettre à zéro l’échiquier, une partie a été commencée. Si ce n’est pas votre tour de jouer, réessayez dans @1
|
||||
|
||||
check=échec
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Bowl=Bol
|
||||
Bowl of soup=Bol de soupe
|
||||
Cauldron=Chaudron
|
||||
Cauldron (active) - Drop foods inside to make a soup=Chaudron (actif) - Placez des ingrédients à l’intérieur pour faire une soupe
|
||||
Cauldron (active) - Use a bowl to eat the soup=Chaudron (actif) - Utilisez un bol pour boire la soupe
|
||||
Cauldron (empty)=Chaudron (vide)
|
||||
Cauldron (idle)=Chaudron (inactif)
|
||||
No room in your inventory to add a bowl of soup.=Pas de place dans votre inventaire pour ajouter un bol de soupe.
|
||||
No room in your inventory to add a bucket of water.=Pas de place dans votre inventaire pour ajouter un seau d’eau.
|
||||
|
||||
### enchanting.lua ###
|
||||
|
||||
Axe=Hache
|
||||
Bronze=Bronze
|
||||
Diamond=Diamant
|
||||
Durability=Durabilité
|
||||
Efficiency=Efficacité
|
||||
Enchanted @1 @2 @3=@2 en @1 enchantée @3
|
||||
Enchantment Table=Table d’enchantements
|
||||
Mese=Mese
|
||||
Pickaxe=Pioche
|
||||
Sharpness=Tranchant
|
||||
Shovel=Pelle
|
||||
Steel=Fer
|
||||
Sword=Épée
|
||||
Your tool digs faster=Votre outil creuse plus vite
|
||||
Your tool last longer=Votre outil dure plus longtemps
|
||||
Your weapon inflicts more damages=Votre arme inflige plus de dégâts
|
||||
|
||||
### hive.lua ###
|
||||
|
||||
Artificial Hive=Ruche artificielle
|
||||
Bees are busy making honey…=Les abeilles sont occupées à fabriquer du miel…
|
||||
Honey=Miel
|
||||
|
||||
### itemframe.lua ###
|
||||
|
||||
@1 (owned by @2)=@1 (propriété de @2)
|
||||
Item Frame=Cadre
|
||||
|
||||
### mailbox.lua ###
|
||||
|
||||
@1's Mailbox=Boite aux lettres de @1
|
||||
Last donators=Derniers donateurs
|
||||
Mailbox=Boite aux lettres
|
||||
Send your goods to@n@1=Envoyer vos biens à@n@1
|
||||
The mailbox is full.=La boite aux lettres est pleine.
|
||||
|
||||
### mechanisms.lua ###
|
||||
|
||||
Lever=Levier
|
||||
Stone Pressure Plate=Plaque de pression en pierre
|
||||
Wooden Pressure Plate=Plaque de pression en bois
|
||||
|
||||
### nodes.lua ###
|
||||
|
||||
Bamboo Frame=Cadre en bambou
|
||||
Baricade=Barricade
|
||||
Barrel=Tonneau
|
||||
Cactus Brick=Brique en cactus
|
||||
Candle=Bougie
|
||||
Chainlink=Maillon de chaîne
|
||||
Chair=Chaise
|
||||
Coal Stone Tile=Carreau en charbon et pierre
|
||||
Cobweb=Toile d’araignée
|
||||
Cushion=Coussin
|
||||
Cushion Block=Bloc de coussin
|
||||
Desert Stone Tile=Carreau en pierre du désert
|
||||
Empty Shelf=Étagère vide
|
||||
Ender Chest=Coffre de l’End
|
||||
Garden Stone Path=Chemin de pierres de jardin
|
||||
Half Wooden Cabinet=Demi meuble en bois
|
||||
Hardened Clay=Argile durcie
|
||||
Iron Light Box=Boite lumineuse en fer
|
||||
Ivy=Lierre
|
||||
Japanese Door=Porte japonaise
|
||||
Lantern=Lanterne
|
||||
Moon Brick=Brique lunaire
|
||||
Multi Shelf=Étagères multiple
|
||||
Packed Ice=Glace compactée
|
||||
Painting=Tableau
|
||||
Potted Geranium=Géranium en pot
|
||||
Potted Rose=Rose en pot
|
||||
Potted Tulip=Tulipe en pot
|
||||
Potted Viola=Violette en pot
|
||||
Potted White Dandelion=Pissenlit blanc en pot
|
||||
Potted Yellow Dandelion=Pissenlit jaune en pot
|
||||
Prison Door=Porte de prison
|
||||
Red Curtain=Rideaux rouge
|
||||
Runestone=Pierre runique
|
||||
Rusty Iron Bars=Barreaux en fer rouillé
|
||||
Rusty Prison Door=Barreaux de prison rouillés
|
||||
Screen Door=Porte avec moustiquaire
|
||||
Slide Door=Porte coulissante
|
||||
Stone Tile=Carreau en pierre
|
||||
Table=Table
|
||||
Tatami=Tatami
|
||||
Television=Télévision
|
||||
Trampoline=Trampoline
|
||||
Wood Frame=Cadre en bois
|
||||
Wood Framed Glass=Verre encadré par du bois
|
||||
Wooden Cabinet=Meuble en bois
|
||||
Wooden Light Box=Boite lumineuse en bois
|
||||
Wooden Tile=Carreau en bois
|
||||
Woodglass Door=Porte vitrée
|
||||
|
||||
### rope.lua ###
|
||||
|
||||
Rope=Corde
|
||||
|
||||
### workbench.lua ###
|
||||
|
||||
Back=Retour
|
||||
Crafting=Fabrication
|
||||
Cut=Couper
|
||||
Hammer=Marteau
|
||||
Repair=Réparer
|
||||
Storage=Stockage
|
||||
Work Bench=Atelier
|
154
mods/xdecor/locale/xdecor.it.tr
Normal file
@ -0,0 +1,154 @@
|
||||
# textdomain: xdecor
|
||||
# Author: Salvo 'LtWorf' Tomaselli <tiposchi@tiscali.it>
|
||||
|
||||
### chess.lua ###
|
||||
|
||||
Black Bishop=Alfiere nero
|
||||
Black King=Re nero
|
||||
Black Knight=Cavallo nero
|
||||
Black Pawn=Pedone nero
|
||||
Black Queen=Regina nera
|
||||
Black Rook=Torre nera
|
||||
Chess=Scacchi
|
||||
Chess Board=Scacchiera
|
||||
Dumb AI=AI stupida
|
||||
Multiplayer=Multigiocatore
|
||||
New game=Nuova partita
|
||||
Select a mode:=Selezionare una modalità
|
||||
Singleplayer=Singolo giocatore
|
||||
Someone else plays black pieces!=Qualcun altro gioca con il nero!
|
||||
Someone else plays white pieces!=Qualcun altro gioca con il bianco!
|
||||
White Bishop=Alfiere bianco
|
||||
White King=Re bianco
|
||||
White Knight=Cavallo bianco
|
||||
White Pawn=Pedone bianco
|
||||
White Queen=Regina bianca
|
||||
White Rook=Torre bianca
|
||||
|
||||
You can't dig the chessboard, a game has been started. Reset it first if you're a current player, or dig it again in @1=Non si può scavare la scacchiera, una partita è in corso. Resettarla se si è uno dei giocatori, o riprovare in @1
|
||||
|
||||
You can't reset the chessboard, a game has been started. If you aren't a current player, try again in @1=Non si può resettare la partita, un gioco è in corso. Se non si è uno dei giocatori, riprovare in @1
|
||||
|
||||
check=scacco
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Bowl=Ciotola
|
||||
Bowl of soup=Ciotola di zuppa
|
||||
Cauldron=Calderone
|
||||
Cauldron (active) - Drop foods inside to make a soup=Calderone (attivo) - Mettere gli ingredienti all'interno per fare una zuppa.
|
||||
Cauldron (active) - Use a bowl to eat the soup=Calderone (actif) - Utilizzare una ciotola per mangiare la zuppa
|
||||
Cauldron (empty)=Calderone (vuoto)
|
||||
Cauldron (idle)=Calderone (inattivo)
|
||||
No room in your inventory to add a bowl of soup.=Non c'è spazio nell'inventario per aggiungere una ciotola di zuppa.
|
||||
No room in your inventory to add a bucket of water.=Non c'è spazio nell'inventario per aggiungere un secchio di acqua.
|
||||
|
||||
### enchanting.lua ###
|
||||
|
||||
Axe=Ascia
|
||||
Bronze=Bronzo
|
||||
Diamond=Diamante
|
||||
Durability=Durabilità
|
||||
Efficiency=Efficacia
|
||||
Enchanted @1 @2 @3=@2 su @1 incantesimo @3
|
||||
Enchantment Table=Tavolo per migliorie
|
||||
Mese=Mese
|
||||
Pickaxe=Piccone
|
||||
Sharpness=Affilatezza
|
||||
Shovel=Pala
|
||||
Steel=Acciaio
|
||||
Sword=Spada
|
||||
Your tool digs faster=Il tuo utensile scava più rapidamente
|
||||
Your tool last longer=Il tuo utensile dura di più
|
||||
Your weapon inflicts more damages=La tua arma infligge più danno
|
||||
|
||||
### hive.lua ###
|
||||
|
||||
Artificial Hive=Favo artificiale
|
||||
Bees are busy making honey…=Le api sono occupate a fare il miele…
|
||||
Honey=Miele
|
||||
|
||||
### itemframe.lua ###
|
||||
|
||||
@1 (owned by @2)=@1 (proprietà di @2)
|
||||
Item Frame=Teca
|
||||
|
||||
### mailbox.lua ###
|
||||
|
||||
@1's Mailbox=Cassetta delle lettere di @1
|
||||
Last donators=Ultimi donatori
|
||||
Mailbox=Cassetta delle lettere
|
||||
Send your goods to@n@1=Invia i tuoi item a@n@1
|
||||
The mailbox is full.=La cassetta delle lettere è piena
|
||||
|
||||
### mechanisms.lua ###
|
||||
|
||||
Lever=Leva
|
||||
Stone Pressure Plate=Placca di pressione di pietra
|
||||
Wooden Pressure Plate=Placca di pressione di legno
|
||||
|
||||
### nodes.lua ###
|
||||
|
||||
Bamboo Frame=Cornice di bambù
|
||||
Baricade=Barricata
|
||||
Barrel=Barile
|
||||
Cactus Brick=Mattone di cactus
|
||||
Candle=Candela
|
||||
Chainlink=Cotta di maglia
|
||||
Chair=Sedia
|
||||
Coal Stone Tile=Mattonella di pietra di carbone
|
||||
Cobweb=Ragnatela
|
||||
Cushion=Cuscino
|
||||
Cushion Block=Blocco di cuscini
|
||||
Desert Stone Tile=Mattonella di pietra del deserto
|
||||
Empty Shelf=Mensola vuota
|
||||
Ender Chest=Baule ender
|
||||
Garden Stone Path=Sentiero da giardino in pietra
|
||||
Half Wooden Cabinet=Stipo di legno a metà
|
||||
Hardened Clay=Argilla indurita
|
||||
Iron Light Box=Scatola luminosa di ferro
|
||||
Ivy=Edera
|
||||
Japanese Door=Porta giapponese
|
||||
Lantern=Lanterna
|
||||
Moon Brick=Mattone lunare
|
||||
Multi Shelf=Mensole
|
||||
Packed Ice=Ghiaccio compatto
|
||||
Painting=Dipinto
|
||||
Potted Geranium=Geranio in vaso
|
||||
Potted Rose=Rosa in vaso
|
||||
Potted Tulip=Tulipano in vaso
|
||||
Potted Viola=Violetta in vaso
|
||||
Potted White Dandelion=Soffione bianco in vaso
|
||||
Potted Yellow Dandelion=Soffione giallo in vaso
|
||||
Prison Door=Porta di prigione
|
||||
Red Curtain=Tenda rossa
|
||||
Runestone=Pietra runica
|
||||
Rusty Iron Bars=Sbarre di prigione arrugginite
|
||||
Rusty Prison Door=Porta di prigione arrugginita
|
||||
Screen Door=Porta a schermo
|
||||
Slide Door=Porta scorrevole
|
||||
Stone Tile=Mattonella di pietra
|
||||
Table=Tavolo
|
||||
Tatami=Tatami
|
||||
Television=Televisione
|
||||
Trampoline=Trampolino
|
||||
Wood Frame=Cornice in legno
|
||||
Wood Framed Glass=Cornice in legno con vetro
|
||||
Wooden Cabinet=Stipo di legno
|
||||
Wooden Light Box=Mattonella luminosa di legno
|
||||
Wooden Tile=Mattonella di legno
|
||||
Woodglass Door=Porta di vetro
|
||||
|
||||
### rope.lua ###
|
||||
|
||||
Rope=Corda
|
||||
|
||||
### workbench.lua ###
|
||||
|
||||
Back=Indietro
|
||||
Crafting=Fabbricare
|
||||
Cut=Tagliare
|
||||
Hammer=Martello
|
||||
Repair=Riparare
|
||||
Storage=Conservare
|
||||
Work Bench=Banco da lavoro
|
5
mods/xdecor/mod.conf
Normal file
@ -0,0 +1,5 @@
|
||||
name = xdecor
|
||||
description = A decoration mod meant to be simple and well-featured.
|
||||
depends = lzr_sounds
|
||||
optional_depends = doors, stairs, xpanes
|
||||
min_minetest_version = 5.1.0
|
278
mods/xdecor/src/nodes.lua
Normal file
@ -0,0 +1,278 @@
|
||||
if not minetest.global_exists("screwdriver") then
|
||||
screwdriver = {}
|
||||
end
|
||||
local S = minetest.get_translator("xdecor")
|
||||
|
||||
local function register_pane(name, desc, def)
|
||||
xpanes.register_pane(name, {
|
||||
description = desc,
|
||||
tiles = {"xdecor_" .. name .. ".png"},
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
textures = {"xdecor_" .. name .. ".png", "" ,"xdecor_" .. name .. ".png"},
|
||||
inventory_image = "xdecor_" .. name .. ".png",
|
||||
wield_image = "xdecor_" .. name .. ".png",
|
||||
groups = def.groups,
|
||||
sounds = def.sounds or lzr_sounds.node_sound_defaults(),
|
||||
recipe = def.recipe
|
||||
})
|
||||
end
|
||||
|
||||
register_pane("rusty_bar", S("Rusty Iron Bars"), {
|
||||
sounds = lzr_sounds.node_sound_metal_defaults(),
|
||||
groups = {cracky = 2, pane = 1},
|
||||
recipe = {
|
||||
{"", "default:dirt", ""},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
register_pane("wood_frame", S("Wood Frame"), {
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
groups = {choppy = 2, pane = 1, flammable = 2},
|
||||
recipe = {
|
||||
{"group:wood", "group:stick", "group:wood"},
|
||||
{"group:stick", "group:stick", "group:stick"},
|
||||
{"group:wood", "group:stick", "group:wood"}
|
||||
}
|
||||
})
|
||||
|
||||
xdecor.register("baricade", {
|
||||
description = S("Baricade"),
|
||||
drawtype = "plantlike",
|
||||
paramtype2 = "facedir",
|
||||
inventory_image = "xdecor_baricade.png",
|
||||
tiles = {"xdecor_baricade.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
})
|
||||
|
||||
xdecor.register("barrel", {
|
||||
description = S("Barrel"),
|
||||
tiles = {"xdecor_barrel_top.png", "xdecor_barrel_top.png", "xdecor_barrel_sides.png"},
|
||||
on_place = minetest.rotate_node,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = lzr_sounds.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
local function register_storage(name, desc, def)
|
||||
xdecor.register(name, {
|
||||
description = desc,
|
||||
tiles = def.tiles,
|
||||
node_box = def.node_box,
|
||||
on_rotate = def.on_rotate,
|
||||
on_place = def.on_place,
|
||||
groups = def.groups or {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
use_texture_alpha = def.use_texture_alpha,
|
||||
})
|
||||
end
|
||||
|
||||
register_storage("cabinet", S("Wooden Cabinet"), {
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
tiles = {
|
||||
"xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png",
|
||||
"xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png",
|
||||
"xdecor_cabinet_sides.png", "xdecor_cabinet_front.png"
|
||||
}
|
||||
})
|
||||
|
||||
register_storage("cabinet_half", S("Half Wooden Cabinet"), {
|
||||
inv_size = 8,
|
||||
node_box = xdecor.nodebox.slab_y(0.5, 0.5),
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
use_texture_alpha = "clip",
|
||||
tiles = {
|
||||
"xdecor_cabinet_sides.png", "xdecor_cabinet_sides.png",
|
||||
"xdecor_half_cabinet_sides.png", "xdecor_half_cabinet_sides.png",
|
||||
"xdecor_half_cabinet_sides.png", "xdecor_half_cabinet_front.png"
|
||||
}
|
||||
})
|
||||
|
||||
do
|
||||
register_storage("empty_shelf", S("Empty Shelf"), {
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
tiles = {
|
||||
"default_wood.png", "default_wood.png", "default_wood.png",
|
||||
"default_wood.png", "default_wood.png^xdecor_empty_shelf.png"
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
register_storage("multishelf", S("Multi Shelf"), {
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
tiles = {
|
||||
"default_wood.png", "default_wood.png", "default_wood.png",
|
||||
"default_wood.png", "default_wood.png^xdecor_multishelf.png"
|
||||
},
|
||||
})
|
||||
|
||||
xdecor.register("candle", {
|
||||
description = S("Candle"),
|
||||
light_source = 12,
|
||||
drawtype = "torchlike",
|
||||
inventory_image = "xdecor_candle_inv.png",
|
||||
wield_image = "xdecor_candle_wield.png",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
groups = {dig_immediate = 3, attached_node = 1},
|
||||
tiles = {
|
||||
{
|
||||
name = "xdecor_candle_floor.png",
|
||||
animation = {type="vertical_frames", length = 1.5}
|
||||
},
|
||||
{
|
||||
name = "xdecor_candle_hanging.png",
|
||||
animation = {type="vertical_frames", length = 1.5}
|
||||
},
|
||||
{
|
||||
name = "xdecor_candle_wall.png",
|
||||
animation = {type="vertical_frames", length = 1.5}
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-0.25, -0.3, -0.25, 0.25, 0.5, 0.25},
|
||||
wall_bottom = {-0.25, -0.5, -0.25, 0.25, 0.1, 0.25},
|
||||
wall_side = {-0.5, -0.35, -0.15, -0.15, 0.4, 0.15}
|
||||
}
|
||||
})
|
||||
|
||||
xdecor.register("chair", {
|
||||
description = S("Chair"),
|
||||
tiles = {"xdecor_wood.png"},
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
node_box = xdecor.pixelbox(16, {
|
||||
{3, 0, 11, 2, 16, 2},
|
||||
{11, 0, 11, 2, 16, 2},
|
||||
{5, 9, 11.5, 6, 6, 1},
|
||||
{3, 0, 3, 2, 6, 2},
|
||||
{11, 0, 3, 2, 6, 2},
|
||||
{3, 6, 3, 10, 2, 8}
|
||||
}),
|
||||
})
|
||||
|
||||
xdecor.register("cobweb", {
|
||||
description = S("Cobweb"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"xdecor_cobweb.png"},
|
||||
inventory_image = "xdecor_cobweb.png",
|
||||
walkable = false,
|
||||
selection_box = {type = "regular"},
|
||||
groups = {snappy = 3, liquid = 3, flammable = 3},
|
||||
})
|
||||
|
||||
xdecor.register("cushion", {
|
||||
description = S("Cushion"),
|
||||
tiles = {"xdecor_cushion.png"},
|
||||
groups = {snappy = 3, flammable = 3},
|
||||
on_place = minetest.rotate_node,
|
||||
node_box = xdecor.nodebox.slab_y(0.5),
|
||||
can_dig = xdecor.sit_dig,
|
||||
})
|
||||
|
||||
xdecor.register("cushion_block", {
|
||||
description = S("Cushion Block"),
|
||||
tiles = {"xdecor_cushion.png"},
|
||||
groups = {snappy = 3, flammable = 3, not_in_creative_inventory = 1}
|
||||
})
|
||||
|
||||
xdecor.register("lantern", {
|
||||
description = S("Lantern"),
|
||||
light_source = 13,
|
||||
drawtype = "plantlike",
|
||||
inventory_image = "xdecor_lantern_inv.png",
|
||||
wield_image = "xdecor_lantern_inv.png",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
groups = {snappy = 3, attached_node = 1},
|
||||
tiles = {
|
||||
{
|
||||
name = "xdecor_lantern.png",
|
||||
animation = {type="vertical_frames", length = 1.5}
|
||||
}
|
||||
},
|
||||
selection_box = xdecor.pixelbox(16, {{4, 0, 4, 8, 16, 8}})
|
||||
})
|
||||
|
||||
local xdecor_lightbox = {
|
||||
iron = S("Iron Light Box"),
|
||||
wooden = S("Wooden Light Box"),
|
||||
wooden2 = S("Wooden Light Box 2"),
|
||||
}
|
||||
|
||||
for l, desc in pairs(xdecor_lightbox) do
|
||||
xdecor.register(l .. "_lightbox", {
|
||||
description = desc,
|
||||
tiles = {"xdecor_" .. l .. "_lightbox.png"},
|
||||
groups = {cracky = 3, choppy = 3, oddly_breakable_by_hand = 2},
|
||||
light_source = 13,
|
||||
sounds = lzr_sounds.node_sound_glass_defaults()
|
||||
})
|
||||
end
|
||||
|
||||
local xdecor_potted = {
|
||||
dandelion_white = S("Potted White Dandelion"),
|
||||
dandelion_yellow = S("Potted Yellow Dandelion"),
|
||||
geranium = S("Potted Geranium"),
|
||||
rose = S("Potted Rose"),
|
||||
tulip = S("Potted Tulip"),
|
||||
viola = S("Potted Viola"),
|
||||
}
|
||||
|
||||
for f, desc in pairs(xdecor_potted) do
|
||||
xdecor.register("potted_" .. f, {
|
||||
description = desc,
|
||||
walkable = false,
|
||||
groups = {snappy = 3, flammable = 3, plant = 1, flower = 1},
|
||||
tiles = {"xdecor_" .. f .. "_pot.png"},
|
||||
inventory_image = "xdecor_" .. f .. "_pot.png",
|
||||
drawtype = "plantlike",
|
||||
selection_box = xdecor.nodebox.slab_y(0.3)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "xdecor:potted_" .. f,
|
||||
recipe = {
|
||||
{"default:clay_brick", "flowers:" .. f, "default:clay_brick"},
|
||||
{"", "default:clay_brick", ""}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
local function register_hard_node(name, desc, def)
|
||||
def = def or {}
|
||||
xdecor.register(name, {
|
||||
description = desc,
|
||||
tiles = {"xdecor_" .. name .. ".png"},
|
||||
groups = def.groups or {cracky = 1},
|
||||
sounds = def.sounds or lzr_sounds.node_sound_stone_defaults()
|
||||
})
|
||||
end
|
||||
|
||||
register_hard_node("wood_tile", S("Wooden Tile"), {
|
||||
groups = {choppy = 1, wood = 1, flammable = 2},
|
||||
sounds = lzr_sounds.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
xdecor.register("table", {
|
||||
description = S("Table"),
|
||||
tiles = {"xdecor_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = lzr_sounds.node_sound_wood_defaults(),
|
||||
node_box = xdecor.pixelbox(16, {
|
||||
{0, 14, 0, 16, 2, 16}, {5.5, 0, 5.5, 5, 14, 6}
|
||||
})
|
||||
})
|
||||
|
||||
xdecor.register("woodframed_glass", {
|
||||
description = S("Wood Framed Glass"),
|
||||
drawtype = "glasslike_framed",
|
||||
sunlight_propagates = true,
|
||||
tiles = {"xdecor_woodframed_glass.png", "xdecor_woodframed_glass_detail.png"},
|
||||
groups = {cracky = 2, oddly_breakable_by_hand = 1},
|
||||
sounds = lzr_sounds.node_sound_glass_defaults()
|
||||
})
|
||||
|
16
mods/xdecor/src/rope.lua
Normal file
@ -0,0 +1,16 @@
|
||||
local S = minetest.get_translator("xdecor")
|
||||
|
||||
-- Minimal rope
|
||||
|
||||
xdecor.register("rope", {
|
||||
description = S("Rope"),
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
groups = {snappy = 3, flammable = 3},
|
||||
tiles = {"xdecor_rope.png"},
|
||||
inventory_image = "xdecor_rope_inv.png",
|
||||
wield_image = "xdecor_rope_inv.png",
|
||||
selection_box = xdecor.pixelbox(8, {{3, 0, 3, 2, 8, 2}}),
|
||||
})
|
||||
|
BIN
mods/xdecor/textures/xdecor_baricade.png
Normal file
After Width: | Height: | Size: 258 B |
BIN
mods/xdecor/textures/xdecor_barrel_sides.png
Normal file
After Width: | Height: | Size: 262 B |
BIN
mods/xdecor/textures/xdecor_barrel_top.png
Normal file
After Width: | Height: | Size: 296 B |
BIN
mods/xdecor/textures/xdecor_cabinet_front.png
Normal file
After Width: | Height: | Size: 247 B |
BIN
mods/xdecor/textures/xdecor_cabinet_sides.png
Normal file
After Width: | Height: | Size: 245 B |
BIN
mods/xdecor/textures/xdecor_candle_floor.png
Normal file
After Width: | Height: | Size: 202 B |
BIN
mods/xdecor/textures/xdecor_candle_hanging.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
mods/xdecor/textures/xdecor_candle_inv.png
Normal file
After Width: | Height: | Size: 177 B |
BIN
mods/xdecor/textures/xdecor_candle_wall.png
Normal file
After Width: | Height: | Size: 206 B |
BIN
mods/xdecor/textures/xdecor_candle_wield.png
Normal file
After Width: | Height: | Size: 174 B |
BIN
mods/xdecor/textures/xdecor_chainlink.png
Normal file
After Width: | Height: | Size: 221 B |
BIN
mods/xdecor/textures/xdecor_cobweb.png
Normal file
After Width: | Height: | Size: 209 B |
BIN
mods/xdecor/textures/xdecor_cushion.png
Normal file
After Width: | Height: | Size: 374 B |
BIN
mods/xdecor/textures/xdecor_dandelion_white_pot.png
Normal file
After Width: | Height: | Size: 349 B |
BIN
mods/xdecor/textures/xdecor_dandelion_yellow_pot.png
Normal file
After Width: | Height: | Size: 339 B |
BIN
mods/xdecor/textures/xdecor_empty_shelf.png
Normal file
After Width: | Height: | Size: 363 B |
BIN
mods/xdecor/textures/xdecor_geranium_pot.png
Normal file
After Width: | Height: | Size: 382 B |
BIN
mods/xdecor/textures/xdecor_half_cabinet_front.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
mods/xdecor/textures/xdecor_half_cabinet_sides.png
Normal file
After Width: | Height: | Size: 207 B |
BIN
mods/xdecor/textures/xdecor_iron_lightbox.png
Normal file
After Width: | Height: | Size: 301 B |
BIN
mods/xdecor/textures/xdecor_lantern.png
Normal file
After Width: | Height: | Size: 231 B |
BIN
mods/xdecor/textures/xdecor_lantern_inv.png
Normal file
After Width: | Height: | Size: 191 B |
BIN
mods/xdecor/textures/xdecor_multishelf.png
Normal file
After Width: | Height: | Size: 503 B |
BIN
mods/xdecor/textures/xdecor_rope.png
Normal file
After Width: | Height: | Size: 185 B |
BIN
mods/xdecor/textures/xdecor_rope_inv.png
Normal file
After Width: | Height: | Size: 187 B |
BIN
mods/xdecor/textures/xdecor_rope_wield.png
Normal file
After Width: | Height: | Size: 197 B |
BIN
mods/xdecor/textures/xdecor_rose_pot.png
Normal file
After Width: | Height: | Size: 339 B |
BIN
mods/xdecor/textures/xdecor_rusty_bar.png
Normal file
After Width: | Height: | Size: 194 B |
BIN
mods/xdecor/textures/xdecor_tulip_pot.png
Normal file
After Width: | Height: | Size: 356 B |
BIN
mods/xdecor/textures/xdecor_viola_pot.png
Normal file
After Width: | Height: | Size: 333 B |
BIN
mods/xdecor/textures/xdecor_wood.png
Normal file
After Width: | Height: | Size: 235 B |
BIN
mods/xdecor/textures/xdecor_wood_frame.png
Normal file
After Width: | Height: | Size: 271 B |
BIN
mods/xdecor/textures/xdecor_wood_tile.png
Normal file
After Width: | Height: | Size: 364 B |
BIN
mods/xdecor/textures/xdecor_wooden2_lightbox.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
mods/xdecor/textures/xdecor_wooden_lightbox.png
Normal file
After Width: | Height: | Size: 262 B |
BIN
mods/xdecor/textures/xdecor_woodframed_glass.png
Normal file
After Width: | Height: | Size: 270 B |
BIN
mods/xdecor/textures/xdecor_woodframed_glass_detail.png
Normal file
After Width: | Height: | Size: 201 B |