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

View File

@ -1,5 +1,5 @@
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},
{'_1', 'Cross', colbox_1_0, colbox_1_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}
if minetest.settings:get_bool('tombs.creative') then
group = {oddly_breakable_by_hand=2}
group = {oddly_breakable_by_hand=2, cracky=3}
end
for i in ipairs (shapes) do
@ -98,7 +98,7 @@ end
function tombs.crafting(input, var)
local name = tombs.recipes[input]
output =
local output =
{'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..'_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')..'/gravestones.lua')
dofile(minetest.get_modpath('tombs')..'/formspec.lua')
dofile(minetest.get_modpath('tombs')..'/chisel.lua')
--support for other mods
if minetest.get_modpath('bakedclay') and (minetest.settings:get_bool('tombs.load_bakedclay')) then
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
if minetest.get_modpath('default') and (minetest.settings:get_bool('tombs.load_default')) then
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
if minetest.get_modpath('wool') and (minetest.settings:get_bool('tombs.load_wool')) then
dofile(minetest.get_modpath('tombs')..'/wool.lua')
print 'loaded wool support.'
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
if listname == 'tool' then
if stack:get_name() == ('bones:bones') then
if stack:get_name() == 'bones:bones' then
return 99
elseif stack:get_name() == 'tombs:chisel' then
return 1
elseif stack:get_name() == 'mychisel:chisel' then
return 1
else
return 0
end
@ -91,7 +95,13 @@ minetest.register_node('tombs:machine', {
inv:set_list('output', {})
elseif listname == 'output' then
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('input',1,input_stack)
if inv:is_empty('input') then
@ -112,8 +122,11 @@ function tombs.populate_output(pos)
local tool_stack = inv:get_stack('tool', 1)
local input = input_stack:get_name()
local var = meta:get_string('var')
if tombs.nodes[input] and tool_stack:get_name() == ('bones:bones') then
inv:set_list('output', tombs.crafting(input, var))
if tombs.nodes[input] then
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
inv:set_list('output', {})
end

View File

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

View File

@ -1,5 +1,7 @@
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_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