Skip to content

Commit

Permalink
Technic and Toolranks support (#73)
Browse files Browse the repository at this point in the history
Co-authored-by: Treer <treer.git@gmail.com>
  • Loading branch information
Diablosxm and Treer authored Apr 28, 2024
1 parent d16b530 commit a6d1f55
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@ read_globals = {
"stairsplus",
"string.split",
table = { fields = { "copy", "getn" } },
"technic",
"toolranks",
"vector",
"VoxelArea",
"VoxelManip",
"walls",
xpanes = { fields = { "register_pane" } },
}

6 changes: 4 additions & 2 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,9 @@ if nether.NETHER_REALM_ENABLED then
end
end
dofile(nether.path .. "/portal_examples.lua")

if minetest.get_modpath("technic") then
dofile(nether.path .. "/nether-compressor-recipe.lua")
end

-- Portals are ignited by right-clicking with a mese crystal fragment
nether.register_portal_ignition_item(
Expand Down Expand Up @@ -345,4 +347,4 @@ minetest.register_on_dieplayer(
)
end
end
)
)
2 changes: 1 addition & 1 deletion mod.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = nether
description = Adds a deep underground realm with different mapgen that you can reach with obsidian portals.
depends = stairs, default
optional_depends = moreblocks, mesecons, loot, dungeon_loot, doc_basics, fire, climate_api, ethereal, xpanes, walls
optional_depends = toolranks, technic, moreblocks, mesecons, loot, dungeon_loot, doc_basics, fire, climate_api, ethereal, xpanes, walls
40 changes: 40 additions & 0 deletions nether-compressor-recipe.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
local S = minetest.get_translator("nether")

technic.register_recipe_type("compressing", { description = S("Compressing") })

function register_compressor_recipe(data)
data.time = data.time or 4
technic.register_recipe("compressing", data)
end

local recipes = {
{"nether:rack", "nether:brick",},
{"nether:rack_deep", "nether:brick_deep"},
{"nether:brick 9", "nether:brick_compressed", 12},
{"nether:brick_compressed 9", "nether:nether_lump", 12}

}
-- clear craft recipe
-- But allow brick blocks to be crafted like the other bricks from Minetest Game

minetest.clear_craft({
recipe = {
{"nether:brick","nether:brick","nether:brick"},
{"nether:brick","nether:brick","nether:brick"},
{"nether:brick","nether:brick","nether:brick"},
}
})

minetest.clear_craft({
recipe = {
{"nether:brick_compressed","nether:brick_compressed","nether:brick_compressed"},
{"nether:brick_compressed","nether:brick_compressed","nether:brick_compressed"},
{"nether:brick_compressed","nether:brick_compressed","nether:brick_compressed"},
}
})

for _, data in pairs(recipes) do
register_compressor_recipe({input = {data[1]}, output = data[2], time = data[3]})
end


32 changes: 32 additions & 0 deletions tools.lua
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,38 @@ minetest.register_craft({
})


if minetest.get_modpath("toolranks") then

local function add_toolranks(name)
local nethertool_after_use = ItemStack(name):get_definition().after_use
toolranks.add_tool(name)
local toolranks_after_use = ItemStack(name):get_definition().after_use

if nethertool_after_use == nil or nethertool_after_use == toolranks_after_use then
return
end

minetest.override_item(name, {
after_use = function(itemstack, user, node, digparams)
-- combine nethertool_after_use and toolranks_after_use by allowing
-- nethertool_after_use() to calculate the wear...
local initial_wear = itemstack:get_wear()
itemstack = nethertool_after_use(itemstack, user, node, digparams)
local wear = itemstack:get_wear() - initial_wear
itemstack:set_wear(initial_wear) -- restore/undo the wear

-- ...and have toolranks_after_use() apply the wear.
digparams.wear = wear
return toolranks_after_use(itemstack, user, node, digparams)
end
})
end

add_toolranks("nether:pick_nether")
add_toolranks("nether:shovel_nether")
add_toolranks("nether:axe_nether")
add_toolranks("nether:sword_nether")
end


--===========================--
Expand Down

0 comments on commit a6d1f55

Please sign in to comment.