rename mod to x_bonemeal

master
Juraj Vajda 2021-03-14 16:16:55 -04:00
parent d88886e79a
commit 2e3bfbe5fc
7 changed files with 65 additions and 65 deletions

View File

@ -1,4 +1,4 @@
# Bonemeal by SaKeL [bonemeal]
# Bonemeal by SaKeL [x_bonemeal]
Mod for Minetest. It provides one kind of simple bone meal (fertilizer) for fast growing plants, flowers, saplings, papyrus, grass...
Based on default minetest_game API with as less additions as possible what makes this mod super light-weight and suitable for online multiplayer servers.

34
api.lua
View File

@ -1,12 +1,12 @@
------------
-- Main API for bonemeal Mod
-- Main API for x_bonemeal Mod
-- @author Juraj Vajda
-- @license GNU LGPL 2.1
----
--- Main bonemeal class
-- @classmod bonemeal
bonemeal = {}
--- Main x_bonemeal class
-- @classmod x_bonemeal
x_bonemeal = {}
--- Get creative mode setting from minetest.conf
-- @local
@ -16,7 +16,7 @@ local creative_mode_cache = minetest.settings:get_bool('creative_mode')
-- @function
-- @param name Player name
-- @return Boolean
function bonemeal.is_creative(name)
function x_bonemeal.is_creative(name)
return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
end
@ -24,7 +24,7 @@ end
-- @function
-- @param under table of position
-- @return Boolean
function bonemeal.is_on_soil(under)
function x_bonemeal.is_on_soil(under)
local below = minetest.get_node({x = under.x, y = under.y - 1, z = under.z})
if minetest.get_item_group(below.name, 'soil') == 0 then
return false
@ -36,7 +36,7 @@ end
-- @function
-- @param under table of position
-- @return Boolean
function bonemeal.is_on_sand(under)
function x_bonemeal.is_on_sand(under)
local below = minetest.get_node({x = under.x, y = under.y - 1, z = under.z})
if minetest.get_item_group(below.name, 'sand') == 0 then
return false
@ -63,7 +63,7 @@ local farming_steps = {
--- Particle and sound effect after the bone meal is successfully used
-- @function
-- @param pos table containing position
function bonemeal.particle_effect(pos)
function x_bonemeal.particle_effect(pos)
minetest.sound_play('bonemeal_grow', {
pos = pos,
gain = 0.5,
@ -92,7 +92,7 @@ function bonemeal.particle_effect(pos)
})
end
function bonemeal.tableContains(table, value)
function x_bonemeal.tableContains(table, value)
local found = false
for k, v in ipairs(table) do
@ -107,7 +107,7 @@ end
--- Handle growth of decorations based on biome
-- @function
function bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
function x_bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
local node = minetest.get_node(pointed_thing.under)
if not node then
@ -167,7 +167,7 @@ function bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
local found = false
-- filter based on biome name in `biomes` table and node name in `place_on` table
if bonemeal.tableContains(v.biomes, biome_name) then
if x_bonemeal.tableContains(v.biomes, biome_name) then
table.insert(registered_decorations_filtered, v)
end
@ -271,7 +271,7 @@ function bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
returned_itemstack = random_decor_item_def.on_place(ItemStack(random_decor_item), user, pt)
if returned_itemstack and returned_itemstack:is_empty() then
bonemeal.particle_effect(pt.above)
x_bonemeal.particle_effect(pt.above)
end
elseif random_decor_item_def ~= nil then
-- everything else
@ -282,7 +282,7 @@ function bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
end
returned_itemstack = ItemStack('')
bonemeal.particle_effect(random_pos)
x_bonemeal.particle_effect(random_pos)
minetest.set_node({x = random_pos.x, y = random_pos.y + pos_y, z = random_pos.z}, { name = random_decor_item })
end
@ -292,7 +292,7 @@ function bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
end
-- take item
if returned_itemstack and returned_itemstack:is_empty() and not bonemeal.is_creative(user:get_player_name()) then
if returned_itemstack and returned_itemstack:is_empty() and not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
@ -303,7 +303,7 @@ end
-- @function
-- @param pos table containing position
-- @param replace_node_name the node/plant what we are growing/replacing with new growth stage
function bonemeal.grow_farming(pos, itemstack, user, replace_node_name)
function x_bonemeal.grow_farming(pos, itemstack, user, replace_node_name)
local ndef = minetest.registered_nodes[replace_node_name]
if not ndef.next_plant or ndef.next_plant == 'farming_addons:pumpkin_fruit' or ndef.next_plant == 'farming_addons:melon_fruit' then return itemstack end
@ -348,11 +348,11 @@ function bonemeal.grow_farming(pos, itemstack, user, replace_node_name)
placenode.param2 = ndef.place_param2
end
bonemeal.particle_effect(pos)
x_bonemeal.particle_effect(pos)
minetest.swap_node(pos, placenode)
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end

View File

@ -4,7 +4,7 @@
-- @license GNU LGPL 2.1
----
local path = minetest.get_modpath("bonemeal")
local path = minetest.get_modpath("x_bonemeal")
--- API include
-- @submodule
@ -12,9 +12,9 @@ dofile(path.."/api.lua")
--- Register craftitem definition - added to minetest.registered_items[name]
-- @function
minetest.register_craftitem("bonemeal:bonemeal", {
minetest.register_craftitem("x_bonemeal:bonemeal", {
description = "Bonemeal - use it as a fertilizer for most plants",
inventory_image = "bonemeal_bonemeal.png",
inventory_image = "x_bonemeal_bonemeal.png",
-- wield_scale = {x=1.5, y=1.5, z=1},
on_use = function(itemstack, user, pointed_thing)
local under = pointed_thing.under
@ -35,7 +35,7 @@ minetest.register_craftitem("bonemeal:bonemeal", {
--
if mod == "farming" or mod == "farming_addons" then
bonemeal.grow_farming(under, itemstack, user, node.name)
x_bonemeal.grow_farming(under, itemstack, user, node.name)
--
-- Default (Trees, Bushes, Papyrus)
@ -44,7 +44,7 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- christmas tree
elseif node.name == "x_default:christmas_tree_sapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
if minetest.find_node_near(under, 1, {"group:snowy"}) then
@ -53,10 +53,10 @@ minetest.register_craftitem("bonemeal:bonemeal", {
x_default.grow_christmas_tree(under)
end
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -64,14 +64,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- apple tree
elseif node.name == "default:sapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
default.grow_new_apple_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -79,14 +79,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- jungle tree
elseif node.name == "default:junglesapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
default.grow_new_jungle_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -94,14 +94,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- emergent jungle tree
elseif node.name == "default:emergent_jungle_sapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
default.grow_new_emergent_jungle_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -109,14 +109,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- acacia tree
elseif node.name == "default:acacia_sapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
default.grow_new_acacia_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -124,14 +124,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- aspen tree
elseif node.name == "default:aspen_sapling" then
local chance = math.random(2)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 1 then
default.grow_new_aspen_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -139,16 +139,16 @@ minetest.register_craftitem("bonemeal:bonemeal", {
-- pine tree
elseif node.name == "default:pine_sapling" then
local chance = math.random(4)
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
if chance == 3 then
default.grow_new_snowy_pine_tree(under)
elseif chance == 1 then
default.grow_new_pine_tree(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -158,12 +158,12 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
default.grow_bush(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -173,12 +173,12 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
default.grow_acacia_bush(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -188,12 +188,12 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
default.grow_pine_bush(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -203,12 +203,12 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
default.grow_blueberry_bush(under)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -218,12 +218,12 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_soil(under) then return end
if not x_bonemeal.is_on_soil(under) then return end
default.grow_papyrus(under, node)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
@ -233,17 +233,17 @@ minetest.register_craftitem("bonemeal:bonemeal", {
local chance = math.random(2)
if chance == 1 then
if not bonemeal.is_on_sand(under) then return end
if not x_bonemeal.is_on_sand(under) then return end
default.grow_large_cactus(under, node)
bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
x_bonemeal.particle_effect({x = under.x, y = under.y + 1, z = under.z})
end
-- take item if not in creative
if not bonemeal.is_creative(user:get_player_name()) then
if not x_bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item()
end
return itemstack
else
bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
x_bonemeal.grow_grass_and_flowers(itemstack, user, pointed_thing)
end
return itemstack
@ -255,14 +255,14 @@ minetest.register_craftitem("bonemeal:bonemeal", {
--
minetest.register_craft({
output = 'bonemeal:bonemeal 9',
output = 'x_bonemeal:bonemeal 9',
recipe = {
{'bones:bones'}
}
})
minetest.register_craft({
output = 'bonemeal:bonemeal 9',
output = 'x_bonemeal:bonemeal 9',
recipe = {
{'default:coral_skeleton'}
}

View File

@ -1,3 +1,3 @@
name = bonemeal
name = x_bonemeal
description = Mod bonemeal for Minetest.
depends = default, x_default, farming, bones, flowers

View File

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 185 B

View File

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 235 B