merge into master
|
@ -1,2 +0,0 @@
|
|||
# Minerdream_mod
|
||||
A mod, that makes minig way more fun, and is a replacement for Xtraores, which I abandoned.
|
170
api.lua
|
@ -1,170 +0,0 @@
|
|||
|
||||
minerdream.register_item = function(ldef,tier_definition,ltype)
|
||||
local tier=1
|
||||
if ldef.tier then
|
||||
tier = ldef.tier
|
||||
end
|
||||
local tdef=tier_definition[tier]
|
||||
local stack_max=minerdream.max_stack
|
||||
if ldef.max_stack then
|
||||
stack_max=ldef.max_stack
|
||||
end
|
||||
local lump_def={
|
||||
name=minetest.get_current_modname()..":"..ldef.name.."_"..ltype,
|
||||
description=""..core.colorize(tdef.color,ldef.name.." "..ltype.."\n")..core.colorize("#A0A0A0","tier: "..tier.." ("..tdef.desc..")"),
|
||||
inventory_image=minetest.get_current_modname().."_"..ldef.name.."_"..ltype..".png",
|
||||
stack_max=stack_max,
|
||||
}
|
||||
-- print(dump(lump_def))
|
||||
minetest.register_craftitem(lump_def.name,lump_def)
|
||||
|
||||
end
|
||||
|
||||
local local_register_armor = function(aname,adef)
|
||||
adef.description=aname..core.colorize("#A0A0A0", "Defence: "..adef.armor_groups.fleshy.."\n")..
|
||||
core.colorize("#A0A0A0", "heal: "..(adef.groups.armor_heal or 0).." \n")..
|
||||
core.colorize("#A0A0A0", "walking speed "..(100*(adef.groups.physics_speed or 0)).."%\n")..
|
||||
core.colorize("#A0A0A0", "gravity "..(100*(adef.groups.physics_gravity or 0)).."%\n")..
|
||||
core.colorize("#A0A0A0", "jump force "..(100*(adef.groups.physics_jump or 0)).."%\n")
|
||||
-- print(dump(adef))
|
||||
armor:register_armor(adef.name,adef)
|
||||
end
|
||||
minerdream.register_armor = function(adef,tier_definition)
|
||||
local tdef=tier_definition[adef.tier]
|
||||
local agroups={armor_heal=adef.heal,armor_use=adef.use,
|
||||
physics_jump=adef.jump,physics_speed=adef.speed,physics_gravity=adef.gravity}
|
||||
local desc=""..core.colorize("#A0A0A0","tier "..tdef.name.." ("..tdef.desc..")\n")
|
||||
local damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2}
|
||||
local modname=minetest.get_current_modname()
|
||||
local arm_trans={helmet="armor_head",chestplate="armor_torso",leggings="armor_legs",
|
||||
boots="armor_feet",shield="armor_shield"}
|
||||
-- print(dump(adef))
|
||||
for _,arm in ipairs({"helmet","chestplate","leggings","boots","shield"}) do
|
||||
-- print(arm.."_fleshy")
|
||||
if adef[arm.."_fleshy"] then
|
||||
local armdef={name=modname..":"..arm.."_"..adef.name,
|
||||
desc_name=adef.name.." "..arm,
|
||||
inventory_image=modname.."_inv_"..arm.."_"..adef.name..".png",
|
||||
groups={armor_heal=adef.heal,armor_use=adef.use,physics_jump=adef.jump,
|
||||
physics_speed=adef.speed,physics_gravity=adef.gravity},
|
||||
armor_groups = {fleshy = adef[arm.."_fleshy"]},
|
||||
damage_groups=damage_groups,
|
||||
}
|
||||
armdef.groups[arm_trans[arm]] = 1
|
||||
-- print(dump(armdef))
|
||||
local hdesc=""..core.colorize(tdef.color,adef.name.." "..arm.."\n")..desc
|
||||
-- print(hdesc)
|
||||
local_register_armor(hdesc,armdef)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local time_scaled={[1]=1,[2]=0.4,[3]=0.16,[4]=2.4,[5]=3.2,[6]=4.8}
|
||||
local tool_punch_interval={
|
||||
pick = 1, sword = 0.75, shovel = 1, axe = 1}
|
||||
local tool_damage_groups = {
|
||||
pick = 1, sword = 1.2, shovel = 0.7, axe = 1.1}
|
||||
|
||||
minerdream.register_tool = function(tdef,tier_definition)
|
||||
local trdef=tier_definition[tdef.tier]
|
||||
local modname=tdef.modname
|
||||
|
||||
for _,tool in pairs({"pick","sword","shovel","axe"}) do
|
||||
if tdef.groups[tool] then
|
||||
print(dump(tdef))
|
||||
local lpi=tdef.full_punch_intervall * tool_punch_interval[tool]
|
||||
local ldg = tdef.tool_fleshy * tool_damage_groups[tool]
|
||||
tool_def={name=modname..":"..tool.."_"..tdef.name,
|
||||
desc_name=tdef.name.." "..tool,
|
||||
description = "".. core.colorize("#00FF00", tdef.name.." "..tool.."\n")
|
||||
..core.colorize("#A0A0A0", "tier: "..tdef.tier.." ("..trdef.desc..")\n")
|
||||
..core.colorize("#A0A0A0", "mele damage: "..ldg.."\n")
|
||||
..core.colorize("#A0A0A0", "range: "..tdef.tool_range.."\n")
|
||||
..core.colorize("#A0A0A0", "attack interval: "..lpi),
|
||||
|
||||
inventory_image=modname.."_"..tool.."_"..tdef.name..".png",
|
||||
wield_scale = {x=tdef.wield_scale,y=tdef.wield_scale,z=tdef.wield_scale},
|
||||
range = tdef.tool_range,
|
||||
tool_capabilities = {
|
||||
full_punch_interval = lpi,
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
},
|
||||
damage_goups = {fleshy = ldg},
|
||||
}
|
||||
}
|
||||
for tg in pairs({"cracky","crumbly","choppy","snappy"}) do
|
||||
if tdef[tool.."_"..tg.."_times"] then
|
||||
tool_def.tool_capabilities.groupcaps[tg]={}
|
||||
for ind=1,tdef.groups[tool] do
|
||||
tool_def.tool_capabilities.groupcaps[tg][ind]=tdef[tool.."_"..tg.."_times"] * time_scaled[ind]
|
||||
end
|
||||
end
|
||||
end
|
||||
-- print(dump(tool_def))
|
||||
minetest.register_tool(tool_def.name,tool_def)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function dust_register(element)
|
||||
minetest.register_node("minerdream:"..element.."_dust", {
|
||||
description = element.." dust",
|
||||
tiles = {"minerdream_dust.png"},
|
||||
inventory_image = {"minerdream_dust.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
local function block_register(element,crack)
|
||||
minetest.register_node("minerdream:"..element.."_block", {
|
||||
description = element.." block",
|
||||
tiles = {"minerdream_"..element.."_block.png"},
|
||||
groups = {cracky = crack},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
function minerdream.ore_register(element,crack,bdust,bblock,desert)
|
||||
local stonename = "stone"
|
||||
local stone_name = "stone"
|
||||
if desert then
|
||||
stonename = "desertstone"
|
||||
stone_name = "desert_stone"
|
||||
end
|
||||
minetest.register_node("minerdream:"..stonename.."_with_"..element, {
|
||||
description = element.." ore",
|
||||
tiles = {"default_"..stone_name..".png^minerdream_"..element.."_ore.png"},
|
||||
groups = {cracky = crack},
|
||||
drop = 'minerdream:'..element..'_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
if bdust then
|
||||
dust_register(element)
|
||||
end
|
||||
if bblock then
|
||||
block_register(element,crack)
|
||||
end
|
||||
end
|
||||
function minerdream.stone_register(element,crack)
|
||||
minetest.register_node("minerdream:stone_with_"..element, {
|
||||
description = element.." ore",
|
||||
tiles = {"default_stone.png^minerdream_"..element.."_ore.png"},
|
||||
groups = {cracky = crack},
|
||||
drop = 'minerdream:'..element..'_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
minerdream.register_barblock(element)
|
||||
minetest.register_node("minerdream:"..element.."_bar_block", {
|
||||
description = element.." bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_"..element.."_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
end
|
36
armor.lua
|
@ -1,36 +0,0 @@
|
|||
if minetest.global_exists("armor") and armor.elements then
|
||||
table.insert(armor.elements, "accessory")
|
||||
local mult = armor.config.level_multiplier or 1
|
||||
armor.config.level_multiplier = mult * 1.1
|
||||
end
|
||||
|
||||
---------------------accessoaries--------------------
|
||||
|
||||
armor:register_armor("minerdream:accessory_speedring", {
|
||||
description = "".. core.colorize("#0040FF", "Ring of speed\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)\n")..core.colorize("#A0A0A0", "walking speed + 50%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_speedring.png",
|
||||
groups = {armor_accessory=1, armor_heal=0.0, armor_use=0,
|
||||
physics_jump=0.0, physics_speed=0.5, physics_gravity=-0.00},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
||||
|
||||
armor:register_armor("minerdream:accessory_protectionring", {
|
||||
description = "".. core.colorize("#0040FF", "Ring of protection\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)\n")..core.colorize("#A0A0A0", "heal + 7.5%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_protectionring.png",
|
||||
groups = {armor_accessory=1, armor_heal=7.5, armor_use=0,
|
||||
physics_jump=0.0, physics_speed=0.0, physics_gravity=-0.00},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
||||
|
||||
---------------------special grindable-------------
|
||||
|
||||
armor:register_armor("minerdream:accessory_slimering", {
|
||||
description = "".. core.colorize("#40FF80", "Slimy ring\n")..core.colorize("#A0A0A0", "tier: 4 (rare)\n")..core.colorize("#A0A0A0", "jump force + 25%\n")..core.colorize("#A0A0A0", "gravity - 5%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_slimering.png",
|
||||
groups = {armor_accessory=1, armor_heal=0.0, armor_use=0,
|
||||
physics_jump=0.25, physics_speed=0.5, physics_gravity=-0.05},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
61
awards.lua
|
@ -1,61 +0,0 @@
|
|||
if minetest.get_modpath("awards") then
|
||||
|
||||
awards.register_achievement("minerdream_caveman", {
|
||||
title = ("Caveman"),
|
||||
description = ("You crafted yourself a flint spear, but what if I told you... in 21th century, there's way better weapons than that!"),
|
||||
icon = "minerdream_achievement_caveman.png",
|
||||
trigger = {
|
||||
type = "craft",
|
||||
item = "minerdream:spear_flint",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_armed", {
|
||||
title = ("Armed!"),
|
||||
description = ("Craft a handgun"),
|
||||
icon = "minerdream_achievement_armed.png",
|
||||
trigger = {
|
||||
type = "craft",
|
||||
item = "minerdream:handgun",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_secondminer", {
|
||||
title = ("Second place miner"),
|
||||
description = ("You've found some silver! Head for the gold now."),
|
||||
icon = "minerdream_achievement_secondminer.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "minerdream:stone_with_silver",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
awards.register_achievement("minerdream_neatjunk", {
|
||||
title = ("Neat junk!"),
|
||||
description = ("Break the most common loot box. I wonder what's inside?"),
|
||||
icon = "minerdream_achievement_neatjunk.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "minerdream:treasure1",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_health", {
|
||||
title = ("Maintaining good health"),
|
||||
description = ("Consume a vitamin pill for the first time"),
|
||||
icon = "minerdream_achievement_health.png",
|
||||
trigger = {
|
||||
type = "eat",
|
||||
item = "minerdream:vitamin",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
end
|
816
blocks.lua
|
@ -1,816 +0,0 @@
|
|||
-----------slimeblocks----------------
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_green", {
|
||||
description = "Green block of slime",
|
||||
tiles = {"minerdream_slimeblock_green.png"},
|
||||
groups = {crumbly = 3,bouncy=75,fall_damage_add_percent=-50},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_blue", {
|
||||
description = "Blue block of slime",
|
||||
tiles = {"minerdream_slimeblock_blue.png"},
|
||||
groups = {crumbly = 3,bouncy=80,fall_damage_add_percent=-55},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_red", {
|
||||
description = "Red block of slime",
|
||||
tiles = {"minerdream_slimeblock_red.png"},
|
||||
groups = {crumbly = 3,bouncy=85,fall_damage_add_percent=-60},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_yellow", {
|
||||
description = "Yellow block of slime",
|
||||
tiles = {"minerdream_slimeblock_yellow.png"},
|
||||
groups = {crumbly = 3,bouncy=90,fall_damage_add_percent=-65},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_purple", {
|
||||
description = "Purple block of slime",
|
||||
tiles = {"minerdream_slimeblock_purple.png"},
|
||||
groups = {crumbly = 3,bouncy=95,fall_damage_add_percent=-70},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_brown", {
|
||||
description = "Brown block of slime",
|
||||
tiles = {"minerdream_slimeblock_brown.png"},
|
||||
groups = {crumbly = 3,bouncy=100,fall_damage_add_percent=-75},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
-------------ores--------------
|
||||
|
||||
minetest.register_node("minerdream:stone_with_onyx", {
|
||||
description = "Onyx ore",
|
||||
tiles = {"default_stone.png^minerdream_onyx_ore.png"},
|
||||
groups = {cracky = 5},
|
||||
drop = 'minerdream:onyx',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:stone_with_aquamarine", {
|
||||
description = "Aquamarine ore",
|
||||
tiles = {"minerdream_aquamarine_rock.png"},
|
||||
groups = {cracky = 5},
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
mesh = "gemstone_cubic_pillars.obj",
|
||||
drop = 'minerdream:aquamarine',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:stone_with_topaz", {
|
||||
description = "Topaz ore",
|
||||
tiles = {"minerdream_topaz_rock.png"},
|
||||
groups = {cracky = 5},
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
mesh = "gemstone_cubic.obj",
|
||||
drop = 'minerdream:topaz',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
minetest.override_item("moreores:mineral_silver", {
|
||||
description = "Silver ore",
|
||||
tiles = {"default_stone.png^minerdream_silver_ore.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = 'moreores:mineral_silver_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.override_item("moreores:silver_lump", {
|
||||
description = "Silver lump",
|
||||
inventory_image = {"default_stone.png^minerdream_silver_lump.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
if minetest.get_modpath("technic") then
|
||||
minetest.override_item("technic:mineral_lead", {
|
||||
description = "Lead ore",
|
||||
tiles = {"default_stone.png^minerdream_lead_ore.png"},
|
||||
groups = {cracky = 2},
|
||||
drop = 'moreores:mineral_lead_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.override_item("technic:lead_lump", {
|
||||
description = "Lead lump",
|
||||
inventory_image = {"default_stone.png^minerdream_lead_lump.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
stone_register("spinel",5)
|
||||
stone_register("garnet",4)
|
||||
stone_register("bituminous_coal",4)
|
||||
stone_register("jade",4)
|
||||
stone_register("amethyst",4)
|
||||
|
||||
-----------------desert ores-----------------
|
||||
minetest.register_node("minerdream:desertstone_with_richiron", {
|
||||
description = "Rich desert iron ore",
|
||||
tiles = {"default_desert_stone.png^minerdream_richiron_ore.png"},
|
||||
groups = {cracky = 2},
|
||||
drop = 'default:iron_lump 2',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:desertstone_with_poorgold", {
|
||||
description = "Poor desert gold ore",
|
||||
tiles = {"default_desert_stone.png^minerdream_poorgold_ore.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = 'minerdream:gold_nugget 1',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
--------------marble---------------
|
||||
local function register_marble_intern(color,crack)
|
||||
minetest.register_node("minerdream:marble_"..color, {
|
||||
description = color.." marble",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
local function register_marble(color,crack)
|
||||
register_marble_intern(color,3)
|
||||
register_marble_intern(color.."_polished",3)
|
||||
register_marble_intern(color.."_brick",3)
|
||||
register_marble_intern(color.."_smallbrick",3)
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_middle", {
|
||||
description = color.." marble pillar middle",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_middle", {
|
||||
description = color.." marble pillar middle",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_bottom", {
|
||||
description = color.." marble pillar bottom",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.375, 0.4375}, -- NodeBox4
|
||||
{-0.3125, -0.5, -0.5, 0.3125, -0.375, 0.5}, -- NodeBox5
|
||||
{-0.5, -0.5, -0.3125, 0.5, -0.375, 0.3125}, -- NodeBox6
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_top", {
|
||||
description = color.." marble pillar top",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, 0.375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox4
|
||||
{-0.3125, 0.375, -0.5, 0.3125, 0.5, 0.5}, -- NodeBox5
|
||||
{-0.5, 0.375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox6
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_both", {
|
||||
description = color.." marble pillar both-sided",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, 0.375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox4
|
||||
{-0.3125, 0.375, -0.5, 0.3125, 0.5, 0.5}, -- NodeBox5
|
||||
{-0.5, 0.375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox6
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.375, 0.4375}, -- NodeBox9
|
||||
{-0.3125, -0.5, -0.5, 0.3125, -0.375, 0.5}, -- NodeBox10
|
||||
{-0.5, -0.5, -0.3125, 0.5, -0.375, 0.3125}, -- NodeBox11
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
register_marble("white",3)
|
||||
register_marble("pink",3)
|
||||
register_marble("red",3)
|
||||
register_marble("blue",3)
|
||||
register_marble("green",3)
|
||||
register_marble("black",3)
|
||||
|
||||
------------lapis-------------
|
||||
minetest.register_node("minerdream:lapislazuli_block", {
|
||||
description = "Lapis lazuli block",
|
||||
tiles = {"minerdream_lapislazuli_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock", {
|
||||
description = "Lapis lazuli-gold block #1",
|
||||
tiles = {"minerdream_lapislazuli_goldblock.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_a", {
|
||||
description = "Lapis lazuli-gold block #2",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_a.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_b", {
|
||||
description = "Lapis lazuli-gold block #3",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_b.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_c", {
|
||||
description = "Lapis lazuli-gold block #4",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_c.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_d", {
|
||||
description = "Lapis lazuli-gold block #5",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_d.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_brick", {
|
||||
description = "Lapis lazuli bricks",
|
||||
tiles = {"minerdream_lapislazuli_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuli_smallbrick", {
|
||||
description = "Small lapis lazuli bricks",
|
||||
tiles = {"minerdream_lapislazuli_smallbrick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuligold_brick", {
|
||||
description = "lapis lazuli-gold bricks #1",
|
||||
tiles = {"minerdream_lapislazuligold_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuligold_brick_a", {
|
||||
description = "lapis lazuli-gold bricks #2",
|
||||
tiles = {"minerdream_lapislazuligold_brick_a.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
---------------blox-----------
|
||||
|
||||
minetest.register_node("minerdream:onyx_block", {
|
||||
description = "Onyx block",
|
||||
tiles = {"minerdream_onyx_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:spinel_block", {
|
||||
description = "Spinel block",
|
||||
tiles = {"minerdream_spinel_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("minerdream:garnet_block", {
|
||||
description = "Garnet block",
|
||||
tiles = {"minerdream_garnet_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("minerdream:aquamarine_block", {
|
||||
description = "Aquamarine block",
|
||||
tiles = {"minerdream_aquamarine_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("minerdream:jade_block", {
|
||||
description = "Jade block",
|
||||
tiles = {"minerdream_jade_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:amethyst_block", {
|
||||
description = "Amethyst block",
|
||||
tiles = {"minerdream_amethyst_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:topaz_block", {
|
||||
description = "Topaz block",
|
||||
tiles = {"minerdream_topaz_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:brass_block", {
|
||||
description = "Brass block",
|
||||
tiles = {"minerdream_brass_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
---------------brix----------
|
||||
|
||||
minetest.register_node("minerdream:onyx_brick", {
|
||||
description = "Onyx bricks",
|
||||
tiles = {"minerdream_onyx_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:spinel_brick", {
|
||||
description = "Spinel bricks",
|
||||
tiles = {"minerdream_spinel_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:aquamarine_brick", {
|
||||
description = "Aquamarine bricks",
|
||||
tiles = {"minerdream_aquamarine_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:garnet_brick", {
|
||||
description = "Garnet bricks",
|
||||
tiles = {"minerdream_garnet_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:jade_brick", {
|
||||
description = "Jade bricks",
|
||||
tiles = {"minerdream_jade_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:amethyst_brick", {
|
||||
description = "Amethyst bricks",
|
||||
tiles = {"minerdream_amethyst_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:topaz_brick", {
|
||||
description = "Topaz bricks",
|
||||
tiles = {"minerdream_topaz_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:rhodium_brick", {
|
||||
description = "Rhodium bricks",
|
||||
tiles = {"minerdream_rhodium_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:tantalum_brick", {
|
||||
description = "Tantalum bricks",
|
||||
tiles = {"minerdream_tantalum_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:ruthenium_brick", {
|
||||
description = "Ruthenium bricks",
|
||||
tiles = {"minerdream_ruthenium_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:cobalt_brick", {
|
||||
description = "Cobalt bricks",
|
||||
tiles = {"minerdream_cobalt_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:platinum_brick", {
|
||||
description = "Platinum bricks",
|
||||
tiles = {"minerdream_platinum_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
if not minetest.get_modpath("aluminium") then
|
||||
minetest.register_node("minerdream:aluminum_brick", {
|
||||
description = "Aluminum bricks",
|
||||
tiles = {"minerdream_aluminum_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("minerdream:brass_brick", {
|
||||
description = "Brass bricks",
|
||||
tiles = {"minerdream_brass_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lead_brick", {
|
||||
description = "Lead bricks",
|
||||
tiles = {"minerdream_lead_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:zinc_brick", {
|
||||
description = "Zinc bricks",
|
||||
tiles = {"minerdream_zinc_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:copper_brick", {
|
||||
description = "Copper bricks",
|
||||
tiles = {"minerdream_copper_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:tin_brick", {
|
||||
description = "Tin bricks",
|
||||
tiles = {"minerdream_tin_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:iron_brick", {
|
||||
description = "Iron bricks",
|
||||
tiles = {"minerdream_iron_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:gold_brick", {
|
||||
description = "Golden bricks",
|
||||
tiles = {"minerdream_gold_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:potassium_brick", {
|
||||
description = "Potassium bricks",
|
||||
tiles = {"minerdream_potassium_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:calcium_brick", {
|
||||
description = "Calcium bricks",
|
||||
tiles = {"minerdream_calcium_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:nickel_brick", {
|
||||
description = "Nickel bricks",
|
||||
tiles = {"minerdream_nickel_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:silver_brick", {
|
||||
description = "Silver bricks",
|
||||
tiles = {"minerdream_silver_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
-------------gemstones---------------
|
||||
|
||||
minetest.register_node("minerdream:onyx", {
|
||||
description = "".. core.colorize("#00FF00", "Onyx gemstone\n")..core.colorize("#A0A0A0", "tier: 6 (eepic)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "jade.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_onyx_gem.png",
|
||||
tiles = {"minerdream_onyx.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
stack_max= 200,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:spinel", {
|
||||
description = "".. core.colorize("#00FF00", "Spinel gemstone\n")..core.colorize("#A0A0A0", "tier: 6 (epic)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "topaz.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_spinel_gem.png",
|
||||
tiles = {"minerdream_spinel.png"},
|
||||
paramtype = "light",
|
||||
stack_max= 200,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:topaz", {
|
||||
description = "".. core.colorize("#00FF00", "Topaz gemstone\n")..core.colorize("#A0A0A0", "tier: 6 (epic)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "topaz.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_topaz_gem.png",
|
||||
tiles = {"minerdream_topaz.png"},
|
||||
paramtype = "light",
|
||||
stack_max= 200,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:aquamarine", {
|
||||
description = "".. core.colorize("#00FF00", "Aquamarine gemstone\n")..core.colorize("#A0A0A0", "tier: 6 (epic)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "aquamarine.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_aquamarine_gem.png",
|
||||
tiles = {"minerdream_aquamarine.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
stack_max= 200,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:jade", {
|
||||
description = "".. core.colorize("#0040FF", "Jade gemstone\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "jade.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_jade_gem.png",
|
||||
tiles = {"minerdream_jade.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
stack_max= 200,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:amethyst", {
|
||||
description = "".. core.colorize("#0040FF", "Amethyst gemstone\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "amethyst.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_amethyst_gem.png",
|
||||
tiles = {"minerdream_amethyst.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
stack_max= 200,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:garnet", {
|
||||
description = "".. core.colorize("#0040FF", "Garnet gemstone\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "garnet.obj",
|
||||
walkable = "true",
|
||||
inventory_image = "minerdream_garnet_gem.png",
|
||||
tiles = {"minerdream_garnet.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
stack_max= 200,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-------------bars---------------------
|
||||
|
||||
if not minetest.get_modpath("aluminium") then
|
||||
minetest.register_node("minerdream:aluminum_bar_block", {
|
||||
description = "Aluminum bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_aluminum_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("minerdream:brass_bar_block", {
|
||||
description = "Brass bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_brass_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("minerdream:copper_bar_block", {
|
||||
description = "Copper bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_copper_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:tin_bar_block", {
|
||||
description = "Tin bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_tin_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:steel_bar_block", {
|
||||
description = "Steel bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_steel_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:bronze_bar_block", {
|
||||
description = "Bronze bar stack",
|
||||
drawtype = "mesh",
|
||||
mesh = "bars.obj",
|
||||
tiles = {"minerdream_bronze_bar_block.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3,dig_immediate=3},
|
||||
})
|
||||
|
54
config.lua
|
@ -1,54 +0,0 @@
|
|||
|
||||
minerdream.max_stack = 999
|
||||
|
||||
local has_value = minerdream.has_value
|
||||
local tier_cols={
|
||||
col_num={"tier"},
|
||||
}
|
||||
local temp_tier_definition = minerdream.import_csv(minerdream.path.."/tiers.txt",tier_cols)
|
||||
local tier_definition={}
|
||||
for _,line in pairs(temp_tier_definition) do
|
||||
-- print(dump(line))
|
||||
tier_definition[tonumber(line.name)]=line
|
||||
end
|
||||
|
||||
local ores_cols={
|
||||
col_num={"clust_num_ores","clust_size","ymin","ymax","clust_scarcity",
|
||||
"cooktime","tier","heal","use","jump","speed","gravity",
|
||||
"helmet_fleshy","chestplate_fleshy","leggings_fleshy","boots_fleshy","shield_fleshy","tool_range",
|
||||
"full_punch_intervall","wield_scale","pick_cracky_times","tool_uses","tool_maxlevel",
|
||||
"pick_crumbly_times","tool_fleshy","axe_choppy_times","axe_fleshy","sword_snappy",
|
||||
"sword_fleshy","shovel_crumbly_times","shovel_fleshy"},
|
||||
groups_num={"crack","dust","block","desert","pick","axe","sword","shovel"}
|
||||
}
|
||||
local ores_definition = minerdream.import_csv(minerdream.path.."/config.txt",ores_cols)
|
||||
|
||||
|
||||
for _,line in pairs(ores_definition) do
|
||||
local modname=minetest.get_current_modname()
|
||||
line.modname=minetest.get_current_modname()
|
||||
if line.override then
|
||||
line.modname = ":"..line.override
|
||||
end
|
||||
if line.check_mods then
|
||||
if not minetest.get_modpath(line.check_mods) then
|
||||
if line.lump then
|
||||
minerdream.register_item(line,tier_definition,"lump")
|
||||
end
|
||||
if line.bar then
|
||||
minerdream.register_item(line,tier_definition,"bar")
|
||||
end
|
||||
minerdream.ore_register(line.name,line.crack,line.dust,line.block)
|
||||
else
|
||||
modname=line.check_mods
|
||||
line.modname=line.check_mods
|
||||
end
|
||||
end
|
||||
minerdream.register_barblock(line.name)
|
||||
if minetest.global_exists("armor") and armor.elements then
|
||||
if line.heal then
|
||||
minerdream.register_armor(line,tier_definition)
|
||||
end
|
||||
end
|
||||
minerdream.register_tool(line,tier_definition)
|
||||
end
|
32
config.txt
|
@ -1,32 +0,0 @@
|
|||
name,lump,bar,barblock,pick,axe,sword,shovel,crack,dust,block,desert,check_mods,override,clust_num_ores,clust_size,ymin,ymax,clust_scarcity,cooktime,tier,heal,use,jump,speed,gravity,helmet_fleshy,chestplate_fleshy,leggings_fleshy,boots_fleshy,shield_fleshy,tool_range,full_punch_intervall,wield_scale,pick_cracky_times,tool_uses,tool_maxlevel,pick_crumbly_times,tool_fleshy,axe_choppy_times,axe_fleshy,sword_snappy,sword_fleshy,sword_full_punch_interval,shovel_crumbly_times,shovel_fleshy
|
||||
rhodium,1,1,1,6,3,3,,5,1,1,,,,3,3,-31000,-1500,16 * 16 * 16,64,6,8.35,60,0.09,0.12,-0.08,15,20,20,15,15,5,0.8,1.55,1.25,105,3,0.6,12,1.2,12,1.25,14,0.6,,
|
||||
calcium,1,1,,,,,,5,1,1,,,,5,2,-31000,420,12 * 12 * 12,2,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
tantalum,1,1,1,6,3,3,,5,1,1,,,,3,3,-31000,-1500,16 * 16 * 16,64,6,8.2,60,0.1,0.16,-0.09,14.5,19.5,19.5,14.5,14.5,5,0.8,1.55,1.25,105,3,0.6,12,1.2,12,1.25,14,0.6,,
|
||||
ruthenium,1,1,1,6,3,3,3,4,1,1,,,,3,3,-31000,-500,15 * 15 * 15,32,5,8,80,0.08,0.08,-0.08,13.75,18.75,18.75,13.75,13.75,4.65,0.8,1.4,1.5,80,3,,10,1.5,11,1.5,11,0.65,0.8,9
|
||||
cobalt,1,1,1,6,3,3,3,4,1,1,,,,3,3,-31000,-300,14 * 14 * 14,32,5,8.25,80,0.09,0.09,-0.09,13.5,18.5,18.5,13.5,13.5,4.65,0.7,1.4,1.5,80,3,,9,1.5,10,1.5,10,0.55,0.8,8
|
||||
platinum,1,1,1,6,3,3,3,1,1,1,,,,4,3,-31000,-300,14 * 14 * 14,16,4,7.75,100,0.03,0.03,-0.03,13.5,18.5,18.5,13.5,13.5,4.5,0.8,1.3,1.7,60,3,,8,1.7,8,1.5,9,0.65,0.8,7
|
||||
aluminum,,,,6,3,3,3,1,1,1,,aluminium,,4,3,-31000,-250,14 * 14 * 14,32,4,7.5,100,0.06,0.06,-0.06,13,18,18,13,13,4.5,0.65,1.3,1.85,60,3,,7,1.85,7,1.65,8,0.5,0.95,5
|
||||
stainlesssteel,,1,,3,3,3,3,,,,,,,,,,,,,2,6,175,0.01,,0.01,10,15,15,10,10,4.25,0.95,1.1,3.6,100,2,,4.75,3.6,4.75,2.35,6.25,0.75,1.35,3.25
|
||||
zinc,1,1,1,,,,,1,1,1,,,,7,3,-31000,-50,14 * 14 * 14,4,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
potassium,1,1,,,,,,3,1,1,,,,7,3,-31000,420,13 * 13 * 13,2,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
nickel,1,1,1,3,3,3,3,2,1,1,,,,7,3,-31000,-40,13 * 13 * 13,4,2,5,350,,-0.01,0.01,11,16,16,11,11,4.25,0.9,1.1,3.4,45,2,,5.25,2.2,6.75,2.2,6.75,0.7,1.3,3.75
|
||||
coal,1,1,,,,,,3,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
sulfur,1,1,,,,,,3,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
lapislazuli,1,1,,,,,,3,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
saltpeter,1,1,,,,,,3,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
silver,1,1,1,3,3,3,3,3,,,,,moreores,3,2,-31000,-64,14 * 14 * 14,8,3,7.5,300,0.02,0.02,-0.02,11,16,16,11,11,4.3,0.9,1.15,2.4,45,3,,5.5,2.4,6,2.2,7,7.25,1.4,4
|
||||
lead,1,1,1,3,3,3,3,2,,,,,technic,7,3,-31000,-70,13 * 13 * 13,4,3,0,600,,-0.01,0.04,11,16,16,11,11,4.3,1.6,1.15,2.4,5,3,,9,2.4,9,2,10,1.5,1.2,7
|
||||
spinel,,,,,,,,5,,,,,,1,1,-31000,-1700,15 * 15 * 15,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
garnet,,,,,,,,4,,,,,,1,1,-31000,-650,15 * 15 * 15,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
bituminous_coal,,1,,,,,,4,,,,,,10,3,-31000,-500,13 * 13 * 13,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
topaz,,,,,,,,4,,,,,,1,1,-31000,-1700,15 * 15 * 15,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
jade,,,,,,,,4,,,,,,1,1,-31000,-650,15 * 15 * 15,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
aquamarine,,,,,,,,4,,,,,,1,1,-31000,-1700,16 * 16 * 16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
amethyst,,,,,,,,4,,,,,,1,1,-31000,-650,15 * 15 * 15,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
onyx,,,,,,,,4,,,,,,1,1,-31000,-1700,16 * 16 * 16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
defender,,,,,,,,,,,,,,,,,,,,5,8,80,0.08,0.08,-0.08,14.25,19.25,19.25,14.25,14.25,,,,,,,,,,,,,,,
|
||||
scout,,,,,,,,,,,,,,,,,,,,5,8.75,80,0.1,0.13,-0.1,13.5,18.5,18.5,13.5,13.5,,,,,,,,,,,,,,,
|
||||
shadow,,,,,,,,,,,,,,,,,,,,6,9,50,0.1,0.25,-0.1,14.5,19.5,19.5,14.5,14.5,,,,,,,,,,,,,,,
|
||||
knight,,,,,,,,,,,,,,,,,,,,6,8.5,60,0.1,0.13,-0.09,15.25,20.25,20.25,15.25,15.25,,,,,,,,,,,,,,,
|
||||
gold,,,,3,3,3,3,,,,,,,,,,,,,3,,,,,,,,,,,4.3,1.1,1.15,2.4,5,3,,5.5,2.2,6,2,7,0.975,1.2,4
|
||||
flint,,,,3,3,,3,,,,,,,,,,,,,2,,,,,,,,,,,4.15,1.1,1,4.15,20,2,,4,2.65,5,,,,2.65,5
|
3361
crafting.lua
|
@ -1,8 +0,0 @@
|
|||
default
|
||||
3d_armor
|
||||
shields
|
||||
mana
|
||||
mobs
|
||||
awards?
|
||||
hbhunger?
|
||||
hunger?
|
|
@ -1,60 +0,0 @@
|
|||
|
||||
minerdream.has_value = function(tab, val)
|
||||
-- test if val is in tab
|
||||
for index, value in ipairs(tab) do
|
||||
if value == val then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local has_value=minerdream.has_value
|
||||
|
||||
-- read table "infile" where in "def" is defined, which cols are numbers and which belongs to a group
|
||||
minerdream.import_csv = function(infile,def)
|
||||
local file = io.open(infile, "r")
|
||||
local outdata = {}
|
||||
-- reading header with column names
|
||||
local splitchar=","
|
||||
if def.seperator then
|
||||
splitchar=def.seperator
|
||||
end
|
||||
local header = file:read():gsub("\r",""):split(splitchar,true)
|
||||
-- read each line, split in separat fields and stores in array
|
||||
-- by header the value is stored as numeric, in the group environment or as text
|
||||
for line in file:lines() do
|
||||
local attribs = line:gsub("\r",""):split(splitchar,true)
|
||||
local nrow={groups={}}
|
||||
for i,d in ipairs(attribs) do
|
||||
|
||||
if d ~= "" then
|
||||
local th=header[i]
|
||||
local dsaved = false
|
||||
if def.col_num then
|
||||
if has_value(def.col_num,th) then
|
||||
nrow[th] = tonumber(d)
|
||||
dsaved = true
|
||||
end
|
||||
end
|
||||
if def.groups_num then
|
||||
if has_value(def.groups_num,th) then
|
||||
nrow.groups[th]=tonumber(d)
|
||||
dsaved = true
|
||||
end
|
||||
end
|
||||
if not dsaved then
|
||||
nrow[th]=d
|
||||
end
|
||||
end
|
||||
end
|
||||
if nrow.name then
|
||||
outdata[nrow.name] = nrow
|
||||
else
|
||||
outdata[#outdata+1] = nrow
|
||||
end
|
||||
end
|
||||
file:close()
|
||||
|
||||
return outdata
|
||||
end
|
214
generation.lua
|
@ -1,214 +0,0 @@
|
|||
----rocks n stuff--------
|
||||
local function mg_reg_ore(iore,ymin,ymax,clust)
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = iore,
|
||||
wherein = {"default:stone"},
|
||||
clust_scarcity = 25 * 25 * 25,
|
||||
clust_size = clust,
|
||||
y_min = ymin,
|
||||
y_max = ymax,
|
||||
noise_threshold = 0.0,
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = 766,
|
||||
octaves = 1,
|
||||
persist = 0.0
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
mg_reg_ore("minerdream:marble_white",-5000,-50,5)
|
||||
mg_reg_ore("minerdream:marble_pink",-5000,-125,5)
|
||||
mg_reg_ore("minerdream:marble_red",-5000,-200,5)
|
||||
mg_reg_ore("minerdream:marble_red",-5000,-300,5)
|
||||
mg_reg_ore("minerdream:marble_blue",-5000,-425,5)
|
||||
mg_reg_ore("minerdream:marble_black",-5000,-600,5)
|
||||
|
||||
---treasure---
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure1",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 8 * 8 * 8,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -200,
|
||||
y_max = 50,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure1",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 8 * 8 * 8,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -200,
|
||||
y_max = 50,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure2",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -400,
|
||||
y_max = -100,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure2",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -400,
|
||||
y_max = -100,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure3",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 12 * 12 * 12,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -750,
|
||||
y_max = -250,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure4",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 14 * 14 * 14,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -2000,
|
||||
y_max = -500,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:treasure5",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -2500,
|
||||
y_max = -1500,
|
||||
})
|
||||
|
||||
|
||||
---ores---
|
||||
local function mg_reg_ore_scat(iore,numores,clust,ymin,ymax,scarcity)
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = iore,
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = scarcity,
|
||||
clust_num_ores = numores,
|
||||
clust_size = clust,
|
||||
y_min = ymin,
|
||||
y_max = ymax,
|
||||
})
|
||||
end
|
||||
|
||||
mg_reg_ore_scat("minerdream:stone_with_calcium",5,2,-31000,420,12 * 12 * 12)
|
||||
mg_reg_ore_scat("minerdream:stone_with_potassium",7,3,-31000,420,13 * 13 * 13)
|
||||
mg_reg_ore_scat("minerdream:stone_with_nickel",7,3,-31000,-40,13 * 13 * 13)
|
||||
mg_reg_ore_scat("minerdream:stone_with_zinc",7,3,-31000,-50,14 * 14 * 14)
|
||||
mg_reg_ore_scat("minerdream:stone_with_silver",3,2,-31000,-64,14 * 14 * 14)
|
||||
mg_reg_ore_scat("minerdream:stone_with_lead",7,3,-31000,-70,13 * 13 * 13)
|
||||
if not minetest.get_modpath("aluminium") then
|
||||
mg_reg_ore_scat("minerdream:stone_with_aluminium",4,3,-31000,-250,14 * 14 * 14)
|
||||
end
|
||||
mg_reg_ore_scat("minerdream:stone_with_platinum",4,3,-31000,-300,14 * 14 * 14)
|
||||
mg_reg_ore_scat("minerdream:stone_with_cobalt",3,3,-31000,-500,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_ruthenium",3,3,-31000,-500,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_amethyst",1,1,-31000,-650,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_jade",1,1,-31000,-650,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_garnet",1,1,-31000,-650,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_bituminous_coal",10,3,-31000,-500,13 * 13 * 13)
|
||||
mg_reg_ore_scat("minerdream:stone_with_topaz",1,1,-31000,-1700,15 * 15 * 15)
|
||||
mg_reg_ore_scat("minerdream:stone_with_spinel",1,1,-31000,-1700,16 * 16 * 16)
|
||||
mg_reg_ore_scat("minerdream:stone_with_aquamarine",1,1,-31000,-1700,16 * 16 * 16)
|
||||
mg_reg_ore_scat("minerdream:stone_with_onyx",1,1,-31000,-1700,16 * 16 * 16)
|
||||
mg_reg_ore_scat("minerdream:stone_with_tantalum",3,3,-31000,-1500,16 * 16 * 16)
|
||||
mg_reg_ore_scat("minerdream:stone_with_rhodium",3,3,-31000,-1500,16 * 16 * 16)
|
||||
-------desert ores--------
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_richiron",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_lapislazuli",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_coal",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 12 * 12 * 12,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_sulfur",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_saltpeter",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_poorgold",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
|
18
init.lua
|
@ -1,18 +0,0 @@
|
|||
minerdream = {}
|
||||
minerdream.path = minetest.get_modpath("minerdream")
|
||||
|
||||
dofile(minerdream.path .. "/functions.lua")
|
||||
dofile(minerdream.path .. "/api.lua")
|
||||
dofile(minerdream.path .. "/config.lua")
|
||||
dofile(minerdream.path .. "/items.lua")
|
||||
--dofile(minerdream.path .. "/tools.lua")
|
||||
dofile(minerdream.path .. "/overrides.lua")
|
||||
dofile(minerdream.path .. "/blocks.lua")
|
||||
dofile(minerdream.path .. "/generation.lua")
|
||||
dofile(minerdream.path .. "/crafting.lua")
|
||||
dofile(minerdream.path .. "/weapons.lua")
|
||||
dofile(minerdream.path .. "/armor.lua")
|
||||
dofile(minerdream.path .. "/treasure.lua")
|
||||
dofile(minerdream.path .. "/experiments.lua")
|
||||
--dofile(minerdream.path .. "/mobs.lua")
|
||||
dofile(minerdream.path .. "/awards.lua")
|
121
items.lua
|
@ -1,121 +0,0 @@
|
|||
---------mob drops----------------
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_green', {
|
||||
description = "Green ball of slime",
|
||||
inventory_image = "minerdream_slimeball_green.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_blue', {
|
||||
description = "Blue ball of slime",
|
||||
inventory_image = "minerdream_slimeball_blue.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_red', {
|
||||
description = "Red ball of slime",
|
||||
inventory_image = "minerdream_slimeball_red.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_yellow', {
|
||||
description = "Yellow ball of slime",
|
||||
inventory_image = "minerdream_slimeball_yellow.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_purple', {
|
||||
description = "Purple ball of slime",
|
||||
inventory_image = "minerdream_slimeball_purple.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:slimeball_brown', {
|
||||
description = "Brown ball of slime",
|
||||
inventory_image = "minerdream_slimeball_brown.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
---------------------materials---------------
|
||||
|
||||
minetest.register_craftitem('minerdream:expensivestick', {
|
||||
description = "Expensive stick",
|
||||
inventory_image = "minerdream_expensivestick.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:steelstick', {
|
||||
description = "Stainless steel stick",
|
||||
inventory_image = "minerdream_steelstick.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:sulfur_powder', {
|
||||
description = "Sulfur powder",
|
||||
inventory_image = "minerdream_sulfur_powder.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:saltpeter_powder', {
|
||||
description = "Saltpeter powder",
|
||||
inventory_image = "minerdream_saltpeter_powder.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
-----------------ores----------------
|
||||
minetest.register_craftitem('minerdream:brass_nugget', {
|
||||
description = "".. core.colorize("#FFFFFF", "brass nugget\n")..core.colorize("#A0A0A0", "4 of those, can be combined into a bar"),
|
||||
inventory_image = "minerdream_brass_nugget.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:gold_nugget', {
|
||||
description = "".. core.colorize("#FFFFFF", "Raw gold nugget\n")..core.colorize("#A0A0A0", "4 of those, can be combined into a lump"),
|
||||
inventory_image = "minerdream_gold_nugget.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
---------------refined goods-----------------
|
||||
|
||||
|
||||
minetest.register_craftitem('minerdream:brass_bar', {
|
||||
description = "".. core.colorize("#BFFFFF", "brass bar\n")..core.colorize("#A0A0A0", "tier: 2 (uncommon)"),
|
||||
inventory_image = "minerdream_brass_bar.png",
|
||||
stack_max= 250,
|
||||
})
|
||||
|
||||
------------------consumables----------------
|
||||
|
||||
minetest.register_craftitem("minerdream:vitamin", {
|
||||
description = "".. core.colorize("#FFFFFF", "Vitamin pill\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 3 hp"),
|
||||
wield_scale = {x=0.25,y=0.25,z=0.5},
|
||||
inventory_image = "minerdream_pill.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_tiny", {
|
||||
description = "".. core.colorize("#FFFFFF", "Tiny healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 5 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_tiny.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_lesser", {
|
||||
description = "".. core.colorize("#FFFFFF", "Lesser healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 10 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_lesser.png",
|
||||
on_use = minetest.item_eat(10),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_normal", {
|
||||
description = "".. core.colorize("#FFFFFF", " Healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 15 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_normal.png",
|
||||
on_use = minetest.item_eat(15),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_greater", {
|
||||
description = "".. core.colorize("#FFFFFF", "Greater healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 20 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_greater.png",
|
||||
on_use = minetest.item_eat(20),
|
||||
})
|
|
@ -0,0 +1,149 @@
|
|||
if minetest.get_modpath("awards") then
|
||||
|
||||
awards.register_achievement("minerdream_caveman", {
|
||||
title = ("Caveman"),
|
||||
description = ("You crafted yourself a flint spear, but what if I told you... in 21th century, there's way better weapons than that!"),
|
||||
icon = "minerdream_achievement_caveman.png",
|
||||
trigger = {
|
||||
type = "craft",
|
||||
item = "minerdream:spear_flint",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_armed", {
|
||||
title = ("Armed!"),
|
||||
description = ("Craft a handgun"),
|
||||
icon = "minerdream_achievement_armed.png",
|
||||
trigger = {
|
||||
type = "craft",
|
||||
item = "minerdream:handgun",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_secondminer", {
|
||||
title = ("Second place miner"),
|
||||
description = ("You've found some silver! Head for the gold now."),
|
||||
icon = "minerdream_achievement_secondminer.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "minerdream:stone_with_silver",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
awards.register_achievement("minerdream_neatjunk", {
|
||||
title = ("Neat junk!"),
|
||||
description = ("Break the most common loot box. I wonder what's inside?"),
|
||||
icon = "minerdream_achievement_neatjunk.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "minerdream:treasure1",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall1", {
|
||||
title = ("Mined common metals"),
|
||||
description = ("You mined quite common metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level1.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall1",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall2", {
|
||||
title = ("Mined quite uncommon metals"),
|
||||
description = ("You mined quite uncommon metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level2.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall2",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall3", {
|
||||
title = ("Mined almost rare metals"),
|
||||
description = ("You mined almost rare metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level3.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall3",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall4", {
|
||||
title = ("Mined rare metals"),
|
||||
description = ("You mined rare metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level4.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall4",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall5", {
|
||||
title = ("Mined extra rare metals"),
|
||||
description = ("You mined extra rare metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level5.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall5",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall6", {
|
||||
title = ("Mined epic metals"),
|
||||
description = ("You mined epic metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level6.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall6",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall7", {
|
||||
title = ("Mined royal metals"),
|
||||
description = ("You mined royal metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level7.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall7",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
awards.register_achievement("minerdream_metall8", {
|
||||
title = ("Mined heroic metals"),
|
||||
description = ("You mined heroic metals. Keep going."),
|
||||
icon = "minerdream_achievement_secondminer.png^awards_level8.png",
|
||||
background = "awards_bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "group:metall8",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("minerdream_health", {
|
||||
title = ("Maintaining good health"),
|
||||
description = ("Consume a vitamin pill for the first time"),
|
||||
icon = "minerdream_achievement_health.png",
|
||||
trigger = {
|
||||
type = "eat",
|
||||
item = "minerdream:vitamin",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
local viscosity=1
|
||||
|
||||
minerdream.ingot_stack_max = minetest.settings:get("minerdream.ingot_stack_max") or 250
|
||||
minerdream.lump_stack_max = minetest.settings:get("minerdream.lump_stack_max") or 999
|
||||
minerdream.dust_cooking_time_reduce = minetest.settings:get("minerdream.dust_cooking_time_reduce") or 2
|
||||
|
||||
minerdream.steel_wire="minerdream:steel_wire"
|
||||
if minetest.get_modpath("basic_materials") == nil then
|
||||
dofile(minerdream.path .. "/steel_wire.lua")
|
||||
else
|
||||
minerdream.steel_wire="basic_materials:steel_wire"
|
||||
end
|
|
@ -0,0 +1,3 @@
|
|||
default
|
||||
minerdream
|
||||
awards
|
|
@ -0,0 +1,9 @@
|
|||
md_awards = {}
|
||||
md_awards.path = minetest.get_modpath("md_awards")
|
||||
md_awards.modname = minetest.get_current_modname()
|
||||
|
||||
dofile(md_awards.path .. "/awards.lua")
|
||||
if treasures ~= nil then
|
||||
dofile(md_awards.path .. "/treasures.lua")
|
||||
end
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
License of source code
|
||||
----------------------
|
||||
|
||||
The MIT License (MIT)
|
||||
Copyright 2018 ademant
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/mit-license.php
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
title = Minerdream Awards
|
||||
name = md_awards
|
||||
author = ademant
|
||||
description = Extension of mod minerdream
|
||||
depends = default,minerdream,awards
|
||||
optional_depends = treasures,3d_armor
|
||||
license = MIT
|
||||
version = 1.0.0
|
After Width: | Height: | Size: 113 B |
|
@ -0,0 +1,61 @@
|
|||
if armor ~= nil then
|
||||
treasures.add_drop("treasures:treasure1",{items = {'3d_armor:helmet_steel 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'shields:shield_steel 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'3d_armor:boots_steel 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'3d_armor:chestplate_steel 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'3d_armor:chestplate_diamond 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'shields:shield_diamond 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'3d_armor:chestplate_gold 1'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'shields:shield_gold 1'},rarity = 20,})
|
||||
end
|
||||
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:dagger 1'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:arrow 10'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:shuriken 15'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:potassium_lump 3'},rarity = 10,})
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:calcium_lump 3'},rarity = 10,})
|
||||
treasures.add_drop("treasures:treasure1",{items = {'minerdream:nickel_lump 3'},rarity = 15,})
|
||||
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:shortsword 1'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:club 1'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:grenade 1'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:shuriken 25'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:vitamin 3'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:potion_tiny 1'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure2",{items = {'minerdream:arrow 15'},rarity = 5,})
|
||||
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:mace 1'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:grenade 2'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:throwing_knife 15'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:potion_tiny 2'},rarity = 3,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:platinum_lump 3'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure3",{items = {'minerdream:arrow 20'},rarity = 5,})
|
||||
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:revolver'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:claymore'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:throwing_knife 25'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:grenade 3'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:potion_lesser 1'},rarity = 3,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:bituminous_coal 5'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:cobalt_lump 3'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:ruthenium_lump 3'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:amethyst 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:garnet 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:jade 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:arrow 25'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure4",{items = {'minerdream:bullet 25'},rarity = 7,})
|
||||
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:shotgun'},rarity = 25,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:katana'},rarity = 20,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:throwing_knife 30'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:grenade 4'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:potion_lesser 2'},rarity = 3,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:bituminous_coal 8'},rarity = 10,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:rhodium_lump 3'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:tantalum_lump 3'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:onyx 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:spinel 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:topaz 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:aquamarine 1'},rarity = 15,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:arrow 30'},rarity = 5,})
|
||||
treasures.add_drop("treasures:treasure5",{items = {'minerdream:bullet 30'},rarity = 7,})
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "technic:battery",
|
||||
recipe = {
|
||||
{"group:wood", "minerdream:lithium_dust", "group:wood"},
|
||||
{"basic_materials:steel_strip", "homedecor:oil_extract", "basic_materials:steel_strip"},
|
||||
{"group:wood", "minerdream:cobalt_dust", "group:wood"},
|
||||
}
|
||||
})
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
md_technic.smelter_refractory_duration = tonumber(minetest.settings:get("md_technic.smelter_refractory_duration")) or 5000
|
||||
md_technic.smelter_min_burntime= tonumber(minetest.settings:get("md_technic.smelter_min_burntime")) or 30
|
||||
md_technic.smelter_speedup = tonumber(minetest.settings:get("md_technic.smelter_speedup")) or 1.5
|
|
@ -0,0 +1,292 @@
|
|||
|
||||
-- copied from minetest_default game
|
||||
-- and modified for usage with minerdream
|
||||
|
||||
--
|
||||
-- Node callback functions that are the same for active and inactive furnace
|
||||
--
|
||||
|
||||
local function can_dig(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src")
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", "Furnace is empty")
|
||||
end
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif listname == "src" then
|
||||
return stack:get_count()
|
||||
elseif listname == "dst" then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
return allow_metadata_inventory_put(pos, to_list, to_index, stack, player)
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == name then
|
||||
return
|
||||
end
|
||||
node.name = name
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
||||
local function furnace_node_timer(pos, elapsed)
|
||||
--
|
||||
-- Inizialize metadata
|
||||
--
|
||||
local meta = minetest.get_meta(pos)
|
||||
local fuel_time = meta:get_float("fuel_time") or 0
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
local fuel_totaltime = meta:get_float("fuel_totaltime") or 0
|
||||
|
||||
local inv = meta:get_inventory()
|
||||
local srclist, fuellist
|
||||
|
||||
local cookable, cooked
|
||||
local fuel
|
||||
|
||||
local update = true
|
||||
while elapsed > 0 and update do
|
||||
update = false
|
||||
|
||||
srclist = inv:get_list("src")
|
||||
fuellist = inv:get_list("fuel")
|
||||
|
||||
--
|
||||
-- Cooking
|
||||
--
|
||||
|
||||
-- Check if we have cookable content
|
||||
local aftercooked
|
||||
cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cookable = (cooked.time > 0) and (cooked.time <=32)
|
||||
|
||||
local el = math.min(elapsed, fuel_totaltime - fuel_time)
|
||||
if cookable then -- fuel lasts long enough, adjust el to cooking duration
|
||||
el = math.min(el, cooked.time - src_time)
|
||||
end
|
||||
|
||||
-- Check if we have enough fuel to burn
|
||||
if fuel_time < fuel_totaltime then
|
||||
-- The furnace is currently active and has enough fuel
|
||||
fuel_time = fuel_time + el
|
||||
-- If there is a cookable item then check if it is ready yet
|
||||
if cookable then
|
||||
src_time = src_time + el
|
||||
if src_time >= cooked.time then
|
||||
-- Place result in dst list if possible
|
||||
if inv:room_for_item("dst", cooked.item) then
|
||||
inv:add_item("dst", cooked.item)
|
||||
inv:set_stack("src", 1, aftercooked.items[1])
|
||||
src_time = src_time - cooked.time
|
||||
update = true
|
||||
end
|
||||
else
|
||||
-- Item could not be cooked: probably missing fuel
|
||||
update = true
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Furnace ran out of fuel
|
||||
if cookable then
|
||||
-- We need to get new fuel
|
||||
local afterfuel
|
||||
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
|
||||
if fuel.time == 0 then
|
||||
-- No valid fuel in fuel list
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
else
|
||||
-- Take fuel from fuel list
|
||||
inv:set_stack("fuel", 1, afterfuel.items[1])
|
||||
update = true
|
||||
fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time)
|
||||
end
|
||||
else
|
||||
-- We don't need to get new fuel since there is no cookable item
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
end
|
||||
fuel_time = 0
|
||||
end
|
||||
|
||||
elapsed = elapsed - el
|
||||
end
|
||||
|
||||
if fuel and fuel_totaltime > fuel.time then
|
||||
fuel_totaltime = fuel.time
|
||||
end
|
||||
if srclist[1]:is_empty() then
|
||||
src_time = 0
|
||||
end
|
||||
|
||||
--
|
||||
-- Update formspec, infotext and node
|
||||
--
|
||||
local formspec
|
||||
local item_state
|
||||
local item_percent = 0
|
||||
if cookable then
|
||||
item_percent = math.floor(src_time / cooked.time * 100)
|
||||
if item_percent > 100 then
|
||||
item_state = "100% (output full)"
|
||||
else
|
||||
item_state = item_percent .. "%"
|
||||
end
|
||||
else
|
||||
if srclist[1]:is_empty() then
|
||||
item_state = "Empty"
|
||||
else
|
||||
item_state = "Not cookable"
|
||||
end
|
||||
end
|
||||
|
||||
local fuel_state = "Empty"
|
||||
local active = "inactive"
|
||||
local result = false
|
||||
|
||||
if fuel_totaltime ~= 0 then
|
||||
active = "active"
|
||||
local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100)
|
||||
fuel_state = fuel_percent .. "%"
|
||||
formspec = default.get_furnace_active_formspec(fuel_percent, item_percent)
|
||||
swap_node(pos, "default:furnace_active")
|
||||
-- make sure timer restarts automatically
|
||||
result = true
|
||||
else
|
||||
if not fuellist[1]:is_empty() then
|
||||
fuel_state = "0%"
|
||||
end
|
||||
formspec = default.get_furnace_inactive_formspec()
|
||||
swap_node(pos, "default:furnace")
|
||||
-- stop timer on the inactive furnace
|
||||
minetest.get_node_timer(pos):stop()
|
||||
end
|
||||
|
||||
local infotext = "Furnace " .. active .. "\n(Item: " .. item_state ..
|
||||
"; Fuel: " .. fuel_state .. ")"
|
||||
|
||||
--
|
||||
-- Set meta values
|
||||
--
|
||||
meta:set_float("fuel_totaltime", fuel_totaltime)
|
||||
meta:set_float("fuel_time", fuel_time)
|
||||
meta:set_float("src_time", src_time)
|
||||
meta:set_string("formspec", formspec)
|
||||
meta:set_string("infotext", infotext)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
--
|
||||
-- Node definitions
|
||||
--
|
||||
|
||||
minetest.register_node(":default:furnace", {
|
||||
description = "Furnace",
|
||||
tiles = {
|
||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
||||
"default_furnace_side.png", "default_furnace_side.png",
|
||||
"default_furnace_side.png", "default_furnace_front.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky=2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
on_timer = furnace_node_timer,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", default.get_furnace_inactive_formspec())
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
inv:set_size('fuel', 1)
|
||||
inv:set_size('dst', 4)
|
||||
end,
|
||||
|
||||
on_metadata_inventory_move = function(pos)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "src", drops)
|
||||
default.get_inventory_drops(pos, "fuel", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "default:furnace"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
|
||||
minetest.register_node(":default:furnace_active", {
|
||||
description = "Furnace",
|
||||
tiles = {
|
||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
||||
"default_furnace_side.png", "default_furnace_side.png",
|
||||
"default_furnace_side.png",
|
||||
{
|
||||
image = "default_furnace_front_active.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
light_source = 8,
|
||||
drop = "default:furnace",
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_timer = furnace_node_timer,
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
|
@ -0,0 +1,18 @@
|
|||
md_technic = {}
|
||||
md_technic.path = minetest.get_modpath("md_technic")
|
||||
md_technic.modname = minetest.get_current_modname()
|
||||
|
||||
minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- start loading from "..minetest.get_modpath(minetest.get_current_modname()))
|
||||
-- Load files
|
||||
|
||||
-- import settingtypes.txt
|
||||
basic_functions.import_settingtype(md_technic.path .. "/settingtypes.txt")
|
||||
|
||||
dofile(md_technic.path .. "/config.lua")
|
||||
dofile(md_technic.path .. "/furnace.lua")
|
||||
dofile(md_technic.path .. "/smelter.lua")
|
||||
if technic ~= nil then
|
||||
dofile(md_technic.path .. "/batteries.lua")
|
||||
end
|
||||
|
||||
minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded ")
|
|
@ -0,0 +1,15 @@
|
|||
License of source code
|
||||
----------------------
|
||||
|
||||
The MIT License (MIT)
|
||||
Copyright 2018 ademant
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/mit-license.php
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
title = Minerdream Technics
|
||||
name = md_technic
|
||||
author = ademant
|
||||
description = Extension of mod minerdream with some technic
|
||||
depends = default,minerdream,technic
|
||||
license = MIT
|
||||
version = 1.0.0
|
|
@ -0,0 +1,3 @@
|
|||
md_technic.smelter_refractory_duration (Smelting time the refractory lasts) int 6000 600 50000
|
||||
md_technic.smelter_min_burntime (Min. burntime of fuel for smelter) int 30 10 100
|
||||
md_technic.smelter_speedup (Speedup of smelter) float 1.5
|
|
@ -0,0 +1,380 @@
|
|||
|
||||
minetest.register_craft({
|
||||
output = 'md_technic:smelter',
|
||||
recipe = {
|
||||
{'default:steel_ingot', 'group:stone', 'default:steel_ingot'},
|
||||
{'group:stone', '', 'group:stone'},
|
||||
{'default:steel_ingot', 'group:stone', 'default:steel_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
local M=md_technic
|
||||
--
|
||||
-- Formspecs
|
||||
--
|
||||
|
||||
function M.get_smelter_active_formspec(fuel_percent, item_percent,refractory_percent)
|
||||
return "size[8,8.5]"..
|
||||
"list[context;src;2.75,0.5;1,1;]"..
|
||||
"list[context;refrac;1.75,2.5;1,1;]"..
|
||||
"list[context;fuel;2.75,2.5;1,1;]"..
|
||||
"image[1.75,1.5;1,1;minerdream_refractory_bg.png^[lowpart:"..
|
||||
(100-refractory_percent)..":default_clay_brick.png]"..
|
||||
"image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:"..
|
||||
(100-fuel_percent)..":default_furnace_fire_fg.png]"..
|
||||
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
|
||||
(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"..
|
||||
"list[context;dst;4.75,0.96;2,2;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[context;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;src]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;fuel]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
end
|
||||
|
||||
function M.get_smelter_inactive_formspec(refractory_percent)
|
||||
if refractory_percent == nil then refractory_percent = 0 end
|
||||
return "size[8,8.5]"..
|
||||
"list[context;src;2.75,0.5;1,1;]"..
|
||||
"list[context;refrac;1.75,2.5;1,1;]"..
|
||||
"image[1.75,1.5;1,1;minerdream_refractory_bg.png^[lowpart:"..
|
||||
(100-refractory_percent)..":default_clay_brick.png]"..
|
||||
"list[context;fuel;2.75,2.5;1,1;]"..
|
||||
"image[1.75,1.5;1,1;minerdream_refractory_bg.png]"..
|
||||
"image[2.75,1.5;1,1;default_furnace_fire_bg.png]"..
|
||||
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
|
||||
"list[context;dst;4.75,0.96;2,2;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[context;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;src]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;fuel]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
end
|
||||
|
||||
--
|
||||
-- Node callback functions that are the same for active and inactive furnace
|
||||
--
|
||||
|
||||
local function can_dig(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src") and inv:is_empty("refrac")
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
minetest.log(dump2(stack:get_name()))
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", "Furnace is empty")
|
||||
end
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif listname == "src" then
|
||||
return stack:get_count()
|
||||
elseif listname == "refrac" then
|
||||
if stack:get_name()=="default:clay_brick" then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif listname == "dst" then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
return allow_metadata_inventory_put(pos, to_list, to_index, stack, player)
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == name then
|
||||
return
|
||||
end
|
||||
node.name = name
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
||||
local function smelter_node_timer(pos, elapsed)
|
||||
--
|
||||
-- Inizialize metadata
|
||||
--
|
||||
local meta = minetest.get_meta(pos)
|
||||
local fuel_time = meta:get_float("fuel_time") or 0
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
local fuel_totaltime = meta:get_float("fuel_totaltime") or 0
|
||||
local refrac_time = meta:get_float("refrac_time") or 0
|
||||
|
||||
local inv = meta:get_inventory()
|
||||
local srclist, fuellist, refraclist
|
||||
|
||||
local cookable, cooked
|
||||
local fuel, refrac
|
||||
|
||||
local update = true
|
||||
while elapsed > 0 and update do
|
||||
update = false
|
||||
|
||||
srclist = inv:get_list("src")
|
||||
fuellist = inv:get_list("fuel")
|
||||
refraclist = inv:get_list("refrac")
|
||||
|
||||
--
|
||||
-- Cooking
|
||||
--
|
||||
|
||||
-- Check if we have cookable content
|
||||
local aftercooked
|
||||
cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cookable = cooked.time ~= 0
|
||||
local cookedtime=cooked.time / M.smelter_speedup
|
||||
|
||||
local el = math.min(elapsed, fuel_totaltime - fuel_time)
|
||||
if cookable then -- fuel lasts long enough, adjust el to cooking duration
|
||||
el = math.min(el, cooked.time - src_time)
|
||||
end
|
||||
|
||||
-- check for refractory
|
||||
if cookable then
|
||||
-- cooking time > durability time of refractory?
|
||||
if cookedtime > refrac_time then
|
||||
-- is refrac slot filled or empty?
|
||||
if not inv:is_empty("refrac") and (refraclist[1]:get_name() == "default:clay_brick") then
|
||||
inv:remove_item("refrac",ItemStack("default:clay_brick"))
|
||||
refrac_time=refrac_time + M.smelter_refractory_duration
|
||||
else
|
||||
cookable = false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Check if we have enough fuel to burn
|
||||
if fuel_time < fuel_totaltime then
|
||||
-- The furnace is currently active and has enough fuel
|
||||
fuel_time = fuel_time + el
|
||||
-- If there is a cookable item then check if it is ready yet
|
||||
if cookable then
|
||||
src_time = src_time + el
|
||||
if src_time >= cookedtime then
|
||||
-- Place result in dst list if possible
|
||||
if inv:room_for_item("dst", cooked.item) then
|
||||
inv:add_item("dst", cooked.item)
|
||||
inv:set_stack("src", 1, aftercooked.items[1])
|
||||
src_time = src_time - cookedtime
|
||||
refrac_time=refrac_time- cookedtime
|
||||
update = true
|
||||
end
|
||||
else
|
||||
-- Item could not be cooked: probably missing fuel
|
||||
update = true
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Furnace ran out of fuel
|
||||
if cookable then
|
||||
-- We need to get new fuel
|
||||
local afterfuel
|
||||
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
|
||||
if fuel.time <= M.smelter_min_burntime then
|
||||
-- No valid fuel in fuel list
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
else
|
||||
-- Take fuel from fuel list
|
||||
inv:set_stack("fuel", 1, afterfuel.items[1])
|
||||
update = true
|
||||
fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time)
|
||||
end
|
||||
else
|
||||
-- We don't need to get new fuel since there is no cookable item
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
end
|
||||
fuel_time = 0
|
||||
end
|
||||
|
||||
elapsed = elapsed - el
|
||||
end
|
||||
|
||||
if fuel and fuel_totaltime > fuel.time then
|
||||
fuel_totaltime = fuel.time
|
||||
end
|
||||
if srclist[1]:is_empty() then
|
||||
src_time = 0
|
||||
end
|
||||
|
||||
--
|
||||
-- Update formspec, infotext and node
|
||||
--
|
||||
local formspec
|
||||
local item_state
|
||||
local item_percent = 0
|
||||
local refrac_percent = math.min(100, math.floor (refrac_time / M.smelter_refractory_duration * 100)) or 0
|
||||
local refrac_state = refrac_percent.."%"
|
||||
if cookable then
|
||||
item_percent = math.floor(src_time / cooked.time * 100)
|
||||
if item_percent > 100 then
|
||||
item_state = "100% (output full)"
|
||||
else
|
||||
item_state = item_percent .. "%"
|
||||
end
|
||||
else
|
||||
if srclist[1]:is_empty() then
|
||||
item_state = "Empty"
|
||||
else
|
||||
item_state = "Not cookable"
|
||||
end
|
||||
end
|
||||
|
||||
local fuel_state = "Empty"
|
||||
local active = "inactive"
|
||||
local result = false
|
||||
|
||||
if fuel_totaltime ~= 0 then
|
||||
active = "active"
|
||||
local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100)
|
||||
fuel_state = fuel_percent .. "%"
|
||||
formspec = M.get_smelter_active_formspec(fuel_percent, item_percent, refrac_percent)
|
||||
swap_node(pos, "md_technic:smelter_active")
|
||||
-- make sure timer restarts automatically
|
||||
result = true
|
||||
else
|
||||
if not fuellist[1]:is_empty() then
|
||||
fuel_state = "0%"
|
||||
end
|
||||
formspec = M.get_smelter_inactive_formspec(refrac_percent)
|
||||
swap_node(pos, "md_technic:smelter")
|
||||
-- stop timer on the inactive furnace
|
||||
minetest.get_node_timer(pos):stop()
|
||||
end
|
||||
|
||||
local infotext = "Furnace " .. active .. "\n(Item: " .. item_state ..
|
||||
"; Fuel: " .. fuel_state .. ")\n(Refractory: ".. refrac_state .. ")"
|
||||
|
||||
--
|
||||
-- Set meta values
|
||||
--
|
||||
meta:set_float("fuel_totaltime", fuel_totaltime)
|
||||
meta:set_float("fuel_time", fuel_time)
|
||||
meta:set_float("src_time", src_time)
|
||||
meta:set_float("refrac_time", refrac_time)
|
||||
meta:set_string("formspec", formspec)
|
||||
meta:set_string("infotext", infotext)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
--
|
||||
-- Node definitions
|
||||
--
|
||||
|
||||
minetest.register_node("md_technic:smelter", {
|
||||
description = "Smelter",
|
||||
tiles = {
|
||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
||||
"default_furnace_side.png", "default_furnace_side.png",
|
||||
"default_furnace_side.png", "default_furnace_front.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky=2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
on_timer = smelter_node_timer,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", M.get_smelter_inactive_formspec(0))
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
inv:set_size('fuel', 1)
|
||||
inv:set_size('refrac', 1)
|
||||
inv:set_size('dst', 4)
|
||||
end,
|
||||
|
||||
on_metadata_inventory_move = function(pos)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "src", drops)
|
||||
default.get_inventory_drops(pos, "refrac", drops)
|
||||
default.get_inventory_drops(pos, "fuel", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "md_technic:smelter"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
|
||||
minetest.register_node("md_technic:smelter_active", {
|
||||
description = "Smelter",
|
||||
tiles = {
|
||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
||||
"default_furnace_side.png", "default_furnace_side.png",
|
||||
"default_furnace_side.png",
|
||||
{
|
||||
image = "default_furnace_front_active.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
}
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
light_source = 8,
|
||||
drop = "md_technic:smelter",
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_timer = smelter_node_timer,
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
|
@ -0,0 +1,9 @@
|
|||
# Minerdream_mod
|
||||
[davieddoesminetest] A mod, that makes minig way more fun, and is a replacement for Xtraores, which I abandoned.
|
||||
|
||||
[ademant]
|
||||
In the first step my work was mostly invisible to provide a kind of api to configure the new cool ores by a simple text file and to make the coexistence with other mods a little bit more smooth.
|
||||
|
||||
Beside the ores the default furnace is modified to cook only items with a cooking time less (say) 30 seconds.
|
||||
Ores with a higher cooking time are smelted in a new smelter, which use clay bricks refractories to achieve higher temperatures.
|
||||
This clay bricks wear out and have to renewed.
|
|
@ -0,0 +1,36 @@
|
|||
if minetest.global_exists("armor") and armor.elements then
|
||||
table.insert(armor.elements, "accessory")
|
||||
local mult = armor.config.level_multiplier or 1
|
||||
armor.config.level_multiplier = mult * 1.1
|
||||
end
|
||||
---------------------accessoaries--------------------
|
||||
|
||||
armor:register_armor("minerdream:accessory_speedring", {
|
||||
description = "".. core.colorize("#0040FF", "Ring of speed\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)\n")..core.colorize("#A0A0A0", "walking speed + 50%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_speedring.png",
|
||||
groups = {armor_accessory=1, armor_heal=0.0, armor_use=0,
|
||||
physics_jump=0.0, physics_speed=0.5, physics_gravity=-0.00},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
||||
|
||||
armor:register_armor("minerdream:accessory_protectionring", {
|
||||
description = "".. core.colorize("#0040FF", "Ring of protection\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)\n")..core.colorize("#A0A0A0", "heal + 7.5%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_protectionring.png",
|
||||
groups = {armor_accessory=1, armor_heal=7.5, armor_use=0,
|
||||
physics_jump=0.0, physics_speed=0.0, physics_gravity=-0.00},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
||||
|
||||
|
||||
---------------------special grindable-------------
|
||||
|
||||
armor:register_armor("minerdream:accessory_slimering", {
|
||||
description = "".. core.colorize("#40FF80", "Slimy ring\n")..core.colorize("#A0A0A0", "tier: 4 (rare)\n")..core.colorize("#A0A0A0", "jump force + 25%\n")..core.colorize("#A0A0A0", "gravity - 5%\n")..core.colorize("#A0A0A0", "type: accessory "),
|
||||
inventory_image = "minerdream_inv_accessory_slimering.png",
|
||||
groups = {armor_accessory=1, armor_heal=0.0, armor_use=0,
|
||||
physics_jump=0.25, physics_speed=0.5, physics_gravity=-0.05},
|
||||
armor_groups = {fleshy=0.0},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
})
|
|
@ -0,0 +1,19 @@
|
|||
name,tier,helmet_heal,helmet_use,helmet_jump,helmet_speed,helmet_gravity,helmet_fleshy,helmet_cracky,helmet_snappy,helmet_choppy,helmet_crumbly,helmet_level,chestplate_heal,chestplate_use,chestplate_jump,chestplate_speed,chestplate_gravity,chestplate_fleshy,chestplate_cracky,chestplate_snappy,chestplate_choppy,chestplate_crumbly,chestplate_level,leggings_heal,leggings_use,leggings_jump,leggings_speed,leggings_gravity,leggings_fleshy,leggings_cracky,leggings_snappy,leggings_choppy,leggings_crumbly,leggings_level,boots_heal,boots_use,boots_jump,boots_speed,boots_gravity,boots_fleshy,boots_cracky,boots_snappy,boots_choppy,boots_crumbly,boots_level,shields_heal,shields_use,shields_jump,shields_speed,shields_gravity,shields_fleshy,shields_cracky,shields_snappy,shields_choppy,shields_crumbly,shields_level
|
||||
orichalcum,8,9,150,0.1,0.13,-0.1,17,2,3,2,1,2,9,150,0.1,0.13,-0.1,17,2,3,2,1,2,9,150,0.1,0.13,-0.1,17,2,3,2,1,2,9,150,0.1,0.13,-0.1,17,2,3,2,1,2,9,150,0.1,0.13,-0.1,17,2,3,2,1,2
|
||||
rarium,7,8.55,100,0.09,0.1,-0.07,15,2,3,2,1,2,8.55,100,0.09,0.1,-0.07,15,2,3,2,1,2,8.55,100,0.09,0.1,-0.07,15,2,3,2,1,2,8.55,100,0.09,0.1,-0.07,15,2,3,2,1,2,8.55,100,0.09,0.1,-0.07,15,2,3,2,1,2
|
||||
osmium,7,8.5,60,0.09,0.13,-0.09,15,2,3,2,1,2,8.5,60,0.09,0.13,-0.09,15,2,3,2,1,2,8.5,60,0.09,0.13,-0.09,15,2,3,2,1,2,8.5,60,0.09,0.13,-0.09,15,2,3,2,1,2,8.5,60,0.09,0.13,-0.09,15,2,3,2,1,2
|
||||
palladium,6,8.35,80,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,80,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,80,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,80,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,80,0.09,0.12,-0.08,15,2,3,2,1,2
|
||||
rhodium,6,8.35,60,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,60,0.09,0.12,-0.08,20,2,3,2,1,2,8.35,60,0.09,0.12,-0.08,20,2,3,2,1,2,8.35,60,0.09,0.12,-0.08,15,2,3,2,1,2,8.35,60,0.09,0.12,-0.08,15,2,3,2,1,2
|
||||
tantalum,6,8.2,60,0.1,0.16,-0.09,14.5,2,3,2,1,2,8.2,60,0.1,0.16,-0.09,19.5,2,3,2,1,2,8.2,60,0.1,0.16,-0.09,19.5,2,3,2,1,2,8.2,60,0.1,0.16,-0.09,14.5,2,3,2,1,2,8.2,60,0.1,0.16,-0.09,14.5,2,3,2,1,2
|
||||
ruthenium,5,8,80,0.08,0.08,-0.08,13.75,2,3,2,1,2,8,80,0.08,0.08,-0.08,18.75,2,3,2,1,2,8,80,0.08,0.08,-0.08,18.75,2,3,2,1,2,8,80,0.075,0.075,-0.075,13.75,2,3,2,1,2,8,80,0.08,0.08,-0.08,13.75,2,3,2,1,2
|
||||
cobalt,5,8.25,80,0.09,0.09,-0.09,13.5,2,3,2,1,2,8.25,80,0.09,0.09,-0.09,18.5,2,3,2,1,2,8.25,80,0.09,0.09,-0.09,18.5,2,3,2,1,2,8.25,80,0.09,0.09,-0.09,13.5,2,3,2,1,2,8.25,80,0.09,0.09,-0.09,13.5,2,3,2,1,2
|
||||
platinum,4,7.75,100,0.03,0.03,-0.03,13.5,2,3,2,1,2,7.75,100,0.03,0.03,-0.03,18.5,2,3,2,1,2,7.75,100,0.03,0.03,-0.03,18.5,2,3,2,1,2,7.75,100,0.03,0.03,-0.03,13.5,2,3,2,1,2,7.75,100,0.03,0.03,-0.03,13.5,2,3,2,1,2
|
||||
aluminum,4,7.5,100,0.06,0.06,-0.06,13,2,3,2,1,2,7.5,100,0.06,0.06,-0.06,18,2,3,2,1,2,7.5,100,0.06,0.06,-0.06,18,2,3,2,1,2,7.5,100,0.06,0.06,-0.06,13,2,3,2,1,2,7.5,100,0.06,0.06,-0.06,13,2,3,2,1,2
|
||||
stainlesssteel,2,6,175,,0.01,0.01,10,2,3,2,1,2,6,175,,-0.04,0.04,15,2,3,2,1,2,6,175,,-0.03,0.03,15,2,3,2,1,2,6,175,,-0.01,0.01,10,2,3,2,1,2,6,175,,-0.03,0.03,10,2,3,2,1,2
|
||||
lead,3,0,600,,-0.01,0.04,11,2,3,2,1,2,0,600,,-0.06,0.04,16,2,3,2,1,2,0,600,,-0.06,0.04,16,2,3,2,1,2,0,600,,-0.06,0.04,11,2,3,2,1,2,0,600,,-0.06,0.04,11,2,3,2,1,2
|
||||
nickel,2,5,350,,0.01,0.01,11,2,3,2,1,2,5,350,,-0.04,0.04,16,2,3,2,1,2,5,350,,-0.03,0.03,16,2,3,2,1,2,5,350,,-0.01,0.01,11,2,3,2,1,2,5,350,,-0.03,0.03,11,2,3,2,1,2
|
||||
silver,3,7.5,300,0.02,0.02,-0.02,11,2,3,2,1,2,7.5,300,0.02,0.02,-0.02,16,2,3,2,1,2,7.5,300,0.02,0.02,-0.02,16,2,3,2,1,2,7.5,300,0.02,0.02,-0.02,11,2,3,2,1,2,7.5,300,0.02,0.02,-0.02,11,2,3,2,1,2
|
||||
defender,5,8,80,0.08,0.08,-0.08,14.25,2,3,2,1,2,8,80,0.08,0.08,-0.08,19.25,2,3,2,1,2,8,80,0.08,0.08,-0.08,19.25,2,3,2,1,2,8,80,0.075,0.075,-0.075,14.25,2,3,2,1,2,8,80,0.08,0.08,-0.08,14.25,2,3,2,1,2
|
||||
scout,5,8.75,80,0.1,0.13,-0.1,13.5,2,3,2,1,2,8.75,80,0.1,0.13,-0.1,18.5,2,3,2,1,2,8.75,80,0.1,0.13,-0.1,18.5,2,3,2,1,2,8.75,80,0.1,0.13,-0.1,13.5,2,3,2,1,2,8.75,80,0.1,0.13,-0.1,13.5,2,3,2,1,2
|
||||
shadow,6,9,50,0.1,0.25,-0.1,14.5,2,3,2,1,2,9,50,0.1,0.25,-0.1,19.5,2,3,2,1,2,9,50,0.1,0.25,-0.1,19.5,2,3,2,1,2,9,50,0.1,0.25,-0.1,14.5,2,3,2,1,2,9,50,0.1,0.25,-0.1,14.5,2,3,2,1,2
|
||||
knight,6,8.5,60,0.1,0.13,-0.09,15.25,2,3,2,1,2,8.5,60,0.1,0.13,-0.09,20.25,2,3,2,1,2,8.5,60,0.1,0.13,-0.09,20.25,2,3,2,1,2,8.5,60,0.1,0.13,-0.09,15.25,2,3,2,1,2,8.5,60,0.1,0.13,-0.09,15.25,2,3,2,1,2
|
|
@ -0,0 +1,21 @@
|
|||
name,bow_wield_scale,tier,bow_velocity,bow_acceleration,arrow_damage,is_bowarrow,distance
|
||||
copper,0.9,2,15,-10,2,1,
|
||||
tin,0.9,2,15,-10,2,1,
|
||||
bronze,0.95,2,16,-9.75,2.5,1,
|
||||
steel,1,2,17,-9.5,3,1,
|
||||
stainlesssteel,1,2,19,-9,3,1,
|
||||
nickel,1.05,2,18,-9.25,3.5,1,
|
||||
silver,1.1,3,19,-9,4,1,
|
||||
gold,1.1,4,20,-8.75,4.5,1,
|
||||
mese,1.1,3,20,-8.75,4.5,1,
|
||||
diamond,1.15,3,21,-8.5,5,1,
|
||||
aluminum,1.3,4,20,-8.75,6,1,
|
||||
lead,1.1,3,22,-8.5,5,1,
|
||||
platinum,1.3,4,24,-8,6,1,
|
||||
cobalt,1.4,5,27,-7.5,7,1,
|
||||
ruthenium,1.4,5,28,-7.25,7,1,
|
||||
tantalum,1.55,6,32.5,-6.5,9,1,
|
||||
rhodium,1.55,6,33,-6.5,9,1,
|
||||
shuriken,,2,20,-8,4,,8
|
||||
throwing_knife,,4,25,-6,6,,8
|
||||
dark shuriken,,6,50,-5,8,,8
|
|
@ -0,0 +1,313 @@
|
|||
-----------slimeblocks----------------
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_green", {
|
||||
description = "Green block of slime",
|
||||
tiles = {"minerdream_slimeblock_green.png"},
|
||||
groups = {crumbly = 3,bouncy=75,fall_damage_add_percent=-50},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_blue", {
|
||||
description = "Blue block of slime",
|
||||
tiles = {"minerdream_slimeblock_blue.png"},
|
||||
groups = {crumbly = 3,bouncy=80,fall_damage_add_percent=-55},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_red", {
|
||||
description = "Red block of slime",
|
||||
tiles = {"minerdream_slimeblock_red.png"},
|
||||
groups = {crumbly = 3,bouncy=85,fall_damage_add_percent=-60},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_yellow", {
|
||||
description = "Yellow block of slime",
|
||||
tiles = {"minerdream_slimeblock_yellow.png"},
|
||||
groups = {crumbly = 3,bouncy=90,fall_damage_add_percent=-65},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_purple", {
|
||||
description = "Purple block of slime",
|
||||
tiles = {"minerdream_slimeblock_purple.png"},
|
||||
groups = {crumbly = 3,bouncy=95,fall_damage_add_percent=-70},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:slimeblock_brown", {
|
||||
description = "Brown block of slime",
|
||||
tiles = {"minerdream_slimeblock_brown.png"},
|
||||
groups = {crumbly = 3,bouncy=100,fall_damage_add_percent=-75},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
-------------ores--------------
|
||||
|
||||
minetest.register_node("minerdream:stone_with_onyx", {
|
||||
description = "Onyx ore",
|
||||
tiles = {"default_stone.png^minerdream_onyx_ore.png"},
|
||||
groups = {cracky = 5},
|
||||
drop = 'minerdream:onyx',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:stone_with_aquamarine", {
|
||||
description = "Aquamarine ore",
|
||||
tiles = {"minerdream_aquamarine_rock.png"},
|
||||
groups = {cracky = 5},
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
mesh = "gemstone_cubic_pillars.obj",
|
||||
drop = 'minerdream:aquamarine',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:stone_with_topaz", {
|
||||
description = "Topaz ore",
|
||||
tiles = {"minerdream_topaz_rock.png"},
|
||||
groups = {cracky = 5},
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
mesh = "gemstone_cubic.obj",
|
||||
drop = 'minerdream:topaz',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
-----------------desert ores-----------------
|
||||
minetest.register_node("minerdream:desertstone_with_richiron", {
|
||||
description = "Rich desert iron ore",
|
||||
tiles = {"default_desert_stone.png^minerdream_richiron_ore.png"},
|
||||
groups = {cracky = 2},
|
||||
drop = 'default:iron_lump 2',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:desertstone_with_poorgold", {
|
||||
description = "Poor desert gold ore",
|
||||
tiles = {"default_desert_stone.png^minerdream_poorgold_ore.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = 'minerdream:gold_nugget 1',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
--------------marble---------------
|
||||
local function register_marble_intern(color,crack)
|
||||
minetest.register_node("minerdream:marble_"..color, {
|
||||
description = color.." marble",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
local function register_marble(color,crack)
|
||||
register_marble_intern(color,3)
|
||||
register_marble_intern(color.."_polished",3)
|
||||
register_marble_intern(color.."_brick",3)
|
||||
register_marble_intern(color.."_smallbrick",3)
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_middle", {
|
||||
description = color.." marble pillar middle",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_middle", {
|
||||
description = color.." marble pillar middle",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_bottom", {
|
||||
description = color.." marble pillar bottom",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.375, 0.4375}, -- NodeBox4
|
||||
{-0.3125, -0.5, -0.5, 0.3125, -0.375, 0.5}, -- NodeBox5
|
||||
{-0.5, -0.5, -0.3125, 0.5, -0.375, 0.3125}, -- NodeBox6
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_top", {
|
||||
description = color.." marble pillar top",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, 0.375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox4
|
||||
{-0.3125, 0.375, -0.5, 0.3125, 0.5, 0.5}, -- NodeBox5
|
||||
{-0.5, 0.375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox6
|
||||
}
|
||||
}
|
||||
})
|
||||
minetest.register_node("minerdream:pillar_marble_"..color.."_both", {
|
||||
description = color.." marble pillar both-sided",
|
||||
tiles = {"minerdream_marble_"..color..".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.1875, 0.375, 0.5, 0.1875}, -- NodeBox1
|
||||
{-0.1875, -0.5, -0.375, 0.1875, 0.5, 0.375}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, -- NodeBox3
|
||||
{-0.4375, 0.375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox4
|
||||
{-0.3125, 0.375, -0.5, 0.3125, 0.5, 0.5}, -- NodeBox5
|
||||
{-0.5, 0.375, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox6
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.375, 0.4375}, -- NodeBox9
|
||||
{-0.3125, -0.5, -0.5, 0.3125, -0.375, 0.5}, -- NodeBox10
|
||||
{-0.5, -0.5, -0.3125, 0.5, -0.375, 0.3125}, -- NodeBox11
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
register_marble("white",3)
|
||||
register_marble("pink",3)
|
||||
register_marble("red",3)
|
||||
register_marble("blue",3)
|
||||
register_marble("green",3)
|
||||
register_marble("black",3)
|
||||
|
||||
------------lapis-------------
|
||||
minetest.register_node("minerdream:lapislazuli_block", {
|
||||
description = "Lapis lazuli block",
|
||||
tiles = {"minerdream_lapislazuli_block.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock", {
|
||||
description = "Lapis lazuli-gold block #1",
|
||||
tiles = {"minerdream_lapislazuli_goldblock.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_a", {
|
||||
description = "Lapis lazuli-gold block #2",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_a.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_b", {
|
||||
description = "Lapis lazuli-gold block #3",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_b.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_c", {
|
||||
description = "Lapis lazuli-gold block #4",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_c.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_goldblock_d", {
|
||||
description = "Lapis lazuli-gold block #5",
|
||||
tiles = {"minerdream_lapislazuli_goldblock_d.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("minerdream:lapislazuli_brick", {
|
||||
description = "Lapis lazuli bricks",
|
||||
tiles = {"minerdream_lapislazuli_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuli_smallbrick", {
|
||||
description = "Small lapis lazuli bricks",
|
||||
tiles = {"minerdream_lapislazuli_smallbrick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuligold_brick", {
|
||||
description = "lapis lazuli-gold bricks #1",
|
||||
tiles = {"minerdream_lapislazuligold_brick.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
minetest.register_node("minerdream:lapislazuligold_brick_a", {
|
||||
description = "lapis lazuli-gold bricks #2",
|
||||
tiles = {"minerdream_lapislazuligold_brick_a.png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
-------------gemstones---------------
|
||||
-- from original version by daviddoesminetest
|
||||
minetest.register_node("minerdream:desertstone_with_coal", {
|
||||
description = "Desert coal ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_coal.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = 'default:coal_lump 1',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
local viscosity=1
|
||||
|
||||
minerdream.ingot_stack_max = tonumber(minetest.settings:get("minerdream.ingot_stack_max")) or 250
|
||||
minerdream.lump_stack_max = tonumber(minetest.settings:get("minerdream.lump_stack_max")) or 999
|
||||
minerdream.dust_cooking_time_reduce = tonumber(minetest.settings:get("minerdream.dust_cooking_time_reduce")) or 2
|
||||
|
||||
minerdream.steel_wire="minerdream:steel_wire"
|
||||
if minetest.get_modpath("basic_materials") == nil then
|
||||
dofile(minerdream.path .. "/steel_wire.lua")
|
||||
else
|
||||
minerdream.steel_wire="basic_materials:steel_wire"
|
||||
end
|
|
@ -0,0 +1,635 @@
|
|||
local local_craft_stack=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input, input},
|
||||
{input, input},
|
||||
} })
|
||||
end
|
||||
local local_craft_pillar=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input},
|
||||
{input},
|
||||
{input},
|
||||
} })
|
||||
end
|
||||
local local_craft_pillar_bottom=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{'',input,''},
|
||||
{'',input,''},
|
||||
{input,input,input},
|
||||
} })
|
||||
end
|
||||
local local_craft_pillar_both=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{'',input,''},
|
||||
{'',input,''},
|
||||
{input,input,input},
|
||||
} })
|
||||
end
|
||||
local local_craft_pillar_top=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input,input,input},
|
||||
{'',input,''},
|
||||
{'',input,''},
|
||||
} })
|
||||
end
|
||||
local local_craft_block=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input, input, input},
|
||||
{input, input, input},
|
||||
{input, input, input},
|
||||
} })
|
||||
minetest.register_craft({
|
||||
output = input.." 9",
|
||||
recipe = {{output}} })
|
||||
end
|
||||
----------slimerecipies------
|
||||
local slime_def={red={torches=5,burntime=50},
|
||||
blue={torches=4,burntime=40},
|
||||
green={torches=3,burntime=30},
|
||||
yellow={torches=6,burntime=60},
|
||||
purple={torches=7,burntime=70},
|
||||
brown={torches=8,burntime=80},
|
||||
}
|
||||
for i,idef in pairs(slime_def) do
|
||||
local_craft_block('minerdream:slimeball_'..i,'minerdream:slimeblock_'..i)
|
||||
minetest.register_craft({
|
||||
output = 'default:torch '..idef.torches,
|
||||
recipe = {
|
||||
{'minerdream:slimeball_'..i},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "minerdream:slimeball_"..i,
|
||||
burntime = idef.burntime,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-----------------alloys n stuff---------
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "tnt:gunpowder 12",
|
||||
recipe = {"default:coal_lump", "minerdream:sulfur_powder", "minerdream:saltpeter_powder"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_nugget',
|
||||
recipe = {
|
||||
{'minerdream:casing', 'minerdream:casing', 'minerdream:casing'},
|
||||
{'minerdream:casing', 'minerdream:casing', 'minerdream:casing'},
|
||||
{'minerdream:casing', 'minerdream:casing', 'minerdream:casing'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_bar',
|
||||
recipe = {
|
||||
{'minerdream:brass_nugget', 'minerdream:brass_nugget', ''},
|
||||
{'minerdream:brass_nugget', 'minerdream:brass_nugget', ''},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'default:gold_lump',
|
||||
recipe = {
|
||||
{'minerdream:gold_nugget', 'minerdream:gold_nugget', ''},
|
||||
{'minerdream:gold_nugget', 'minerdream:gold_nugget', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_bar 3',
|
||||
recipe = {
|
||||
{'default:copper_ingot', 'default:copper_ingot', 'minerdream:zinc_bar'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'dye:blue 3',
|
||||
recipe = {
|
||||
{'minerdream:lapislazuli_lump'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_bar 3',
|
||||
recipe = {
|
||||
{'default:copper_ingot', 'default:copper_ingot', 'minerdream:zinc_bar'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:stainlesssteel_bar 1',
|
||||
recipe = {
|
||||
{'default:steel_ingot', 'minerdream:zinc_ingot', 'default:coal_lump'},
|
||||
}
|
||||
})
|
||||
|
||||
local stainlessbar="minerdream:stainlesssteel_bar"
|
||||
if minetest.registered_items["technic:stainless_steel_ingot"] ~= nil then
|
||||
stainlessbar = "technic:stainless_steel_ingot"
|
||||
end
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:steelstick 3',
|
||||
recipe = {
|
||||
{'', stainlessbar, ''},
|
||||
{'', stainlessbar, ''},
|
||||
}
|
||||
})
|
||||
|
||||
local silveringot=minerdream.items["silver"]
|
||||
if silveringot ~= nil then
|
||||
local ingot_name=silveringot.ingot_name
|
||||
if ingot_name == nil and silveringot.ingot_def ~= nil then
|
||||
ingot_name = silveringot.ingot_def.name
|
||||
end
|
||||
if ingot_name ~= nil then
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:expensivestick 2',
|
||||
recipe = {
|
||||
{ingot_name},
|
||||
{ 'default:gold_ingot'},
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:torch 8',
|
||||
recipe = {
|
||||
{'minerdream:bituminous_coal'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
----------fuels-------------
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "minerdream:bituminous_coal",
|
||||
burntime = 125,
|
||||
})
|
||||
|
||||
|
||||
--------------lapis----------------
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:lapislazuli_lump 9',
|
||||
recipe = {
|
||||
{'minerdream:lapislazuli_block'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:lapislazuli_smallbrick 4',
|
||||
recipe = {
|
||||
{'minerdream:lapislazuli_brick', 'minerdream:lapislazuli_brick', ''},
|
||||
{'minerdream:lapislazuli_brick', 'minerdream:lapislazuli_brick', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_brick",
|
||||
recipe = {"minerdream:lapislazuli_lump", "default:cobble"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuligold_brick 2",
|
||||
recipe = {"minerdream:lapislazuli_smallbrick", "minerdream:gold_brick"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuligold_brick_a",
|
||||
recipe = {"minerdream:lapislazuligold_brick"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuligold_brick",
|
||||
recipe = {"minerdream:lapislazuligold_brick_a"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:lapislazuli_goldblock',
|
||||
recipe = {
|
||||
{'', 'default:gold_ingot', ''},
|
||||
{'default:gold_ingot', 'minerdream:lapislazuli_block', 'default:gold_ingot'},
|
||||
{'', 'default:gold_ingot', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_goldblock_a",
|
||||
recipe = {"minerdream:lapislazuli_goldblock"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_goldblock_b",
|
||||
recipe = {"minerdream:lapislazuli_goldblock_a"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_goldblock_c",
|
||||
recipe = {"minerdream:lapislazuli_goldblock_b"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_goldblock_d",
|
||||
recipe = {"minerdream:lapislazuli_goldblock_c"},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:lapislazuli_goldblock",
|
||||
recipe = {"minerdream:lapislazuli_goldblock_d"},
|
||||
})
|
||||
|
||||
----------bar stacks---------------
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_bar_block',
|
||||
recipe = {
|
||||
{'minerdream:brass_bar', 'minerdream:brass_bar', ''},
|
||||
{'minerdream:brass_bar', 'minerdream:brass_bar', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:brass_bar 4',
|
||||
recipe = {
|
||||
{'minerdream:brass_bar_block', '', ''},
|
||||
}
|
||||
})
|
||||
|
||||
-------------------marble-------------
|
||||
for _,colo in pairs({"white","pink","red","green","purple","black"}) do
|
||||
local_craft_stack('minerdream:marble_'..colo,'minerdream:marble_'..colo..'_polished 4')
|
||||
local_craft_stack('minerdream:marble_'..colo..'_polished','minerdream:marble_'..colo..'_brick 4')
|
||||
local_craft_stack('minerdream:marble_'..colo..'_brick','minerdream:marble_'..colo..'_smallbrick 4')
|
||||
local_craft_pillar('minerdream:marble_'..colo,'minerdream:pillar_marble_'..colo..'_middle 3')
|
||||
local_craft_pillar_bottom('minerdream:marble_'..colo,'minerdream:pillar_marble_'..colo..'_bottom 5')
|
||||
local_craft_pillar_top('minerdream:marble_'..colo,'minerdream:pillar_marble_'..colo..'_top 5')
|
||||
local_craft_pillar_both('minerdream:marble_'..colo,'minerdream:pillar_marble_'..colo..'_both 7')
|
||||
end
|
||||
|
||||
--------------misc items-------------
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "minerdream:vitamin 6",
|
||||
recipe = {"default:iron_lump", "minerdream:calcium_lump", "minerdream:potassium_lump", "minerdream:zinc_lump"},
|
||||
})
|
||||
|
||||
--------------------bows----------------
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:bow_copper',
|
||||
recipe = {
|
||||
{'', 'default:copper_ingot', 'default:copper_ingot'},
|
||||
{'default:copper_ingot', '', 'farming:cotton'},
|
||||
{'default:copper_ingot', 'farming:cotton', ''},
|
||||
}
|
||||
})
|
||||
------------unusualweapons and ammo------------
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:pink_blaster',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'minerdream:spinel', 'minerdream:rhodium_bar', 'minerdream:rhodium_bar'},
|
||||
{'', '', 'minerdream:rhodium_bar'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:dark_shuriken 50',
|
||||
recipe = {
|
||||
{'minerdream:shuriken', 'minerdream:shuriken', 'minerdream:shuriken'},
|
||||
{'minerdream:shuriken', 'minerdream:onyx', 'minerdream:shuriken'},
|
||||
{'minerdream:shuriken', 'minerdream:shuriken', 'minerdream:shuriken'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:amethyst_staff',
|
||||
recipe = {
|
||||
{'', 'minerdream:amethyst', 'minerdream:cobalt_bar'},
|
||||
{'', 'minerdream:cobalt_bar', 'minerdream:cobalt_bar'},
|
||||
{'minerdream:amethyst', '', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:ocean_staff',
|
||||
recipe = {
|
||||
{'', 'default:gold_ingot', 'minerdream:aquamarine'},
|
||||
{'', 'minerdream:tantalum_bar', 'default:gold_ingot'},
|
||||
{'minerdream:tantalum_bar', '', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:arrow 20',
|
||||
recipe = {
|
||||
{'', '', 'default:paper'},
|
||||
{'default:steel_ingot', 'group:wood', 'group:wood'},
|
||||
{'', '', 'default:paper'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:arrow 20',
|
||||
recipe = {
|
||||
{'', '', 'mobs:chicken_feather'},
|
||||
{'default:steel_ingot', 'group:wood', 'group:wood'},
|
||||
{'', '', 'mobs:chicken_feather'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:arrow 20',
|
||||
recipe = {
|
||||
{'', '', 'default:paper'},
|
||||
{'default:flint', 'group:wood', 'group:wood'},
|
||||
{'', '', 'default:paper'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:arrow 20',
|
||||
recipe = {
|
||||
{'', '', 'mobs:chicken_feather'},
|
||||
{'default:flint', 'group:wood', 'group:wood'},
|
||||
{'', '', 'mobs:chicken_feather'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:bullet 50',
|
||||
recipe = {
|
||||
{'', 'minerdream:lead_bar', ''},
|
||||
{'minerdream:brass_bar', 'tnt:gunpowder', 'minerdream:brass_bar'},
|
||||
{'minerdream:brass_bar', 'default:steel_ingot', 'minerdream:brass_bar'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:handgun',
|
||||
recipe = {
|
||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
||||
{'', 'default:mese_crystal_fragment', 'minerdream:lead_bar'},
|
||||
{'', '', 'minerdream:lead_bar'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:golden_crystal_trisword',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', 'minerdream:topaz'},
|
||||
{'minerdream:rhodium_bar', 'default:mese', 'minerdream:topaz'},
|
||||
{'minerdream:rhodium_bar', 'minerdream:rhodium_bar', ''},
|
||||
}
|
||||
})
|
||||
|
||||
------special armors-----
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:helmet_scout',
|
||||
recipe = {
|
||||
{'', 'minerdream:amethyst', ''},
|
||||
{'default:gold_ingot', 'minerdream:helmet_cobalt', 'default:gold_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:chestplate_scout',
|
||||
recipe = {
|
||||
{'minerdream:amethyst', '', 'minerdream:amethyst'},
|
||||
{'default:gold_ingot', 'minerdream:chestplate_cobalt', 'default:gold_ingot'},
|
||||
{'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:leggings_scout',
|
||||
recipe = {
|
||||
{'', 'default:gold_ingot', ''},
|
||||
{'minerdream:amethyst', 'minerdream:leggings_cobalt', 'minerdream:amethyst'},
|
||||
{'', '', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:boots_scout',
|
||||
recipe = {
|
||||
{'', '', ''},
|
||||
{'minerdream:amethyst', 'minerdream:boots_cobalt', 'minerdream:amethyst'},
|
||||
{'default:gold_ingot', '', 'default:gold_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:shield_scout',
|
||||
recipe = {
|
||||
{'', 'default:gold_ingot', ''},
|
||||
{'default:gold_ingot', 'minerdream:amethyst', 'default:gold_ingot'},
|
||||
{'', 'minerdream:shield_cobalt', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:helmet_defender',
|
||||
recipe = {
|
||||
{'', 'minerdream:garnet', ''},
|
||||
{'default:bronze_ingot', 'minerdream:helmet_ruthenium', 'default:bronze_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:chestplate_defender',
|
||||
recipe = {
|
||||
{'minerdream:garnet', '', 'minerdream:garnet'},
|
||||
{'default:bronze_ingot', 'minerdream:chestplate_ruthenium', 'default:bronze_ingot'},
|
||||
{'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:leggings_defender',
|
||||
recipe = {
|
||||
{'', 'default:bronze_ingot', ''},
|
||||
{'minerdream:garnet', 'minerdream:leggings_ruthenium', 'minerdream:garnet'},
|
||||
{'', '', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:boots_defender',
|
||||
recipe = {
|
||||
{'', '', ''},
|
||||
{'minerdream:garnet', 'minerdream:boots_ruthenium', 'minerdream:garnet'},
|
||||
{'default:bronze_ingot', '', 'default:bronze_ingot'},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:shield_defender',
|
||||
recipe = {
|
||||
{'', 'default:bronze_ingot', ''},
|
||||
{'default:bronze_ingot', 'minerdream:garnet', 'default:bronze_ingot'},
|
||||
{'', 'minerdream:shield_ruthenium', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:helmet_shadow',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'wool:black', 'minerdream:helmet_tantalum', 'wool:black'},
|
||||
{'', 'minerdream:onyx', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:chestplate_shadow',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'wool:black', 'minerdream:chestplate_tantalum', 'wool:black'},
|
||||
{'', 'minerdream:onyx', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:leggings_shadow',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'wool:black', 'minerdream:leggings_tantalum', 'wool:black'},
|
||||
{'', 'minerdream:onyx', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:boots_shadow',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'wool:black', 'minerdream:boots_tantalum', 'wool:black'},
|
||||
{'', 'minerdream:onyx', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:shield_shadow',
|
||||
recipe = {
|
||||
{'', 'minerdream:spinel', ''},
|
||||
{'minerdream:lead_bar', 'minerdream:shield_tantalum', 'minerdream:lead_bar'},
|
||||
{'', 'minerdream:onyx', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:helmet_knight',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', ''},
|
||||
{'minerdream:silver_bar', 'minerdream:helmet_rhodium', 'minerdream:silver_bar'},
|
||||
{'', 'minerdream:topaz', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:chestplate_knight',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', ''},
|
||||
{'minerdream:silver_bar', 'minerdream:chestplate_rhodium', 'minerdream:silver_bar'},
|
||||
{'', 'minerdream:topaz', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:leggings_knight',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', ''},
|
||||
{'minerdream:silver_bar', 'minerdream:leggings_rhodium', 'minerdream:silver_bar'},
|
||||
{'', 'minerdream:topaz', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:boots_knight',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', ''},
|
||||
{'minerdream:silver_bar', 'minerdream:boots_rhodium', 'minerdream:silver_bar'},
|
||||
{'', 'minerdream:topaz', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:shield_knight',
|
||||
recipe = {
|
||||
{'', 'minerdream:topaz', ''},
|
||||
{'minerdream:silver_bar', 'minerdream:shield_rhodium', 'minerdream:silver_bar'},
|
||||
{'', '', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
----------------------accessories---------------
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:accessory_speedring',
|
||||
recipe = {
|
||||
{'', 'minerdream:jade', 'minerdream:jade'},
|
||||
{'minerdream:silver_bar', '', 'minerdream:jade'},
|
||||
{'minerdream:silver_bar', 'minerdream:silver_bar', ''},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minerdream:accessory_protectionring',
|
||||
recipe = {
|
||||
{'', 'minerdream:garnet', 'minerdream:garnet'},
|
||||
{'default:gold_ingot', '', 'minerdream:garnet'},
|
||||
{'default:gold_ingot', 'default:gold_ingot', ''},
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,12 @@
|
|||
default
|
||||
3d_armor
|
||||
shields
|
||||
mana
|
||||
mobs
|
||||
basic_functions
|
||||
awards?
|
||||
hbhunger?
|
||||
hunger?
|
||||
technic?
|
||||
basic_materials?
|
||||
technic_aluminum?
|
|
@ -0,0 +1,98 @@
|
|||
----rocks n stuff--------
|
||||
local function mg_reg_ore(iore,ymin,ymax,clust)
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = iore,
|
||||
wherein = {"default:stone"},
|
||||
clust_scarcity = 25 * 25 * 25,
|
||||
clust_size = clust,
|
||||
y_min = ymin,
|
||||
y_max = ymax,
|
||||
noise_threshold = 0.0,
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = 766,
|
||||
octaves = 1,
|
||||
persist = 0.0
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
mg_reg_ore("minerdream:marble_white",-5000,-50,5)
|
||||
mg_reg_ore("minerdream:marble_pink",-5000,-125,5)
|
||||
mg_reg_ore("minerdream:marble_red",-5000,-200,5)
|
||||
mg_reg_ore("minerdream:marble_red",-5000,-300,5)
|
||||
mg_reg_ore("minerdream:marble_blue",-5000,-425,5)
|
||||
mg_reg_ore("minerdream:marble_black",-5000,-600,5)
|
||||
|
||||
-------desert ores--------
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_richiron",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_lapislazuli",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_coal",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 12 * 12 * 12,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_sulfur",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_saltpeter",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 2,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "minerdream:desertstone_with_poorgold",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -31000,
|
||||
y_max = 420,
|
||||
})
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
minerdream = {}
|
||||
minerdream.path = minetest.get_modpath("minerdream")
|
||||
minerdream.modname = minetest.get_current_modname()
|
||||
minerdream.items={}
|
||||
|
||||
minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- start loading from "..minetest.get_modpath(minetest.get_current_modname()))
|
||||
|
||||
-- import settingtypes.txt
|
||||
basic_functions.import_settingtype(minerdream.path .. "/settingtypes.txt")
|
||||
|
||||
dofile(minerdream.path .. "/config.lua")
|
||||
dofile(minerdream.path .. "/read_ore_config.lua")
|
||||
dofile(minerdream.path .. "/read_tool_config.lua")
|
||||
dofile(minerdream.path .. "/read_armor_config.lua")
|
||||
dofile(minerdream.path .. "/items.lua")
|
||||
dofile(minerdream.path .. "/overrides.lua")
|
||||
dofile(minerdream.path .. "/blocks.lua")
|
||||
dofile(minerdream.path .. "/generation.lua")
|
||||
dofile(minerdream.path .. "/crafting.lua")
|
||||
dofile(minerdream.path .. "/weapons.lua")
|
||||
dofile(minerdream.path .. "/read_weapon_config.lua")
|
||||
dofile(minerdream.path .. "/armor.lua")
|
||||
--dofile(minerdream.path .. "/treasure.lua")
|
||||
dofile(minerdream.path .. "/experiments.lua")
|
||||
--dofile(minerdream.path .. "/mobs.lua")
|
||||
dofile(minerdream.path .. "/read_mobs_config.lua")
|
||||
|
||||
|
||||
minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded ")
|
|
@ -0,0 +1,84 @@
|
|||
---------mob drops----------------
|
||||
|
||||
for _,colo in pairs({"green","blue","red","yellow","purple","brown"}) do
|
||||
minetest.register_craftitem('minerdream:slimeball_'..colo, {
|
||||
description = colo.." ball of slime",
|
||||
inventory_image = "minerdream_slimeball_"..colo..".png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
end
|
||||
---------------------materials---------------
|
||||
|
||||
minetest.register_craftitem('minerdream:expensivestick', {
|
||||
description = "Expensive stick",
|
||||
inventory_image = "minerdream_expensivestick.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:steelstick', {
|
||||
description = "Stainless steel stick",
|
||||
inventory_image = "minerdream_steelstick.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:stainlesssteel_bar', {
|
||||
description = "Stainless steel bar",
|
||||
inventory_image = "minerdream_stainlesssteel_bar.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
-----------------ores----------------
|
||||
|
||||
minetest.register_craftitem('minerdream:brass_nugget', {
|
||||
description = "".. core.colorize("#FFFFFF", "brass nugget\n")..core.colorize("#A0A0A0", "4 of those, can be combined into a bar"),
|
||||
inventory_image = "minerdream_brass_nugget.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
|
||||
minetest.register_craftitem('minerdream:gold_nugget', {
|
||||
description = "".. core.colorize("#FFFFFF", "Raw gold nugget\n")..core.colorize("#A0A0A0", "4 of those, can be combined into a lump"),
|
||||
inventory_image = "minerdream_gold_nugget.png",
|
||||
stack_max= 1000,
|
||||
})
|
||||
---------------refined goods-----------------
|
||||
|
||||
minetest.register_craftitem('minerdream:brass_bar', {
|
||||
description = "".. core.colorize("#BFFFFF", "brass bar\n")..core.colorize("#A0A0A0", "tier: 2 (uncommon)"),
|
||||
inventory_image = "minerdream_brass_bar.png",
|
||||
stack_max= 250,
|
||||
})
|
||||
------------------consumables----------------
|
||||
|
||||
minetest.register_craftitem("minerdream:vitamin", {
|
||||
description = "".. core.colorize("#FFFFFF", "Vitamin pill\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 3 hp"),
|
||||
wield_scale = {x=0.25,y=0.25,z=0.5},
|
||||
inventory_image = "minerdream_pill.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_tiny", {
|
||||
description = "".. core.colorize("#FFFFFF", "Tiny healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 5 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_tiny.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_lesser", {
|
||||
description = "".. core.colorize("#FFFFFF", "Lesser healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 10 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_lesser.png",
|
||||
on_use = minetest.item_eat(10),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_normal", {
|
||||
description = "".. core.colorize("#FFFFFF", " Healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 15 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_normal.png",
|
||||
on_use = minetest.item_eat(15),
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:potion_greater", {
|
||||
description = "".. core.colorize("#FFFFFF", "Greater healing potion\n")..core.colorize("#A0A0A0", "Consumable\n")..core.colorize("#A0A0A0", "Restores 20 hp"),
|
||||
wield_scale = {x=0.75,y=0.75,z=0.75},
|
||||
inventory_image = "minerdream_potion_greater.png",
|
||||
on_use = minetest.item_eat(20),
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
name,attack_type,reach,damage,hp_min,hp_max,armor,collisionbox,walk_velocity,run_velocity,walk_chance,fall_speed,jump_chance,jump_height,stepheight,view_range,slimeball,egg,slimering,water_damage,lava_damage,light_damage,maxlight,chance,max_height
|
||||
default,dogfight,2,,,,100,,,,0,-50,30,,1.1,16,1,100,,0,8,0,10,,
|
||||
green,,,1,5,5,,0.3,2,2,,,,6,,,,,200,,,,,1000,0
|
||||
blue,,,2,8,8,,0.45,2,2,,,,6,,,,,175,,,,,1250,-50
|
||||
red,,,3,12,12,,0.6,3,3,,,,7,,,,,150,,,,,1500,-100
|
||||
yellow,,,4,20,20,,0.75,3,3,,,,7,,,,,125,,,,,1750,-250
|
||||
purple,,,6,35,35,,0.9,4,4,,,,8,,,,,100,,,,,2000,-500
|
||||
brown,,3.5,8,50,50,,1.05,4,4,,,,9,1.2,,,,75,,,,,2000,-1200
|
|
@ -0,0 +1,8 @@
|
|||
name = minerdream
|
||||
title = Minerdream
|
||||
author = davieddoesminetest,ademant
|
||||
description = A mod, that makes minig way more fun, and is a replacement for Xtraores, which I abandoned.
|
||||
depends = default,3d_armor,shields,mana,mobs,basic_functions
|
||||
optional_depends = intllib,hbhunger,hunger,technic,basic_materials,technic_aluminum,technic_worldgen,technic
|
||||
license = MIT
|
||||
version = 1.0.0
|
|
@ -0,0 +1,161 @@
|
|||
# Blender v2.69 (sub . OBJ File: 'amethist1.blend'
|
||||
# www.blender.org
|
||||
mtllib amethyst.mtl
|
||||
o Cube
|
||||
v .0437 -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v -.0875 -.4456 .2
|
||||
v -.0437 -.4456 -.2
|
||||
v .0437 -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v -.0875 -.4143 .2
|
||||
v -.0437 -.4143 -.2
|
||||
v -.0437 -.4456 -.2
|
||||
v -.0875 -.4456 .2
|
||||
v -.0437 -.4143 -.2
|
||||
v -.0875 -.4143 .2
|
||||
v .0437 -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v .0437 -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v .175 -.4456 .12
|
||||
v -.175 -.4456 .12
|
||||
v .175 -.4143 .12
|
||||
v -.175 -.4143 .12
|
||||
v -.0875 -.4925 .12
|
||||
v -.0875 -.3675 .12
|
||||
v .0875 -.4925 .12
|
||||
v .0875 -.3675 .12
|
||||
v -.175 -.4456 -.04
|
||||
v -.175 -.4143 -.04
|
||||
v -.0875 -.4925 -.04
|
||||
v .0875 -.4925 -.04
|
||||
v .175 -.4456 -.04
|
||||
v .175 -.4143 -.04
|
||||
v -.0875 -.3675 -.04
|
||||
v .0875 -.3675 -.04
|
||||
vt .2066 .3816
|
||||
vt .3377 .3816
|
||||
vt .3222 .4611
|
||||
vt .3099 .0134
|
||||
vt .0215 .2116
|
||||
vt .0599 .0134
|
||||
vt .0599 .0134
|
||||
vt .6782 .2843
|
||||
vt .7525 .2843
|
||||
vt .7674 .3609
|
||||
vt .6931 .3609
|
||||
vt .4221 .0148
|
||||
vt .4221 .3242
|
||||
vt .5323 .2843
|
||||
vt .5323 .3609
|
||||
vt .4098 .3609
|
||||
vt .4098 .2843
|
||||
vt .2066 .2227
|
||||
vt .3377 .2227
|
||||
vt .3093 .0646
|
||||
vt .3093 .453
|
||||
vt .0644 .453
|
||||
vt .0644 .0646
|
||||
vt .2111 .1813
|
||||
vt .3629 .1813
|
||||
vt .3629 .4943
|
||||
vt .2111 .4943
|
||||
vt .5338 .5906
|
||||
vt .6104 .5906
|
||||
vt .6104 .6671
|
||||
vt .5338 .6671
|
||||
vt .3222 .1433
|
||||
vt .2781 .307
|
||||
vt .6236 .5444
|
||||
vt .3242 .5444
|
||||
vt .2315 .1882
|
||||
vt .1708 .0241
|
||||
vt .2979 .0241
|
||||
vt .2979 .1433
|
||||
vt .1708 .1433
|
||||
vt .0031 .2437
|
||||
vt .0049 .0015
|
||||
vt .3025 -.0011
|
||||
vt .3061 .2437
|
||||
vt .7719 .6566
|
||||
vt .9074 .6566
|
||||
vt .9074 .8735
|
||||
vt .7719 .8735
|
||||
vt .0642 .0023
|
||||
vt .2848 .0023
|
||||
vt .2407 .2296
|
||||
vt .0201 .2296
|
||||
vt .2254 .0001
|
||||
vt .3667 -.0032
|
||||
vt .3736 .2464
|
||||
vt .2288 .2567
|
||||
vt .5629 .1256
|
||||
vt .5629 .5648
|
||||
vt .189 .5648
|
||||
vt .189 .1256
|
||||
vt .1529 .1481
|
||||
vt .1529 .2945
|
||||
vt .0156 .2945
|
||||
vt .0156 .1481
|
||||
vt .6637 .6435
|
||||
vt .9321 .6435
|
||||
vt .9321 .9297
|
||||
vt .6637 .9297
|
||||
vt .2819 .0024
|
||||
vt .2819 .1755
|
||||
vt .005 .1755
|
||||
vt .005 .0024
|
||||
vt .0437 .1433
|
||||
vt .0386 .1484
|
||||
vt .3441 .1484
|
||||
vt .3441 .4349
|
||||
vt .7719 .4398
|
||||
vt .9074 .4398
|
||||
vt .0428 .0823
|
||||
vt .0428 .1986
|
||||
vt .6682 .7036
|
||||
vt .6682 .847
|
||||
vt .4387 .9187
|
||||
vt .4387 .6319
|
||||
vt .1529 .0017
|
||||
vt .5807 .5611
|
||||
vt .864 .8633
|
||||
vt .5807 .8633
|
||||
vt . .
|
||||
vt 1. .
|
||||
vt 1. 1.
|
||||
vt . 1.
|
||||
usemtl Material
|
||||
s off
|
||||
f 21/1 10/2 3/2 18/3
|
||||
f 22/4 20/5 7/6 12/7
|
||||
f 17/8 19/9 6/1 2/11
|
||||
f 10/12 12/13 7/13 3/12
|
||||
f 25/14 26/15 8/16 4/17
|
||||
f 23/18 14/19 10/2 21/1
|
||||
f 24/2 22/21 12/22 16/23
|
||||
f 14/24 16/25 12/26 10/27
|
||||
f 15/28 13/29 9/3 11/31
|
||||
f 17/32 2/19 14/19 23/18
|
||||
f 19/33 24/34 16/35 6/35
|
||||
f 2/11 6/1 16/1 14/11
|
||||
f 5/36 1/36 13/36 15/36
|
||||
f 27/37 21/38 18/39 25/4
|
||||
f 31/41 26/42 20/43 22/44
|
||||
f 29/45 30/46 19/47 17/48
|
||||
f 3/49 7/5 20/51 18/52
|
||||
f 28/53 23/54 21/55 27/56
|
||||
f 32/57 31/58 22/59 24/6
|
||||
f 29/61 17/62 23/63 28/64
|
||||
f 30/65 32/66 24/67 19/68
|
||||
f 18/69 20/7 26/71 25/72
|
||||
f 9/73 27/37 25/4 4/73
|
||||
f 11/74 8/74 26/75 31/76
|
||||
f 1/77 5/78 30/46 29/45
|
||||
f 13/79 28/53 27/56 9/8
|
||||
f 15/81 11/82 31/83 32/84
|
||||
f 1/85 29/61 28/64 13/85
|
||||
f 5/86 15/86 32/87 30/88
|
||||
usemtl Material_NONE
|
||||
f 11/89 9/9 4/91 8/92
|
|
@ -0,0 +1,181 @@
|
|||
# Blender v2.69 (sub . OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib aquamarine.mtl
|
||||
o Cube.001
|
||||
v .1441 -.4791 -.0536
|
||||
v .1441 -.4791 .0563
|
||||
v -.1355 -.4791 .0563
|
||||
v -.1355 -.4791 -.0536
|
||||
v .1441 -.4127 -.0536
|
||||
v .1441 -.4127 .0563
|
||||
v -.1355 -.4127 .0563
|
||||
v -.1355 -.4127 -.0536
|
||||
v .1441 -.5008 -.0316
|
||||
v -.1355 -.5008 -.0316
|
||||
v .1441 -.3908 -.0316
|
||||
v -.1355 -.3908 -.0316
|
||||
v .1441 -.5008 .0343
|
||||
v .1441 -.3908 .0343
|
||||
v -.1355 -.5008 .0343
|
||||
v -.1355 -.3908 .0343
|
||||
v .1441 -.4128 -.0536
|
||||
v .1441 -.4128 .0563
|
||||
v -.1355 -.4128 .0563
|
||||
v -.1355 -.4128 -.0536
|
||||
v .1794 -.4128 -.0316
|
||||
v -.1705 -.4128 -.0316
|
||||
v .1794 -.4128 .0343
|
||||
v -.1705 -.4128 .0343
|
||||
v .1794 -.4788 -.0316
|
||||
v -.1705 -.4788 -.0316
|
||||
v .1794 -.4788 .0343
|
||||
v -.1705 -.4788 .0343
|
||||
v .1441 -.4788 -.0536
|
||||
v .1441 -.4788 .0563
|
||||
v -.1355 -.4788 .0563
|
||||
v -.1355 -.4788 -.0536
|
||||
v .1444 -.4791 -.0536
|
||||
v .1444 -.4791 .0563
|
||||
v .1444 -.4127 -.0536
|
||||
v .1444 -.4127 .0563
|
||||
v .1444 -.5008 -.0316
|
||||
v .1444 -.3908 -.0316
|
||||
v .1444 -.5008 .0343
|
||||
v .1444 -.3908 .0343
|
||||
v .1444 -.4128 .0563
|
||||
v .1444 -.4128 -.0536
|
||||
v .1444 -.4788 -.0536
|
||||
v .1444 -.4788 .0563
|
||||
v -.1355 -.4791 -.0536
|
||||
v -.1355 -.4791 .0563
|
||||
v -.1355 -.4127 -.0536
|
||||
v -.1355 -.4127 .0563
|
||||
v -.1355 -.5008 -.0316
|
||||
v -.1355 -.5008 .0343
|
||||
v -.1355 -.4128 .0563
|
||||
v -.1355 -.4128 -.0536
|
||||
v -.1355 -.4788 -.0536
|
||||
v -.1355 -.4788 .0563
|
||||
v -.1355 -.3908 -.0316
|
||||
v -.1355 -.3908 .0343
|
||||
vt .1986 .7891
|
||||
vt .2320 .9849
|
||||
vt .0478 .7900
|
||||
vt .0478 .7892
|
||||
vt .2673 .7954
|
||||
vt .2337 .9955
|
||||
vt .0453 .7963
|
||||
vt .0453 .7954
|
||||
vt .9688 .7889
|
||||
vt .9688 .7897
|
||||
vt .7846 .9847
|
||||
vt .7513 .7889
|
||||
vt .8324 .7956
|
||||
vt .7988 .9956
|
||||
vt .9872 .7957
|
||||
vt .9872 .7965
|
||||
vt .1986 .2019
|
||||
vt .0478 .2020
|
||||
vt .2673 .1955
|
||||
vt .0453 .1955
|
||||
vt .9688 .2017
|
||||
vt .7513 .2017
|
||||
vt .8324 .1956
|
||||
vt .9872 .1958
|
||||
vt .2320 .0062
|
||||
vt .0478 .1993
|
||||
vt .2337 -.0043
|
||||
vt .0453 .1927
|
||||
vt .9688 .1990
|
||||
vt .7846 .0061
|
||||
vt .7988 -.0042
|
||||
vt .9872 .1930
|
||||
vt . .6444
|
||||
vt . .4027
|
||||
vt .0003 .4027
|
||||
vt .0003 .6444
|
||||
vt .7924 .0965
|
||||
vt .9903 .0965
|
||||
vt .9903 .8882
|
||||
vt .7924 .8882
|
||||
vt .1992 .0991
|
||||
vt .1992 .8964
|
||||
vt -.0000 .8964
|
||||
vt -.0000 .0991
|
||||
vt .0006 .0965
|
||||
vt .1985 .0965
|
||||
vt .1985 .8882
|
||||
vt .0006 .8882
|
||||
vt .9965 .0991
|
||||
vt .9965 .8964
|
||||
vt .7972 .8964
|
||||
vt .7972 .0991
|
||||
vt .9899 .8401
|
||||
vt .4861 .8401
|
||||
vt .4861 .1683
|
||||
vt .9899 .1683
|
||||
vt -.0010 .1881
|
||||
vt .4877 .1881
|
||||
vt .4877 .8399
|
||||
vt -.0010 .8399
|
||||
vt . .
|
||||
vt 1. .
|
||||
vt 1. 1.
|
||||
vt . 1.
|
||||
usemtl Material
|
||||
s off
|
||||
f 23/1 14/2 6/3 18/4
|
||||
f 22/5 12/6 8/7 20/8
|
||||
f 17/9 5/1 11/11 21/12
|
||||
f 24/13 16/14 12/6 22/5
|
||||
f 21/12 11/11 14/2 23/1
|
||||
f 19/15 7/16 16/14 24/13
|
||||
f 27/17 23/1 18/4 30/18
|
||||
f 26/19 22/5 20/8 32/2
|
||||
f 29/21 17/9 21/12 25/22
|
||||
f 28/23 24/13 22/5 26/19
|
||||
f 25/22 21/12 23/1 27/17
|
||||
f 31/24 19/15 24/13 28/23
|
||||
f 13/25 27/17 30/18 2/26
|
||||
f 10/27 26/19 32/2 4/28
|
||||
f 1/29 29/21 25/22 9/3
|
||||
f 15/31 28/23 26/19 10/27
|
||||
f 9/3 25/22 27/17 13/25
|
||||
f 3/32 31/24 28/23 15/31
|
||||
f 17/33 29/34 43/35 42/36
|
||||
f 39/37 34/38 46/39 50/4
|
||||
f 40/41 56/42 48/43 36/44
|
||||
f 33/45 37/46 49/47 45/48
|
||||
f 35/49 47/5 55/51 38/52
|
||||
f 37/46 39/37 50/4 49/47
|
||||
f 38/52 55/51 56/42 40/41
|
||||
f 44/53 41/54 51/55 54/56
|
||||
f 42/57 43/58 53/59 52/6
|
||||
usemtl Material_NONE
|
||||
f 50/61 46/62 3/63 15/64
|
||||
f 56/61 16/62 7/63 48/64
|
||||
f 51/61 48/62 7/63 19/64
|
||||
f 53/61 45/62 4/63 32/64
|
||||
f 45/61 49/62 10/63 4/64
|
||||
f 47/61 8/62 12/63 55/64
|
||||
f 49/61 50/62 15/63 10/64
|
||||
f 55/61 12/62 16/63 56/64
|
||||
f 54/61 51/62 19/63 31/64
|
||||
f 47/61 52/62 20/63 8/64
|
||||
f 52/61 53/62 32/63 20/64
|
||||
f 46/61 54/62 31/63 3/64
|
||||
f 13/61 2/62 34/63 39/64
|
||||
f 14/61 40/62 36/63 6/64
|
||||
f 18/61 6/62 36/63 41/64
|
||||
f 29/61 1/62 33/63 43/64
|
||||
f 1/61 9/62 37/63 33/64
|
||||
f 5/61 35/62 38/63 11/64
|
||||
f 9/61 13/62 39/63 37/64
|
||||
f 11/61 38/62 40/63 14/64
|
||||
f 30/61 18/62 41/63 44/64
|
||||
f 5/61 17/62 42/63 35/64
|
||||
f 2/61 30/62 44/63 34/64
|
||||
f 41/61 36/62 48/63 51/64
|
||||
f 43/61 33/62 45/63 53/64
|
||||
f 35/61 42/62 52/63 47/64
|
||||
f 34/61 44/62 54/63 46/64
|
|
@ -0,0 +1,167 @@
|
|||
# Blender v2.66 (sub 1) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib bars.mtl
|
||||
o Cube.003
|
||||
v -.5 .01 .
|
||||
v .5 .01 -.
|
||||
v .5 .01 .5
|
||||
v -.5 .01 .5
|
||||
v -.35 .51 .125
|
||||
v .35 .51 .125
|
||||
v .35 .51 .375
|
||||
v -.35 .51 .375
|
||||
vt .9989 .
|
||||
vt 1. .3329
|
||||
vt .6670 .3340
|
||||
vt .6659 .0010
|
||||
vt .6667 .3441
|
||||
vt .8331 .3446
|
||||
vt .8324 .5777
|
||||
vt .6659 .5772
|
||||
vt .6659 .
|
||||
vt .6170 .3433
|
||||
vt .3839 .3441
|
||||
vt .3329 .0010
|
||||
vt . .6815
|
||||
vt .0822 .3446
|
||||
vt .2487 .3441
|
||||
vt .3329 .6805
|
||||
vt .3329 .
|
||||
vt .2840 .3433
|
||||
vt .0510 .3441
|
||||
vt . .0010
|
||||
vt .5817 .3441
|
||||
vt .6659 .6805
|
||||
vt .3329 .6815
|
||||
vt .4152 .3446
|
||||
usemtl Material
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 5/5 8/6 7/7 6/8
|
||||
f 1/9 5/1 6/11 2/12
|
||||
f 2/13 6/14 7/15 3/16
|
||||
f 3/17 7/18 8/19 4/2
|
||||
f 5/21 1/22 4/23 8/24
|
||||
o Cube.002
|
||||
v -.5 .01 -.5
|
||||
v .5 .01 -.5
|
||||
v .5 .01 -.
|
||||
v -.5 .01 .
|
||||
v -.35 .51 -.375
|
||||
v .35 .51 -.375
|
||||
v .35 .51 -.125
|
||||
v -.35 .51 -.125
|
||||
vt .9989 .
|
||||
vt 1. .3329
|
||||
vt .6670 .3340
|
||||
vt .6659 .0010
|
||||
vt .6667 .3441
|
||||
vt .8331 .3446
|
||||
vt .8324 .5777
|
||||
vt .6659 .5772
|
||||
vt .6659 .
|
||||
vt .6170 .3433
|
||||
vt .3839 .3441
|
||||
vt .3329 .0010
|
||||
vt . .6815
|
||||
vt .0822 .3446
|
||||
vt .2487 .3441
|
||||
vt .3329 .6805
|
||||
vt .3329 .
|
||||
vt .2840 .3433
|
||||
vt .0510 .3441
|
||||
vt . .0010
|
||||
vt .5817 .3441
|
||||
vt .6659 .6805
|
||||
vt .3329 .6815
|
||||
vt .4152 .3446
|
||||
usemtl Material
|
||||
s off
|
||||
f 9/25 10/26 11/27 12/28
|
||||
f 13/29 16/3 15/31 14/32
|
||||
f 9/33 13/34 14/35 10/36
|
||||
f 10/37 14/38 15/39 11/4
|
||||
f 11/41 15/42 16/43 12/44
|
||||
f 13/45 9/46 12/47 16/48
|
||||
o Cube.001
|
||||
v .5 -.5 -.5
|
||||
v .5 -.5 .5
|
||||
v . -.5 .5
|
||||
v . -.5 -.5
|
||||
v .375 -. -.35
|
||||
v .375 -. .35
|
||||
v .125 -. .35
|
||||
v .125 -. -.35
|
||||
vt .9989 .
|
||||
vt 1. .3329
|
||||
vt .6670 .3340
|
||||
vt .6659 .0010
|
||||
vt .6667 .3441
|
||||
vt .8331 .3446
|
||||
vt .8324 .5777
|
||||
vt .6659 .5772
|
||||
vt .6659 .
|
||||
vt .6170 .3433
|
||||
vt .3839 .3441
|
||||
vt .3329 .0010
|
||||
vt . .6815
|
||||
vt .0822 .3446
|
||||
vt .2487 .3441
|
||||
vt .3329 .6805
|
||||
vt .3329 .
|
||||
vt .2840 .3433
|
||||
vt .0510 .3441
|
||||
vt . .0010
|
||||
vt .5817 .3441
|
||||
vt .6659 .6805
|
||||
vt .3329 .6815
|
||||
vt .4152 .3446
|
||||
usemtl Material
|
||||
s off
|
||||
f 17/49 18/5 19/51 20/52
|
||||
f 21/53 24/54 23/55 22/56
|
||||
f 17/57 21/58 22/59 18/6
|
||||
f 18/61 22/62 23/63 19/64
|
||||
f 19/65 23/66 24/67 20/68
|
||||
f 21/69 17/7 20/71 24/72
|
||||
o Cube
|
||||
v -. -.5 -.5
|
||||
v -. -.5 .5
|
||||
v -.5 -.5 .5
|
||||
v -.5 -.5 -.5
|
||||
v -.125 -. -.35
|
||||
v -.125 -. .35
|
||||
v -.375 -. .35
|
||||
v -.375 -. -.35
|
||||
vt .9989 .
|
||||
vt 1. .3329
|
||||
vt .6670 .3340
|
||||
vt .6659 .0010
|
||||
vt .6667 .3441
|
||||
vt .8331 .3446
|
||||
vt .8324 .5777
|
||||
vt .6659 .5772
|
||||
vt .6659 .
|
||||
vt .6170 .3433
|
||||
vt .3839 .3441
|
||||
vt .3329 .0010
|
||||
vt . .6815
|
||||
vt .0822 .3446
|
||||
vt .2487 .3441
|
||||
vt .3329 .6805
|
||||
vt .3329 .
|
||||
vt .2840 .3433
|
||||
vt .0510 .3441
|
||||
vt . .0010
|
||||
vt .5817 .3441
|
||||
vt .6659 .6805
|
||||
vt .3329 .6815
|
||||
vt .4152 .3446
|
||||
usemtl Material
|
||||
s off
|
||||
f 25/73 26/74 27/75 28/76
|
||||
f 29/77 32/78 31/79 30/8
|
||||
f 25/81 29/82 30/83 26/84
|
||||
f 26/85 30/86 31/87 27/88
|
||||
f 27/89 31/9 32/91 28/92
|
||||
f 29/93 25/94 28/95 32/96
|
|
@ -0,0 +1,214 @@
|
|||
# Blender v2.69 (sub . OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib garnet.mtl
|
||||
o Icosphere
|
||||
v . -.5028 .
|
||||
v .1521 -.4613 .1051
|
||||
v -.0581 -.4613 .1701
|
||||
v -.1880 -.4613 .
|
||||
v -.0581 -.4613 -.1701
|
||||
v .1521 -.4613 -.1051
|
||||
v .0581 -.3942 .1701
|
||||
v -.1521 -.3942 .1051
|
||||
v -.1521 -.3942 -.1051
|
||||
v .0581 -.3942 -.1701
|
||||
v .1880 -.3942 .
|
||||
v . -.3528 .
|
||||
v -.0341 -.4916 .0999
|
||||
v .0894 -.4916 .0618
|
||||
v .0552 -.4672 .1618
|
||||
v .1788 -.4672 .
|
||||
v .0894 -.4916 -.0618
|
||||
v -.1105 -.4916 .
|
||||
v -.1447 -.4672 .0999
|
||||
v -.0341 -.4916 -.0999
|
||||
v -.1447 -.4672 -.0999
|
||||
v .0552 -.4672 -.1618
|
||||
v .2 -.4278 .0618
|
||||
v .2 -.4278 -.0618
|
||||
v . -.4278 .2
|
||||
v .1236 -.4278 .1618
|
||||
v -.2 -.4278 .0618
|
||||
v -.1236 -.4278 .1618
|
||||
v -.1236 -.4278 -.1618
|
||||
v -.2 -.4278 -.0618
|
||||
v .1236 -.4278 -.1618
|
||||
v . -.4278 -.2
|
||||
v .1447 -.3883 .0999
|
||||
v -.0552 -.3883 .1618
|
||||
v -.1788 -.3883 .
|
||||
v -.0552 -.3883 -.1618
|
||||
v .1447 -.3883 -.0999
|
||||
v .0341 -.3640 .0999
|
||||
v .1105 -.3640 .
|
||||
v -.0894 -.3640 .0618
|
||||
v -.0894 -.3640 -.0618
|
||||
v .0341 -.3640 -.0999
|
||||
vt .5554 .6341
|
||||
vt .5650 .5049
|
||||
vt .6675 .5894
|
||||
vt .5554 .3861
|
||||
vt .4378 .4337
|
||||
vt .6036 .7163
|
||||
vt .4616 .7102
|
||||
vt .4378 .5795
|
||||
vt .1079 .0676
|
||||
vt .2066 .
|
||||
vt .2229 .1193
|
||||
vt .7793 .1383
|
||||
vt .7282 .0579
|
||||
vt .8703 .0589
|
||||
vt .7882 .3861
|
||||
vt .7742 .2678
|
||||
vt .9039 .3343
|
||||
vt .4423 .0676
|
||||
vt .5574 .1193
|
||||
vt .4296 .1930
|
||||
vt .9986 .5208
|
||||
vt .9986 .6468
|
||||
vt .8974 .5836
|
||||
vt .0952 .1930
|
||||
vt .8987 .1887
|
||||
vt .6597 .1930
|
||||
vt .6688 .3124
|
||||
vt .5574 .2668
|
||||
vt .3344 .1193
|
||||
vt .9026 .4379
|
||||
vt .5316 .1748
|
||||
vt .3141 .3075
|
||||
vt .3165 .0642
|
||||
vt .1804 .5106
|
||||
vt .1719 .2704
|
||||
vt .3691 .3839
|
||||
vt .5933 .7527
|
||||
vt .3691 .6619
|
||||
vt .6117 .5262
|
||||
vt .6476 .7853
|
||||
vt .5074 .8768
|
||||
vt .5063 .6272
|
||||
vt .8418 .3952
|
||||
vt .7336 .5744
|
||||
vt .6204 .3979
|
||||
vt .6688 .1870
|
||||
vt .6675 .4437
|
||||
vt .3389 .5131
|
||||
vt .6740 .3326
|
||||
vt .5411 .
|
||||
vt .6688 .0737
|
||||
vt .3344 .6391
|
||||
vt .4033 .
|
||||
vt .3514 .6032
|
||||
vt .1395 .7228
|
||||
vt .1277 .4813
|
||||
vt .3344 .0737
|
||||
vt .3344 .4032
|
||||
vt .7610 .2511
|
||||
vt .5888 .4231
|
||||
vt . .2668
|
||||
vt .0000 .1193
|
||||
vt .7310 .9598
|
||||
vt .7193 .6323
|
||||
vt .9469 .7736
|
||||
vt .2674 .7470
|
||||
vt .5455 .7610
|
||||
vt .3968 .9469
|
||||
vt .8753 .7914
|
||||
vt .7355 .9783
|
||||
vt .8689 .7133
|
||||
vt .9469 .4902
|
||||
vt .6553 .3405
|
||||
vt .5927 .0294
|
||||
vt .6209 .9754
|
||||
vt .7720 .7415
|
||||
vt .1719 .7202
|
||||
vt .0440 .7051
|
||||
vt .1710 .9529
|
||||
vt .9894 .5621
|
||||
vt .4145 .1347
|
||||
vt .6852 .1230
|
||||
vt .5933 .2798
|
||||
vt .0791 .2444
|
||||
vt .8071 .3650
|
||||
vt .8071 .6430
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 14/2 13/3
|
||||
f 2/4 14/2 16/5
|
||||
f 1/1 13/3 18/6
|
||||
f 1/1 18/6 20/7
|
||||
f 1/1 20/7 17/8
|
||||
f 2/9 16/1 23/11
|
||||
f 3/12 15/13 25/14
|
||||
f 4/15 19/16 27/17
|
||||
f 5/18 21/19 29/2
|
||||
f 6/21 22/22 31/23
|
||||
f 2/9 23/11 26/24
|
||||
f 3/12 25/14 28/25
|
||||
f 4/26 27/27 30/28
|
||||
f 5/18 29/2 32/29
|
||||
f 6/21 31/23 24/3
|
||||
f 7/31 33/32 38/33
|
||||
f 8/34 34/35 40/36
|
||||
f 9/37 35/38 41/39
|
||||
f 10/4 36/41 42/42
|
||||
f 11/43 37/44 39/45
|
||||
f 13/46 15/13 3/12
|
||||
f 13/3 14/2 15/47
|
||||
f 14/2 2/4 15/47
|
||||
f 16/5 17/8 6/48
|
||||
f 16/5 14/2 17/8
|
||||
f 14/2 1/1 17/8
|
||||
f 18/49 19/16 4/15
|
||||
f 18/49 13/46 19/16
|
||||
f 13/46 3/12 19/16
|
||||
f 20/5 21/19 5/18
|
||||
f 20/5 18/51 21/19
|
||||
f 18/51 4/26 21/19
|
||||
f 17/8 22/52 6/48
|
||||
f 17/8 20/7 22/52
|
||||
f 20/5 5/18 22/53
|
||||
f 23/54 24/55 11/56
|
||||
f 23/11 16/1 24/57
|
||||
f 16/5 6/48 24/58
|
||||
f 25/59 26/6 7/31
|
||||
f 25/61 15/62 26/24
|
||||
f 15/62 2/9 26/24
|
||||
f 27/63 28/64 8/65
|
||||
f 27/17 19/16 28/25
|
||||
f 19/16 3/12 28/25
|
||||
f 29/66 30/67 9/68
|
||||
f 29/2 21/19 30/28
|
||||
f 21/19 4/26 30/28
|
||||
f 31/69 32/7 10/4
|
||||
f 31/23 22/22 32/71
|
||||
f 22/53 5/18 32/29
|
||||
f 26/6 33/32 7/31
|
||||
f 26/6 23/54 33/32
|
||||
f 23/54 11/56 33/32
|
||||
f 28/64 34/72 8/65
|
||||
f 28/64 25/73 34/72
|
||||
f 25/59 7/31 34/74
|
||||
f 30/67 35/75 9/68
|
||||
f 30/67 27/76 35/75
|
||||
f 27/77 8/34 35/38
|
||||
f 32/7 36/41 10/4
|
||||
f 32/78 29/66 36/79
|
||||
f 29/66 9/68 36/79
|
||||
f 24/8 37/44 11/43
|
||||
f 24/8 31/69 37/44
|
||||
f 31/69 10/4 37/44
|
||||
f 38/81 39/82 12/83
|
||||
f 38/33 33/32 39/84
|
||||
f 33/32 11/56 39/84
|
||||
f 40/36 38/81 12/83
|
||||
f 40/36 34/35 38/81
|
||||
f 34/74 7/31 38/33
|
||||
f 41/39 40/36 12/83
|
||||
f 41/39 35/38 40/36
|
||||
f 35/38 8/34 40/36
|
||||
f 42/85 41/39 12/83
|
||||
f 42/85 36/86 41/39
|
||||
f 36/86 9/37 41/39
|
||||
f 39/82 42/85 12/83
|
||||
f 39/45 37/44 42/42
|
||||
f 37/44 10/4 42/42
|
|
@ -0,0 +1,494 @@
|
|||
# Blender v2.69 (sub . OBJ File: 'gemstonestonekvadrat.blend'
|
||||
# www.blender.org
|
||||
mtllib gemstone_cubic.mtl
|
||||
o Icosphere
|
||||
v -.1076 -.4692 -.2464
|
||||
v -.1553 -.5564 -.2362
|
||||
v -.4625 -.3887 -.2400
|
||||
v -.4147 -.3015 -.2502
|
||||
v -.1032 -.4588 -.1369
|
||||
v -.1510 -.5460 -.1268
|
||||
v -.4582 -.3783 -.1306
|
||||
v -.4104 -.2911 -.1407
|
||||
v .1291 -.3105 .4859
|
||||
v .0322 -.2414 .5017
|
||||
v -.0689 -.3533 .3704
|
||||
v .0278 -.4224 .3546
|
||||
v .1656 -.2390 .3967
|
||||
v .0688 -.1699 .4126
|
||||
v -.0324 -.2817 .2813
|
||||
v .0643 -.3508 .2655
|
||||
v .1803 -.3347 -.1927
|
||||
v .2278 -.2267 -.2853
|
||||
v .4712 -.3157 -.2640
|
||||
v .4237 -.4236 -.1714
|
||||
v .1955 -.2743 -.1144
|
||||
v .2431 -.1663 -.2071
|
||||
v .4864 -.2553 -.1858
|
||||
v .4389 -.3632 -.0932
|
||||
v -.2421 -.3901 .3024
|
||||
v -.3382 -.2893 .2879
|
||||
v -.4023 -.3885 .0230
|
||||
v -.3062 -.4892 .0375
|
||||
v -.1451 -.3055 .2472
|
||||
v -.2412 -.2047 .2327
|
||||
v -.3053 -.3039 -.0320
|
||||
v -.2092 -.4047 -.0175
|
||||
v .0419 -.1362 .1706
|
||||
v -.0404 -.0498 .1582
|
||||
v -.0846 -.1182 -.0243
|
||||
v -.0022 -.2046 -.0119
|
||||
v .1250 -.0637 .1234
|
||||
v .0427 .0226 .1110
|
||||
v -.0015 -.0457 -.0716
|
||||
v .0808 -.1321 -.0592
|
||||
v .4056 -.3687 .3113
|
||||
v .3026 -.2607 .2958
|
||||
v .2363 -.3633 .0218
|
||||
v .3392 -.4713 .0373
|
||||
v .5095 -.2781 .2522
|
||||
v .4065 -.1701 .2367
|
||||
v .3402 -.2727 -.0372
|
||||
v .4432 -.3807 -.0217
|
||||
v -.2211 -.3052 -.2606
|
||||
v -.2209 -.2460 -.3412
|
||||
v .0641 -.3215 -.3960
|
||||
v .0640 -.3807 -.3154
|
||||
v -.1900 -.2286 -.2043
|
||||
v -.1898 -.1694 -.2849
|
||||
v .0952 -.2449 -.3397
|
||||
v .0950 -.3041 -.2591
|
||||
v .0470 -.6875 -.0112
|
||||
v .3513 -.5687 .1990
|
||||
v -.0691 -.5687 .3290
|
||||
v -.3291 -.5687 -.0112
|
||||
v -.0691 -.5687 -.3515
|
||||
v .3513 -.5687 -.2215
|
||||
v .1632 -.3166 .3290
|
||||
v -.2572 -.3166 .1990
|
||||
v -.2572 -.3166 -.2215
|
||||
v .1632 -.3166 -.3515
|
||||
v .4232 -.3166 -.0112
|
||||
v .0470 -.0875 -.0112
|
||||
v -.0212 -.6257 .1887
|
||||
v .2259 -.6257 .1123
|
||||
v .1576 -.6012 .3123
|
||||
v .4048 -.6012 -.0112
|
||||
v .2259 -.6257 -.1348
|
||||
v -.1740 -.6257 -.0112
|
||||
v -.2423 -.6012 .1887
|
||||
v -.0212 -.6257 -.2112
|
||||
v -.2423 -.6012 -.2112
|
||||
v .1576 -.6012 -.3348
|
||||
v .4470 -.5018 .1123
|
||||
v .4470 -.5018 -.1348
|
||||
v .0470 -.5018 .3887
|
||||
v .2942 -.5018 .3123
|
||||
v -.3529 -.5018 .1123
|
||||
v -.2001 -.5018 .3123
|
||||
v -.2001 -.5018 -.3348
|
||||
v -.3529 -.5018 -.1348
|
||||
v .2942 -.5018 -.3348
|
||||
v .0470 -.5018 -.4112
|
||||
v .3364 -.2840 .1887
|
||||
v -.0635 -.2840 .3123
|
||||
v -.3107 -.2840 -.0112
|
||||
v -.0635 -.2840 -.3348
|
||||
v .3364 -.2840 -.2112
|
||||
v .1153 -.1494 .1887
|
||||
v .2681 -.1494 -.0112
|
||||
v -.1318 -.1494 .1123
|
||||
v -.1318 -.1494 -.1348
|
||||
v .1153 -.1494 -.2112
|
||||
vt .5005 .0005
|
||||
vt .9992 .0017
|
||||
vt 1. 1.
|
||||
vt .5004 .9992
|
||||
vt .5015 .0024
|
||||
vt .5004 .9995
|
||||
vt .9980 .9984
|
||||
vt .9994 -.0003
|
||||
vt .5007 .0007
|
||||
vt .9994 .0049
|
||||
vt .9995 .9992
|
||||
vt .5005 .9998
|
||||
vt .9992 .0038
|
||||
vt .9996 .9991
|
||||
vt .5005 .9997
|
||||
vt .5009 .0010
|
||||
vt .5006 .0005
|
||||
vt .9997 .0026
|
||||
vt .9995 .9991
|
||||
vt .5006 .9995
|
||||
vt .9997 .9992
|
||||
vt .5008 .9995
|
||||
vt .5005 .0005
|
||||
vt .9991 .0022
|
||||
vt .9974 .0020
|
||||
vt .9974 .9888
|
||||
vt .5046 .9970
|
||||
vt .5070 .0004
|
||||
vt .9976 .0063
|
||||
vt .9976 .9927
|
||||
vt .5034 .9986
|
||||
vt .5059 .0022
|
||||
vt .5016 1.0007
|
||||
vt .5035 .0017
|
||||
vt .9996 -.0004
|
||||
vt .9996 .9954
|
||||
vt .9981 .0079
|
||||
vt .9981 .9932
|
||||
vt .5045 .9976
|
||||
vt .5094 .0025
|
||||
vt .5043 .0035
|
||||
vt .9983 .0039
|
||||
vt .9983 .9965
|
||||
vt .5018 .9986
|
||||
vt .5053 .0029
|
||||
vt .9988 .0026
|
||||
vt .9988 .9929
|
||||
vt .5028 .9983
|
||||
vt .9951 -.0000
|
||||
vt .9968 .9949
|
||||
vt .5013 .9906
|
||||
vt .5030 -.0043
|
||||
vt .5015 .9942
|
||||
vt .5015 -.0006
|
||||
vt .9976 .0005
|
||||
vt .9976 .9954
|
||||
vt .5019 .9949
|
||||
vt .5103 .0025
|
||||
vt 1.0000 -.0040
|
||||
vt 1.0000 .9883
|
||||
vt .9904 .0028
|
||||
vt 1.0005 .9902
|
||||
vt .5043 .9873
|
||||
vt .5110 -.0000
|
||||
vt .5014 .0038
|
||||
vt .9977 -.0023
|
||||
vt .9977 .9926
|
||||
vt .5014 .9919
|
||||
vt 1.0027 .9951
|
||||
vt .5100 .9925
|
||||
vt .5100 .0040
|
||||
vt .9893 .0066
|
||||
vt .5031 .9927
|
||||
vt .5104 -.0010
|
||||
vt .9952 .0085
|
||||
vt .9952 .9877
|
||||
vt .9979 .0051
|
||||
vt .9987 .9973
|
||||
vt .5017 .9979
|
||||
vt .5065 .0081
|
||||
vt .5076 -.0005
|
||||
vt .9971 .0100
|
||||
vt .9947 .9897
|
||||
vt .5028 .9887
|
||||
vt .9962 .0108
|
||||
vt .9962 .9964
|
||||
vt .5053 .9904
|
||||
vt .5053 .0087
|
||||
vt .9958 .9920
|
||||
vt .5059 .9953
|
||||
vt .5014 -.0035
|
||||
vt .9958 .0110
|
||||
vt .5066 .0102
|
||||
vt .9959 .0091
|
||||
vt .9959 .9892
|
||||
vt .5066 .9903
|
||||
vt .9904 .0057
|
||||
vt .9965 .9860
|
||||
vt .5085 .9983
|
||||
vt .5055 -.0001
|
||||
vt .9925 .0131
|
||||
vt .9955 .9933
|
||||
vt .5082 .9912
|
||||
vt .5022 -.0011
|
||||
vt .9959 .9952
|
||||
vt .5044 .9945
|
||||
vt .5044 .0075
|
||||
vt .9978 .0044
|
||||
vt .5013 .9969
|
||||
vt .5013 .0047
|
||||
vt .9951 .0024
|
||||
vt .9951 .9946
|
||||
vt .5009 1.0001
|
||||
vt .9982 .9957
|
||||
vt .9980 .0037
|
||||
vt .5005 .0000
|
||||
vt .5004 .0002
|
||||
vt .9996 .0001
|
||||
vt .9997 .9998
|
||||
vt .5023 .9956
|
||||
vt .5051 .9995
|
||||
vt .5034 -.0080
|
||||
vt 1.0000 -.0013
|
||||
vt 1.0000 1.0028
|
||||
vt .9992 -.0042
|
||||
vt .9992 1.0038
|
||||
vt .5015 .9973
|
||||
vt .5048 -.0068
|
||||
vt .5033 -.0083
|
||||
vt 1. .
|
||||
vt .5067 1.
|
||||
vt .5044 1.0003
|
||||
vt .5044 -.0073
|
||||
vt .9988 -.0068
|
||||
vt .9971 1.0009
|
||||
vt .9994 1.0016
|
||||
vt .5072 1.0016
|
||||
vt .5037 -.0063
|
||||
vt .9994 -.0028
|
||||
vt .9994 .9981
|
||||
vt .5018 .9921
|
||||
vt .5015 -.0004
|
||||
vt 1.0011 -.0047
|
||||
vt .5046 .0038
|
||||
vt 1.0007 .0024
|
||||
vt 1.0007 .9962
|
||||
vt .5077 .9945
|
||||
vt .5092 .9897
|
||||
vt .5060 .0085
|
||||
vt .9978 .0053
|
||||
vt .9978 .9927
|
||||
vt .5059 .0057
|
||||
vt .9988 .0069
|
||||
vt .9988 .9952
|
||||
vt .5059 .9903
|
||||
vt .5067 .9896
|
||||
vt .5051 .0097
|
||||
vt .9992 .0138
|
||||
vt .9977 .9906
|
||||
vt .9962 .9898
|
||||
vt .5072 .9834
|
||||
vt .5072 .0030
|
||||
vt .9962 .0094
|
||||
vt .9968 .9914
|
||||
vt .5059 .9922
|
||||
vt .5075 .0045
|
||||
vt .9984 .0099
|
||||
vt .1909 .4193
|
||||
vt .4531 .6036
|
||||
vt .1707 .7360
|
||||
vt .4250 .6928
|
||||
vt .2387 .6784
|
||||
vt .4338 .5073
|
||||
vt .1678 .7038
|
||||
vt .1318 .4398
|
||||
vt .3669 .6462
|
||||
vt .2138 .9133
|
||||
vt .0135 .5202
|
||||
vt .0133 .2665
|
||||
vt .2387 .3516
|
||||
vt .4985 .6867
|
||||
vt .2268 .1438
|
||||
vt .2163 .3390
|
||||
vt .2647 .2482
|
||||
vt .4725 .6317
|
||||
vt .4036 .3493
|
||||
vt .4856 .0579
|
||||
vt .3117 .9317
|
||||
vt .2240 .8400
|
||||
vt .3180 .4402
|
||||
vt .4075 .2342
|
||||
vt .1913 .0923
|
||||
vt .4051 .0917
|
||||
vt .4051 .9473
|
||||
vt .2516 .5190
|
||||
vt .1280 .4853
|
||||
vt .1887 .2565
|
||||
vt .2465 .6097
|
||||
vt .4871 .2058
|
||||
vt .4947 .8539
|
||||
vt .4373 .5435
|
||||
vt .4926 .3084
|
||||
vt .2159 .4845
|
||||
vt .1323 .6787
|
||||
vt .0166 .4163
|
||||
vt .1069 .4557
|
||||
vt .1763 .1724
|
||||
vt .2805 .2310
|
||||
vt .2555 .7589
|
||||
vt .1715 .6184
|
||||
vt .3287 .4272
|
||||
vt .2705 .5342
|
||||
vt .2816 .7476
|
||||
vt .0740 .6909
|
||||
vt .3605 .6349
|
||||
vt .1899 .8353
|
||||
vt .2743 .4161
|
||||
vt .0071 .7890
|
||||
vt .1913 .9479
|
||||
vt .4160 .3443
|
||||
vt .4550 .6292
|
||||
vt .2914 .9894
|
||||
vt .4219 .6987
|
||||
vt .0419 .4358
|
||||
vt .4076 .4058
|
||||
vt .3838 .9778
|
||||
vt -.0037 .2633
|
||||
vt .3739 .9927
|
||||
vt .4926 .6120
|
||||
vt .3131 .9993
|
||||
vt .4907 .6929
|
||||
vt .4461 .3828
|
||||
vt .3978 .6580
|
||||
vt .2079 .7036
|
||||
vt .0633 .7061
|
||||
vt .1084 .5490
|
||||
vt .2274 .5652
|
||||
vt .1062 .2377
|
||||
vt .4968 .0304
|
||||
vt .3189 .0620
|
||||
vt .2316 .9901
|
||||
vt .0873 .9774
|
||||
vt .1231 .5302
|
||||
vt .4920 .9806
|
||||
vt .4882 .9859
|
||||
vt .3482 .9576
|
||||
vt .4823 .8140
|
||||
vt .4967 .9684
|
||||
vt .3602 .9856
|
||||
vt .4696 .2348
|
||||
vt .4699 .1192
|
||||
vt .2105 .2334
|
||||
vt .2563 .0360
|
||||
vt .0048 .8090
|
||||
vt .0047 .8008
|
||||
vt .4235 .3860
|
||||
vt .2235 .6184
|
||||
vt .4050 .6389
|
||||
vt .0255 .9797
|
||||
vt .0029 .7567
|
||||
vt .3731 .0162
|
||||
vt .1674 .2795
|
||||
vt .3531 .0022
|
||||
vt .4409 .0998
|
||||
vt .0403 .1527
|
||||
vt .4945 .2515
|
||||
vt .0355 .7122
|
||||
vt .0740 .4049
|
||||
usemtl None
|
||||
s off
|
||||
f 5/1 6/2 2/3 1/4
|
||||
f 6/5 7/6 3/7 2/8
|
||||
f 7/9 8/1 4/11 3/12
|
||||
f 8/13 5/14 1/15 4/16
|
||||
f 1/17 2/18 3/19 4/2
|
||||
f 8/21 7/22 6/23 5/24
|
||||
f 13/25 14/26 10/27 9/28
|
||||
f 14/29 15/3 11/31 10/32
|
||||
f 15/33 16/34 12/35 11/36
|
||||
f 16/37 13/38 9/39 12/4
|
||||
f 9/41 10/42 11/43 12/44
|
||||
f 16/45 15/46 14/47 13/48
|
||||
f 21/49 22/5 18/51 17/52
|
||||
f 22/53 23/54 19/55 18/56
|
||||
f 23/57 24/58 20/59 19/6
|
||||
f 24/61 21/62 17/63 20/64
|
||||
f 17/65 18/66 19/67 20/68
|
||||
f 24/69 23/7 22/71 21/72
|
||||
f 29/73 30/74 26/75 25/76
|
||||
f 30/77 31/78 27/79 26/8
|
||||
f 31/81 32/82 28/83 27/84
|
||||
f 32/85 29/86 25/87 28/88
|
||||
f 25/89 26/9 27/91 28/92
|
||||
f 32/93 31/94 30/95 29/96
|
||||
f 37/97 38/98 34/99 33/1
|
||||
f 38/101 39/102 35/103 34/104
|
||||
f 39/105 40/106 36/107 35/108
|
||||
f 40/109 37/11 33/111 36/112
|
||||
f 33/113 34/114 35/115 36/116
|
||||
f 40/117 39/118 38/119 37/12
|
||||
f 45/121 46/122 42/123 41/124
|
||||
f 46/125 47/126 43/127 42/128
|
||||
f 47/129 48/13 44/3 43/131
|
||||
f 48/132 45/133 41/134 44/135
|
||||
f 41/136 42/137 43/138 44/139
|
||||
f 48/14 47/141 46/142 45/143
|
||||
f 53/144 54/145 50/146 49/147
|
||||
f 54/148 55/149 51/15 50/151
|
||||
f 55/152 56/153 52/154 51/155
|
||||
f 56/156 53/157 49/158 52/159
|
||||
f 49/16 50/161 51/162 52/163
|
||||
f 56/164 55/165 54/166 53/167
|
||||
f 57/168 70/169 69/17
|
||||
f 58/171 70/172 72/173
|
||||
f 57/174 69/175 74/176
|
||||
f 57/174 74/176 76/177
|
||||
f 57/178 76/179 73/18
|
||||
f 58/171 72/173 79/181
|
||||
f 59/182 71/183 81/184
|
||||
f 60/185 75/186 83/187
|
||||
f 61/188 77/189 85/19
|
||||
f 62/191 78/192 87/193
|
||||
f 58/171 79/181 82/194
|
||||
f 59/195 81/196 84/197
|
||||
f 60/198 83/199 86/2
|
||||
f 61/188 85/19 88/201
|
||||
f 62/191 87/193 80/202
|
||||
f 63/203 89/204 94/205
|
||||
f 64/206 90/207 96/208
|
||||
f 65/209 91/21 97/211
|
||||
f 66/212 92/213 98/214
|
||||
f 67/215 93/216 95/217
|
||||
f 69/175 71/183 59/182
|
||||
f 69/218 70/172 71/219
|
||||
f 70/172 58/171 71/219
|
||||
f 72/173 73/18 62/191
|
||||
f 72/173 70/172 73/18
|
||||
f 70/172 57/178 73/18
|
||||
f 74/176 75/22 60/221
|
||||
f 74/176 69/175 75/22
|
||||
f 69/175 59/182 75/22
|
||||
f 76/222 77/189 61/188
|
||||
f 76/223 74/224 77/225
|
||||
f 74/176 60/221 77/226
|
||||
f 73/18 78/192 62/191
|
||||
f 73/18 76/227 78/192
|
||||
f 76/222 61/188 78/228
|
||||
f 79/229 80/23 67/215
|
||||
f 79/231 72/173 80/202
|
||||
f 72/173 62/191 80/202
|
||||
f 81/232 82/233 63/203
|
||||
f 81/196 71/234 82/235
|
||||
f 71/219 58/171 82/194
|
||||
f 83/236 84/237 64/238
|
||||
f 83/239 75/22 84/24
|
||||
f 75/22 59/182 84/24
|
||||
f 85/241 86/242 65/209
|
||||
f 85/19 77/189 86/243
|
||||
f 77/226 60/221 86/244
|
||||
f 87/245 88/246 66/247
|
||||
f 87/248 78/228 88/201
|
||||
f 78/228 61/188 88/201
|
||||
f 82/233 89/204 63/203
|
||||
f 82/233 79/249 89/204
|
||||
f 79/229 67/215 89/25
|
||||
f 84/251 90/252 64/253
|
||||
f 84/251 81/232 90/252
|
||||
f 81/232 63/203 90/252
|
||||
f 86/242 91/21 65/209
|
||||
f 86/242 83/254 91/21
|
||||
f 83/255 64/206 91/21
|
||||
f 88/246 92/256 66/247
|
||||
f 88/246 85/257 92/256
|
||||
f 85/241 65/209 92/258
|
||||
f 80/23 93/216 67/215
|
||||
f 80/23 87/259 93/216
|
||||
f 87/259 66/26 93/216
|
||||
f 94/261 95/217 68/262
|
||||
f 94/261 89/25 95/217
|
||||
f 89/25 67/215 95/217
|
||||
f 96/208 94/263 68/264
|
||||
f 96/265 90/252 94/205
|
||||
f 90/252 63/203 94/205
|
||||
f 97/211 96/208 68/264
|
||||
f 97/211 91/21 96/208
|
||||
f 91/21 64/206 96/208
|
||||
f 98/266 97/211 68/264
|
||||
f 98/266 92/258 97/211
|
||||
f 92/258 65/209 97/211
|
||||
f 95/217 98/267 68/262
|
||||
f 95/217 93/216 98/267
|
||||
f 93/268 66/212 98/214
|
|
@ -0,0 +1,391 @@
|
|||
# Blender v2.69 (sub . OBJ File: 'untitled.blend'
|
||||
# www.blender.org
|
||||
mtllib untitled.mtl
|
||||
o Cube.003
|
||||
v -.0515 -.4364 -.2155
|
||||
v -.0554 -.4321 -.1860
|
||||
v -.0824 -.4452 -.1877
|
||||
v -.0785 -.4495 -.2171
|
||||
v -.1019 -.3298 -.2377
|
||||
v -.1058 -.3255 -.2082
|
||||
v -.1327 -.3386 -.2099
|
||||
v -.1288 -.3429 -.2393
|
||||
v .1260 -.3432 -.3038
|
||||
v .1194 -.3285 -.2785
|
||||
v .0921 -.3222 -.2892
|
||||
v .0987 -.3369 -.3145
|
||||
v .1682 -.2416 -.3517
|
||||
v .1616 -.2269 -.3264
|
||||
v .1343 -.2206 -.3371
|
||||
v .1409 -.2353 -.3624
|
||||
v .1967 -.4742 -.0952
|
||||
v .2061 -.4686 -.0567
|
||||
v .1724 -.4477 -.0515
|
||||
v .1630 -.4533 -.0900
|
||||
v .2839 -.3228 -.1384
|
||||
v .2933 -.3172 -.1000
|
||||
v .2596 -.2963 -.0948
|
||||
v .2502 -.3019 -.1333
|
||||
v .0540 -.3689 .2908
|
||||
v .0807 -.3589 .3002
|
||||
v .0681 -.3489 .3254
|
||||
v .0414 -.3589 .3161
|
||||
v .0328 -.2632 .2382
|
||||
v .0595 -.2532 .2476
|
||||
v .0468 -.2431 .2728
|
||||
v .0201 -.2532 .2635
|
||||
v -.1721 -.3174 .0985
|
||||
v -.1602 -.3266 .1245
|
||||
v -.1769 -.3515 .1234
|
||||
v -.1888 -.3423 .0974
|
||||
v -.2596 -.2613 .1584
|
||||
v -.2478 -.2705 .1844
|
||||
v -.2645 -.2953 .1832
|
||||
v -.2764 -.2861 .1572
|
||||
v .1374 -.3489 .0914
|
||||
v .1396 -.3722 .1102
|
||||
v .1106 -.3783 .1060
|
||||
v .1083 -.3551 .0872
|
||||
v .1089 -.2773 .1834
|
||||
v .1112 -.3006 .2022
|
||||
v .0821 -.3068 .1980
|
||||
v .0799 -.2835 .1792
|
||||
v .0594 -.3007 -.0841
|
||||
v .0465 -.2864 .0140
|
||||
v -.0433 -.3300 .0085
|
||||
v -.0303 -.3443 -.0896
|
||||
v -.1250 .0902 -.1655
|
||||
v -.1380 .1045 -.0674
|
||||
v -.2278 .0610 -.0729
|
||||
v -.2149 .0467 -.1710
|
||||
v .0162 -.2744 -.0444
|
||||
v -.0188 -.2564 -.0355
|
||||
v -.0364 -.2753 -.0666
|
||||
v -.0014 -.2933 -.0755
|
||||
v .0646 -.1204 -.1655
|
||||
v .0295 -.1024 -.1566
|
||||
v .0119 -.1213 -.1877
|
||||
v .0470 -.1393 -.1966
|
||||
v .0016 -.2094 -.0203
|
||||
v .0061 -.2559 .0172
|
||||
v -.0519 -.2683 .0088
|
||||
v -.0564 -.2218 -.0287
|
||||
v -.0457 -.0901 .1330
|
||||
v -.0412 -.1367 .1706
|
||||
v -.0994 -.1490 .1622
|
||||
v -.1039 -.1025 .1246
|
||||
v .0320 -.2982 -.0361
|
||||
v .0436 -.2912 .0119
|
||||
v .0015 -.2650 .0183
|
||||
v -.0101 -.2721 -.0297
|
||||
v .1288 -.1299 -.0842
|
||||
v .1405 -.1229 -.0361
|
||||
v .0984 -.0968 -.0297
|
||||
v .0867 -.1038 -.0778
|
||||
v .0329 -.2657 -.0596
|
||||
v .0329 -.2657 .0203
|
||||
v -.0470 -.2657 .0203
|
||||
v -.0470 -.2657 -.0596
|
||||
v .0329 .0342 -.0596
|
||||
v .0329 .0342 .0203
|
||||
v -.0470 .0342 .0203
|
||||
v -.0470 .0342 -.0596
|
||||
v . -.5653 -.
|
||||
v .1902 -.5104 .1971
|
||||
v -.0726 -.5104 .3189
|
||||
v -.2351 -.5104 -.
|
||||
v -.0726 -.5104 -.3189
|
||||
v .1902 -.5104 -.1971
|
||||
v .0726 -.3269 .3189
|
||||
v -.1902 -.3100 .1971
|
||||
v -.0678 -.2868 -.1480
|
||||
v .1142 -.2868 -.2935
|
||||
v .1726 -.3615 -.
|
||||
v . -.2318 -.
|
||||
v -.0427 -.5280 .1874
|
||||
v .1118 -.5280 .1158
|
||||
v .0690 -.5300 .3033
|
||||
v .2236 -.5300 -.
|
||||
v .1118 -.5280 -.1158
|
||||
v -.1381 -.5280 -.
|
||||
v -.1809 -.5300 .1874
|
||||
v -.0427 -.5280 -.1874
|
||||
v -.1809 -.5300 -.1874
|
||||
v .0690 -.5300 -.3033
|
||||
v .1875 -.3986 .1158
|
||||
v .25 -.3986 -.1158
|
||||
v . -.4387 .375
|
||||
v .1545 -.3986 .3033
|
||||
v -.2034 -.4172 .1158
|
||||
v -.1545 -.3986 .3033
|
||||
v -.0321 -.3986 -.2542
|
||||
v -.2034 -.4172 -.0667
|
||||
v .1960 -.3986 -.3033
|
||||
v .0415 -.3986 -.3495
|
||||
v .1184 -.3419 .1874
|
||||
v -.0690 -.3291 .3033
|
||||
v -.1770 -.3198 -.
|
||||
v .0532 -.2671 -.2779
|
||||
v .1809 -.2671 -.1874
|
||||
v .0427 -.2910 .1874
|
||||
v .1381 -.3002 -.
|
||||
v -.1118 -.2856 .1158
|
||||
v -.1118 -.1967 -.1158
|
||||
v .0427 -.1859 -.1874
|
||||
vt .5006 .0003
|
||||
vt .9999 .0000
|
||||
vt 1.0000 1.0000
|
||||
vt .5001 .9998
|
||||
vt .5000 .9999
|
||||
vt .5005 .0004
|
||||
vt .9998 .0002
|
||||
vt .9999 1.0000
|
||||
vt .5011 -.0022
|
||||
vt .5001 .9998
|
||||
vt 1.0000 .9999
|
||||
vt .9999 .0004
|
||||
vt .5000 .9998
|
||||
vt .5004 .0002
|
||||
vt .9998 .0003
|
||||
vt 1.0000 1.0000
|
||||
vt .5006 .0002
|
||||
vt 1. .
|
||||
vt 1.0000 .9999
|
||||
vt .5001 .9998
|
||||
vt .9998 .0006
|
||||
vt .9998 1.0001
|
||||
vt .2479 .5051
|
||||
vt .1724 .4118
|
||||
vt .3294 .2124
|
||||
vt .1193 .3463
|
||||
vt .0445 .6472
|
||||
vt .3747 .4185
|
||||
vt .2457 .7454
|
||||
vt .1207 .7413
|
||||
vt .2838 .0427
|
||||
vt .4842 .0300
|
||||
vt .2759 .2353
|
||||
vt .2393 .1060
|
||||
vt .2587 .2796
|
||||
vt .1274 .1839
|
||||
vt .0338 .4490
|
||||
vt .2434 .3731
|
||||
vt .2018 .5732
|
||||
vt .3910 .4943
|
||||
vt .2516 .7786
|
||||
vt .3085 .3718
|
||||
vt .2132 .7613
|
||||
vt .0039 .5446
|
||||
vt .2187 .5447
|
||||
vt .1018 .2203
|
||||
vt .1104 .0203
|
||||
vt .0064 .6213
|
||||
vt .4168 .1916
|
||||
vt .4624 .7353
|
||||
vt .2524 .2764
|
||||
vt .3300 .2858
|
||||
vt .2581 .4413
|
||||
vt .0059 .8119
|
||||
vt .1074 .5286
|
||||
vt .1137 .7576
|
||||
vt .1485 .3948
|
||||
vt .0084 .7101
|
||||
vt .0430 .4023
|
||||
vt .3632 .0194
|
||||
vt .2997 .1048
|
||||
vt .1868 .1103
|
||||
vt .3741 .3358
|
||||
vt .4842 .5182
|
||||
vt .3437 .4628
|
||||
vt .2532 .1183
|
||||
vt .3864 .0070
|
||||
vt .0313 .9067
|
||||
vt .4555 .1250
|
||||
vt .4635 .3577
|
||||
vt .3718 .6580
|
||||
vt .2440 .9137
|
||||
vt .1178 .9807
|
||||
vt .3058 .8891
|
||||
vt .2120 .6250
|
||||
vt .3393 .7271
|
||||
vt .4211 .0601
|
||||
vt .4211 .4324
|
||||
vt .2232 .2525
|
||||
vt .4344 .9582
|
||||
vt .0887 .3928
|
||||
vt .0002 .2954
|
||||
vt .2587 .4561
|
||||
vt .4239 .5589
|
||||
vt .3323 .7272
|
||||
vt .4239 .3813
|
||||
vt .0924 .7950
|
||||
vt .0936 .9944
|
||||
vt .0791 .2973
|
||||
vt .3046 .2870
|
||||
vt .4895 .3036
|
||||
vt .3314 .1110
|
||||
vt .1965 .3716
|
||||
vt .0070 .6365
|
||||
vt .0177 .1286
|
||||
vt .1463 .3022
|
||||
vt .1218 .7646
|
||||
vt .3401 .4061
|
||||
vt .4849 .4148
|
||||
vt .4022 .4093
|
||||
vt .2675 .6806
|
||||
vt .1819 .9682
|
||||
vt .4145 .4107
|
||||
vt .2645 .1742
|
||||
vt .4145 .0699
|
||||
vt .0652 .9246
|
||||
vt .3643 .7672
|
||||
vt .4972 .4893
|
||||
vt .4935 .1192
|
||||
usemtl Material
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 5/5 8/6 7/7 6/8
|
||||
f 1/9 5/1 6/11 2/12
|
||||
f 2/13 6/14 7/15 3/16
|
||||
f 3/17 7/18 8/19 4/2
|
||||
f 5/1 1/9 4/21 8/22
|
||||
f 9/1 10/2 11/3 12/4
|
||||
f 13/5 16/6 15/7 14/8
|
||||
f 9/9 13/1 14/11 10/12
|
||||
f 10/13 14/14 15/15 11/16
|
||||
f 11/17 15/18 16/19 12/2
|
||||
f 13/1 9/9 12/21 16/22
|
||||
f 17/1 18/2 19/3 20/4
|
||||
f 21/5 24/6 23/7 22/8
|
||||
f 17/9 21/1 22/11 18/12
|
||||
f 18/13 22/14 23/15 19/16
|
||||
f 19/17 23/18 24/19 20/2
|
||||
f 21/1 17/9 20/21 24/22
|
||||
f 25/1 26/2 27/3 28/4
|
||||
f 29/5 32/6 31/7 30/8
|
||||
f 25/9 29/1 30/11 26/12
|
||||
f 26/13 30/14 31/15 27/16
|
||||
f 27/17 31/18 32/19 28/2
|
||||
f 29/1 25/9 28/21 32/22
|
||||
f 33/1 34/2 35/3 36/4
|
||||
f 37/5 40/6 39/7 38/8
|
||||
f 33/9 37/1 38/11 34/12
|
||||
f 34/13 38/14 39/15 35/16
|
||||
f 35/17 39/18 40/19 36/2
|
||||
f 37/1 33/9 36/21 40/22
|
||||
f 41/1 42/2 43/3 44/4
|
||||
f 45/5 48/6 47/7 46/8
|
||||
f 41/9 45/1 46/11 42/12
|
||||
f 42/13 46/14 47/15 43/16
|
||||
f 43/17 47/18 48/19 44/2
|
||||
f 45/1 41/9 44/21 48/22
|
||||
f 49/1 50/2 51/3 52/4
|
||||
f 53/5 56/6 55/7 54/8
|
||||
f 49/9 53/1 54/11 50/12
|
||||
f 50/13 54/14 55/15 51/16
|
||||
f 51/17 55/18 56/19 52/2
|
||||
f 53/1 49/9 52/21 56/22
|
||||
f 57/1 58/2 59/3 60/4
|
||||
f 61/5 64/6 63/7 62/8
|
||||
f 57/9 61/1 62/11 58/12
|
||||
f 58/13 62/14 63/15 59/16
|
||||
f 59/17 63/18 64/19 60/2
|
||||
f 61/1 57/9 60/21 64/22
|
||||
f 65/1 66/2 67/3 68/4
|
||||
f 69/5 72/6 71/7 70/8
|
||||
f 65/9 69/1 70/11 66/12
|
||||
f 66/13 70/14 71/15 67/16
|
||||
f 67/17 71/18 72/19 68/2
|
||||
f 69/1 65/9 68/21 72/22
|
||||
f 73/1 74/2 75/3 76/4
|
||||
f 77/5 80/6 79/7 78/8
|
||||
f 73/9 77/1 78/11 74/12
|
||||
f 74/13 78/14 79/15 75/16
|
||||
f 75/17 79/18 80/19 76/2
|
||||
f 77/1 73/9 76/21 80/22
|
||||
f 81/1 82/2 83/3 84/4
|
||||
f 85/5 88/6 87/7 86/8
|
||||
f 81/9 85/1 86/11 82/12
|
||||
f 82/13 86/14 87/15 83/16
|
||||
f 83/17 87/18 88/19 84/2
|
||||
f 85/1 81/9 84/21 88/22
|
||||
f 89/23 102/24 101/25
|
||||
f 90/26 102/24 104/27
|
||||
f 89/23 101/25 106/28
|
||||
f 89/23 106/28 108/29
|
||||
f 89/23 108/29 105/3
|
||||
f 90/31 104/32 111/33
|
||||
f 91/34 103/35 113/36
|
||||
f 92/37 107/38 115/39
|
||||
f 93/4 109/41 117/42
|
||||
f 94/43 110/44 119/45
|
||||
f 90/31 111/33 114/46
|
||||
f 91/34 113/36 116/47
|
||||
f 92/37 115/39 118/48
|
||||
f 93/4 117/42 120/49
|
||||
f 94/43 119/45 112/5
|
||||
f 95/51 121/52 126/53
|
||||
f 96/54 122/55 128/56
|
||||
f 97/57 123/58 129/59
|
||||
f 98/6 124/61 130/62
|
||||
f 99/63 125/64 127/65
|
||||
f 101/25 103/66 91/67
|
||||
f 101/25 102/24 103/66
|
||||
f 102/24 90/26 103/66
|
||||
f 104/27 105/3 94/68
|
||||
f 104/27 102/24 105/3
|
||||
f 102/24 89/23 105/3
|
||||
f 106/28 107/69 92/7
|
||||
f 106/28 101/25 107/69
|
||||
f 101/25 91/67 107/69
|
||||
f 108/29 109/71 93/72
|
||||
f 108/29 106/28 109/71
|
||||
f 106/28 92/7 109/71
|
||||
f 105/3 110/73 94/68
|
||||
f 105/3 108/29 110/73
|
||||
f 108/29 93/72 110/73
|
||||
f 111/74 112/75 99/76
|
||||
f 111/77 104/78 112/79
|
||||
f 104/8 94/43 112/5
|
||||
f 113/36 114/81 95/82
|
||||
f 113/36 103/35 114/81
|
||||
f 103/35 90/83 114/81
|
||||
f 115/39 116/84 96/85
|
||||
f 115/39 107/38 116/84
|
||||
f 107/38 91/86 116/84
|
||||
f 117/42 118/87 97/57
|
||||
f 117/42 109/41 118/87
|
||||
f 109/41 92/88 118/87
|
||||
f 119/45 120/89 98/9
|
||||
f 119/45 110/44 120/89
|
||||
f 110/91 93/4 120/49
|
||||
f 114/92 121/52 95/51
|
||||
f 114/46 111/33 121/93
|
||||
f 111/33 99/63 121/93
|
||||
f 116/94 122/55 96/54
|
||||
f 116/47 113/36 122/95
|
||||
f 113/96 95/51 122/55
|
||||
f 118/87 123/58 97/57
|
||||
f 118/48 115/39 123/97
|
||||
f 115/39 96/85 123/97
|
||||
f 120/49 124/61 98/6
|
||||
f 120/49 117/42 124/61
|
||||
f 117/42 97/57 124/61
|
||||
f 112/75 125/98 99/76
|
||||
f 112/5 119/45 125/99
|
||||
f 119/45 98/9 125/99
|
||||
f 126/53 127/1 100/101
|
||||
f 126/53 121/52 127/1
|
||||
f 121/93 99/63 127/65
|
||||
f 128/56 126/53 100/101
|
||||
f 128/56 122/55 126/53
|
||||
f 122/55 95/51 126/53
|
||||
f 129/102 128/56 100/101
|
||||
f 129/103 123/104 128/105
|
||||
f 123/106 96/54 128/56
|
||||
f 130/107 129/102 100/101
|
||||
f 130/62 124/61 129/59
|
||||
f 124/61 97/57 129/59
|
||||
f 127/1 130/107 100/101
|
||||
f 127/1 125/108 130/107
|
||||
f 125/99 98/9 130/109
|
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 221 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 200 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 205 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 128 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 286 B |
After Width: | Height: | Size: 299 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 299 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 305 B |
|
@ -0,0 +1,161 @@
|
|||
# Blender v2.69 (sub . OBJ File: 'amethist1.blend'
|
||||
# www.blender.org
|
||||
mtllib topaz.mtl
|
||||
o Cube
|
||||
v . -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v -.0875 -.4456 .2
|
||||
v . -.4456 -.2
|
||||
v . -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v -.0875 -.4143 .2
|
||||
v -. -.4143 -.2
|
||||
v . -.4456 -.2
|
||||
v -.0875 -.4456 .2
|
||||
v -. -.4143 -.2
|
||||
v -.0875 -.4143 .2
|
||||
v -. -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v . -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v .175 -.4456 .12
|
||||
v -.175 -.4456 .12
|
||||
v .175 -.4143 .12
|
||||
v -.175 -.4143 .12
|
||||
v -.0875 -.4925 .12
|
||||
v -.0875 -.3675 .12
|
||||
v .0875 -.4925 .12
|
||||
v .0875 -.3675 .12
|
||||
v -.175 -.4456 -.04
|
||||
v -.175 -.4143 -.04
|
||||
v -.0875 -.4925 -.04
|
||||
v .0875 -.4925 -.04
|
||||
v .175 -.4456 -.04
|
||||
v .175 -.4143 -.04
|
||||
v -.0875 -.3675 -.04
|
||||
v .0875 -.3675 -.04
|
||||
vt .2066 .3816
|
||||
vt .3377 .3816
|
||||
vt .3222 .4611
|
||||
vt .3099 .0134
|
||||
vt .0215 .2116
|
||||
vt .0599 .0134
|
||||
vt .0599 .0134
|
||||
vt .6782 .2843
|
||||
vt .7525 .2843
|
||||
vt .7674 .3609
|
||||
vt .6931 .3609
|
||||
vt .4221 .0148
|
||||
vt .4221 .3242
|
||||
vt .5323 .2843
|
||||
vt .5323 .3609
|
||||
vt .4098 .3609
|
||||
vt .4098 .2843
|
||||
vt .2066 .2227
|
||||
vt .3377 .2227
|
||||
vt .3093 .0646
|
||||
vt .3093 .4530
|
||||
vt .0644 .4530
|
||||
vt .0644 .0646
|
||||
vt .2111 .1813
|
||||
vt .3629 .1813
|
||||
vt .3629 .4943
|
||||
vt .2111 .4943
|
||||
vt .5338 .5906
|
||||
vt .6104 .5906
|
||||
vt .6104 .6671
|
||||
vt .5338 .6671
|
||||
vt .3222 .1433
|
||||
vt .2781 .3070
|
||||
vt .6236 .5444
|
||||
vt .3242 .5444
|
||||
vt .2315 .1882
|
||||
vt .1708 .0241
|
||||
vt .2979 .0241
|
||||
vt .2979 .1433
|
||||
vt .1708 .1433
|
||||
vt .0031 .2437
|
||||
vt .0049 .0015
|
||||
vt .3025 -.0011
|
||||
vt .3061 .2437
|
||||
vt .7719 .6566
|
||||
vt .9074 .6566
|
||||
vt .9074 .8735
|
||||
vt .7719 .8735
|
||||
vt .0642 .0023
|
||||
vt .2848 .0023
|
||||
vt .2407 .2296
|
||||
vt .0201 .2296
|
||||
vt .2254 .0001
|
||||
vt .3667 -.0032
|
||||
vt .3736 .2464
|
||||
vt .2288 .2567
|
||||
vt .5629 .1256
|
||||
vt .5629 .5648
|
||||
vt .1890 .5648
|
||||
vt .1890 .1256
|
||||
vt .1529 .1481
|
||||
vt .1529 .2945
|
||||
vt .0156 .2945
|
||||
vt .0156 .1481
|
||||
vt .6637 .6435
|
||||
vt .9321 .6435
|
||||
vt .9321 .9297
|
||||
vt .6637 .9297
|
||||
vt .2819 .0024
|
||||
vt .2819 .1755
|
||||
vt .0050 .1755
|
||||
vt .0050 .0024
|
||||
vt .0437 .1433
|
||||
vt .0386 .1484
|
||||
vt .3441 .1484
|
||||
vt .3441 .4349
|
||||
vt .7719 .4398
|
||||
vt .9074 .4398
|
||||
vt .0428 .0823
|
||||
vt .0428 .1986
|
||||
vt .6682 .7036
|
||||
vt .6682 .8470
|
||||
vt .4387 .9187
|
||||
vt .4387 .6319
|
||||
vt .1529 .0017
|
||||
vt .5807 .5611
|
||||
vt .8640 .8633
|
||||
vt .5807 .8633
|
||||
vt . .
|
||||
vt 1. .
|
||||
vt 1. 1.
|
||||
vt . 1.
|
||||
usemtl Material
|
||||
s off
|
||||
f 21/1 10/2 3/2 18/3
|
||||
f 22/4 20/5 7/6 12/7
|
||||
f 17/8 19/9 6/1 2/11
|
||||
f 10/12 12/13 7/13 3/12
|
||||
f 25/14 26/15 8/16 4/17
|
||||
f 23/18 14/19 10/2 21/1
|
||||
f 24/2 22/21 12/22 16/23
|
||||
f 14/24 16/25 12/26 10/27
|
||||
f 15/28 13/29 9/3 11/31
|
||||
f 17/32 2/19 14/19 23/18
|
||||
f 19/33 24/34 16/35 6/35
|
||||
f 2/11 6/1 16/1 14/11
|
||||
f 5/36 1/36 13/36 15/36
|
||||
f 27/37 21/38 18/39 25/4
|
||||
f 31/41 26/42 20/43 22/44
|
||||
f 29/45 30/46 19/47 17/48
|
||||
f 3/49 7/5 20/51 18/52
|
||||
f 28/53 23/54 21/55 27/56
|
||||
f 32/57 31/58 22/59 24/6
|
||||
f 29/61 17/62 23/63 28/64
|
||||
f 30/65 32/66 24/67 19/68
|
||||
f 18/69 20/7 26/71 25/72
|
||||
f 9/73 27/37 25/4 4/73
|
||||
f 11/74 8/74 26/75 31/76
|
||||
f 1/77 5/78 30/46 29/45
|
||||
f 13/79 28/53 27/56 9/8
|
||||
f 15/81 11/82 31/83 32/84
|
||||
f 1/85 29/61 28/64 13/85
|
||||
f 5/86 15/86 32/87 30/88
|
||||
usemtl Material_NONE
|
||||
f 11/89 9/9 4/91 8/92
|
|
@ -0,0 +1,161 @@
|
|||
# Blender v2.69 (sub . OBJ File: 'amethist1.blend'
|
||||
# www.blender.org
|
||||
mtllib topaz.mtl
|
||||
o Cube
|
||||
v . -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v -.0875 -.4456 .2
|
||||
v . -.4456 -.2
|
||||
v . -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v -.0875 -.4143 .2
|
||||
v -. -.4143 -.2
|
||||
v . -.4456 -.2
|
||||
v -.0875 -.4456 .2
|
||||
v -. -.4143 -.2
|
||||
v -.0875 -.4143 .2
|
||||
v -. -.4456 -.2
|
||||
v .0875 -.4456 .2
|
||||
v . -.4143 -.2
|
||||
v .0875 -.4143 .2
|
||||
v .175 -.4456 .12
|
||||
v -.175 -.4456 .12
|
||||
v .175 -.4143 .12
|
||||
v -.175 -.4143 .12
|
||||
v -.0875 -.4925 .12
|
||||
v -.0875 -.3675 .12
|
||||
v .0875 -.4925 .12
|
||||
v .0875 -.3675 .12
|
||||
v -.175 -.4456 -.04
|
||||
v -.175 -.4143 -.04
|
||||
v -.0875 -.4925 -.04
|
||||
v .0875 -.4925 -.04
|
||||
v .175 -.4456 -.04
|
||||
v .175 -.4143 -.04
|
||||
v -.0875 -.3675 -.04
|
||||
v .0875 -.3675 -.04
|
||||
vt .2066 .3816
|
||||
vt .3377 .3816
|
||||
vt .3222 .4611
|
||||
vt .3099 .0134
|
||||
vt .0215 .2116
|
||||
vt .0599 .0134
|
||||
vt .0599 .0134
|
||||
vt .6782 .2843
|
||||
vt .7525 .2843
|
||||
vt .7674 .3609
|
||||
vt .6931 .3609
|
||||
vt .4221 .0148
|
||||
vt .4221 .3242
|
||||
vt .5323 .2843
|
||||
vt .5323 .3609
|
||||
vt .4098 .3609
|
||||
vt .4098 .2843
|
||||
vt .2066 .2227
|
||||
vt .3377 .2227
|
||||
vt .3093 .0646
|
||||
vt .3093 .4530
|
||||
vt .0644 .4530
|
||||
vt .0644 .0646
|
||||
vt .2111 .1813
|
||||
vt .3629 .1813
|
||||
vt .3629 .4943
|
||||
vt .2111 .4943
|
||||
vt .5338 .5906
|
||||
vt .6104 .5906
|
||||
vt .6104 .6671
|
||||
vt .5338 .6671
|
||||
vt .3222 .1433
|
||||
vt .2781 .3070
|
||||
vt .6236 .5444
|
||||
vt .3242 .5444
|
||||
vt .2315 .1882
|
||||
vt .1708 .0241
|
||||
vt .2979 .0241
|
||||
vt .2979 .1433
|
||||
vt .1708 .1433
|
||||
vt .0031 .2437
|
||||
vt .0049 .0015
|
||||
vt .3025 -.0011
|
||||
vt .3061 .2437
|
||||
vt .7719 .6566
|
||||
vt .9074 .6566
|
||||
vt .9074 .8735
|
||||
vt .7719 .8735
|
||||
vt .0642 .0023
|
||||
vt .2848 .0023
|
||||
vt .2407 .2296
|
||||
vt .0201 .2296
|
||||
vt .2254 .0001
|
||||
vt .3667 -.0032
|
||||
vt .3736 .2464
|
||||
vt .2288 .2567
|
||||
vt .5629 .1256
|
||||
vt .5629 .5648
|
||||
vt .1890 .5648
|
||||
vt .1890 .1256
|
||||
vt .1529 .1481
|
||||
vt .1529 .2945
|
||||
vt .0156 .2945
|
||||
vt .0156 .1481
|
||||
vt .6637 .6435
|
||||
vt .9321 .6435
|
||||
vt .9321 .9297
|
||||
vt .6637 .9297
|
||||
vt .2819 .0024
|
||||
vt .2819 .1755
|
||||
vt .0050 .1755
|
||||
vt .0050 .0024
|
||||
vt .0437 .1433
|
||||
vt .0386 .1484
|
||||
vt .3441 .1484
|
||||
vt .3441 .4349
|
||||
vt .7719 .4398
|
||||
vt .9074 .4398
|
||||
vt .0428 .0823
|
||||
vt .0428 .1986
|
||||
vt .6682 .7036
|
||||
vt .6682 .8470
|
||||
vt .4387 .9187
|
||||
vt .4387 .6319
|
||||
vt .1529 .0017
|
||||
vt .5807 .5611
|
||||
vt .8640 .8633
|
||||
vt .5807 .8633
|
||||
vt . .
|
||||
vt 1. .
|
||||
vt 1. 1.
|
||||
vt . 1.
|
||||
usemtl Material
|
||||
s off
|
||||
f 21/1 10/2 3/2 18/3
|
||||
f 22/4 20/5 7/6 12/7
|
||||
f 17/8 19/9 6/1 2/11
|
||||
f 10/12 12/13 7/13 3/12
|
||||
f 25/14 26/15 8/16 4/17
|
||||
f 23/18 14/19 10/2 21/1
|
||||
f 24/2 22/21 12/22 16/23
|
||||
f 14/24 16/25 12/26 10/27
|
||||
f 15/28 13/29 9/3 11/31
|
||||
f 17/32 2/19 14/19 23/18
|
||||
f 19/33 24/34 16/35 6/35
|
||||
f 2/11 6/1 16/1 14/11
|
||||
f 5/36 1/36 13/36 15/36
|
||||
f 27/37 21/38 18/39 25/4
|
||||
f 31/41 26/42 20/43 22/44
|
||||
f 29/45 30/46 19/47 17/48
|
||||
f 3/49 7/5 20/51 18/52
|
||||
f 28/53 23/54 21/55 27/56
|
||||
f 32/57 31/58 22/59 24/6
|
||||
f 29/61 17/62 23/63 28/64
|
||||
f 30/65 32/66 24/67 19/68
|
||||
f 18/69 20/7 26/71 25/72
|
||||
f 9/73 27/37 25/4 4/73
|
||||
f 11/74 8/74 26/75 31/76
|
||||
f 1/77 5/78 30/46 29/45
|
||||
f 13/79 28/53 27/56 9/8
|
||||
f 15/81 11/82 31/83 32/84
|
||||
f 1/85 29/61 28/64 13/85
|
||||
f 5/86 15/86 32/87 30/88
|
||||
usemtl Material_NONE
|
||||
f 11/89 9/9 4/91 8/92
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sed -f
|
||||
s/\ 0./ \./g
|
||||
s/-0./-./g
|
||||
s/[0]* / /g
|
||||
s/[0]*$//g
|
||||
s/\(\.[0-9][0-9][0-9][0-9]\)[0-9]*/\1/g
|
|
@ -0,0 +1,44 @@
|
|||
name,tier,color,stackmax,disabled_by_mod,overrides,orig_mod,drop_as_lump,crack,has_dust,has_block,is_metall,is_mineral,has_nugget,has_rich,is_gemstone,is_lump_gemstone,in_desert,has_brick,has_bar_block,scarcity,num_ores,clust_size,y_min,y_max,has_lump,has_bar,lump_cooking_time,has_pick,has_axe,has_sword,has_shovel,has_spear,has_bow,tool_stick,tool_cotton,has_helmet,has_chestplate,has_leggings,has_boots,has_shield
|
||||
default,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
unobtanium,8,0B2108C0,,,,,1,6,1,,8,,3,,,,,,,17,3,3,-31000,-8700,1,1,96,,,,,,,,,,,,,
|
||||
tungsten,5,7C9871D0,,,,,1,4,1,,5,,3,,,,,,,14,4,4,-31000,-750,1,1,42,,,,,,,,,,,,,
|
||||
palladium,6,AC976FD0,,,,,1,5,1,1,6,,3,,,,,,,14,5,4,-31000,-3700,1,1,58,1,1,1,,,,minerdream:expensivestick,,1,1,1,1,1
|
||||
adamantite,6,AA2435D0,,,,,1,5,1,,6,,3,,,,,,,14,4,3,-31000,-2300,1,1,58,,,,,,,,,,,,,
|
||||
orichalcum,8,903F86D0,,,,,1,6,1,1,8,,3,,,,,1,,17,3,3,-31000,-6500,1,1,86,1,1,1,,1,,minerdream:expensivestick,,1,1,1,1,1
|
||||
rarium,7,D95000D0,,,,,1,6,1,1,7,,3,,,,,1,,16,2,3,-31000,-5000,1,1,72,1,1,1,,1,,minerdream:expensivestick,,1,1,1,1,1
|
||||
osmium,7,1D4144D0,,,,,1,6,1,1,7,,3,,,,,,,16,3,3,-31000,-2500,1,1,64,1,1,1,,1,,minerdream:expensivestick,steel_wire,1,1,1,1,1
|
||||
rhodium,6,A4987DD0,,,,,1,5,1,1,6,,3,,,,,3,3,16,3,3,-31000,-1500,1,1,64,1,1,1,,1,1,minerdream:expensivestick,steel_wire,1,1,1,1,1
|
||||
calcium,1,87A9AFD0,,,,,1,2,1,1,1,,3,,,,,3,3,12,5,2,-31000,420,1,1,2,,,,,,,,,,,,,
|
||||
tantalum,6,594967D0,,,,,1,5,1,1,6,,3,,,,,3,3,16,3,3,-31000,-1500,1,1,64,1,1,1,,1,1,minerdream:expensivestick,steel_wire,1,1,1,1,1
|
||||
ruthenium,5,835749D0,,,,,1,4,1,1,5,,3,,,,,3,3,15,3,3,-31000,-500,1,1,32,1,1,1,1,1,1,minerdream:steelstick,steel_wire,1,1,1,1,1
|
||||
cobalt,5,3F7390D0,,,,,1,4,1,1,5,,3,,,,,3,3,15,3,3,-31000,-500,1,1,32,1,1,1,1,1,1,minerdream:steelstick,steel_wire,1,1,1,1,1
|
||||
platinum,4,A5B49DD0,,,,,1,1,1,1,4,,3,,,,,3,3,14,4,3,-31000,-300,1,1,16,1,1,1,1,1,1,,,1,1,1,1,1
|
||||
aluminum,4,B2C0C2D0,,aluminum,,,1,1,1,1,4,,5,,,,,3,3,14,4,3,-31000,-250,1,1,32,1,1,1,1,1,1,,,1,1,1,1,1
|
||||
titanium,4,a82f32d0,,,,,1,1,1,1,4,,3,,,,,,,14,3,5,-31000,-225,1,1,8,,,,,,,,,,,,,
|
||||
lithium,2,c4b16ed0,,,,,1,1,1,1,2,,3,,,,,,,14,5,3,-31000,-100,1,1,5,,,,,,,,,,,,,
|
||||
zinc,2,ADAD8ED0,,,technic:mineral_zinc,,1,1,1,1,2,,3,,,,,3,3,14,7,3,-31000,-50,1,1,4,,,,,,1,,,,,,,
|
||||
lead,3,2f3743D0,,,technic:mineral_lead,,1,2,1,1,3,,5,,,,,3,3,13,7,3,-31000,-70,1,1,4,1,1,1,1,1,1,,,1,1,1,1,1
|
||||
mithril,3,33ad30d0,,,moreores:mineral_mithril,,1,2,1,,3,,3,,,,,,,14,1,5,-31000,-512,1,1,5,,,,,,,,,,,,,
|
||||
silver,3,A9BEC2D0,,,moreores:mineral_silver,,1,2,1,1,3,,3,,,,,3,3,14,3,2,-31000,-64,1,1,8,,,,,1,1,,,,,,,
|
||||
potassium,1,9b9b9bD0,,,,,1,3,1,1,,1,3,,,,,3,3,12,7,3,-31000,420,1,1,2,,,,,,1,,,,,,,
|
||||
nickel,2,A5AA8CD0,,,,,1,2,1,1,2,,2,,,,,3,3,13,7,3,-31000,-40,1,1,4,1,1,1,1,1,1,,,1,1,1,1,1
|
||||
flint,1,,,,,default,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,1,1,1,1,1
|
||||
tin,2,,,,,technic,,,,,2,,,,,,,3,3,,,,,,,,,,,,,,,,,,,,,
|
||||
gold,3,,,,,default,,,,,3,,,,,,,3,3,,,,,,,,,,,,,1,1,,,,,,,
|
||||
copper,2,,,,,default,,,,,2,,,,,,,3,3,,,,,,,,,,,,,,1,,,,,,,
|
||||
steel,2,,,,,default,,,,,2,,,,,,,,3,,,,,,,,,,,,,1,1,,,,,,,
|
||||
diamond,3,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,
|
||||
mese,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,
|
||||
stainlesssteel,2,,,,,,,,,,2,,,,,,,,,,,,,,,,,1,1,1,1,1,1,,,1,1,1,1,1
|
||||
brass,,baa52c,,,,,,,,3,,,,,,,,3,3,,,,,,,,,,,,,,,,,,,,,
|
||||
sulfur,2,E89700D0,,,technic:mineral_sulfur,,1,3,,,,2,3,,,,1,,,,,,,,1,,,,,,,,,,,,,,,
|
||||
lapislazuli,2,,200,,,,,3,,3,,2,,,,1,1,3,,,,,,,1,,,,,,,,,,,,,,,
|
||||
saltpeter,2,FFC90ED0,200,,,,1,3,1,,,2,3,,,,1,,,15,5,2,-31000,420,1,,,,,,,,,,,,,,,
|
||||
spinel,6,,200,,,,,5,,1,,6,,,,1,,3,,16,1,1,-31000,-1700,,,,,,,,,,,,,,,,
|
||||
garnet,5,,200,,,,,4,,1,,5,,,,1,,3,,15,1,1,-31000,-650,,,,,,,,,,,,,,,,
|
||||
bituminous_coal,5,,,,,,,4,,,,,,,,,,,,13,10,3,-31000,-500,1,,,,,,,,,,,,,,,
|
||||
jade,5,,200,,,,,4,,1,,5,,,,1,,3,,15,1,1,-31000,-650,,,,,,,,,,,,,,,,
|
||||
amethyst,5,,200,,,,,4,,1,,5,,,,1,,3,,15,1,1,-31000,-650,,,,,,,,,,,,,,,,
|
||||
onyx,6,,200,,,,,5,,1,,6,,,,1,,3,,16,1,1,-31000,-1700,,,,,,,,,,,,,,,,
|
||||
aquamarine,6,,200,,,,,5,,1,,,,,1,1,,3,,16,1,1,-31000,-1700,,,,,,,,,,,,,,,,
|
||||
topaz,6,,200,,,,,5,,1,,,,,1,1,,3,,15,1,1,-31000,-1700,,,,,,,,,,,,,,,,
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
local has_value = basic_functions.has_value
|
||||
local tier_cols={
|
||||
col_num={"name"},}
|
||||
local tier_definition = basic_functions.import_csv(minerdream.path.."/tiers.txt",tier_cols)
|
||||
local tool_cols={
|
||||
col_num={"range","uses"},
|
||||
as_numeric=1,
|
||||
}
|
||||
local tool_definition = basic_functions.import_csv(minerdream.path.."/armor.txt",tool_cols)
|
||||
--print(dump2(tool_definition))
|
||||
|
||||
for i,tdef in pairs(tool_definition) do
|
||||
if (i ~= "default") then
|
||||
local tooldef={}
|
||||
for col in pairs(tdef) do
|
||||
tooldef=basic_functions.parse_tree(tooldef,col,tdef[col])
|
||||
end
|
||||
local tierd=tier_definition[tostring(tdef.tier)]
|
||||
for _,tool in pairs({"helmet","chestplate","boots","leggings","shields"}) do
|
||||
if tooldef[tool] ~= nil then
|
||||
local ttv=tooldef[tool]
|
||||
tdesc=core.colorize("#"..tierd.color, i.." "..tool.."\n")..
|
||||
core.colorize("#A0A0A0", "tier: "..tierd.name.." ("..tierd.desc..")")
|
||||
if ttv.fleshy then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Defense: "..ttv.fleshy)
|
||||
end
|
||||
if ttv.heal then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Heal: "..ttv.heal)
|
||||
end
|
||||
if ttv.speed then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Walking speed: "..(ttv.speed*100).."%")
|
||||
end
|
||||
if ttv.gravity then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Gravity: "..(ttv.gravity*100).."%")
|
||||
end
|
||||
if ttv.jump then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Jump force: "..(ttv.jump*100).."%")
|
||||
end
|
||||
tt_def={description=tdesc,
|
||||
-- tt_def={description=i.." "..tool,
|
||||
inventory_image=minerdream.modname.."_inv_"..tool.."_"..i..".png",
|
||||
damage_groups = {level = ttv.level or 2},
|
||||
armor_groups={fleshy=ttv.fleshy or 10},
|
||||
groups={armor_heal=ttv.heal,armor_use=ttv.use,
|
||||
physics_jump=ttv.jump,physics_speed=ttv.speed,physics_gravity=ttv.gravity}
|
||||
}
|
||||
for _,gc in pairs({"cracky","crumbly","choppy","snappy"}) do
|
||||
tt_def.damage_groups[gc]=ttv[gc]
|
||||
end
|
||||
if tool == "helmet" then
|
||||
tt_def.groups.armor_head=1
|
||||
elseif tool == "chestplate" then
|
||||
tt_def.groups.armor_torso=1
|
||||
elseif tool == "leggings" then
|
||||
tt_def.groups.armor_legs=1
|
||||
elseif tool == "boots" then
|
||||
tt_def.groups.armor_feet=1
|
||||
elseif tool == "shields" then
|
||||
tt_def.groups.armor_shield=1
|
||||
end
|
||||
|
||||
toolname=minerdream.modname..":"..tool.."_"..i
|
||||
armor:register_armor(toolname,tt_def)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
|
||||
local has_value = basic_functions.has_value
|
||||
local mob_cols={
|
||||
col_num={"reach","damage","hp_min",
|
||||
"hp_max","armor","walk_velocity","run_velocity","walk_chance",
|
||||
"fall_speed","jump_chance","jump_height","stepheight","floats",
|
||||
"view_range","water_damage","lava_damage","light_damage","slimeball",
|
||||
"egg","slimering","maxlight","chance","max_height","collisionbox"},
|
||||
-- as_numeric=1,
|
||||
}
|
||||
local mob_definition = basic_functions.import_csv(minerdream.path.."/mobs.txt",mob_cols)
|
||||
|
||||
local mob_default = {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 5,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3},
|
||||
visual = "wielditem",
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 2,
|
||||
walk_chance = 0,
|
||||
fall_speed = -50,
|
||||
jump_chance = 30,
|
||||
jump_height = 6,
|
||||
stepheight = 1.1,
|
||||
floats = 0,
|
||||
view_range = 16,
|
||||
water_damage = 0,
|
||||
lava_damage = 8,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
speed_run = 15,
|
||||
stand_start = 0,
|
||||
stand_end = 14,
|
||||
walk_start = 15,
|
||||
walk_end = 38,
|
||||
run_start = 40,
|
||||
run_end = 63,
|
||||
punch_start = 40,
|
||||
punch_end = 63,
|
||||
},
|
||||
}
|
||||
|
||||
if mob_definition["default"] ~= nil then
|
||||
tmobd=table.copy(mob_definition["default"])
|
||||
for _,column in pairs({"attack_type","reach","damage","hp_min",
|
||||
"hp_max","armor","walk_velocity","run_velocity","walk_chance",
|
||||
"fall_speed","jump_chance","jump_height","stepheight","floats",
|
||||
"view_range","water_damage","lava_damage","light_damage","slimeball",
|
||||
"egg","slimering","maxlight","chance","max_height"}) do
|
||||
if tmobd[column] ~= nil then
|
||||
mob_default[column]=tmobd[column]
|
||||
end
|
||||
end
|
||||
if tmobd["collisionbox"] ~= nil then
|
||||
local cb=tmobd["collisionbox"]
|
||||
mob_default["collisionbox"] = {-1*cb, -1*cb, -1*cb, cb, cb, cb}
|
||||
end
|
||||
end
|
||||
|
||||
for i,tdef in pairs(mob_definition) do
|
||||
if (i ~= "default") then
|
||||
local mdef=table.copy(mob_default)
|
||||
for _,column in pairs({"attack_type","reach","damage","hp_min",
|
||||
"hp_max","armor","walk_velocity","run_velocity","walk_chance",
|
||||
"fall_speed","jump_chance","jump_height","stepheight","floats",
|
||||
"view_range","water_damage","lava_damage","light_damage","slimeball",
|
||||
"egg","slimering","maxlight","chance","max_height"}) do
|
||||
if tdef[column] ~= nil then
|
||||
mdef[column]=tdef[column]
|
||||
end
|
||||
end
|
||||
if tdef["collisionbox"] ~= nil then
|
||||
local cb=tdef["collisionbox"]
|
||||
mdef["collisionbox"] = {-1*cb, -1*cb, -1*cb, cb, cb, cb}
|
||||
end
|
||||
mdef.textures = {
|
||||
{"minerdream:slime_"..i},
|
||||
}
|
||||
mdef.blood_texture = "minerdream_slimeball_"..i..".png"
|
||||
mdef.drops = {
|
||||
{name = "minerdream:slimeball_"..i, chance = mdef.slimeball, min = 1, max = 3},
|
||||
{name = "minerdream:slime_"..i.."_egg", chance = mdef.egg, min = 1, max = 1},
|
||||
{name = "minerdream:accessory_slimering", chance = mdef.slimering, min = 1, max = 1},
|
||||
}
|
||||
|
||||
mobs:register_mob("minerdream:slime_"..i, mdef)
|
||||
mobs:spawn({
|
||||
name = "minerdream:slime_"..i,
|
||||
nodes = {"default:stone"},
|
||||
max_light = mdef.maxlight,
|
||||
chance = mdef.chance,
|
||||
max_height = mdef.max_height,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:slime_"..i.."_egg", {
|
||||
description = i.." slime spawnegg",
|
||||
inventory_image = "minerdream_egg_"..i.."slime.png",
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.above then
|
||||
minetest.env:add_entity(pointed_thing.above, "minerdream:slime_"..i)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
minetest.register_node("minerdream:slime_"..i, {
|
||||
tiles = {
|
||||
"minerdream_slime_"..i.."_top.png",
|
||||
"minerdream_slime_"..i.."_top.png",
|
||||
"minerdream_slime_"..i.."_side.png",
|
||||
"minerdream_slime_"..i.."_side.png",
|
||||
"minerdream_slime_"..i.."_side.png",
|
||||
"minerdream_slime_"..i.."_side.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
wield_scale = {x=0.4,y=0.4,z=0.4},
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3125, -0.5, -0.3125, 0.3125, 0.3125, 0.3125}, -- NodeBox1
|
||||
{-0.375, -0.5, -0.3125, 0.375, 0.25, 0.3125}, -- NodeBox2
|
||||
{-0.3125, -0.5, -0.375, 0.3125, 0.25, 0.375}, -- NodeBox3
|
||||
{-0.3125, -0.4375, -0.4375, 0.3125, 0.125, 0.4375}, -- NodeBox4
|
||||
{-0.375, -0.4375, -0.375, 0.375, 0.125, 0.375}, -- NodeBox5
|
||||
{-0.4375, -0.4375, -0.3125, 0.4375, 0.125, 0.3125}, -- NodeBox6
|
||||
{-0.25, -0.375, -0.5, 0.25, 0, 0.5}, -- NodeBox7
|
||||
{-0.5, -0.375, -0.25, 0.5, 0, 0.25}, -- NodeBox8
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,513 @@
|
|||
|
||||
local has_value = basic_functions.has_value
|
||||
local tier_cols={
|
||||
col_num={"name"},}
|
||||
local tier_definition = basic_functions.import_csv(minerdream.path.."/tiers.txt",tier_cols)
|
||||
local ore_cols={
|
||||
col_num={"crack","scarcity","num_ores","clust_size","y_min","y_max","tier","lump_cooking_time"},
|
||||
groups_num={"has_dust","has_block","in_desert","has_block","has_brick","is_metall","is_mineral",
|
||||
"has_bar","has_lump","has_bar_block","has_dust","has_spear","has_bow","has_arrow","has_pick",
|
||||
"has_axe","has_shovel","has_sword","has_helmet","has_chestplate","has_shield","has_leggings",
|
||||
"has_boots","drop_as_lump","is_gemstone","is_lump_gemstone","has_no_drop","has_no_lump","has_nugget"}}
|
||||
local miner_definition = basic_functions.import_csv(minerdream.path.."/ores.txt",ore_cols)
|
||||
|
||||
if miner_definition["default"] ~= nil then
|
||||
default_ore = miner_definition["default"]
|
||||
local test_values = {}
|
||||
-- check, which numeric columns exist in default entry
|
||||
for i,d in pairs(ore_cols.col_num) do
|
||||
if default_ore[d] ~= nil then
|
||||
table.insert(test_values,1,d)
|
||||
end
|
||||
end
|
||||
|
||||
-- check for each ore, if value can be copied from default entry
|
||||
for i,tdef in pairs(miner_definition) do
|
||||
if tdef.name ~= default_ore.name then
|
||||
for j,colu in pairs(test_values) do
|
||||
if tdef[colu] == nil then
|
||||
miner_definition[tdef.name][colu] = default_ore[colu]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local local_create_def=function(name,type,cracky,tdef)
|
||||
local temp_def={description=name.." "..type,
|
||||
tiles={minerdream.modname.."_"..name.."_"..type..".png"},
|
||||
groups={cracky=cracky},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
}
|
||||
if tdef.tier then
|
||||
temp_def.description=core.colorize("#00FF00", temp_def.description.."\n")..tdef.tier_string
|
||||
end
|
||||
return temp_def
|
||||
end
|
||||
|
||||
local local_item_insert=function(name,ttype,def)
|
||||
if minerdream.items[name] == nil then
|
||||
minerdream.items[name] = {}
|
||||
end
|
||||
minerdream.items[name][ttype]=def
|
||||
end
|
||||
|
||||
local local_craft_block=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input, input, input},
|
||||
{input, input, input},
|
||||
{input, input, input},
|
||||
} })
|
||||
minetest.register_craft({
|
||||
output = input.." 9",
|
||||
recipe = {{output}} })
|
||||
end
|
||||
|
||||
-- register craft recipes for creating stacks
|
||||
local local_craft_stack=function(input,output)
|
||||
minetest.register_craft({
|
||||
output = output,
|
||||
recipe = {
|
||||
{input, input },
|
||||
{input, input },
|
||||
} })
|
||||
minetest.register_craft({
|
||||
output = input.." 4",
|
||||
recipe = {{output}} })
|
||||
end
|
||||
|
||||
-- register craft recipes for creating bricks
|
||||
local local_craft_brick = function(input,output)
|
||||
minetest.register_craft( {type = "shapeless",
|
||||
output = output,
|
||||
recipe = {input, "default:cobble"},})
|
||||
end
|
||||
|
||||
-- return recipes for different tools
|
||||
local local_get_recipe=function(tool,material,stick)
|
||||
if stick == nil then
|
||||
stick="group:stick"
|
||||
end
|
||||
local out_recipe={}
|
||||
if tool == "spear" then
|
||||
out_recipe={
|
||||
{'', material, material},
|
||||
{'', stick, material},
|
||||
{stick, '', ''},}
|
||||
elseif tool == "bow" then
|
||||
out_recipe = {
|
||||
{'', material, material},
|
||||
{material, '', stick},
|
||||
{material, stick, ''},}
|
||||
elseif tool == "pick" then
|
||||
out_recipe = {
|
||||
{material, material, material},
|
||||
{'', stick, ''},
|
||||
{'', stick, ''},}
|
||||
elseif tool == "axe" then
|
||||
out_recipe = {
|
||||
{material, material, ''},
|
||||
{material, stick, ''},
|
||||
{'', stick, ''},}
|
||||
elseif tool == "shovel" then
|
||||
out_recipe = {
|
||||
{'', material, ''},
|
||||
{'', stick, ''},
|
||||
{'', stick, ''},}
|
||||
elseif tool == "sword" then
|
||||
out_recipe = {
|
||||
{'', material, ''},
|
||||
{'', material, ''},
|
||||
{'', stick, ''},}
|
||||
elseif tool == "helmet" then
|
||||
out_recipe = {
|
||||
{material, material, material},
|
||||
{material, '', material},}
|
||||
elseif tool == "chestplate" then
|
||||
out_recipe = {
|
||||
{material, '', material},
|
||||
{material, material, material},
|
||||
{material, material, material},}
|
||||
elseif tool == "leggings" then
|
||||
out_recipe = {
|
||||
{material, material, material},
|
||||
{material, '', material},
|
||||
{material, '', material},}
|
||||
elseif tool == "boots" then
|
||||
out_recipe = {
|
||||
{material, '', material},
|
||||
{material, '', material},}
|
||||
elseif tool == "shield" then
|
||||
out_recipe = {
|
||||
{material, material, material},
|
||||
{material, material, material},
|
||||
{'', material, ''},}
|
||||
else
|
||||
out_recipe={}
|
||||
end
|
||||
return out_recipe
|
||||
end
|
||||
|
||||
for i,tdef in pairs(miner_definition) do
|
||||
local is_enabled = true
|
||||
if tdef.disabled_by_mod ~= nil then
|
||||
if basic_functions.has_value(minetest.get_modnames(),tdef.disabled_by_mod) then
|
||||
is_enabled=false
|
||||
end
|
||||
end
|
||||
if (i ~= "default") and (is_enabled) then
|
||||
local starttime=os.clock()
|
||||
minerdream.items[i]={}
|
||||
local ore_modname=minerdream.modname
|
||||
if tdef.orig_modname then
|
||||
ore_modname=tdef.orig_modname
|
||||
end
|
||||
local needs_mapgen=false
|
||||
local mapgen_name=""
|
||||
tdef.tier_string=""
|
||||
tdef.tierd={}
|
||||
if tdef.tier then
|
||||
tdef.tierd=tier_definition[tostring(tdef.tier)]
|
||||
tdef.tier_string=core.colorize("#A0A0A0", "tier: "..tdef.tier.." ("..tdef.tierd.desc..")")
|
||||
minerdream.items[i].tierdef=table.copy(tier_definition[tostring(tdef.tier)])
|
||||
end
|
||||
-- register ores within stone
|
||||
if tdef.crack ~= nil then
|
||||
-- base config of ore found in normal stone
|
||||
local lump_name=ore_modname..":"..i
|
||||
if tdef.groups.drop_as_lump ~= nil then
|
||||
lump_name=lump_name.."_lump"
|
||||
end
|
||||
local ore_def={description=i.." ore",
|
||||
name=minerdream.modname..":stone_with_"..i,
|
||||
groups={cracky=tdef.crack},
|
||||
tiles={"default_stone.png^"..minerdream.modname.."_"..i.."_ore.png"},
|
||||
sound=default.node_sound_stone_defaults(),
|
||||
}
|
||||
-- group definitions for awards
|
||||
if tdef.groups.is_metall then
|
||||
ore_def.groups["metall"..tdef.groups.is_metall]=tdef.groups.is_metall
|
||||
end
|
||||
if tdef.groups.is_mineral then
|
||||
ore_def.groups["mineral"..tdef.groups.is_mineral]=tdef.groups.is_mineral
|
||||
end
|
||||
-- drops item
|
||||
if tdef.groups.has_no_drop == nil then
|
||||
ore_def.drop=lump_name
|
||||
end
|
||||
if tdef.stackmax then
|
||||
ore_def.stack_max = tdef.stackmax
|
||||
end
|
||||
if tdef.groups.is_gemstone ~= nil then
|
||||
-- ore_def.name=minerdream.modname..":"..i
|
||||
ore_def.description=i
|
||||
ore_def.paramtype="light"
|
||||
ore_def.drawtype = "mesh"
|
||||
ore_def.mesh = "gemstone_cubic_pillars.obj"
|
||||
ore_def.walkable = "true"
|
||||
ore_def.inventory_image = "minerdream_"..i.."_gem.png"
|
||||
ore_def.tiles = {"minerdream_"..i.."_rock.png"}
|
||||
ore_def.selection_box = {type = "fixed",
|
||||
fixed = {{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},},}
|
||||
ore_def.node_box = {type = "fixed",
|
||||
fixed = {{-0.4, -0.5, -0.4, 0.4, 0.0, 0.4},},}
|
||||
end
|
||||
local lump_def={description=i.." lump",
|
||||
name=lump_name,
|
||||
inventory_image=lump_name:gsub(":","_")..".png",
|
||||
stack_max=minerdream.lump_max_stack,
|
||||
}
|
||||
if tdef.groups.is_lump_gemstone ~= nil then
|
||||
lump_def.drawtype="mesh"
|
||||
lump_def.mesh = i..".obj"
|
||||
lump_def.walkable = "true"
|
||||
lump_def.inventory_image = "minerdream_"..i.."_gem.png"
|
||||
lump_def.tiles = {"minerdream_"..i..".png"}
|
||||
lump_def.paramtype = "light"
|
||||
lump_def.is_ground_content = true
|
||||
lump_def.groups={snappy=3,dig_immidiate=3}
|
||||
lump_def.selection_box = {type = "fixed",
|
||||
fixed = {{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},},}
|
||||
lump_def.node_box = {type = "fixed",
|
||||
fixed = {{-0.2, -0.5, -0.2, 0.2, -0.25, 0.2},},}
|
||||
end
|
||||
-- override existing ore?
|
||||
local to_override = false
|
||||
if tdef.overrides ~= nil then
|
||||
if minetest.registered_nodes[tdef.overrides] ~= nil then
|
||||
-- get drop item of defined ore
|
||||
temp_def=minetest.registered_nodes[tdef.overrides]
|
||||
ore_def.name=tdef.overrides
|
||||
ore_def.drop=temp_def.drop
|
||||
lump_def.name=temp_def.drop
|
||||
local override_mod=tdef.overrides:split(":")[1]
|
||||
if override_mod ~=nil then
|
||||
ore_def.override_mod=override_mod
|
||||
lump_def.override_mod=override_mod
|
||||
end
|
||||
to_override = true
|
||||
end
|
||||
end
|
||||
if tdef.tier then
|
||||
ore_def.description=core.colorize("#00FF00", ore_def.description.."\n")..tdef.tier_string
|
||||
lump_def.description=core.colorize("#00FF00", lump_def.description.."\n")..tdef.tier_string
|
||||
end
|
||||
local ore_name=ore_def.name
|
||||
local lump_name=lump_def.name
|
||||
if to_override then
|
||||
ore_def.name=nil
|
||||
lump_def.name=nil
|
||||
-- get cooking output of already defined lump
|
||||
local output, decremented_input = minetest.get_craft_result({ method = "cooking", width = 1, items = { ItemStack(lump_name) }})
|
||||
local override_ingot=output.item:get_name()
|
||||
if override_ingot ~= nil then
|
||||
lump_def.ingot_name=output.item:get_name()
|
||||
tdef.ingot_name=output.item:get_name()
|
||||
minerdream.items[i].ingot_name=output.item:get_name()
|
||||
end
|
||||
minetest.override_item(ore_name,ore_def)
|
||||
if tdef.groups.has_no_lump == nil then
|
||||
minetest.override_item(lump_name,lump_def)
|
||||
end
|
||||
lump_def.name=lump_name
|
||||
ore_def.name=ore_name
|
||||
else
|
||||
minetest.register_node(ore_def.name,ore_def)
|
||||
-- if tdef.groups.has_no_lump == nil then
|
||||
minetest.register_craftitem(lump_def.name,lump_def)
|
||||
-- end
|
||||
-- if not already defined, then add mapgen parameter
|
||||
if tdef.scarcity ~= nil then
|
||||
needs_mapgen = true
|
||||
mapgen_name=ore_def.name
|
||||
end
|
||||
end
|
||||
local_item_insert(i,"ore_def",ore_def)
|
||||
-- if tdef.groups.has_no_lump == nil then
|
||||
local_item_insert(i,"lump_def",lump_def)
|
||||
-- end
|
||||
-- define desert ores
|
||||
if tdef.groups.in_desert then
|
||||
desertore_def=table.copy(ore_def)
|
||||
desertore_def.name=minerdream.modname..":desertstone_with_"..i
|
||||
desertore_def.tiles={"default_desert_stone.png^"..minerdream.modname.."_"..i.."_ore.png"}
|
||||
local_item_insert(i,"desertore_def",desertore_def)
|
||||
minetest.register_node(desertore_def.name,desertore_def)
|
||||
end
|
||||
if tdef.groups.has_nugget and tdef.groups.has_nugget>0 then
|
||||
local poor_def=table.copy(ore_def)
|
||||
local nugget_def=table.copy(lump_def)
|
||||
poor_def.description="Poor "..i
|
||||
-- poor_def.name=poor_def.name.."_poor"
|
||||
poor_def.name=minerdream.modname..":stone_with_"..i.."_poor"
|
||||
poor_def.tiles={"default_stone.png^"..minerdream.modname.."_"..i.."_poorore.png"}
|
||||
nugget_def.description=i.." Nugget"
|
||||
nugget_def.name=minerdream.modname..":"..i.."_nugget"
|
||||
nugget_def.inventory_image=nugget_def.name:gsub(":","_")..".png"
|
||||
poor_def.drop=nugget_def.name
|
||||
minetest.register_node(poor_def.name,poor_def)
|
||||
minetest.register_craftitem(nugget_def.name,nugget_def)
|
||||
local_craft_stack(nugget_def.name,lump_def.name)
|
||||
end
|
||||
else
|
||||
-- if not already defined, then add mapgen parameter
|
||||
if tdef.scarcity ~= nil then
|
||||
needs_mapgen = true
|
||||
mapgen_name=minerdream.modname..":"..i
|
||||
end
|
||||
end
|
||||
|
||||
-- define mapgeneration for ores
|
||||
if needs_mapgen then
|
||||
local map_def={ore_type = "scatter",
|
||||
ore = mapgen_name,
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = tdef.scarcity * tdef.scarcity * tdef.scarcity,
|
||||
clust_num_ores = tdef.num_ores or 1,
|
||||
clust_size = tdef.clust_size or 1,
|
||||
y_min = tdef.y_min or (-31000),
|
||||
y_max = tdef.y_max or 0,
|
||||
}
|
||||
if tdef.groups.has_nugget and tdef.groups.has_nugget>0 then
|
||||
local poor_map_def=table.copy(map_def)
|
||||
poor_map_def.ore=mapgen_name.."_poor"
|
||||
minetest.register_ore(poor_map_def)
|
||||
map_def.clust_scarcity=map_def.clust_scarcity*tdef.groups.has_nugget
|
||||
map_def.clust_size=map_def.clust_size*tdef.groups.has_nugget
|
||||
end
|
||||
local_item_insert(i,"map_def",map_def)
|
||||
minetest.register_ore(map_def)
|
||||
if tdef.groups.in_desert then
|
||||
map_def.ore=desertore_def.name
|
||||
map_def.wherein = "default:desert_stone"
|
||||
minetest.register_ore(map_def)
|
||||
end
|
||||
end
|
||||
|
||||
-- define ore dust
|
||||
-- only makes sense if it can be grinded
|
||||
if tdef.groups.has_dust and minetest.get_modpath("technic") then
|
||||
|
||||
local dust_def=local_create_def(i,"dust",tdef.groups.has_dust,tdef)
|
||||
dust_def.tiles={minerdream.modname.."_"..i.."_dust.png"}
|
||||
dust_def.inventory_image=minerdream.modname.."_"..i.."_dust.png"
|
||||
local overridden = false
|
||||
|
||||
-- check, if dust is already defined
|
||||
if minerdream.items[i].lump_def then
|
||||
local lumpdef=minerdream.items[i].lump_def
|
||||
if lumpdef.override_mod ~= nil then
|
||||
local override_dust=lumpdef.override_mod..":"..i.."_dust"
|
||||
if minetest.registered_items[override_dust] ~= nil then
|
||||
overridden = true
|
||||
minetest.register_node(":"..override_dust,dust_def)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- if not defined, register node and grinding recipe
|
||||
if not overridden then
|
||||
minetest.register_node(minerdream.modname..":"..i.."_dust",dust_def)
|
||||
if minerdream.items[i].lump_def then
|
||||
local lump_def=table.copy(minerdream.items[i].lump_def)
|
||||
local grind_time=math.ceil((tdef.lump_cooking_time or 64)/minerdream.dust_cooking_time_reduce)
|
||||
lump_def.grind_time=grind_time
|
||||
local_item_insert(i,"lump_def",lump_def)
|
||||
technic.register_grinder_recipe({input = {lump_def.name}, output = dust_def.name.." 2",time=grind_time})
|
||||
dust_def.grind_source=lump_def.name
|
||||
end
|
||||
local_item_insert(i,"dust_def",dust_def)
|
||||
end
|
||||
end
|
||||
|
||||
-- define ingot
|
||||
if tdef.groups.has_bar then
|
||||
local ingot_def=local_create_def(i,"ingot",tdef.groups.has_bar,tdef)
|
||||
ingot_def.groups["metal"]=tdef.tier or 1 -- setting metal group
|
||||
ingot_def.inventory_image=minerdream.modname.."_"..i.."_ingot.png"
|
||||
ingot_def.stack_max = minerdream.ingot_max_stack
|
||||
if tdef.ingot_name then --already defined and overridden with new image
|
||||
ingot_def.name=nil
|
||||
minetest.override_item(tdef.ingot_name,ingot_def)
|
||||
minetest.register_alias(tdef.ingot_name,minerdream.modname..":"..i.."_bar")
|
||||
ingot_def.name=tdef.ingot_name
|
||||
else
|
||||
ingot_def.name=minerdream.modname..":"..i.."_ingot"
|
||||
minetest.register_craftitem(ingot_def.name,ingot_def)
|
||||
end
|
||||
|
||||
-- if lump is defined and cooking time is given then register cooking recipe
|
||||
if minerdream.items[i].lump_def and tdef.lump_cooking_time then
|
||||
local lump_def=table.copy(minerdream.items[i].lump_def)
|
||||
lump_def.ingot_name=ingot_def.name
|
||||
ingot_def.lump_name=lump_def.name
|
||||
lump_def.cooking_time=tdef.lump_cooking_time
|
||||
-- check, if cooking recipe already registered
|
||||
local output, decremented_input = minetest.get_craft_result({ method = "cooking", width = 1, items = { ItemStack(lump_def.name) }})
|
||||
if output.item:get_name() ~= ingot_def.name then
|
||||
minetest.register_craft({type="cooking",
|
||||
cooktime=tdef.lump_cooking_time,
|
||||
output=ingot_def.name,
|
||||
recipe=lump_def.name,
|
||||
})
|
||||
minerdream.items[i].lump_def=lump_def
|
||||
end
|
||||
end
|
||||
-- if technic loaded and dust registered than add recipes for dust
|
||||
if tdef.groups.has_dust and minetest.get_modpath("technic") then
|
||||
if minerdream.items[i].dust_def then
|
||||
local dust_def=table.copy(minerdream.items[i].dust_def)
|
||||
local cooking_time=tdef.cooking_time or 64
|
||||
cooking_time=math.ceil(cooking_time/minerdream.dust_cooking_time_reduce)
|
||||
dust_def.cooking_time=cooking_time
|
||||
minetest.register_craft({type="cooking",
|
||||
cooktime=cooking_time,
|
||||
output=ingot_def.name,
|
||||
recipe=dust_def.name,
|
||||
})
|
||||
technic.register_grinder_recipe({input = {ingot_def.name}, output = dust_def.name,time=cooking_time})
|
||||
local_item_insert(i,"dust_def",dust_def)
|
||||
end
|
||||
end
|
||||
local_item_insert(i,"ingot_def",ingot_def)
|
||||
end
|
||||
|
||||
-- define ore bricks (ore + cobble)
|
||||
if tdef.groups.has_brick then
|
||||
local brick_def=local_create_def(i,"brick",tdef.groups.has_brick,tdef)
|
||||
minetest.register_node(minerdream.modname..":"..i.."_brick",brick_def)
|
||||
brick_def.name=minerdream.modname..":"..i.."_brick"
|
||||
local_item_insert(i,"brick_def",brick_def)
|
||||
if minerdream.items[i].lump_def ~= nil then
|
||||
local lump_def=table.copy(minerdream.items[i].lump_def)
|
||||
local_craft_brick(lump_def.name,brick_def.name)
|
||||
end
|
||||
end
|
||||
|
||||
-- define ore blocks (9 ores)
|
||||
if tdef.groups.has_block then
|
||||
local block_def=local_create_def(i,"block",tdef.groups.has_block,tdef)
|
||||
local_item_insert(i,"block_def",block_def)
|
||||
minetest.register_node(minerdream.modname..":"..i.."_block",block_def)
|
||||
local in_def=minerdream.items[i].ingot_def
|
||||
if in_def == nil and minerdream.items[i].lump_def ~= nil then
|
||||
local in_def=minerdream.items[i].lump_def
|
||||
end
|
||||
if in_def ~= nil then
|
||||
local_craft_block(in_def.name,minerdream.modname..":"..i.."_block")
|
||||
end
|
||||
end
|
||||
|
||||
-- define bar stack
|
||||
if tdef.groups.has_bar_block then
|
||||
local bar_def=local_create_def(i,"bar_block",tdef.groups.has_bar_block,tdef)
|
||||
bar_def.paramtype="light"
|
||||
bar_def.is_ground_content=true
|
||||
bar_def.groups={snappy=tdef.groups.has_bar,dig_immediate=3}
|
||||
local_item_insert(i,"bar_block_def",bar_def)
|
||||
minetest.register_node(minerdream.modname..":"..i.."_bar_block",bar_def)
|
||||
local ingot_def=minerdream.items[i].ingot_def
|
||||
if ingot_def ~= nil then
|
||||
local_craft_stack(ingot_def.name,minerdream.modname..":"..i.."_bar_block")
|
||||
end
|
||||
end
|
||||
|
||||
if minerdream.items[i].ingot_def ~= nil then
|
||||
local ingot_name=minerdream.items[i].ingot_def.name
|
||||
for _,tool in ipairs({"spear","pick","axe","sword","shovel","helmet","chestplate","leggings","boots","shield"}) do
|
||||
if tdef.groups["has_"..tool] ~= nil then
|
||||
local stick = "group:stick"
|
||||
if tdef.tool_stick ~= nil then
|
||||
stick=tdef.tool_stick
|
||||
end
|
||||
minetest.register_craft({
|
||||
output=minerdream.modname..":"..tool.."_"..i,
|
||||
recipe=local_get_recipe(tool,ingot_name,stick)
|
||||
})
|
||||
end
|
||||
end
|
||||
for _,tool in ipairs({"bow"}) do
|
||||
if tdef.groups["has_"..tool] ~= nil then
|
||||
local stick = "farming:cotton"
|
||||
if tdef.tool_cotton ~= nil then
|
||||
if tdef.tool_cotton == "steel_wire" then
|
||||
stick = minerdream.steel_wire
|
||||
else
|
||||
stick=tdef.tool_cotton
|
||||
end
|
||||
end
|
||||
minetest.register_craft({
|
||||
output=minerdream.modname..":"..tool.."_"..i,
|
||||
recipe=local_get_recipe(tool,ingot_name,stick)
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
print("minerdream registering "..i.." in "..(math.floor(1000000*(os.clock()-starttime))/1000).." milliseconds")
|
||||
else
|
||||
print("minerdream: "..i.." not enabled")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
local has_value = basic_functions.has_value
|
||||
local tier_cols={
|
||||
col_num={"name"},}
|
||||
local tier_definition = basic_functions.import_csv(minerdream.path.."/tiers.txt",tier_cols)
|
||||
local tool_cols={
|
||||
col_num={"range","uses"},
|
||||
as_numeric=1,
|
||||
}
|
||||
local tool_definition = basic_functions.import_csv(minerdream.path.."/tools.txt",tool_cols)
|
||||
--print(dump2(tool_definition))
|
||||
|
||||
|
||||
for i,tdef in pairs(tool_definition) do
|
||||
if (i ~= "default") and (minerdream.items[i] ~= nil) then
|
||||
idef=table.copy(minerdream.items[i])
|
||||
local tooldef={}
|
||||
for col in pairs(tdef) do
|
||||
tooldef=basic_functions.parse_tree(tooldef,col,tdef[col])
|
||||
end
|
||||
for _,tool in pairs({"pick","axe","sword","shovel","spear"}) do
|
||||
if tooldef[tool] ~= nil then
|
||||
local ttv=tooldef[tool]
|
||||
tdesc=core.colorize("#"..idef.tierdef.color, i.." "..tool.."\n")..
|
||||
core.colorize("#A0A0A0", "tier: "..idef.tierdef.name.." ("..idef.tierdef.desc..")")
|
||||
if tooldef.uses then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Uses: "..tooldef.uses)
|
||||
end
|
||||
if ttv.maxlevel then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Max. Level: "..ttv.maxlevel)
|
||||
end
|
||||
if ttv.fleshy then
|
||||
tdesc=tdesc.."\n"..core.colorize("#A0A0A0","Damage: "..ttv.fleshy)
|
||||
end
|
||||
tt_def={description=tdesc,
|
||||
-- tt_def={description=i.." "..tool,
|
||||
inventory_image=minerdream.modname.."_"..tool.."_"..i..".png",
|
||||
range=tooldef.range or 2,
|
||||
groups={weapon=1},
|
||||
tool_capabilities={max_drop_level = 1,groupcaps={},
|
||||
damage_groups = {fleshy = ttv.fleshy or 4},},
|
||||
-- damage_groups = {fleshy=6.25},
|
||||
}
|
||||
for _,gc in pairs({"cracky","crumbly","choppy","snappy"}) do
|
||||
if ttv[gc] ~= nil then
|
||||
local ml = 1
|
||||
if tooldef.maxlevel ~=nil then
|
||||
ml=tooldef.maxlevel
|
||||
end
|
||||
if ttv.maxlevel ~= nil then
|
||||
ml = ttv.maxlevel
|
||||
end
|
||||
tt_def.tool_capabilities.groupcaps[gc]={times=table.copy(ttv[gc]),
|
||||
uses=tooldef.uses,maxlevel=ml}
|
||||
end
|
||||
end
|
||||
toolname=minerdream.modname..":"..tool.."_"..i
|
||||
minetest.register_tool(toolname,tt_def)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
|
||||
local has_value = basic_functions.has_value
|
||||
local tier_cols={
|
||||
col_num={"name"},}
|
||||
local tier_definition = basic_functions.import_csv(minerdream.path.."/tiers.txt",tier_cols)
|
||||
local tool_cols={
|
||||
col_num={"bow_wield_scale","tier","bow_velocity","bow_acceleration","arrow_damage"},
|
||||
groups_num={"is_bowarrow"},
|
||||
-- as_numeric=1,
|
||||
}
|
||||
local tool_definition = basic_functions.import_csv(minerdream.path.."/arrows.txt",tool_cols)
|
||||
--print(dump2(tool_definition))
|
||||
|
||||
local minerdream_arrow = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "wielditem",
|
||||
visual_size = {x=0.5, y=0.5,},
|
||||
textures = {'minerdream:shotarrow'},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
|
||||
for i,tdef in pairs(tool_definition) do
|
||||
if (i ~= "default") then
|
||||
if tdef.groups.is_bowarrow then
|
||||
-- register bow
|
||||
minetest.register_tool("minerdream:bow_"..i, {
|
||||
description = "".. core.colorize("#BFFFFF", i.." bow\n")..core.colorize("#A0A0A0", "projectile speed: "..tdef.bow_velocity.."\n")..core.colorize("#A0A0A0", "projectile gravity: "..tdef.bow_acceleration.."\n")..core.colorize("#A0A0A0", "ranged damage: "..tdef.arrow_damage.."\n")..core.colorize("#A0A0A0", "ammo: arrows"),
|
||||
inventory_image = "minerdream_bow_"..i..".png",
|
||||
wield_scale = {x=tdef.bow_wield_scale,y=tdef.bow_wield_scale,z=tdef.bow_wield_scale},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local inv = user:get_inventory()
|
||||
if not inv:contains_item("main", "minerdream:arrow 1") then
|
||||
minetest.sound_play("", {object=user})
|
||||
return itemstack
|
||||
end
|
||||
if not minetest.setting_getbool("creative_mode") then
|
||||
inv:remove_item("main", "minerdream:arrow")
|
||||
end
|
||||
local pos = user:getpos()
|
||||
local dir = user:get_look_dir()
|
||||
local yaw = user:get_look_yaw()
|
||||
if pos and dir and yaw then
|
||||
pos.y = pos.y + 1.6
|
||||
local obj = minetest.add_entity(pos, "minerdream:copperarrow")
|
||||
if obj then
|
||||
minetest.sound_play("", {object=obj})
|
||||
obj:setvelocity({x=dir.x * tdef.bow_velocity, y=dir.y * tdef.bow_velocity, z=dir.z * tdef.bow_velocity})
|
||||
obj:setacceleration({x=dir.x * tdef.bow_acceleration, y=tdef.bow_acceleration, z=dir.z * tdef.bow_acceleration})
|
||||
obj:setyaw(yaw + math.pi)
|
||||
local ent = obj:get_luaentity()
|
||||
if ent then
|
||||
ent.player = ent.player or user
|
||||
end
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
-- end register bow
|
||||
|
||||
local tarrow=table.copy(minerdream_arrow)
|
||||
tarrow.on_step = function(self, dtime)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
|
||||
if self.timer > (3.5/tdef.bow_velocity) then
|
||||
local objs = minetest.get_objects_inside_radius({x = pos.x, y = pos.y, z = pos.z}, 1)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "minerdream:"..i.."arrow" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups= {fleshy = tdef.arrow_damage},
|
||||
}, nil)
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
|
||||
end
|
||||
else
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups= {fleshy = tdef.arrow_damage},
|
||||
}, nil)
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if self.lastpos.x ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
if not minetest.setting_getbool("creative_mode") then
|
||||
minetest.add_item(self.lastpos, "minerdream:arrow")
|
||||
end
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
minetest.register_entity("minerdream:"..i.."arrow", tarrow )
|
||||
else
|
||||
minetest.register_craftitem("minerdream:"..i:gsub(" ","_"), {
|
||||
description = "".. core.colorize("#BFFFFF", i.."\n")..core.colorize("#A0A0A0", "throwable speed: "..tdef.bow_velocity.."\n")..core.colorize("#A0A0A0", "throwable gravity: "..tdef.bow_acceleration.."\n")..core.colorize("#A0A0A0", "throwing damage: "..tdef.arrow_damage),
|
||||
range = 0,
|
||||
stack_max= 500,
|
||||
inventory_image = "minerdream_"..i:gsub(" ","_")..".png",
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if not minetest.setting_getbool("creative_mode") then itemstack:take_item()
|
||||
end
|
||||
if pointed_thing.type ~= "nothing" then
|
||||
local pointed = minetest.get_pointed_thing_position(pointed_thing)
|
||||
if vector.distance(user:getpos(), pointed) < tdef.distance then
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
local pos = user:getpos()
|
||||
local dir = user:get_look_dir()
|
||||
local yaw = user:get_look_yaw()
|
||||
if pos and dir then
|
||||
pos.y = pos.y + 1.5
|
||||
local obj = minetest.add_entity(pos, "minerdream:shuriken")
|
||||
if obj then
|
||||
obj:setvelocity({x=dir.x * tdef.bow_velocity, y=dir.y * tdef.bow_velocity, z=dir.z * tdef.bow_velocity})
|
||||
obj:setacceleration({x=dir.x * tdef.bow_acceleration, y=tdef.bow_acceleration, z=dir.z * tdef.bow_acceleration})
|
||||
obj:setyaw(yaw + math.pi)
|
||||
local ent = obj:get_luaentity()
|
||||
if ent then
|
||||
ent.player = ent.player or user
|
||||
end
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
local tthrow=table.copy(minerdream_arrow)
|
||||
tthrow.visual="cube"
|
||||
tthrow.visual_size={x=0.5,y=0.0,}
|
||||
tthrow.textures = {'minerdream_'..i:gsub(" ","_")..'.png','minerdream_'..i:gsub(" ","_")..'.png','minerdream_'..i:gsub(" ","_")..'.png','minerdream_'..i:gsub(" ","_")..'.png','minerdream_'..i:gsub(" ","_")..'.png','minerdream_'..i:gsub(" ","_")..'.png'}
|
||||
tthrow.on_step = function(self, dtime)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
|
||||
if self.timer > (3.5/tdef.bow_velocity) then
|
||||
local objs = minetest.get_objects_inside_radius({x = pos.x, y = pos.y, z = pos.z}, 1)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "minerdream:"..i:gsub(" ","_") and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups= {fleshy = tdef.arrow_damage},
|
||||
}, nil)
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
end
|
||||
else
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups= {fleshy = tdef.arrow_damage},
|
||||
}, nil)
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if self.lastpos.x ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
if not minetest.setting_getbool("creative_mode") then
|
||||
minetest.add_item(self.lastpos, "minerdream:"..i:gsub(" ","_"))
|
||||
end
|
||||
minetest.sound_play("default_dig_cracky", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
minetest.register_entity("minerdream:"..i:gsub(" ","_"), tthrow)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craftitem("minerdream:arrow", {
|
||||
description = "".. core.colorize("#FFFFFF", "arrow\n")..core.colorize("#A0A0A0", "ammunition for bows"),
|
||||
stack_max= 1000,
|
||||
inventory_image = "minerdream_arrow_inv.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("minerdream:shotarrow", {
|
||||
inventory_image = "minerdream_arrow.png",
|
||||
})
|
|
@ -0,0 +1,3 @@
|
|||
minerdream.ingot_stack_max (Max stack for ingots) int 250 99 1000
|
||||
minerdream.lump_stack_max (Max stack for lumps) int 999 99 1000
|
||||
minerdream.dust_cooking_time_reduce (Recucing factor for cooking dust instead of lump) float 2 1 5
|