initial commit
subgame + mods
1
mods/homedecor_modpack/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*~
|
53
mods/homedecor_modpack/README
Normal file
@ -0,0 +1,53 @@
|
||||
This is what I consider to be a fairly feature-filled home decor
|
||||
modpack. As such, it comes in multiple parts:
|
||||
|
||||
* The actual homedecor mod, which supplies a bunch of stuff found in
|
||||
most homes (like flower pots, home electronics, brass and wrought-iron
|
||||
tables, and a bunch of other things).
|
||||
|
||||
* A "3d extras" mod, which supplies things that re-define something in
|
||||
some other mod (or in the default game) so that those objects become
|
||||
fully 3d (instead of a flat cube), as well as things which are directly
|
||||
related. This mod, for example, provides 3d bookshelves and their empty
|
||||
and half-depth "open frame" counterparts.
|
||||
|
||||
* A signs library forked from the one that thexyz and PilzAdam first
|
||||
made, which produces visible text on signs (and which has been extended
|
||||
to put signs on fences, including the brass and wrought iron ones here
|
||||
in homedecor).
|
||||
|
||||
* Sdzen's building_blocks mod, which is here to supply not only a few
|
||||
blocks to build with, obviously, :-) but also to supply a number of
|
||||
materials to craft other things in Homedecor with.
|
||||
|
||||
All items can be accessed either by crafting various other items
|
||||
together, or with the usual /give commands. To get a list of the actual
|
||||
node names, just go into the homedecor/ folder and run the listnodes.sh
|
||||
Bash script. Note that a few of the listed nodes are kinda useless by
|
||||
themselves (like the various parts of the folding doors).
|
||||
|
||||
All of the images used for the recipes in the forum post tracking this
|
||||
mod are included in the crafting-guide/ folder.
|
||||
|
||||
Most stuff can be made from materials found through a game world. Some
|
||||
stuff can only be crafted by using materials from another mod (look for
|
||||
the orange highlights). Currently, this mod can use materials from
|
||||
moreores, mesecons, wool, and unifieddyes if present. You can still use
|
||||
the usual /give commands to get the items that depend on these mods if
|
||||
you don't use them installed.
|
||||
|
||||
This mod is still a work-in-progress, but should be complete enough not
|
||||
to irritate anyone. :-) Namely, many items can be used as fuel but the
|
||||
burn times need tuning and I need to tune the cook time and fuel usage
|
||||
on the four smelted items.
|
||||
|
||||
Much of the code (especially for the doors) plus the bucket were taken
|
||||
from the files which come with Minetest and altered to suit. Many
|
||||
thanks to Jeija for coming up with an elegant cylinder using nodeboxes;
|
||||
see his 'irregular' mods). His code is used herein (you can guess where
|
||||
:-) ).
|
||||
|
||||
Dependencies: none (just the game's default stuff)
|
||||
|
||||
Recommends: buckets, flowers, unifieddyes, junglegrass, moreores,
|
||||
mesecons, wool
|
2
mods/homedecor_modpack/building_blocks/depends.txt
Normal file
@ -0,0 +1,2 @@
|
||||
default
|
||||
moreblocks?
|
538
mods/homedecor_modpack/building_blocks/init.lua
Normal file
@ -0,0 +1,538 @@
|
||||
minetest.register_node("building_blocks:Adobe", {
|
||||
tiles = {"building_blocks_Adobe.png"},
|
||||
description = "Adobe",
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("building_blocks:Roofing", {
|
||||
tiles = {"building_blocks_Roofing.png"},
|
||||
is_ground_content = true,
|
||||
description = "Roof block",
|
||||
groups = {snappy=3},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:terrycloth_towel 2',
|
||||
recipe = {
|
||||
{"farming:string", "farming:string", "farming:string"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Tarmac_spread 4',
|
||||
recipe = {
|
||||
{"building_blocks:Tar", "building_blocks:Tar"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:gravel_spread 4',
|
||||
recipe = {
|
||||
{"default:gravel", "default:gravel", "default:gravel"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:brobble_spread 4',
|
||||
recipe = {
|
||||
{"default:brick", "default:cobble", "default:brick"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Fireplace 1',
|
||||
recipe = {
|
||||
{"default:steel_ingot", "building_blocks:sticks", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Adobe 3',
|
||||
recipe = {
|
||||
{"default:sand"},
|
||||
{"default:clay"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Roofing 10',
|
||||
recipe = {
|
||||
{"building_blocks:Adobe", "building_blocks:Adobe"},
|
||||
{"building_blocks:Adobe", "building_blocks:Adobe"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:BWtile 10',
|
||||
recipe = {
|
||||
{"building_blocks:Marble", "building_blocks:Tar"},
|
||||
{"building_blocks:Tar", "building_blocks:Marble"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:grate 1',
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:glass", "default:glass"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:woodglass 1',
|
||||
recipe = {
|
||||
{"default:wood"},
|
||||
{"default:glass"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:hardwood 2',
|
||||
recipe = {
|
||||
{"default:wood", "default:junglewood"},
|
||||
{"default:junglewood", "default:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:hardwood 2',
|
||||
recipe = {
|
||||
{"default:junglewood", "default:wood"},
|
||||
{"default:wood", "default:junglewood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:sticks',
|
||||
recipe = {
|
||||
{'group:stick', 'group:stick'},
|
||||
{'group:stick', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:fakegrass 2',
|
||||
recipe = {
|
||||
{'default:leaves'},
|
||||
{"default:dirt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:tar_base 2',
|
||||
recipe = {
|
||||
{"default:coal_lump", "default:gravel"},
|
||||
{"default:gravel", "default:coal_lump"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:tar_base 2',
|
||||
recipe = {
|
||||
{"default:gravel", "default:coal_lump"},
|
||||
{"default:coal_lump", "default:gravel"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "building_blocks:smoothglass",
|
||||
recipe = "default:glass"
|
||||
})
|
||||
minetest.register_node("building_blocks:smoothglass", {
|
||||
drawtype = "glasslike",
|
||||
description = "Streak Free Glass",
|
||||
tiles = {"building_blocks_sglass.png"},
|
||||
inventory_image = minetest.inventorycube("building_blocks_sglass.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
minetest.register_node("building_blocks:grate", {
|
||||
drawtype = "glasslike",
|
||||
description = "Grate",
|
||||
tiles = {"building_blocks_grate.png"},
|
||||
inventory_image = minetest.inventorycube("building_blocks_grate.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("building_blocks:Fireplace", {
|
||||
description = "Fireplace",
|
||||
tiles = {
|
||||
"building_blocks_cast_iron.png",
|
||||
"building_blocks_cast_iron.png",
|
||||
"building_blocks_cast_iron.png",
|
||||
"building_blocks_cast_iron_fireplace.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
light_source = LIGHT_MAX,
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=2},
|
||||
})
|
||||
|
||||
minetest.register_node("building_blocks:woodglass", {
|
||||
drawtype = "glasslike",
|
||||
description = "Wood Framed Glass",
|
||||
tiles = {"building_blocks_wglass.png"},
|
||||
inventory_image = minetest.inventorycube("building_blocks_wglass.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
minetest.register_node("building_blocks:terrycloth_towel", {
|
||||
drawtype = "raillike",
|
||||
description = "Terrycloth towel",
|
||||
tiles = {"building_blocks_towel.png"},
|
||||
inventory_image = "building_blocks_towel_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
-- but how to specify the dimensions for curved and sideways rails?
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
})
|
||||
minetest.register_node("building_blocks:Tarmac_spread", {
|
||||
drawtype = "raillike",
|
||||
description = "Tarmac Spread",
|
||||
tiles = {"building_blocks_tar.png"},
|
||||
inventory_image = "building_blocks_tar_spread_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
-- but how to specify the dimensions for curved and sideways rails?
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
})
|
||||
minetest.register_node("building_blocks:BWtile", {
|
||||
drawtype = "raillike",
|
||||
description = "Chess board tiling",
|
||||
tiles = {"building_blocks_BWtile.png"},
|
||||
inventory_image = "building_blocks_bwtile_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
-- but how to specify the dimensions for curved and sideways rails?
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
})
|
||||
minetest.register_node("building_blocks:brobble_spread", {
|
||||
drawtype = "raillike",
|
||||
description = "Brobble Spread",
|
||||
tiles = {"building_blocks_brobble.png"},
|
||||
inventory_image = "building_blocks_brobble_spread_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
-- but how to specify the dimensions for curved and sideways rails?
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
})
|
||||
minetest.register_node("building_blocks:gravel_spread", {
|
||||
drawtype = "raillike",
|
||||
description = "Gravel Spread",
|
||||
tiles = {"default_gravel.png"},
|
||||
inventory_image = "building_blocks_gravel_spread_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
-- but how to specify the dimensions for curved and sideways rails?
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=2},
|
||||
})
|
||||
minetest.register_node("building_blocks:hardwood", {
|
||||
tiles = {"building_blocks_hardwood.png"},
|
||||
is_ground_content = true,
|
||||
description = "Hardwood",
|
||||
groups = {choppy=1,flammable=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all(
|
||||
"building_blocks",
|
||||
"marble",
|
||||
"building_blocks:Marble",
|
||||
{
|
||||
description = "Marble",
|
||||
tiles = {"building_blocks_marble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
}
|
||||
)
|
||||
stairsplus:register_all(
|
||||
"building_blocks",
|
||||
"hardwood",
|
||||
"building_blocks:hardwood",
|
||||
{
|
||||
description = "Hardwood",
|
||||
tiles = {"building_blocks_hardwood.png"},
|
||||
groups = {choppy=1,flammable=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
}
|
||||
)
|
||||
stairsplus:register_all(
|
||||
"building_blocks",
|
||||
"fakegrass",
|
||||
"building_blocks:fakegrass",
|
||||
{
|
||||
description = "Grass",
|
||||
tiles = {"default_grass.png"},
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
}),
|
||||
}
|
||||
)
|
||||
stairsplus:register_all(
|
||||
"building_blocks",
|
||||
"tar",
|
||||
"building_blocks:Tar",
|
||||
{
|
||||
description = "Tar",
|
||||
tiles = {"building_blocks_tar.png"},
|
||||
groups = {crumbly=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
}
|
||||
)
|
||||
stairsplus:register_all(
|
||||
"building_blocks",
|
||||
"grate",
|
||||
"building_blocks:grate",
|
||||
{
|
||||
description = "Grate",
|
||||
tiles = {"building_blocks_grate.png"},
|
||||
groups = {cracky=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
}
|
||||
)
|
||||
|
||||
else
|
||||
bb_stairs = {}
|
||||
|
||||
-- Node will be called stairs:stair_<subname>
|
||||
function bb_stairs.register_stair(subname, recipeitem, groups, images, description)
|
||||
minetest.register_node("building_blocks:stair_" .. subname, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = images,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = true,
|
||||
groups = groups,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
{-0.5, 0, 0, 0.5, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:stair_' .. subname .. ' 4',
|
||||
recipe = {
|
||||
{recipeitem, "", ""},
|
||||
{recipeitem, recipeitem, ""},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
-- Flipped recipe for the silly minecrafters
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:stair_' .. subname .. ' 4',
|
||||
recipe = {
|
||||
{"", "", recipeitem},
|
||||
{"", recipeitem, recipeitem},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
-- Node will be called stairs:slab_<subname>
|
||||
function bb_stairs.register_slab(subname, recipeitem, groups, images, description)
|
||||
minetest.register_node("building_blocks:slab_" .. subname, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = images,
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = groups,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:slab_' .. subname .. ' 3',
|
||||
recipe = {
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
-- Nodes will be called stairs:{stair,slab}_<subname>
|
||||
function bb_stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab)
|
||||
bb_stairs.register_stair(subname, recipeitem, groups, images, desc_stair)
|
||||
bb_stairs.register_slab(subname, recipeitem, groups, images, desc_slab)
|
||||
end
|
||||
bb_stairs.register_stair_and_slab("marble","building_blocks:Marble",
|
||||
{cracky=3},
|
||||
{"building_blocks_marble.png"},
|
||||
"Marble stair",
|
||||
"Marble slab"
|
||||
)
|
||||
bb_stairs.register_stair_and_slab("hardwood","building_blocks:hardwood",
|
||||
{choppy=1,flammable=1},
|
||||
{"building_blocks_hardwood.png"},
|
||||
"Hardwood stair",
|
||||
"Hardwood slab"
|
||||
)
|
||||
bb_stairs.register_stair_and_slab("fakegrass","building_blocks:fakegrass",
|
||||
{crumbly=3},
|
||||
{"default_grass.png"},
|
||||
"Grass stair",
|
||||
"Grass slab"
|
||||
)
|
||||
bb_stairs.register_stair_and_slab("tar","building_blocks:Tar",
|
||||
{crumbly=1},
|
||||
{"building_blocks_tar.png"},
|
||||
"Tar stair",
|
||||
"Tar slab"
|
||||
)
|
||||
bb_stairs.register_stair_and_slab("grate","building_blocks:grate",
|
||||
{cracky=1},
|
||||
{"building_blocks_grate.png"},
|
||||
"Grate Stair",
|
||||
"Grate Slab"
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:hardwood",
|
||||
burntime = 28,
|
||||
})
|
||||
|
||||
minetest.register_node("building_blocks:fakegrass", {
|
||||
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||
description = "Fake Grass",
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("building_blocks:sticks", {
|
||||
description = "Small bundle of sticks",
|
||||
image = "building_blocks_sticks.png",
|
||||
on_place_on_ground = minetest.craftitem_place_item,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("building_blocks:tar_base", {
|
||||
description = "Tar base",
|
||||
image = "building_blocks_tar_base.png",
|
||||
})
|
||||
|
||||
--Tar
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:knife 1',
|
||||
recipe = {
|
||||
{"building_blocks:Tar"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("tar", "building_blocks:Tar")
|
||||
minetest.register_alias("fakegrass", "building_blocks:fakegrass")
|
||||
minetest.register_alias("tar_knife", "building_blocks:knife")
|
||||
minetest.register_alias("adobe", "building_blocks:Adobe")
|
||||
minetest.register_alias("building_blocks_roofing", "building_blocks:Roofing")
|
||||
minetest.register_alias("hardwood", "building_blocks:hardwood")
|
||||
minetest.register_alias("sticks", "building_blocks:sticks")
|
||||
minetest.register_alias("building_blocks:faggot", "building_blocks:sticks")
|
||||
minetest.register_alias("marble", "building_blocks:Marble")
|
||||
|
||||
minetest.register_node("building_blocks:Tar", {
|
||||
description = "Tar",
|
||||
tiles = {"building_blocks_tar.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("building_blocks:Marble", {
|
||||
description = "Marble",
|
||||
tiles = {"building_blocks_marble.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:sticks",
|
||||
burntime = 5,
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:Tar",
|
||||
burntime = 40,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "building_blocks:Tar",
|
||||
recipe = "building_blocks:tar_base",
|
||||
})
|
||||
|
||||
minetest.register_tool("building_blocks:knife", {
|
||||
description = "Tar Knife",
|
||||
inventory_image = "building_blocks_knife.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=0,
|
||||
groupcaps={
|
||||
choppy={times={[2]=7.50, [3]=2.80}, maxwear=0.01, maxlevel=1},
|
||||
fleshy={times={[2]=5.50, [3]=2.80}, maxwear=0.01, maxlevel=1}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.add_to_creative_inventory('building_blocks:Tar 0')
|
||||
minetest.add_to_creative_inventory('building_blocks:hardwood 0')
|
||||
minetest.register_craft({
|
||||
output = "building_blocks:Marble 9",
|
||||
recipe = {
|
||||
{"default:clay", "building_blocks:Tar", "default:clay"},
|
||||
{"building_blocks:Tar","default:clay", "building_blocks:Tar"},
|
||||
{"default:clay", "building_blocks:Tar","default:clay"},
|
||||
}
|
||||
})
|
||||
|
After Width: | Height: | Size: 324 B |
After Width: | Height: | Size: 568 B |
After Width: | Height: | Size: 407 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 316 B |
After Width: | Height: | Size: 581 B |
After Width: | Height: | Size: 302 B |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 365 B |
After Width: | Height: | Size: 177 B |
After Width: | Height: | Size: 499 B |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 261 B |
After Width: | Height: | Size: 409 B |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 409 B |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 515 B |
1
mods/homedecor_modpack/chains/depends.txt
Normal file
@ -0,0 +1 @@
|
||||
default
|
150
mods/homedecor_modpack/chains/init.lua
Normal file
@ -0,0 +1,150 @@
|
||||
print("[Chains] v1.2")
|
||||
|
||||
-- wrought iron items
|
||||
|
||||
minetest.register_node("chains:chain", {
|
||||
description = "Hanging chain (wrought iron)",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { "chains_chain.png" },
|
||||
inventory_image = "chains_chain.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("chains:chain_top", {
|
||||
description = "Hanging chain (ceiling mount, wrought iron)",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { "chains_chain_top.png" },
|
||||
inventory_image = "chains_chain_top_inv.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("chains:chandelier", {
|
||||
description = "Chandelier (wrought iron)",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
light_source = LIGHT_MAX-2,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { {name="chains_chandelier.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}},
|
||||
inventory_image = "chains_chandelier_inv.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- brass-based items
|
||||
|
||||
minetest.register_node("chains:chain_brass", {
|
||||
description = "Hanging chain (brass)",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { "chains_chain_brass.png" },
|
||||
inventory_image = "chains_chain_brass.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("chains:chain_top_brass", {
|
||||
description = "Hanging chain (ceiling mount, brass)",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { "chains_chain_top_brass.png" },
|
||||
inventory_image = "chains_chain_top_brass_inv.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("chains:chandelier_brass", {
|
||||
description = "Chandelier (brass)",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
light_source = LIGHT_MAX-2,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
drops = "",
|
||||
tiles = { {name="chains_chandelier_brass.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}},
|
||||
inventory_image = "chains_chandelier_brass_inv.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chain 2',
|
||||
recipe = {
|
||||
{'glooptest:chainlink'},
|
||||
{'glooptest:chainlink'},
|
||||
{'glooptest:chainlink'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chain_top',
|
||||
recipe = {
|
||||
{'default:steel_ingot'},
|
||||
{'glooptest:chainlink'},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chandelier',
|
||||
recipe = {
|
||||
{'', 'glooptest:chainlink', ''},
|
||||
{'default:torch', 'glooptest:chainlink', 'default:torch'},
|
||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
-- brass versions
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chain_brass 2',
|
||||
recipe = {
|
||||
{'homedecor:chainlink_brass'},
|
||||
{'homedecor:chainlink_brass'},
|
||||
{'homedecor:chainlink_brass'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chain_top_brass',
|
||||
recipe = {
|
||||
{'technic:brass_ingot'},
|
||||
{'homedecor:chainlink_brass'},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'chains:chandelier_brass',
|
||||
recipe = {
|
||||
{'', 'homedecor:chainlink_brass', ''},
|
||||
{'default:torch', 'homedecor:chainlink_brass', 'default:torch'},
|
||||
{'technic:brass_ingot', 'technic:brass_ingot', 'technic:brass_ingot'},
|
||||
}
|
||||
})
|
||||
|
BIN
mods/homedecor_modpack/chains/textures/chains_chain.png
Normal file
After Width: | Height: | Size: 194 B |
BIN
mods/homedecor_modpack/chains/textures/chains_chain_brass.png
Normal file
After Width: | Height: | Size: 326 B |
BIN
mods/homedecor_modpack/chains/textures/chains_chain_top.png
Normal file
After Width: | Height: | Size: 387 B |
After Width: | Height: | Size: 566 B |
After Width: | Height: | Size: 358 B |
BIN
mods/homedecor_modpack/chains/textures/chains_chain_top_inv.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
mods/homedecor_modpack/chains/textures/chains_chandelier.png
Normal file
After Width: | Height: | Size: 710 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 591 B |
BIN
mods/homedecor_modpack/chains/textures/chains_chandelier_inv.png
Normal file
After Width: | Height: | Size: 576 B |
38
mods/homedecor_modpack/computer/CHANGES.txt
Normal file
@ -0,0 +1,38 @@
|
||||
version 0.2.3:
|
||||
- Added animated router front
|
||||
- Added all crafts for new items
|
||||
|
||||
version 0.2.2:
|
||||
- Added printer
|
||||
- Added server
|
||||
|
||||
version 0.2.1:
|
||||
- Added modern tower pc
|
||||
- Added wifi router
|
||||
- Added flatscreen LCD and keyboard
|
||||
|
||||
Version 0.2.0:
|
||||
- Added recipes.
|
||||
- Partly re-written.
|
||||
- Removed original baby tower (seemed out of place).
|
||||
- You can now turn devices on and off by right-clicking.
|
||||
- Mod is now on github.
|
||||
|
||||
Version 0.1.4:
|
||||
- Added Admiral 64 & 128 (Commodore 64 & 128 lookalikes)
|
||||
|
||||
Version 0.1.3:
|
||||
- Added SX Spectre (Sinclair ZX Spectrum lookalike)
|
||||
- Added Pony SlayStation 2 (Sony PlayStation lookalike)
|
||||
- Minor fixes to textures.
|
||||
|
||||
Version 0.1.2:
|
||||
- Nodes now use the node box as selection box.
|
||||
- Added Pony SlayStation (Sony PlayStation lookalike)
|
||||
- Added Pony Vanio (Sony VAIO lookalike...err...just a generic laptop)
|
||||
|
||||
Version 0.1.1:
|
||||
- Added SheFriend SOO (Amiga 500 lookalike)
|
||||
|
||||
Version 0.1.0:
|
||||
- Initial Version only a baby tower.
|
15
mods/homedecor_modpack/computer/LICENSE.txt
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2012 Diego Martínez <lkaezadl3@gmail.com>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
|
61
mods/homedecor_modpack/computer/README.txt
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
Decorative Computers Mod for Minetest
|
||||
by Diego Martínez <kaeza@users.sf.net>
|
||||
|
||||
How to install:
|
||||
Unzip the archive an place it in minetest-base-directory/mods/minetest/
|
||||
if you have a windows client or a linux run-in-place client. If you have
|
||||
a linux system-wide instalation place it in ~/.minetest/mods/minetest/.
|
||||
If you want to install this mod only in one world create the folder
|
||||
worldmods/ in your worlddirectory.
|
||||
For further information or help see:
|
||||
http://wiki.minetest.com/wiki/Installing_Mods
|
||||
|
||||
How to use the mod:
|
||||
For now just use creative mode or the `/give' or `/giveme' chat commands
|
||||
to get the items.
|
||||
|
||||
These are the items currently defined by this mod:
|
||||
|
||||
computer:printer (printer scanner combo)
|
||||
computer:server (rack server)
|
||||
computer:tower (modern type)
|
||||
computer:monitor (LCD with keyboard)
|
||||
computer:router (wifi type)
|
||||
computer:babytower
|
||||
computer:shefriendSOO
|
||||
computer:slaystation
|
||||
computer:vanio
|
||||
computer:spectre
|
||||
computer:slaystation2
|
||||
computer:admiral64
|
||||
computer:admiral128
|
||||
|
||||
There's also a `computer:computer' alias to `computer:babytower'.
|
||||
|
||||
License:
|
||||
Sourcecode: WTFPL (see below)
|
||||
Graphics: WTFPL (see below)
|
||||
|
||||
Thanks to all the people in the forums and the #minetest IRC channel for
|
||||
their support and suggestions; in no particular order:
|
||||
OldCoder, Josh, tonyka, VanessaE, davidpace, Jordach, and all the other
|
||||
sirs/madammes that I forgot to mention (sorry, please remind me if it
|
||||
was you ;) ).
|
||||
|
||||
See also:
|
||||
http://minetest.net/
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2012 Diego Martínez <lkaezadl3@gmail.com>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
29
mods/homedecor_modpack/computer/TODO.txt
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
TO-DO List:
|
||||
|
||||
- New Nodes:
|
||||
|
||||
- Computers:
|
||||
- Mainframe (well me have a rackserver now)
|
||||
- My Computer :P
|
||||
|
||||
- Peripherals:
|
||||
- Scanner ( well we have a printer/scanner combo now)
|
||||
|
||||
- Consoles:
|
||||
- NES
|
||||
- SNES
|
||||
- DC
|
||||
|
||||
- Handhelds
|
||||
- GB/C
|
||||
- GBA
|
||||
- Calculator
|
||||
- Smartphone
|
||||
|
||||
- Animated screens
|
||||
|
||||
- Implement some kind of games (take code from `tetris' mod?). [It would be
|
||||
nice if Minetest provided a "canvas" GUI widget :)].
|
||||
|
||||
- Get more suggestions :)
|
600
mods/homedecor_modpack/computer/computers.lua
Normal file
@ -0,0 +1,600 @@
|
||||
|
||||
-- Amiga 500 lookalike
|
||||
-- Fun fact: "Amiga" is spanish for "female friend" ("Amigo" is for male);
|
||||
-- that's why this computer was named "She Friend".
|
||||
computer.register("computer:shefriendSOO", {
|
||||
description = "SheFriendSOO";
|
||||
tiles_off = { front=true; };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 17, 32, 32, 12 }, -- Monitor Screen
|
||||
{ 3, 3, 29, 26, 26, 3 }, -- Monitor Tube
|
||||
{ 0, 0, 0, 32, 4, 17 }, -- Keyboard
|
||||
});
|
||||
});
|
||||
|
||||
-- Some generic laptop. Sony VAIO came to mind when thinking about a name :)
|
||||
-- Fun fact: "Vanio" sounds like "baño" ("bathroom" in spanish, pronounced
|
||||
-- as something like "bah-nee-oh")
|
||||
computer.register("computer:vanio", {
|
||||
description = "Pony Vanio";
|
||||
tiles_off = { front=true; top=true; left=true; right=true; back=true; };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 4, 32, 3, 24 }, -- Keyboard
|
||||
{ 0, 3, 25, 32, 21, 3 }, -- Screen
|
||||
});
|
||||
node_box_off = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 4, 32, 3, 24 }, -- Keyboard
|
||||
{ 0, 3, 4, 32, 3, 24 }, -- Screen
|
||||
});
|
||||
});
|
||||
|
||||
-- Sony PlayStation lookalike
|
||||
-- Fun fact: Swapping the first letters gives valid words :)
|
||||
-- Pony SureiSutteshun!!!
|
||||
computer.register("computer:slaystation", {
|
||||
description = "Pony SlayStation";
|
||||
tiles_off = { top=true; };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 11, 32, 6, 21 }, -- Console
|
||||
{ 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip
|
||||
{ 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip
|
||||
{ 5, 0, 4, 5, 2, 5 }, -- Controller 1 Center
|
||||
{ 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip
|
||||
{ 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip
|
||||
{ 22, 0, 4, 5, 2, 5 }, -- Controller 2 Center
|
||||
});
|
||||
});
|
||||
|
||||
-- Sony PlayStation 2 lookalike
|
||||
-- Fun fact: Swapping the first letters gives valid words :)
|
||||
-- Pony SureiSutteshun!!!
|
||||
computer.register("computer:slaystation2", {
|
||||
description = "Pony SlayStation 2";
|
||||
tiles_off = { front=true; };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 2, 2, 11, 28, 3, 19 }, -- Console (Upper part)
|
||||
{ 2, 0, 11, 26, 2, 19 }, -- Console (Lower part)
|
||||
{ 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip
|
||||
{ 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip
|
||||
{ 5, 0, 1, 5, 2, 8 }, -- Controller 1 Center
|
||||
{ 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip
|
||||
{ 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip
|
||||
{ 22, 0, 1, 5, 2, 8 }, -- Controller 2 Center
|
||||
});
|
||||
});
|
||||
|
||||
-- Sinclair ZX Spectrum lookalike
|
||||
computer.register("computer:specter", {
|
||||
description = "SX Specter";
|
||||
tiles_off = { };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 3, 0, 0, 26, 4, 17 }, -- Keyboard
|
||||
{ 18, 0, 18, 12, 6, 14 }, -- Tape Player
|
||||
});
|
||||
});
|
||||
|
||||
-- Nintendo Wii lookalike.
|
||||
computer.register("computer:wee", {
|
||||
description = "Nientiendo Wee";
|
||||
tiles_off = { front=true; };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 11, 0, 3, 10, 6, 26 }, -- Base
|
||||
{ 12, 6, 4, 8, 22, 24 }, -- Top
|
||||
});
|
||||
});
|
||||
|
||||
-- Apple iPad lookalike.
|
||||
minetest.register_node("computer:piepad", {
|
||||
description = "Snapple Piepad",
|
||||
drawtype = "signlike",
|
||||
tiles = {"computer_piepad_inv.png"},
|
||||
inventory_image = "computer_piepad_inv.png",
|
||||
wield_image = "computer_piepad_inv.png",
|
||||
sunlight_propagates = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
light_source = 10,
|
||||
walkable = false,
|
||||
groups = { snappy=3, cracky=3, choppy=3, oddly_breakable_by_hand=3},
|
||||
selection_box = {type = "wallmounted"},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
-- Commodore 64 lookalike
|
||||
computer.register("computer:admiral64", {
|
||||
description = "Admiral64";
|
||||
tiles_off = { };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 0, 32, 4, 18 }, -- Keyboard
|
||||
});
|
||||
});
|
||||
|
||||
-- Commodore 128 lookalike
|
||||
computer.register("computer:admiral128", {
|
||||
description = "Admiral128";
|
||||
tiles_off = { };
|
||||
node_box = computer.pixelnodebox(32, {
|
||||
-- X Y Z W H L
|
||||
{ 0, 0, 0, 32, 4, 27 }, -- Keyboard
|
||||
});
|
||||
});
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
----------------------------added by crazyginger72-------------------------------
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
-- Generic Flat Screen LCD (16x9) with keyboard
|
||||
minetest.register_node("computer:monitor_on", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t.png","computer_monitor_bt.png",
|
||||
"computer_monitor_l.png","computer_monitor_r.png",
|
||||
"computer_monitor_b.png","computer_monitor_f_desktop.png"}, --"computer_monitor_f_on.png"}, --till i get a boot abm inplace
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:monitor";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("computer:monitor_bios", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t.png","computer_monitor_bt.png","computer_monitor_l.png","computer_monitor_r.png","computer_monitor_b.png","computer_monitor_f_bios.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
})
|
||||
|
||||
minetest.register_node("computer:monitor_loading", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t.png","computer_monitor_bt.png","computer_monitor_l.png","computer_monitor_r.png","computer_monitor_b.png","computer_monitor_f_loading.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
})
|
||||
|
||||
minetest.register_node("computer:monitor_login", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t.png","computer_monitor_bt.png","computer_monitor_l.png","computer_monitor_r.png","computer_monitor_b.png","computer_monitor_f_login.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
})
|
||||
|
||||
minetest.register_node("computer:monitor_desktop", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t.png","computer_monitor_bt.png","computer_monitor_l.png","computer_monitor_r.png","computer_monitor_b.png","computer_monitor_f_desktop.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
})
|
||||
|
||||
minetest.register_node("computer:monitor", {
|
||||
description = "Monitor and keyboard",
|
||||
tiles = {"computer_monitor_t_off.png","computer_monitor_bt.png","computer_monitor_l.png","computer_monitor_r.png","computer_monitor_b.png","computer_monitor_f_off.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, 0.1875, 0.5, 0.375, 0.223116},
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.466981, 0.5},
|
||||
{-0.125, -0.5, 0.3125, 0.125, 0.0283019, 0.346698},
|
||||
{-0.375, -0.3125, 0.208965, 0.375, 0.240566, 0.3125},
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, -0.125},
|
||||
{-0.1875, -0.5, 0.25, 0.1875, -0.410377, 0.375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:monitor' ,
|
||||
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:monitor_on";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end
|
||||
|
||||
})
|
||||
|
||||
--WIFI Router (linksys look-a-like)
|
||||
|
||||
minetest.register_node("computer:router", {
|
||||
description = "WIFI Router",
|
||||
tiles = {"computer_router_t.png","computer_router_bt.png","computer_router_l.png","computer_router_r.png","computer_router_b.png",{name="computer_router_f_animated.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},}, --"computer_router_f.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.0625, 0.25, -0.375, 0.3125},
|
||||
{-0.1875, -0.4375, 0.3125, -0.125, -0.1875, 0.375},
|
||||
{0.125, -0.4375, 0.3125, 0.1875, -0.1875, 0.375},
|
||||
{-0.0625, -0.4375, 0.3125, 0.0625, -0.25, 0.375},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.0625, 0.25, -0.375, 0.3125},
|
||||
{-0.1875, -0.4375, 0.3125, -0.125, -0.1875, 0.375},
|
||||
{0.125, -0.4375, 0.3125, 0.1875, -0.1875, 0.375},
|
||||
{-0.0625, -0.4375, 0.3125, 0.0625, -0.25, 0.375},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
--Modern PC Tower
|
||||
|
||||
minetest.register_node("computer:tower_on", {
|
||||
description = "Computer Tower",
|
||||
tiles = {"computer_tower_t.png","computer_tower_bt.png","computer_tower_l.png","computer_tower_r.png","computer_tower_b.png","computer_tower_f_on.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,not_in_creative_inventory=1},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.3125, 0.1875, 0.3125, 0.4375},
|
||||
{-0.1875, -0.5, -0.353774, 0.1875, 0, -0.0625},
|
||||
{-0.1875, 0.247641, -0.353774, 0.1875, 0.3125, 0.1875},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.3125, 0.1875, 0.3125, 0.4375},
|
||||
},
|
||||
},
|
||||
drop = 'computer:tower' ,
|
||||
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:tower";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("computer:tower", {
|
||||
description = "Computer Tower",
|
||||
tiles = {"computer_tower_t.png","computer_tower_bt.png","computer_tower_l.png","computer_tower_r.png","computer_tower_b.png","computer_tower_f_off.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.3125, 0.1875, 0.3125, 0.4375},
|
||||
{-0.1875, -0.5, -0.353774, 0.1875, 0, -0.0625},
|
||||
{-0.1875, 0.247641, -0.353774, 0.1875, 0.3125, 0.1875},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.3125, 0.1875, 0.3125, 0.4375},
|
||||
},
|
||||
},
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:tower_on";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end
|
||||
})
|
||||
|
||||
-- Printer/scaner combo
|
||||
|
||||
minetest.register_node("computer:printer", {
|
||||
description = "Printer Scaner Combo",
|
||||
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png","computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
|
||||
--inventory_image =
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
--sounds = default.node_sound_dirt_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
|
||||
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
|
||||
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
|
||||
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
|
||||
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
|
||||
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
|
||||
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
|
||||
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
|
||||
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
|
||||
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
|
||||
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
--Rack Server
|
||||
|
||||
minetest.register_node("computer:server", {
|
||||
drawtype = "nodebox",
|
||||
description = "Rack Server",
|
||||
tiles = {
|
||||
'computer_server_t.png',
|
||||
'computer_server_bt.png',
|
||||
'computer_server_l.png',
|
||||
'computer_server_r.png',
|
||||
'computer_server_bt.png',
|
||||
'computer_server_f_off.png'
|
||||
},
|
||||
inventory_image = "computer_server_inv.png",
|
||||
sunlight_propagates = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = { snappy = 3 },
|
||||
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375},
|
||||
},
|
||||
--drop = 'computer:server',
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:server_on";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local pos = pointed_thing.above
|
||||
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||
minetest.chat_send_player( placer:get_player_name(), "Not enough vertical space to place a server!" )
|
||||
return
|
||||
end
|
||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("computer:server_on", {
|
||||
drawtype = "nodebox",
|
||||
description = "Rack Server",
|
||||
tiles = {
|
||||
'computer_server_t.png',
|
||||
'computer_server_bt.png',
|
||||
'computer_server_r.png',
|
||||
'computer_server_l.png',
|
||||
'computer_server_bt.png',
|
||||
'computer_server_f_on.png',
|
||||
},
|
||||
inventory_image = "computer_server_inv.png",
|
||||
sunlight_propagates = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = { snappy = 3,not_in_creative_inventory=1 },
|
||||
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375},
|
||||
},
|
||||
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
drop = 'computer:server',
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
node.name = "computer:server";
|
||||
minetest.set_node(pos, node);
|
||||
nodeupdate(pos)
|
||||
end ,
|
||||
|
||||
})
|
||||
|
||||
|
1
mods/homedecor_modpack/computer/depends.txt
Normal file
@ -0,0 +1 @@
|
||||
default
|
105
mods/homedecor_modpack/computer/init.lua
Normal file
@ -0,0 +1,105 @@
|
||||
|
||||
computer = { };
|
||||
|
||||
computer.register = function ( name, def )
|
||||
local nodename = name;
|
||||
if (name:sub(1, 1) == ":") then name = name:sub(2); end
|
||||
local modname, basename = name:match("^([^:]+):(.*)");
|
||||
local TEXPFX = modname.."_"..basename.."_";
|
||||
local ONSTATE = modname..":"..basename;
|
||||
local OFFSTATE = modname..":"..basename.."_off";
|
||||
local def = def;
|
||||
minetest.register_node(ONSTATE, {
|
||||
drawtype = "nodebox";
|
||||
paramtype = "light";
|
||||
paramtype2 = "facedir";
|
||||
description = def.description;
|
||||
groups = { snappy=2, choppy=2, oddly_breakable_by_hand=2 };
|
||||
tiles = {
|
||||
TEXPFX.."tp.png",
|
||||
TEXPFX.."bt.png",
|
||||
TEXPFX.."rt.png",
|
||||
TEXPFX.."lt.png",
|
||||
TEXPFX.."bk.png",
|
||||
TEXPFX.."ft.png",
|
||||
};
|
||||
node_box = def.node_box;
|
||||
selection_box = def.node_box;
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
if (def.on_turn_off) then
|
||||
if (def.on_turn_off(pos, node, clicker, itemstack)) then return; end
|
||||
end
|
||||
node.name = OFFSTATE;
|
||||
minetest.env:set_node(pos, node);
|
||||
nodeupdate(pos);
|
||||
end;
|
||||
});
|
||||
minetest.register_node(OFFSTATE, {
|
||||
drawtype = "nodebox";
|
||||
paramtype = "light";
|
||||
paramtype2 = "facedir";
|
||||
groups = { snappy=2, choppy=2, oddly_breakable_by_hand=2,
|
||||
not_in_creative_inventory=1 };
|
||||
tiles = {
|
||||
(TEXPFX.."tp"..(def.tiles_off.top and "_off" or "")..".png"),
|
||||
(TEXPFX.."bt"..(def.tiles_off.bottom and "_off" or "")..".png"),
|
||||
(TEXPFX.."rt"..(def.tiles_off.right and "_off" or "")..".png"),
|
||||
(TEXPFX.."lt"..(def.tiles_off.left and "_off" or "")..".png"),
|
||||
(TEXPFX.."bk"..(def.tiles_off.back and "_off" or "")..".png"),
|
||||
(TEXPFX.."ft"..(def.tiles_off.front and "_off" or "")..".png"),
|
||||
};
|
||||
node_box = def.node_box_off or def.node_box;
|
||||
selection_box = def.node_box_off or def.node_box;
|
||||
on_rightclick = function ( pos, node, clicker, itemstack)
|
||||
if (def.on_turn_on) then
|
||||
if (def.on_turn_on(pos, node, clicker, itemstack)) then return; end
|
||||
end
|
||||
node.name = ONSTATE;
|
||||
minetest.env:set_node(pos, node);
|
||||
nodeupdate(pos);
|
||||
end;
|
||||
drop = ONSTATE;
|
||||
});
|
||||
end
|
||||
|
||||
computer.register_handheld = function ( name, def )
|
||||
local nodename = name;
|
||||
if (name:sub(1, 1) == ":") then name = name:sub(2); end
|
||||
local modname, basename = name:match("^([^:]+):(.*)");
|
||||
local TEXPFX = modname.."_"..basename.."_inv";
|
||||
local ONSTATE = modname..":"..basename;
|
||||
local OFFSTATE = modname..":"..basename.."_off";
|
||||
local on_use = def.on_use;
|
||||
minetest.register_craftitem(ONSTATE, {
|
||||
description = def.description;
|
||||
inventory_image = TEXPFX..".png";
|
||||
wield_image = TEXPFX..".png";
|
||||
});
|
||||
end
|
||||
|
||||
computer.pixelnodebox = function ( size, boxes )
|
||||
local fixed = { };
|
||||
local i, box;
|
||||
for i, box in ipairs(boxes) do
|
||||
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 MODPATH = minetest.get_modpath("computer");
|
||||
dofile(MODPATH.."/computers.lua");
|
||||
dofile(MODPATH.."/miscitems.lua");
|
||||
dofile(MODPATH.."/recipes.lua");
|
||||
|
||||
|
6
mods/homedecor_modpack/computer/locale/es.txt
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
# Language: Español
|
||||
# Author: Diego Martínez <lkaezadl3@gmail.com>
|
||||
|
||||
Plastic sheet = Placa de Plastico
|
||||
Unprocessed Plastic base = Base de Plastico No Procesada
|
77
mods/homedecor_modpack/computer/miscitems.lua
Normal file
@ -0,0 +1,77 @@
|
||||
|
||||
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
|
||||
-- License is WTFPL (see README.txt).
|
||||
|
||||
-- This file defines some items in order to not have to depend on other mods.
|
||||
|
||||
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||
local S;
|
||||
if (minetest.get_modpath("intllib")) then
|
||||
dofile(minetest.get_modpath("intllib").."/intllib.lua");
|
||||
S = intllib.Getter(minetest.get_current_modname());
|
||||
else
|
||||
S = function ( s ) return s; end
|
||||
end
|
||||
|
||||
if (not minetest.get_modpath("homedecor")) then
|
||||
|
||||
minetest.register_craftitem(":homedecor:plastic_sheeting", {
|
||||
description = S("Plastic sheet"),
|
||||
inventory_image = "homedecor_plastic_sheeting.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem(":homedecor:plastic_base", {
|
||||
description = S("Unprocessed Plastic base"),
|
||||
wield_image = "homedecor_plastic_base.png",
|
||||
inventory_image = "homedecor_plastic_base_inv.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 6',
|
||||
recipe = { "default:junglegrass",
|
||||
"default:junglegrass",
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 3',
|
||||
recipe = { "default:dry_shrub",
|
||||
"default:dry_shrub",
|
||||
"default:dry_shrub"
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 4',
|
||||
recipe = { "default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "homedecor:plastic_sheeting",
|
||||
recipe = "homedecor:plastic_base",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'homedecor:plastic_base',
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'homedecor:plastic_sheeting',
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
end -- not homedecor
|
134
mods/homedecor_modpack/computer/recipes.lua
Normal file
@ -0,0 +1,134 @@
|
||||
|
||||
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
|
||||
-- License is WTFPL (see README.txt).
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:shefriendSOO";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:wood", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:slaystation";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:wood", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:vanio";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "", "", },
|
||||
{ "default:glass", "", "" },
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:specter";
|
||||
recipe = {
|
||||
{ "", "", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:slaystation2";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:admiral64";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "default:wood", "default:wood", "default:wood", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:admiral128";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:wee";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:copper_ingot", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:piepad";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
--new stuff
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:monitor";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "default:glass","", },
|
||||
{ "homedecor:plastic_sheeting", "default:glass","", },
|
||||
{ "homedecor:plastic_sheeting", "default:mese_crystal_fragment", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:router";
|
||||
recipe = {
|
||||
{ "default:steel_ingot","","", },
|
||||
{ "default:steel_ingot" ,"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
{ "default:mese_crystal_fragment","homedecor:plastic_sheeting", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:tower";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:printer";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "default:steel_ingot","", },
|
||||
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "default:coal_lump", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:printer";
|
||||
recipe = {
|
||||
{ "homedecor:plastic_sheeting", "default:steel_ingot","", },
|
||||
{ "homedecor:plastic_sheeting", "default:mese_crystal", "homedecor:plastic_sheeting", },
|
||||
{ "homedecor:plastic_sheeting", "dye:black", "homedecor:plastic_sheeting", },
|
||||
};
|
||||
});
|
||||
|
||||
minetest.register_craft({
|
||||
output = "computer:server";
|
||||
recipe = {
|
||||
{ "computer:tower", "computer:tower", "computer:tower", },
|
||||
{ "computer:tower", "computer:tower", "computer:tower", },
|
||||
{ "computer:tower", "computer:tower", "computer:tower", },
|
||||
};
|
||||
});
|
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 483 B |
After Width: | Height: | Size: 321 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 415 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 461 B |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 129 B |
BIN
mods/homedecor_modpack/computer/textures/computer_monitor_b.png
Normal file
After Width: | Height: | Size: 136 B |
BIN
mods/homedecor_modpack/computer/textures/computer_monitor_bt.png
Normal file
After Width: | Height: | Size: 128 B |
After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 96 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 741 B |
After Width: | Height: | Size: 114 B |
After Width: | Height: | Size: 323 B |
BIN
mods/homedecor_modpack/computer/textures/computer_monitor_l.png
Normal file
After Width: | Height: | Size: 100 B |
BIN
mods/homedecor_modpack/computer/textures/computer_monitor_r.png
Normal file
After Width: | Height: | Size: 100 B |
BIN
mods/homedecor_modpack/computer/textures/computer_monitor_t.png
Normal file
After Width: | Height: | Size: 209 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 210 B |
BIN
mods/homedecor_modpack/computer/textures/computer_piepad_inv.png
Normal file
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 136 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_b.png
Normal file
After Width: | Height: | Size: 170 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_bt.png
Normal file
After Width: | Height: | Size: 164 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_f.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_l.png
Normal file
After Width: | Height: | Size: 183 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_r.png
Normal file
After Width: | Height: | Size: 182 B |
BIN
mods/homedecor_modpack/computer/textures/computer_printer_t.png
Normal file
After Width: | Height: | Size: 204 B |
BIN
mods/homedecor_modpack/computer/textures/computer_router_b.png
Normal file
After Width: | Height: | Size: 289 B |
BIN
mods/homedecor_modpack/computer/textures/computer_router_bt.png
Normal file
After Width: | Height: | Size: 163 B |
BIN
mods/homedecor_modpack/computer/textures/computer_router_f.png
Normal file
After Width: | Height: | Size: 284 B |
After Width: | Height: | Size: 6.1 KiB |
BIN
mods/homedecor_modpack/computer/textures/computer_router_l.png
Normal file
After Width: | Height: | Size: 260 B |
BIN
mods/homedecor_modpack/computer/textures/computer_router_r.png
Normal file
After Width: | Height: | Size: 261 B |
BIN
mods/homedecor_modpack/computer/textures/computer_router_t.png
Normal file
After Width: | Height: | Size: 146 B |
BIN
mods/homedecor_modpack/computer/textures/computer_server_bt.png
Normal file
After Width: | Height: | Size: 68 B |
After Width: | Height: | Size: 2.3 KiB |