Huge changes and migrations
|
@ -1,2 +0,0 @@
|
||||||
voxelibre.events = {}
|
|
||||||
voxelibre.load_mod_files()
|
|
|
@ -1,2 +0,0 @@
|
||||||
name = events
|
|
||||||
depends = voxelibre
|
|
|
@ -1,39 +0,0 @@
|
||||||
voxelibre.events.oxidation_chain = {"exposed", "weathered", "oxidized"}
|
|
||||||
|
|
||||||
local function set_oxidize(definitions)
|
|
||||||
local var = definitions._mcl_oxidized_variant
|
|
||||||
|
|
||||||
if var then
|
|
||||||
for count, level in pairs(voxelibre.events.oxidation_chain) do
|
|
||||||
if var:find(level) then
|
|
||||||
return var:gsub(level, voxelibre.events.oxidation_chain[count + 1])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function set_identifier(identifier, definitions)
|
|
||||||
for count, level in pairs(voxelibre.events.oxidation_chain) do
|
|
||||||
if identifier:find(level) then
|
|
||||||
return identifier:gsub(level, voxelibre.events.oxidation_chain[count + 1])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return definitions._mcl_oxidized_variant:gsub("blocks:", "")
|
|
||||||
end
|
|
||||||
|
|
||||||
function voxelibre.events.register_decay_chain(identifier, definitions)
|
|
||||||
if definitions.groups.oxidizable then
|
|
||||||
local copy_defs = table.copy(definitions)
|
|
||||||
local new_id = set_identifier(identifier, definitions)
|
|
||||||
|
|
||||||
if copy_defs.description then
|
|
||||||
copy_defs.description = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
set_oxidize(copy_defs)
|
|
||||||
copy_defs._mcl_stripped_variant = "blocks:"..identifier
|
|
||||||
|
|
||||||
voxelibre.register_block(new_id, copy_defs)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -575,32 +575,6 @@ minetest.register_abm({
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
mcl_doors:register_door("mcl_crimson:crimson_door", {
|
|
||||||
description = S("Crimson Door"),
|
|
||||||
_doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."),
|
|
||||||
_doc_items_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal."),
|
|
||||||
inventory_image = "mcl_crimson_crimson_door.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_crimson_crimson_door_bottom.png",
|
|
||||||
tiles_top = "mcl_crimson_crimson_door_top.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
mcl_doors:register_trapdoor("mcl_crimson:crimson_trapdoor", {
|
|
||||||
description = S("Crimson Trapdoor"),
|
|
||||||
_doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
|
||||||
_doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
|
|
||||||
tile_front = "mcl_crimson_crimson_trapdoor.png",
|
|
||||||
tile_side = "mcl_crimson_crimson_trapdoor_side.png",
|
|
||||||
wield_image = "mcl_crimson_crimson_trapdoor.png",
|
|
||||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
mcl_fences.register_fence_and_fence_gate(
|
mcl_fences.register_fence_and_fence_gate(
|
||||||
"crimson_fence",
|
"crimson_fence",
|
||||||
S("Crimson Fence"),
|
S("Crimson Fence"),
|
||||||
|
@ -613,32 +587,6 @@ mcl_fences.register_fence_and_fence_gate(
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults())
|
||||||
|
|
||||||
|
|
||||||
mcl_doors:register_door("mcl_crimson:warped_door", {
|
|
||||||
description = S("Warped Door"),
|
|
||||||
_doc_items_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal."),
|
|
||||||
_doc_items_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal."),
|
|
||||||
inventory_image = "mcl_crimson_warped_door.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_crimson_warped_door_bottom.png",
|
|
||||||
tiles_top = "mcl_crimson_warped_door_top.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
mcl_doors:register_trapdoor("mcl_crimson:warped_trapdoor", {
|
|
||||||
description = S("Warped Trapdoor"),
|
|
||||||
_doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
|
||||||
_doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
|
|
||||||
tile_front = "mcl_crimson_warped_trapdoor.png",
|
|
||||||
tile_side = "mcl_crimson_warped_trapdoor_side.png",
|
|
||||||
wield_image = "mcl_crimson_warped_trapdoor.png",
|
|
||||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
mcl_fences.register_fence_and_fence_gate(
|
mcl_fences.register_fence_and_fence_gate(
|
||||||
"warped_fence",
|
"warped_fence",
|
||||||
S("Warped Fence"),
|
S("Warped Fence"),
|
||||||
|
|
|
@ -1,268 +0,0 @@
|
||||||
local S = minetest.get_translator(minetest.get_current_modname())
|
|
||||||
|
|
||||||
--[[ Doors ]]
|
|
||||||
|
|
||||||
local wood_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.")
|
|
||||||
local wood_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.")
|
|
||||||
|
|
||||||
--- Oak Door ---
|
|
||||||
mcl_doors:register_door("mcl_doors:wooden_door", {
|
|
||||||
description = S("Oak Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "doors_item_wood.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_wood_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_wood_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:wooden_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:wood", "mcl_core:wood"},
|
|
||||||
{"mcl_core:wood", "mcl_core:wood"},
|
|
||||||
{"mcl_core:wood", "mcl_core:wood"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Acacia Door --
|
|
||||||
mcl_doors:register_door("mcl_doors:acacia_door", {
|
|
||||||
description = S("Acacia Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "mcl_doors_door_acacia.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_acacia_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_acacia_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:acacia_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:acaciawood", "mcl_core:acaciawood"},
|
|
||||||
{"mcl_core:acaciawood", "mcl_core:acaciawood"},
|
|
||||||
{"mcl_core:acaciawood", "mcl_core:acaciawood"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Birch Door --
|
|
||||||
mcl_doors:register_door("mcl_doors:birch_door", {
|
|
||||||
description = S("Birch Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "mcl_doors_door_birch.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_birch_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_birch_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:birch_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:birchwood", "mcl_core:birchwood"},
|
|
||||||
{"mcl_core:birchwood", "mcl_core:birchwood"},
|
|
||||||
{"mcl_core:birchwood", "mcl_core:birchwood"},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Dark Oak Door --
|
|
||||||
mcl_doors:register_door("mcl_doors:dark_oak_door", {
|
|
||||||
description = S("Dark Oak Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "mcl_doors_door_dark_oak.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_dark_oak_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_dark_oak_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:dark_oak_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:darkwood", "mcl_core:darkwood"},
|
|
||||||
{"mcl_core:darkwood", "mcl_core:darkwood"},
|
|
||||||
{"mcl_core:darkwood", "mcl_core:darkwood"},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Jungle Door --
|
|
||||||
mcl_doors:register_door("mcl_doors:jungle_door", {
|
|
||||||
description = S("Jungle Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "mcl_doors_door_jungle.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_jungle_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_jungle_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:jungle_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:junglewood", "mcl_core:junglewood"},
|
|
||||||
{"mcl_core:junglewood", "mcl_core:junglewood"},
|
|
||||||
{"mcl_core:junglewood", "mcl_core:junglewood"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Spruce Door --
|
|
||||||
mcl_doors:register_door("mcl_doors:spruce_door", {
|
|
||||||
description = S("Spruce Door"),
|
|
||||||
_doc_items_longdesc = wood_longdesc,
|
|
||||||
_doc_items_usagehelp = wood_usagehelp,
|
|
||||||
inventory_image = "mcl_doors_door_spruce.png",
|
|
||||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
tiles_bottom = "mcl_doors_door_spruce_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_spruce_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:spruce_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:sprucewood", "mcl_core:sprucewood"},
|
|
||||||
{"mcl_core:sprucewood", "mcl_core:sprucewood"},
|
|
||||||
{"mcl_core:sprucewood", "mcl_core:sprucewood"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:wooden_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:jungle_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:dark_oak_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:birch_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:acacia_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:spruce_door",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
|
|
||||||
--- Iron Door ---
|
|
||||||
mcl_doors:register_door("mcl_doors:iron_door", {
|
|
||||||
description = S("Iron Door"),
|
|
||||||
_doc_items_longdesc = S("Iron doors are 2-block high barriers which can only be opened or closed by a redstone signal, but not by hand."),
|
|
||||||
_doc_items_usagehelp = S("To open or close an iron door, supply its lower half with a redstone signal."),
|
|
||||||
inventory_image = "doors_item_steel.png",
|
|
||||||
groups = {pickaxey=1, mesecon_effector_on=1},
|
|
||||||
_mcl_hardness = 5,
|
|
||||||
_mcl_blast_resistance = 5,
|
|
||||||
tiles_bottom = "mcl_doors_door_iron_lower.png",
|
|
||||||
tiles_top = "mcl_doors_door_iron_upper.png",
|
|
||||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
|
||||||
sound_open = "doors_steel_door_open",
|
|
||||||
sound_close = "doors_steel_door_close",
|
|
||||||
|
|
||||||
only_redstone_can_open = true,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:iron_door 3",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
|
||||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
|
||||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--[[ Trapdoors ]]
|
|
||||||
local woods = {
|
|
||||||
-- id, desc, texture, craftitem
|
|
||||||
{ "trapdoor", S("Oak Trapdoor"), "doors_trapdoor.png", "doors_trapdoor_side.png", "mcl_core:wood" },
|
|
||||||
{ "acacia_trapdoor", S("Acacia Trapdoor"), "mcl_doors_trapdoor_acacia.png", "mcl_doors_trapdoor_acacia_side.png", "mcl_core:acaciawood" },
|
|
||||||
{ "birch_trapdoor", S("Birch Trapdoor"), "mcl_doors_trapdoor_birch.png", "mcl_doors_trapdoor_birch_side.png", "mcl_core:birchwood" },
|
|
||||||
{ "spruce_trapdoor", S("Spruce Trapdoor"), "mcl_doors_trapdoor_spruce.png", "mcl_doors_trapdoor_spruce_side.png", "mcl_core:sprucewood" },
|
|
||||||
{ "dark_oak_trapdoor", S("Dark Oak Trapdoor"), "mcl_doors_trapdoor_dark_oak.png", "mcl_doors_trapdoor_dark_oak_side.png", "mcl_core:darkwood" },
|
|
||||||
{ "jungle_trapdoor", S("Jungle Trapdoor"), "mcl_doors_trapdoor_jungle.png", "mcl_doors_trapdoor_jungle_side.png", "mcl_core:junglewood" },
|
|
||||||
}
|
|
||||||
|
|
||||||
for w=1, #woods do
|
|
||||||
mcl_doors:register_trapdoor("mcl_doors:"..woods[w][1], {
|
|
||||||
description = woods[w][2],
|
|
||||||
_doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
|
||||||
_doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
|
|
||||||
tile_front = woods[w][3],
|
|
||||||
tile_side = woods[w][4],
|
|
||||||
wield_image = woods[w][3],
|
|
||||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
|
|
||||||
_mcl_hardness = 3,
|
|
||||||
_mcl_blast_resistance = 3,
|
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:"..woods[w][1].." 2",
|
|
||||||
recipe = {
|
|
||||||
{woods[w][5], woods[w][5], woods[w][5]},
|
|
||||||
{woods[w][5], woods[w][5], woods[w][5]},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "mcl_doors:"..woods[w][1],
|
|
||||||
burntime = 15,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
mcl_doors:register_trapdoor("mcl_doors:iron_trapdoor", {
|
|
||||||
description = S("Iron Trapdoor"),
|
|
||||||
_doc_items_longdesc = S("Iron trapdoors are horizontal barriers which can only be opened and closed by redstone signals, but not by hand. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
|
||||||
tile_front = "doors_trapdoor_steel.png",
|
|
||||||
tile_side = "doors_trapdoor_steel_side.png",
|
|
||||||
wield_image = "doors_trapdoor_steel.png",
|
|
||||||
groups = {pickaxey=1, mesecon_effector_on=1},
|
|
||||||
_mcl_hardness = 5,
|
|
||||||
_mcl_blast_resistance = 5,
|
|
||||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
|
||||||
sound_open = "doors_steel_door_open",
|
|
||||||
sound_close = "doors_steel_door_close",
|
|
||||||
|
|
||||||
only_redstone_can_open = true,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "mcl_doors:iron_trapdoor",
|
|
||||||
recipe = {
|
|
||||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
|
||||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -2,7 +2,7 @@ local common_defs = {
|
||||||
copper = {
|
copper = {
|
||||||
_mcl_blast_resistance = 6,
|
_mcl_blast_resistance = 6,
|
||||||
_mcl_hardness = 3,
|
_mcl_hardness = 3,
|
||||||
groups = {building_blocks = 1, oxidizable = 1, pickaxey = 3},
|
groups = {building_blocks = 1, pickaxey = 3},
|
||||||
sounds = mcl_sounds.node_sound_metal_defaults()
|
sounds = mcl_sounds.node_sound_metal_defaults()
|
||||||
},
|
},
|
||||||
quartz = {
|
quartz = {
|
||||||
|
@ -15,28 +15,59 @@ local common_defs = {
|
||||||
|
|
||||||
local copper_blocks = {
|
local copper_blocks = {
|
||||||
["chiseled_copper"] = {
|
["chiseled_copper"] = {
|
||||||
_mcl_oxidized_variant = "blocks:exposed_chiseled_copper"
|
_mcl_oxidized_variant = "blocks:exposed_chiseled_copper",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_chiseled_copper",
|
||||||
|
groups = {oxidizable = 1}
|
||||||
},
|
},
|
||||||
["copper_block"] = {
|
["copper_block"] = {
|
||||||
_mcl_oxidized_variant = "blocks:exposed_copper",
|
_mcl_oxidized_variant = "blocks:exposed_copper",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_copper_block",
|
||||||
description = "Block of Copper",
|
description = "Block of Copper",
|
||||||
groups = {stonecuttable = 1}
|
groups = {oxidizable = 1, stonecuttable = 1}
|
||||||
},
|
},
|
||||||
["copper_grate"] = {
|
["copper_grate"] = {
|
||||||
_mcl_oxidized_variant = "blocks:exposed_copper_grate",
|
_mcl_oxidized_variant = "blocks:exposed_copper_grate",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_copper_grate",
|
||||||
drawtype = "allfaces",
|
drawtype = "allfaces",
|
||||||
|
groups = {oxidizable = 1},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true
|
sunlight_propagates = true
|
||||||
},
|
},
|
||||||
["cut_copper"] = {
|
["cut_copper"] = {
|
||||||
_mcl_oxidized_variant = "blocks:exposed_cut_copper",
|
_mcl_oxidized_variant = "blocks:exposed_cut_copper",
|
||||||
groups = {stonecuttable = 1}
|
_mcl_waxed_variant = "blocks:waxed_cut_copper",
|
||||||
|
groups = {oxidizable = 1, stonecuttable = 1}
|
||||||
|
},
|
||||||
|
["exposed_chiseled_copper"] = {
|
||||||
|
_mcl_oxidized_variant = "blocks:weathered_chiseled_copper",
|
||||||
|
_mcl_stripped_variant = "blocks:chiseled_copper",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_exposed_chiseled_copper",
|
||||||
|
groups = {oxidizable = 1}
|
||||||
|
},
|
||||||
|
["exposed_copper"] = {
|
||||||
|
_mcl_oxidized_variant = "blocks:weathered_copper",
|
||||||
|
_mcl_stripped_variant = "blocks:copper_block",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_exposed_copper",
|
||||||
|
groups = {oxidizable = 1, stonecuttable = 1}
|
||||||
|
},
|
||||||
|
["exposed_copper_grate"] = {
|
||||||
|
_mcl_oxidized_variant = "blocks:weathered_copper_grate",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_exposed_copper_grate",
|
||||||
|
drawtype = "allfaces",
|
||||||
|
groups = {oxidizable = 1},
|
||||||
|
paramtype = "light",
|
||||||
|
sunlight_propagates = true
|
||||||
|
},
|
||||||
|
["exposed_cut_copper"] = {
|
||||||
|
_mcl_oxidized_variant = "blocks:weathered_cut_copper",
|
||||||
|
_mcl_stripped_variant = "blocks:cut_copper",
|
||||||
|
_mcl_waxed_variant = "blocks:waxed_exposed_cut_copper",
|
||||||
|
groups = {oxidizable = 1, stonecuttable = 1}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for identifier, definitions in pairs(copper_blocks) do
|
for identifier, definitions in pairs(copper_blocks) do
|
||||||
voxelibre.register_block(identifier, table.merge(common_defs.copper, definitions))
|
voxelibre.register_block(identifier, table.merge(common_defs.copper, definitions))
|
||||||
voxelibre.events.register_decay_chain(identifier, table.merge(common_defs.copper, definitions))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local quartz_blocks = {
|
local quartz_blocks = {
|
||||||
|
|
|
@ -16,25 +16,31 @@ vn -0.0000 -0.0000 -1.0000
|
||||||
vn 1.0000 -0.0000 -0.0000
|
vn 1.0000 -0.0000 -0.0000
|
||||||
vn -0.0000 -1.0000 -0.0000
|
vn -0.0000 -1.0000 -0.0000
|
||||||
vn -0.0000 1.0000 -0.0000
|
vn -0.0000 1.0000 -0.0000
|
||||||
vt 1.000000 0.000000
|
vt 0.333333 0.000000
|
||||||
vt 1.000000 1.000000
|
vt 0.333333 1.000000
|
||||||
vt 0.000000 1.000000
|
vt 0.000000 1.000000
|
||||||
vt 0.000000 0.000000
|
vt 0.000000 0.000000
|
||||||
vt 0.000000 1.000000
|
vt 0.333333 1.000000
|
||||||
vt -0.000000 0.000000
|
vt 0.333333 0.000000
|
||||||
vt 0.187500 0.000000
|
vt 0.395833 0.000000
|
||||||
vt 0.187500 1.000000
|
vt 0.395833 1.000000
|
||||||
vt 0.000000 0.093750
|
vt 0.500000 1.000000
|
||||||
vt 0.000000 0.000000
|
vt 0.500000 0.000000
|
||||||
vt 1.000000 -0.000000
|
vt 0.562500 0.000000
|
||||||
vt 1.000000 0.093750
|
vt 0.562500 1.000000
|
||||||
vt 0.000000 0.906250
|
vt 0.833333 1.000000
|
||||||
vt 1.000000 0.906250
|
vt 0.895833 1.000000
|
||||||
|
vt 0.895833 0.500000
|
||||||
|
vt 0.833333 0.500000
|
||||||
|
vt 0.729167 1.000000
|
||||||
|
vt 0.666667 1.000000
|
||||||
|
vt 0.666667 0.500000
|
||||||
|
vt 0.729167 0.500000
|
||||||
s 0
|
s 0
|
||||||
usemtl Materiais
|
usemtl Materiais
|
||||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||||
f 3/5/2 4/6/2 8/7/2 7/8/2
|
f 3/5/2 4/6/2 8/7/2 7/8/2
|
||||||
f 7/1/3 8/2/3 6/3/3 5/4/3
|
f 7/1/3 8/2/3 6/3/3 5/4/3
|
||||||
f 5/5/4 6/6/4 2/7/4 1/8/4
|
f 5/9/4 6/10/4 2/11/4 1/12/4
|
||||||
f 3/9/5 7/10/5 5/11/5 1/12/5
|
f 3/13/5 7/14/5 5/15/5 1/16/5
|
||||||
f 8/3/6 4/13/6 2/14/6 6/2/6
|
f 8/17/6 4/18/6 2/19/6 6/20/6
|
||||||
|
|
|
@ -18,31 +18,64 @@ local common_defs = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local function set_door_tiles(identifier, side_tiles, alternative_tiles)
|
||||||
|
local side_tiles_name = ""
|
||||||
|
|
||||||
|
if side_tiles then
|
||||||
|
side_tiles_name = "utility_"..identifier.."_door_side.png"
|
||||||
|
elseif alternative_tiles then
|
||||||
|
side_tiles_name = alternative_tiles
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
backface_culling = true,
|
||||||
|
name = "[combine:48x32:0,0=utility_"..identifier.."_door_top.png:"..
|
||||||
|
"0,16=utility_"..identifier.."_door_bottom.png:16,0="..side_tiles_name..
|
||||||
|
":16,16="..side_tiles_name..":32,0="..side_tiles_name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
local doors = {
|
local doors = {
|
||||||
["acacia"] = {
|
["acacia"] = {
|
||||||
inventory_image = "utility_acacia_door.png",
|
tiles = set_door_tiles("acacia", false, "building_acacia_planks.png"),
|
||||||
tiles = {
|
},
|
||||||
{
|
["bamboo"] = {
|
||||||
backface_culling = true,
|
tiles = set_door_tiles("bamboo", false, "building_bamboo_planks.png")
|
||||||
name = "[combine:16x32:0,0=utility_acacia_door_top.png:"..
|
|
||||||
"0,16=utility_acacia_door_bottom.png"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
wield_image = "utility_acacia_door.png"
|
|
||||||
},
|
},
|
||||||
["birch"] = {
|
["birch"] = {
|
||||||
inventory_image = "utility_birch_door.png",
|
tiles = set_door_tiles("birch", true, nil),
|
||||||
tiles = {
|
},
|
||||||
{
|
["cherry"] = {
|
||||||
backface_culling = true,
|
tiles = set_door_tiles("cherry", false, "building_cherry_planks.png"),
|
||||||
name = "[combine:16x32:0,0=utility_birch_door_top.png:"..
|
},
|
||||||
"0,16=utility_birch_door_bottom.png"
|
["crimson"] = {
|
||||||
}
|
tiles = set_door_tiles("crimson", false, "building_crimson_planks.png")
|
||||||
},
|
},
|
||||||
wield_image = "utility_birch_door.png"
|
["dark_oak"] = {
|
||||||
|
tiles = set_door_tiles("dark_oak", false, "building_dark_oak_planks.png")
|
||||||
|
},
|
||||||
|
["jungle"] = {
|
||||||
|
tiles = set_door_tiles("jungle", true, nil)
|
||||||
|
},
|
||||||
|
["mangrove"] = {
|
||||||
|
tiles = set_door_tiles("mangrove", false, "building_mangrove_planks.png")
|
||||||
|
},
|
||||||
|
["oak"] = {
|
||||||
|
tiles = set_door_tiles("oak", false, "building_oak_planks.png")
|
||||||
|
},
|
||||||
|
["spruce"] = {
|
||||||
|
tiles = set_door_tiles("spruce", false, "building_spruce_planks.png")
|
||||||
|
},
|
||||||
|
["warped"] = {
|
||||||
|
tiles = set_door_tiles("warped", false, "building_warped_planks.png")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for identifier, definitions in pairs(doors) do
|
for identifier, definitions in pairs(doors) do
|
||||||
|
definitions.inventory_image = "utility_"..identifier.."_door.png"
|
||||||
|
definitions.wield_image = "utility_"..identifier.."_door.png"
|
||||||
|
|
||||||
voxelibre.register_block(identifier.."_door", table.merge(common_defs.doors, definitions))
|
voxelibre.register_block(identifier.."_door", table.merge(common_defs.doors, definitions))
|
||||||
end
|
end
|
||||||
|
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 247 B |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 956 B |
After Width: | Height: | Size: 982 B |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 959 B |
After Width: | Height: | Size: 395 B |
After Width: | Height: | Size: 374 B |
After Width: | Height: | Size: 570 B |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 353 B |
After Width: | Height: | Size: 229 B |
After Width: | Height: | Size: 359 B |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 462 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 990 B |
After Width: | Height: | Size: 975 B |
After Width: | Height: | Size: 503 B |
After Width: | Height: | Size: 380 B |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 996 B |
After Width: | Height: | Size: 1009 B |