added support for Ethereal and Darkage.

master
NathanSalapat 2019-01-25 21:37:02 -06:00
parent f68b6b4008
commit c80a20f16f
11 changed files with 98 additions and 21 deletions

View File

@ -1,3 +1,7 @@
You can easily add custom materials for the tombstones by simply calling You can easily add custom materials for the tombstones by simply calling
tombs.register_stones('modname:nodename', 'nodename', 'description', 'texture') tombs.register_stones('modname:nodename', 'nodename', 'description', 'texture', #Light_Level)
modname:nodename is the recipe node used in the input slot.
nodename is used internally, keep it short but specific to avoid conflicts.
description shows when hovering over the node in inventory.
DO NOT include the extension for the texture or you will get an error. DO NOT include the extension for the texture or you will get an error.
#Light_Level is optional if used it should be a number 1-14.

13
chisel.lua Normal file
View File

@ -0,0 +1,13 @@
minetest.register_tool('tombs:chisel', {
description = 'Stone Chisel',
inventory_image = 'tombs_chisel.png',
wield_image = 'tombs_chisel.png',
})
minetest.register_craft({
output = 'tombs:chisel',
recipe = {
{'default:steel_ingot', ''},
{'', 'default:tin_ingot'},
}
})

19
darkage.lua Normal file
View File

@ -0,0 +1,19 @@
tombs.register_stones('darkage:adobe', 'adobe', 'Adobe', 'darkage_adobe')
tombs.register_stones('darkage:basalt', 'basalt', 'Basalt', 'darkage_basalt')
tombs.register_stones('darkage:basalt_rubble', 'basalt_rubble', 'Basalt Rubble', 'darkage_basalt_rubble')
tombs.register_stones('darkage:chalk', 'chalk', 'Chalk', 'darkage_chalk')
tombs.register_stones('darkage:gneiss', 'gneiss', 'Gneiss', 'darkage_gneiss')
tombs.register_stones('darkage:gneiss_rubble', 'gneiss_rubble', 'Gneiss Rubble', 'darkage_gneiss_rubble')
tombs.register_stones('darkage:marble', 'marble', 'Marble', 'darkage_marble')
tombs.register_stones('darkage:ors', 'ors', 'Old Red Sandstone', 'darkage_ors')
tombs.register_stones('darkage:ors', 'ors_rubble', 'Old Red Sandstone Rubble', 'darkage_ors_rubble')
tombs.register_stones('darkage:rhyolitic_tuff', 'rhyolitic_tuff', 'Rhyolitic Tuff', 'darkage_rhyolitic_tuff')
tombs.register_stones('darkage:rhyolitic_tuff_rubble', 'rhyolitic_tuff_rubble', 'Rhyolitic Tuff Rubble', 'darkage_rhyolitic_tuff_rubble')
tombs.register_stones('darkage:schist', 'schist', 'Schist', 'darkage_schist')
tombs.register_stones('darkage:serpentine', 'serpentine', 'Serpentine', 'darkage_serpentine')
tombs.register_stones('darkage:shale', 'shale', 'Shale', 'darkage_shale')
tombs.register_stones('darkage:slate', 'slate', 'Slate', 'darkage_slate')
tombs.register_stones('darkage:slate_rubble', 'slate_rubble', 'Slate Rubble', 'darkage_slate_rubble')
tombs.register_stones('darkage:slate_tile', 'slate_tile', 'Slate Tile', 'darkage_slate_tile')
tombs.register_stones('darkage:tuff', 'tuff', 'Tuff', 'darkage_tuff')
tombs.register_stones('darkage:tuff_rubble', 'tuff_rubble', 'Tuff Rubble', 'darkage_tuff_rubble')

15
ethereal.lua Normal file
View File

@ -0,0 +1,15 @@
tombs.register_stones('ethereal:acacia_wood', 'acacia', 'Acacia', 'default_acacia_wood')
tombs.register_stones('ethereal:banana_wood', 'banana', 'Banana', 'banana_wood')
tombs.register_stones('ethereal:crystal_moss', 'crystal_moss', 'Crystal Moss', 'ethereal_grass_crystal_top')
tombs.register_stones('ethereal:fiery_moss', 'fiery_moss', 'Fiery Moss', 'ethereal_grass_fiery_top')
tombs.register_stones('ethereal:frost_wood', 'frost_wood', 'Frost Wood', 'frost_wood')
tombs.register_stones('ethereal:glostone', 'glostone', 'Glostone', 'glostone', 10)
tombs.register_stones('ethereal:grey_moss', 'grey_moss', 'Grey Moss', 'ethereal_grass_gray_top')
tombs.register_stones('ethereal:green_moss', 'green_moss', 'Green Moss', 'default_grass')
tombs.register_stones('ethereal:mushroom', 'mushroomcap', 'Mushroom Cap', 'mushroom_block')
tombs.register_stones('ethereal:mushroom_pore', 'mushroompore', 'Mushroom Pore', 'mushroom_pore')
tombs.register_stones('ethereal:palm_wood', 'palm_wood', 'Palm', 'moretrees_palm_wood')
tombs.register_stones('ethereal:redwood_wood', 'redwood_wood', 'Redwood', 'redwood_wood')
tombs.register_stones('ethereal:palm_wood', 'palm_wood', 'Palm', 'moretrees_palm_wood')
tombs.register_stones('ethereal:willow_wood', 'willow_wood', 'Willow', 'willow_wood')
tombs.register_stones('ethereal:yellow_wood', 'yellow_wood', 'Healing Wood', 'yellow_wood')

View File

@ -1,7 +1,7 @@
machine_formspec_centered = machine_formspec_centered =
'size[8,7.5]'.. 'size[8,7.5]'..
'list[context;tool;0,0;1,1]'.. 'list[context;tool;0,0;1,1]'..
'label[1,0;Bones]'.. 'label[1,0;Bones or Chisel]'..
'list[context;input;0,1;1,1]'.. 'list[context;input;0,1;1,1]'..
'label[1,1;Material]'.. 'label[1,1;Material]'..
'label[0,2;Click to switch to offset versions.]'.. 'label[0,2;Click to switch to offset versions.]'..
@ -12,7 +12,7 @@ machine_formspec_centered =
machine_formspec_offset = machine_formspec_offset =
'size[8,7.5]'.. 'size[8,7.5]'..
'list[context;tool;0,0;1,1]'.. 'list[context;tool;0,0;1,1]'..
'label[1,0;Bones]'.. 'label[1,0;Bones or Chisel]'..
'list[context;input;0,1;1,1]'.. 'list[context;input;0,1;1,1]'..
'label[1,1;Material]'.. 'label[1,1;Material]'..
'label[0,2;Click to switch to centered versions.]'.. 'label[0,2;Click to switch to centered versions.]'..

View File

@ -1,5 +1,5 @@
function tombs.register_stones(recipe, name, desc, textures, light) function tombs.register_stones(recipe, name, desc, textures, light)
shapes = { --mesh identifier, shape, col local shapes = { --mesh identifier, shape, col
{'_0', 'Rectangle', colbox_0_0, colbox_0_1}, {'_0', 'Rectangle', colbox_0_0, colbox_0_1},
{'_1', 'Cross', colbox_1_0, colbox_1_1}, {'_1', 'Cross', colbox_1_0, colbox_1_1},
{'_2', 'Pointed', colbox_0_0, colbox_0_1}, {'_2', 'Pointed', colbox_0_0, colbox_0_1},
@ -20,7 +20,7 @@ shapes = { --mesh identifier, shape, col
local group = {oddly_breakable_by_hand=2, not_in_creative_inventory=1} local group = {oddly_breakable_by_hand=2, not_in_creative_inventory=1}
if minetest.settings:get_bool('tombs.creative') then if minetest.settings:get_bool('tombs.creative') then
group = {oddly_breakable_by_hand=2} group = {oddly_breakable_by_hand=2, cracky=3}
end end
for i in ipairs (shapes) do for i in ipairs (shapes) do
@ -98,7 +98,7 @@ end
function tombs.crafting(input, var) function tombs.crafting(input, var)
local name = tombs.recipes[input] local name = tombs.recipes[input]
output = local output =
{'tombs:'..name..'_0_'..var, 'tombs:'..name..'_1_'..var, 'tombs:'..name..'_2_'..var, {'tombs:'..name..'_0_'..var, 'tombs:'..name..'_1_'..var, 'tombs:'..name..'_2_'..var,
'tombs:'..name..'_3_'..var, 'tombs:'..name..'_4_'..var, 'tombs:'..name..'_5_'..var, 'tombs:'..name..'_3_'..var, 'tombs:'..name..'_4_'..var, 'tombs:'..name..'_5_'..var,
'tombs:'..name..'_6_'..var, 'tombs:'..name..'_7_'..var, 'tombs:'..name..'_8_'..var, 'tombs:'..name..'_6_'..var, 'tombs:'..name..'_7_'..var, 'tombs:'..name..'_8_'..var,

View File

@ -6,24 +6,35 @@ dofile(minetest.get_modpath('tombs')..'/machine.lua')
dofile(minetest.get_modpath('tombs')..'/collision_boxes.lua') dofile(minetest.get_modpath('tombs')..'/collision_boxes.lua')
dofile(minetest.get_modpath('tombs')..'/gravestones.lua') dofile(minetest.get_modpath('tombs')..'/gravestones.lua')
dofile(minetest.get_modpath('tombs')..'/formspec.lua') dofile(minetest.get_modpath('tombs')..'/formspec.lua')
dofile(minetest.get_modpath('tombs')..'/chisel.lua')
--support for other mods --support for other mods
if minetest.get_modpath('bakedclay') and (minetest.settings:get_bool('tombs.load_bakedclay')) then if minetest.get_modpath('bakedclay') and (minetest.settings:get_bool('tombs.load_bakedclay')) then
dofile(minetest.get_modpath('tombs')..'/bakedclay.lua') dofile(minetest.get_modpath('tombs')..'/bakedclay.lua')
print 'loaded bakedclay support.' print 'Tombs loaded bakedclay support.'
end
if minetest.get_modpath('caverealms') and (minetest.settings:get_bool('tombs.load_caverealms')) then
dofile(minetest.get_modpath('tombs')..'/caverealms.lua')
print 'Tombs loaded caverealms support.'
end
if minetest.get_modpath('darkage') and (minetest.settings:get_bool('tombs.load_darkage')) then
dofile(minetest.get_modpath('tombs')..'/darkage.lua')
print 'Tombs loaded darkage support.'
end end
if minetest.get_modpath('default') and (minetest.settings:get_bool('tombs.load_default')) then if minetest.get_modpath('default') and (minetest.settings:get_bool('tombs.load_default')) then
dofile(minetest.get_modpath('tombs')..'/default.lua') dofile(minetest.get_modpath('tombs')..'/default.lua')
print 'loaded default support.' print 'Tombs loaded default support.'
end
if minetest.get_modpath('ethereal') and (minetest.settings:get_bool('tombs.load_ethereal')) then
dofile(minetest.get_modpath('tombs')..'/ethereal.lua')
print 'Tombs loaded ethereal support.'
end end
if minetest.get_modpath('wool') and (minetest.settings:get_bool('tombs.load_wool')) then if minetest.get_modpath('wool') and (minetest.settings:get_bool('tombs.load_wool')) then
dofile(minetest.get_modpath('tombs')..'/wool.lua') dofile(minetest.get_modpath('tombs')..'/wool.lua')
print 'loaded wool support.' print 'loaded wool support.'
end end
if minetest.get_modpath('caverealms') and (minetest.settings:get_bool('tombs.load_caverealms')) then
dofile(minetest.get_modpath('tombs')..'/caverealms.lua')
print 'loaded caverealms support.'
end

View File

@ -65,8 +65,12 @@ minetest.register_node('tombs:machine', {
end end
end end
if listname == 'tool' then if listname == 'tool' then
if stack:get_name() == ('bones:bones') then if stack:get_name() == 'bones:bones' then
return 99 return 99
elseif stack:get_name() == 'tombs:chisel' then
return 1
elseif stack:get_name() == 'mychisel:chisel' then
return 1
else else
return 0 return 0
end end
@ -91,7 +95,13 @@ minetest.register_node('tombs:machine', {
inv:set_list('output', {}) inv:set_list('output', {})
elseif listname == 'output' then elseif listname == 'output' then
input_stack:take_item(1) input_stack:take_item(1)
tool_stack:take_item(1) if tool_stack:get_name() == 'bones:bones' then
tool_stack:take_item(1)
elseif tool_stack:get_name() == 'tombs:chisel' then
tool_stack:add_wear(65535 / 48)
elseif tool_stack:get_name() == 'mychisel:chisel' then
tool_stack:add_wear(65535 / 48)
end
inv:set_stack('tool',1,tool_stack) inv:set_stack('tool',1,tool_stack)
inv:set_stack('input',1,input_stack) inv:set_stack('input',1,input_stack)
if inv:is_empty('input') then if inv:is_empty('input') then
@ -112,8 +122,11 @@ function tombs.populate_output(pos)
local tool_stack = inv:get_stack('tool', 1) local tool_stack = inv:get_stack('tool', 1)
local input = input_stack:get_name() local input = input_stack:get_name()
local var = meta:get_string('var') local var = meta:get_string('var')
if tombs.nodes[input] and tool_stack:get_name() == ('bones:bones') then if tombs.nodes[input] then
inv:set_list('output', tombs.crafting(input, var)) if tool_stack:get_name() == 'bones:bones' or tool_stack:get_name() == 'tombs:chisel'
or tool_stack:get_name() == 'mychisel:chisel' then
inv:set_list('output', tombs.crafting(input, var))
end
else else
inv:set_list('output', {}) inv:set_list('output', {})
end end

View File

@ -1,4 +1,4 @@
name = tombs name = tombs
description = Adds many shapes and styles of tombstones. description = Adds many shapes and styles of tombstones.
depends = default, bones depends = default
optional_depends = wool, bakedclay, caverealms optional_depends = wool, bakedclay, caverealms, mychisel, bones, darkage

View File

@ -1,5 +1,7 @@
tombs.creative (Show nodes in creative inventory?) bool false tombs.creative (Show nodes in creative inventory?) bool false
tombs.load_wool (Support wool mod?) bool true
tombs.load_default (Support default mod?) bool true
tombs.load_bakedclay (Support bakedclay mod?) bool true tombs.load_bakedclay (Support bakedclay mod?) bool true
tombs.load_caverealms (Support caverealms mod?) bool true tombs.load_caverealms (Support caverealms mod?) bool true
tombs.load_darkage (Support darkage mod?) bool true
tombs.load_default (Support default mod?) bool true
tombs.load_ethereal (Support ethereal mod?) bool true
tombs.load_wool (Support wool mod?) bool true

BIN
textures/tombs_chisel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B