All mods are now managed via submodules.
24
.gitmodules
vendored
@ -1,21 +1,45 @@
|
||||
[submodule "mods/bonemeal"]
|
||||
path = mods/bonemeal
|
||||
url = https://notabug.org/TenPlus1/bonemeal
|
||||
[submodule "mods/connected_chests"]
|
||||
path = mods/connected_chests
|
||||
url = https://github.com/HybridDog/connected_chests.git
|
||||
[submodule "mods/elepower"]
|
||||
path = mods/elepower
|
||||
url = https://gitlab.icynet.eu/evert/elepower.git
|
||||
[submodule "mods/facade"]
|
||||
path = mods/facade
|
||||
url = https://github.com/TumeniNodes/facade
|
||||
[submodule "mods/farming"]
|
||||
path = mods/farming
|
||||
url = https://notabug.org/TenPlus1/Farming
|
||||
[submodule "mods/fluid_lib"]
|
||||
path = mods/fluid_lib
|
||||
url = https://gitlab.icynet.eu/evert/fluid_lib.git
|
||||
[submodule "mods/fromscratch"]
|
||||
path = mods/fromscratch
|
||||
url = https://github.com/Quent42340/FromScratch.git
|
||||
[submodule "mods/hopper"]
|
||||
path = mods/hopper
|
||||
url = https://github.com/minetest-mods/hopper
|
||||
[submodule "mods/intllib"]
|
||||
path = mods/intllib
|
||||
url = https://github.com/minetest-mods/intllib
|
||||
[submodule "mods/item_drop"]
|
||||
path = mods/item_drop
|
||||
url = https://github.com/Quent42340/item_drop.git
|
||||
[submodule "mods/melterns"]
|
||||
path = mods/melterns
|
||||
url = https://gitlab.icynet.eu/evert/melterns.git
|
||||
[submodule "mods/moreblocks"]
|
||||
path = mods/moreblocks
|
||||
url = https://github.com/minetest-mods/moreblocks
|
||||
[submodule "mods/mydoors"]
|
||||
path = mods/mydoors
|
||||
url = https://github.com/minetest-mods/mydoors
|
||||
[submodule "mods/protector"]
|
||||
path = mods/protector
|
||||
url = https://github.com/Zeg9/minetest-protect
|
||||
[submodule "mods/quest_lib"]
|
||||
path = mods/quest_lib
|
||||
url = https://github.com/Quent42340/quest_lib.git
|
||||
|
27
README.md
@ -6,32 +6,35 @@ This Minetest game is heavily inspirated by FeedTheBeast SkyFactory.
|
||||
|
||||
## Download
|
||||
|
||||
- Latest "stable" version: [link](https://github.com/Quent42340/SkyFactory/releases)
|
||||
**NB:** Don't use GitHub `Download ZIP` option, you'll get empty folders for the mods.
|
||||
|
||||
### [Click here to get latest release](https://github.com/Quent42340/SkyFactory/releases)
|
||||
|
||||
## Using git
|
||||
|
||||
`git clone --recursive git@github.com:Quent42340/SkyFactory.git`
|
||||
(Needed for submodules)
|
||||
|
||||
Using `--recursive` is needed to fetch all submodules.
|
||||
|
||||
## Mod list
|
||||
|
||||
- [bonemeal](https://notabug.org/TenPlus1/bonemeal) (local)
|
||||
- [bonemeal](https://notabug.org/TenPlus1/bonemeal)
|
||||
- [connected_chests](https://github.com/HybridDog/connected_chests)
|
||||
- [elepower](https://gitlab.icynet.eu/evert/elepower)
|
||||
- [facade](https://github.com/TumeniNodes/facade) (local)
|
||||
- [farming](https://notabug.org/TenPlus1/Farming) (local)
|
||||
- [facade](https://github.com/TumeniNodes/facade)
|
||||
- [farming](https://notabug.org/TenPlus1/Farming)
|
||||
- [fluid_lib](https://gitlab.icynet.eu/evert/fluid_lib)
|
||||
- [fromscratch](https://github.com/Quent42340/FromScratch)
|
||||
- [hopper](https://github.com/minetest-mods/hopper) (local)
|
||||
- [intllib](https://github.com/minetest-mods/intllib) (local)
|
||||
- [hopper](https://github.com/minetest-mods/hopper)
|
||||
- [intllib](https://github.com/minetest-mods/intllib)
|
||||
- [item_drop](https://github.com/Quent42340/item_drop)
|
||||
- [melterns](https://gitlab.icynet.eu/evert/melterns)
|
||||
- [minetest_game](https://github.com/minetest/minetest_game) (local)
|
||||
- [moreblocks](https://github.com/minetest-mods/moreblocks) (local)
|
||||
- [mydoors](https://github.com/minetest-mods/mydoors) (local)
|
||||
- [protector](https://github.com/Zeg9/minetest-protect) (local)
|
||||
- [minetest_game](https://github.com/minetest/minetest_game) (local subset, without `farming` and `bucket`)
|
||||
- [moreblocks](https://github.com/minetest-mods/moreblocks)
|
||||
- [mydoors](https://github.com/minetest-mods/mydoors)
|
||||
- [protector](https://github.com/Zeg9/minetest-protect)
|
||||
- [quest_lib](https://github.com/Quent42340/quest_lib)
|
||||
- skyfactory_quests (local mod)
|
||||
- skyfactory_quests (only contain quests for this specific game)
|
||||
- [sky_islands](https://github.com/Quent42340/sky_islands)
|
||||
- [storage_interface](https://github.com/cx384/storage_interface)
|
||||
- [unified_inventory](https://github.com/minetest-mods/unified_inventory)
|
||||
|
1
mods/bonemeal
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 01d71b2b2951d5258d20e288979d374e043c451a
|
@ -1,34 +0,0 @@
|
||||
Bonemeal mod [bonemeal]
|
||||
|
||||
This mod adds four new items into the game, bones which can be dug from normal
|
||||
dirt which can be made into bonemeal, mulch which is is crafted using a tree and
|
||||
8x leaves, and fertiliser which is a mixture of them both.
|
||||
|
||||
Each item can be used on saplings and crops for a chance to grow them quicker as
|
||||
well as dirt which will generate random grass, flowers or whichever decoration
|
||||
is registered.
|
||||
|
||||
Mulch has a strength of 1, Bonemeal 2 and Fertiliser 3 which means the stronger
|
||||
the item, the more chance of growing saplings in low light, making crops sprout
|
||||
quicker or simply decorate a larger area with grass and flowers.
|
||||
|
||||
The api.txt document shows how to add your own saplings, crops and grasses to
|
||||
the list by using one of the 3 commands included and the mod.lua file gives you
|
||||
many examples by using some of the popular mods available.
|
||||
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=16446
|
||||
|
||||
Changelog:
|
||||
|
||||
- 0.1 - Initial release
|
||||
- 0.2 - Added global on_use function for bonemeal growth
|
||||
- 0.3 - Added strength to on_use global for new items (mulch and fertiliser)
|
||||
- 0.4 - Added Intllib support and fr.txt file
|
||||
- 0.5 - Added support for default bush and acacia bush saplings
|
||||
- 0.6 - Using newer functions, Minetest 0.4.16 and above needed to run
|
||||
- 0.7 - Can be used on papyrus and cactus now, added coral recipe, api addition
|
||||
- 0.8 - Added support for farming redo's new garlic, pepper and onion crops
|
||||
- 0.9 - Added support for farming redo's pea and beetroot crops, checks for place_param
|
||||
- 1.0 - add_deco() now adds to existing item list while set_deco() replaces item list (thanks h-v-smacker)
|
||||
|
||||
Lucky Blocks: 5
|
@ -1,96 +0,0 @@
|
||||
|
||||
Bonemeal API
|
||||
============
|
||||
|
||||
This guide will show you how to add saplings, crops and dirt types for the
|
||||
bonemeal mod to use from withhin your own mods. Please make sure that bonemeal
|
||||
appears in the depends.txt file of your mod so everything work properly.
|
||||
|
||||
|
||||
Function Usage
|
||||
==============
|
||||
|
||||
|
||||
Adding Crops
|
||||
------------
|
||||
|
||||
bonemeal:add_crop({
|
||||
{ nodename_start, growing_steps, seed_name }
|
||||
})
|
||||
|
||||
This command is used to add new crops for bonemeal to work on.
|
||||
|
||||
e.g.
|
||||
|
||||
bonemeal:add_crop({
|
||||
{"farming:cotton_", 8, "farming:seed_cotton"},
|
||||
{"farming:wheat_", 8, "farming:seed_wheat"},
|
||||
})
|
||||
|
||||
|
||||
Adding Saplings
|
||||
---------------
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{ sapling_node, function, soil_type[sand, dirt, nodename] }
|
||||
})
|
||||
|
||||
This command will add new saplings for bonemeal to grow on sand, soil or a
|
||||
specified node type.
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "soil"},
|
||||
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "sand"},
|
||||
})
|
||||
|
||||
|
||||
Adding Dirt Decoration
|
||||
----------------------
|
||||
|
||||
bonemeal:add_deco({
|
||||
{ dirt_node, {grass_node_list}, {decor_node_list} }
|
||||
})
|
||||
|
||||
This command will add grass and decoration to specific dirt types, use "" to
|
||||
add an empty node. If some decorations have been already defined for this dirt type, new
|
||||
will be added to the respective list. All empty ("") entries will be added regardless,
|
||||
which allows to decrease the frequency of decoration emergence, if needed.
|
||||
|
||||
e.g.
|
||||
|
||||
bonemeal:add_deco({
|
||||
{"default:dirt_with_dry_grass", {"default:dry_grass_1", ""},
|
||||
{"flowers:rose", "flowers:viola"} }
|
||||
})
|
||||
|
||||
Thus, add_deco() always adds (to) a definition, and never overrides. To discard an existing
|
||||
definiton in favor of the new one, use
|
||||
|
||||
bonemeal:set_deco({
|
||||
{ dirt_node, {grass_node_list}, {decor_node_list} }
|
||||
})
|
||||
|
||||
This command will set decoration for a given dirt type, fully replacing any existing definition.
|
||||
|
||||
|
||||
Global ON_USE Function
|
||||
----------------------
|
||||
|
||||
bonemeal:on_use(pos, strength, node)
|
||||
|
||||
This function can be called from other mods to grow plants using alternative
|
||||
bonemeal items and have the same effect.
|
||||
|
||||
{pos} is the location to apply growing
|
||||
{strength} is how strong to grow [low of 1 to high of 4]
|
||||
{node} is the node at pos, but can be left nil to get_node itself
|
||||
|
||||
Note: Higher strength items require lower light levels, and a strength of 4
|
||||
needs no light at all.
|
||||
|
||||
|
||||
Final Words
|
||||
===========
|
||||
|
||||
I hope this guide helps you add your own plants so you can grow them quickly
|
||||
with the items included. Please check the mods.lua for more examples.
|
@ -1,7 +0,0 @@
|
||||
default
|
||||
intllib?
|
||||
farming?
|
||||
ethereal?
|
||||
moretrees?
|
||||
technic_worldgen?
|
||||
lucky_block?
|
@ -1 +0,0 @@
|
||||
Adds bone and bonemeal giving the ability to quickly grow plants and saplings.
|
@ -1,622 +0,0 @@
|
||||
|
||||
bonemeal = {}
|
||||
|
||||
-- Load support for intllib.
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP .. "/intllib.lua")
|
||||
|
||||
|
||||
-- creative check
|
||||
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
|
||||
function is_creative(name)
|
||||
return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
|
||||
end
|
||||
|
||||
|
||||
-- default crops
|
||||
local crops = {
|
||||
{"farming:cotton_", 8, "farming:seed_cotton"},
|
||||
{"farming:wheat_", 8, "farming:seed_wheat"},
|
||||
}
|
||||
|
||||
|
||||
-- special pine check for nearby snow
|
||||
local function pine_grow(pos)
|
||||
|
||||
if minetest.find_node_near(pos, 1,
|
||||
{"default:snow", "default:snowblock", "default:dirt_with_snow"}) then
|
||||
|
||||
default.grow_new_snowy_pine_tree(pos)
|
||||
else
|
||||
default.grow_new_pine_tree(pos)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- default saplings
|
||||
local saplings = {
|
||||
{"default:sapling", default.grow_new_apple_tree, "soil"},
|
||||
{"default:junglesapling", default.grow_new_jungle_tree, "soil"},
|
||||
{"default:acacia_sapling", default.grow_new_acacia_tree, "soil"},
|
||||
{"default:aspen_sapling", default.grow_new_aspen_tree, "soil"},
|
||||
{"default:pine_sapling", pine_grow, "soil"},
|
||||
{"default:bush_sapling", default.grow_bush, "soil"},
|
||||
{"default:acacia_bush_sapling", default.grow_acacia_bush, "soil"},
|
||||
}
|
||||
|
||||
-- helper tables ( "" denotes a blank item )
|
||||
local green_grass = {
|
||||
"default:grass_2", "default:grass_3", "default:grass_4",
|
||||
"default:grass_5", "", ""
|
||||
}
|
||||
|
||||
local dry_grass = {
|
||||
"default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4",
|
||||
"default:dry_grass_5", "", ""
|
||||
}
|
||||
|
||||
local flowers = {
|
||||
"flowers:dandelion_white", "flowers:dandelion_yellow", "flowers:geranium",
|
||||
"flowers:rose", "flowers:tulip", "flowers:viola", ""
|
||||
}
|
||||
|
||||
-- add additional bakedclay flowers if enabled
|
||||
if minetest.get_modpath("bakedclay") then
|
||||
flowers[7] = "bakedclay:delphinium"
|
||||
flowers[8] = "bakedclay:thistle"
|
||||
flowers[9] = "bakedclay:lazarus"
|
||||
flowers[10] = "bakedclay:mannagrass"
|
||||
flowers[11] = ""
|
||||
end
|
||||
|
||||
-- default biomes deco
|
||||
local deco = {
|
||||
{"default:dirt_with_dry_grass", dry_grass, flowers},
|
||||
{"default:sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||
{"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||
{"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||
}
|
||||
|
||||
|
||||
----- local functions
|
||||
|
||||
|
||||
-- particles
|
||||
local function particle_effect(pos)
|
||||
|
||||
minetest.add_particlespawner({
|
||||
amount = 4,
|
||||
time = 0.15,
|
||||
minpos = pos,
|
||||
maxpos = pos,
|
||||
minvel = {x = -1, y = 2, z = -1},
|
||||
maxvel = {x = 1, y = 4, z = 1},
|
||||
minacc = {x = -1, y = -1, z = -1},
|
||||
maxacc = {x = 1, y = 1, z = 1},
|
||||
minexptime = 1,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 3,
|
||||
texture = "bonemeal_particle.png",
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- tree type check
|
||||
local function grow_tree(pos, object)
|
||||
|
||||
if type(object) == "table" and object.axiom then
|
||||
-- grow L-system tree
|
||||
minetest.remove_node(pos)
|
||||
minetest.spawn_tree(pos, object)
|
||||
|
||||
elseif type(object) == "string" and minetest.registered_nodes[object] then
|
||||
-- place node
|
||||
minetest.set_node(pos, {name = object})
|
||||
|
||||
elseif type(object) == "function" then
|
||||
-- function
|
||||
object(pos)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- sapling check
|
||||
local function check_sapling(pos, nodename)
|
||||
|
||||
-- what is sapling placed on?
|
||||
local under = minetest.get_node({
|
||||
x = pos.x,
|
||||
y = pos.y - 1,
|
||||
z = pos.z
|
||||
})
|
||||
|
||||
local can_grow, grow_on
|
||||
|
||||
-- check list for sapling and function
|
||||
for n = 1, #saplings do
|
||||
|
||||
if saplings[n][1] == nodename then
|
||||
|
||||
grow_on = saplings[n][3]
|
||||
|
||||
-- sapling grows on top of specific node
|
||||
if grow_on
|
||||
and grow_on ~= "soil"
|
||||
and grow_on ~= "sand"
|
||||
and grow_on == under.name then
|
||||
can_grow = true
|
||||
end
|
||||
|
||||
-- sapling grows on top of soil (default)
|
||||
if can_grow == nil
|
||||
and (grow_on == nil or grow_on == "soil")
|
||||
and minetest.get_item_group(under.name, "soil") > 0 then
|
||||
can_grow = true
|
||||
end
|
||||
|
||||
-- sapling grows on top of sand
|
||||
if can_grow == nil
|
||||
and grow_on == "sand"
|
||||
and minetest.get_item_group(under.name, "sand") > 0 then
|
||||
can_grow = true
|
||||
end
|
||||
|
||||
-- check if we can grow sapling
|
||||
if can_grow then
|
||||
particle_effect(pos)
|
||||
grow_tree(pos, saplings[n][2])
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- crops check
|
||||
local function check_crops(pos, nodename, strength)
|
||||
|
||||
local mod, crop, stage, nod, def
|
||||
|
||||
-- grow registered crops
|
||||
for n = 1, #crops do
|
||||
|
||||
if string.find(nodename, crops[n][1])
|
||||
or nodename == crops[n][3] then
|
||||
|
||||
-- separate mod and node name
|
||||
mod = nodename:split(":")[1] .. ":"
|
||||
crop = nodename:split(":")[2]
|
||||
|
||||
-- get stage number or set to 0 for seed
|
||||
stage = tonumber( crop:split("_")[2] ) or 0
|
||||
stage = math.min(stage + strength, crops[n][2])
|
||||
|
||||
-- check for place_param setting
|
||||
nod = crops[n][1] .. stage
|
||||
def = minetest.registered_nodes[nod]
|
||||
def = def and def.place_param2 or 0
|
||||
|
||||
minetest.set_node(pos, {name = nod, param2 = def})
|
||||
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
-- check soil for specific decoration placement
|
||||
local function check_soil(pos, nodename, strength)
|
||||
|
||||
-- set radius according to strength
|
||||
local side = strength - 1
|
||||
local tall = math.max(strength - 2, 0)
|
||||
|
||||
-- get area of land with free space above
|
||||
local dirt = minetest.find_nodes_in_area_under_air(
|
||||
{x = pos.x - side, y = pos.y - tall, z = pos.z - side},
|
||||
{x = pos.x + side, y = pos.y + tall, z = pos.z + side},
|
||||
{"group:soil", "group:sand"})
|
||||
|
||||
-- set default grass and decoration
|
||||
local grass = green_grass
|
||||
local decor = flowers
|
||||
|
||||
-- choose grass and decoration to use on dirt patch
|
||||
for n = 1, #deco do
|
||||
|
||||
-- do we have a grass match?
|
||||
if nodename == deco[n][1] then
|
||||
grass = deco[n][2] or {}
|
||||
decor = deco[n][3] or {}
|
||||
end
|
||||
end
|
||||
|
||||
local pos2, nod, def
|
||||
|
||||
-- loop through soil
|
||||
for _,n in pairs(dirt) do
|
||||
|
||||
pos2 = n
|
||||
|
||||
pos2.y = pos2.y + 1
|
||||
|
||||
if math.random(1, 5) == 5 then
|
||||
-- place random decoration (rare)
|
||||
nod = decor[math.random(1, #decor)] or ""
|
||||
else
|
||||
-- place random grass (common)
|
||||
nod = #grass > 0 and grass[math.random(1, #grass)] or ""
|
||||
end
|
||||
|
||||
if nod and nod ~= "" then
|
||||
def = minetest.registered_nodes[nod]
|
||||
def = def and def.place_param2 or 0
|
||||
minetest.set_node(pos2, {name = nod, param2 = def})
|
||||
end
|
||||
|
||||
particle_effect(pos2)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- global functions
|
||||
|
||||
|
||||
-- add to sapling list
|
||||
-- {sapling node, schematic or function name, "soil"|"sand"|specific_node}
|
||||
--e.g. {"default:sapling", default.grow_new_apple_tree, "soil"}
|
||||
|
||||
function bonemeal:add_sapling(list)
|
||||
|
||||
for n = 1, #list do
|
||||
table.insert(saplings, list[n])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- add to crop list to force grow
|
||||
-- {crop name start_, growth steps, seed node (if required)}
|
||||
-- e.g. {"farming:wheat_", 8, "farming:seed_wheat"}
|
||||
function bonemeal:add_crop(list)
|
||||
|
||||
for n = 1, #list do
|
||||
table.insert(crops, list[n])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- add grass and flower/plant decoration for specific dirt types
|
||||
-- {dirt_node, {grass_nodes}, {flower_nodes}
|
||||
-- e.g. {"default:dirt_with_dry_grass", dry_grass, flowers}
|
||||
-- if an entry already exists for a given dirt type, it will add new entries and all empty
|
||||
-- entries, allowing to both add decorations and decrease their frequency.
|
||||
function bonemeal:add_deco(list)
|
||||
|
||||
for l = 1, #list do
|
||||
|
||||
for n = 1, #deco do
|
||||
|
||||
-- update existing entry
|
||||
if list[l][1] == deco[n][1] then
|
||||
|
||||
-- adding grass types
|
||||
for _,extra in ipairs(list[l][2]) do
|
||||
|
||||
if extra ~= "" then
|
||||
|
||||
for __,entry in ipairs(deco[n][2]) do
|
||||
|
||||
if extra == entry then
|
||||
extra = false
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if extra then
|
||||
table.insert(deco[n][2], extra)
|
||||
end
|
||||
end
|
||||
|
||||
-- adding decoration types
|
||||
for _,extra in ipairs(list[l][3]) do
|
||||
|
||||
if extra ~= "" then
|
||||
|
||||
for __,entry in ipairs(deco[n][3]) do
|
||||
|
||||
if extra == entry then
|
||||
extra = false
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if extra then
|
||||
table.insert(deco[n][3], extra)
|
||||
end
|
||||
end
|
||||
|
||||
list[l] = false
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if list[l] then
|
||||
table.insert(deco, list[l])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- definitively set a decration scheme
|
||||
-- this function will either add a new entry as is, or replace the existing one
|
||||
function bonemeal:set_deco(list)
|
||||
|
||||
for l = 1, #list do
|
||||
|
||||
for n = 1, #deco do
|
||||
|
||||
-- replace existing entry
|
||||
if list[l][1] == deco[n][1] then
|
||||
deco[n][2] = list[l][2]
|
||||
deco[n][3] = list[l][3]
|
||||
list[l] = false
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if list[l] then
|
||||
table.insert(deco, list[l])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- global on_use function for bonemeal
|
||||
function bonemeal:on_use(pos, strength, node)
|
||||
|
||||
-- get node pointed at
|
||||
local node = node or minetest.get_node(pos)
|
||||
|
||||
-- return if nothing there
|
||||
if node.name == "ignore" then
|
||||
return
|
||||
end
|
||||
|
||||
-- make sure strength is between 1 and 4
|
||||
strength = strength or 1
|
||||
strength = math.max(strength, 1)
|
||||
strength = math.min(strength, 4)
|
||||
|
||||
-- papyrus and cactus
|
||||
if node.name == "default:papyrus" then
|
||||
|
||||
default.grow_papyrus(pos, node)
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
elseif node.name == "default:cactus" then
|
||||
|
||||
default.grow_cactus(pos, node)
|
||||
particle_effect(pos)
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- grow grass and flowers
|
||||
if minetest.get_item_group(node.name, "soil") > 0
|
||||
or minetest.get_item_group(node.name, "sand") > 0 then
|
||||
check_soil(pos, node.name, strength)
|
||||
return
|
||||
end
|
||||
|
||||
-- light check depending on strength (strength of 4 = no light needed)
|
||||
if (minetest.get_node_light(pos) or 0) < (12 - (strength * 3)) then
|
||||
return
|
||||
end
|
||||
|
||||
-- check for tree growth if pointing at sapling
|
||||
if minetest.get_item_group(node.name, "sapling") > 0
|
||||
and math.random(1, (5 - strength)) == 1 then
|
||||
check_sapling(pos, node.name)
|
||||
return
|
||||
end
|
||||
|
||||
-- check for crop growth
|
||||
check_crops(pos, node.name, strength)
|
||||
end
|
||||
|
||||
|
||||
----- items
|
||||
|
||||
|
||||
-- mulch (strength 1)
|
||||
minetest.register_craftitem("bonemeal:mulch", {
|
||||
description = S("Mulch"),
|
||||
inventory_image = "bonemeal_mulch.png",
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
-- did we point at a node?
|
||||
if pointed_thing.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
-- is area protected?
|
||||
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
-- take item if not in creative
|
||||
if not is_creative(user:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
-- call global on_use function with strength of 1
|
||||
bonemeal:on_use(pointed_thing.under, 1)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- bonemeal (strength 2)
|
||||
minetest.register_craftitem("bonemeal:bonemeal", {
|
||||
description = S("Bone Meal"),
|
||||
inventory_image = "bonemeal_item.png",
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
-- did we point at a node?
|
||||
if pointed_thing.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
-- is area protected?
|
||||
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
-- take item if not in creative
|
||||
if not is_creative(user:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
-- call global on_use function with strength of 2
|
||||
bonemeal:on_use(pointed_thing.under, 2)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- fertiliser (strength 3)
|
||||
minetest.register_craftitem("bonemeal:fertiliser", {
|
||||
description = S("Fertiliser"),
|
||||
inventory_image = "bonemeal_fertiliser.png",
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
-- did we point at a node?
|
||||
if pointed_thing.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
-- is area protected?
|
||||
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
-- take item if not in creative
|
||||
if not is_creative(user:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
-- call global on_use function with strength of 3
|
||||
bonemeal:on_use(pointed_thing.under, 3)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- bone
|
||||
minetest.register_craftitem("bonemeal:bone", {
|
||||
description = S("Bone"),
|
||||
inventory_image = "bonemeal_bone.png",
|
||||
})
|
||||
|
||||
-- gelatin powder
|
||||
minetest.register_craftitem("bonemeal:gelatin_powder", {
|
||||
description = S("Gelatin Powder"),
|
||||
inventory_image = "bonemeal_gelatin_powder.png",
|
||||
groups = {food_gelatin = 1, flammable = 2},
|
||||
})
|
||||
|
||||
|
||||
--- crafting recipes
|
||||
|
||||
-- gelatin powder
|
||||
minetest.register_craft({
|
||||
output = "bonemeal:gelatin_powder 4",
|
||||
recipe = {
|
||||
{"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"},
|
||||
{"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"},
|
||||
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"},
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty 5"},
|
||||
},
|
||||
})
|
||||
|
||||
-- bonemeal (from bone)
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:bonemeal 2",
|
||||
recipe = {"bonemeal:bone"},
|
||||
})
|
||||
|
||||
-- bonemeal (from player bones)
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:bonemeal 4",
|
||||
recipe = {"bones:bones"},
|
||||
})
|
||||
|
||||
-- bonemeal (from coral skeleton)
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:bonemeal 2",
|
||||
recipe = {"default:coral_skeleton"},
|
||||
})
|
||||
|
||||
-- mulch
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:mulch 4",
|
||||
recipe = {
|
||||
"group:tree", "group:leaves", "group:leaves",
|
||||
"group:leaves", "group:leaves", "group:leaves",
|
||||
"group:leaves", "group:leaves", "group:leaves"
|
||||
},
|
||||
})
|
||||
|
||||
-- fertiliser
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:fertiliser 2",
|
||||
recipe = {"bonemeal:bonemeal", "bonemeal:mulch"},
|
||||
})
|
||||
|
||||
|
||||
-- add bones to dirt
|
||||
minetest.override_item("default:dirt", {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {"bonemeal:bone"},
|
||||
rarity = 30,
|
||||
},
|
||||
{
|
||||
items = {"default:dirt"},
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
-- add support for other mods
|
||||
local path = minetest.get_modpath("bonemeal")
|
||||
|
||||
dofile(path .. "/mods.lua")
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
|
||||
print (S("[MOD] bonemeal loaded"))
|
@ -1,45 +0,0 @@
|
||||
|
||||
-- Fallback functions for when `intllib` is not installed.
|
||||
-- Code released under Unlicense <http://unlicense.org>.
|
||||
|
||||
-- Get the latest version of this file at:
|
||||
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
|
||||
|
||||
local function format(str, ...)
|
||||
local args = { ... }
|
||||
local function repl(escape, open, num, close)
|
||||
if escape == "" then
|
||||
local replacement = tostring(args[tonumber(num)])
|
||||
if open == "" then
|
||||
replacement = replacement..close
|
||||
end
|
||||
return replacement
|
||||
else
|
||||
return "@"..open..num..close
|
||||
end
|
||||
end
|
||||
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
|
||||
end
|
||||
|
||||
local gettext, ngettext
|
||||
if minetest.get_modpath("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
gettext, ngettext = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
gettext = intllib.Getter()
|
||||
end
|
||||
end
|
||||
|
||||
-- Fill in missing functions.
|
||||
|
||||
gettext = gettext or function(msgid, ...)
|
||||
return format(msgid, ...)
|
||||
end
|
||||
|
||||
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
|
||||
return format(n==1 and msgid or msgid_plural, ...)
|
||||
end
|
||||
|
||||
return gettext, ngettext
|
@ -1,21 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 TenPlus1
|
||||
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
# init.lua
|
||||
|
||||
Mulch = Paillis
|
||||
Bone Meal = Poudre d'os
|
||||
Fertiliser = Engrais
|
||||
Bone = Os
|
||||
[MOD] bonemeal loaded = [MOD] bonemeal chargé
|
@ -1,7 +0,0 @@
|
||||
# init.lua
|
||||
|
||||
Mulch =
|
||||
Bone Meal =
|
||||
Fertiliser =
|
||||
Bone =
|
||||
[bonemeal] loaded =
|
@ -1,24 +0,0 @@
|
||||
|
||||
-- add lucky blocks
|
||||
|
||||
local function growy(pos, player)
|
||||
|
||||
local dpos = minetest.find_node_near(pos, 1, "group:soil")
|
||||
|
||||
if dpos then
|
||||
bonemeal:on_use(dpos, 5)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"lig"},
|
||||
{"dro", {"bonemeal:mulch"}, 10},
|
||||
{"dro", {"bonemeal:bonemeal"}, 10},
|
||||
{"dro", {"bonemeal:fertiliser"}, 10},
|
||||
{"cus", growy},
|
||||
})
|
||||
|
||||
end
|
@ -1 +0,0 @@
|
||||
name = bonemeal
|
@ -1,122 +0,0 @@
|
||||
|
||||
-- craft bones from animalmaterials into bonemeal
|
||||
if minetest.get_modpath("animalmaterials") then
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "bonemeal:bonemeal 2",
|
||||
recipe = {"animalmaterials:bone"},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if farming and farming.mod and farming.mod == "redo" then
|
||||
|
||||
bonemeal:add_crop({
|
||||
{"farming:tomato_", 8},
|
||||
{"farming:corn_", 8},
|
||||
{"farming:melon_", 8},
|
||||
{"farming:pumpkin_", 8},
|
||||
{"farming:beanpole_", 5},
|
||||
{"farming:blueberry_", 4},
|
||||
{"farming:raspberry_", 4},
|
||||
{"farming:carrot_", 8},
|
||||
{"farming:cocoa_", 4},
|
||||
{"farming:coffee_", 5},
|
||||
{"farming:cucumber_", 4},
|
||||
{"farming:potato_", 4},
|
||||
{"farming:grapes_", 8},
|
||||
{"farming:rhubarb_", 3},
|
||||
{"farming:barley_", 7},
|
||||
{"farming:hemp_", 8},
|
||||
{"farming:chili_", 8},
|
||||
{"farming:garlic_", 5},
|
||||
{"farming:onion_", 5},
|
||||
{"farming:pepper_", 5},
|
||||
{"farming:pineapple_", 8},
|
||||
{"farming:pea_", 5},
|
||||
{"farming:beetroot_", 5},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
|
||||
bonemeal:add_crop({
|
||||
{"ethereal:strawberry_", 8},
|
||||
{"ethereal:onion_", 5},
|
||||
})
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "soil"},
|
||||
{"ethereal:palm_sapling", ethereal.grow_palm_tree, "sand"},
|
||||
{"ethereal:yellow_tree_sapling", ethereal.grow_yellow_tree, "soil"},
|
||||
{"ethereal:big_tree_sapling", ethereal.grow_big_tree, "soil"},
|
||||
{"ethereal:banana_tree_sapling", ethereal.grow_banana_tree, "soil"},
|
||||
{"ethereal:frost_tree_sapling", ethereal.grow_frost_tree, "soil"},
|
||||
{"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"},
|
||||
{"ethereal:willow_sapling", ethereal.grow_willow_tree, "soil"},
|
||||
{"ethereal:redwood_sapling", ethereal.grow_redwood_tree, "soil"},
|
||||
{"ethereal:orange_tree_sapling", ethereal.grow_orange_tree, "soil"},
|
||||
{"ethereal:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"},
|
||||
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
|
||||
})
|
||||
|
||||
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
|
||||
|
||||
bonemeal:add_deco({
|
||||
{"ethereal:crystal_dirt", {"ethereal:crystalgrass", "", "", "", ""}, {}},
|
||||
{"ethereal:fiery_dirt", {"ethereal:dry_shrub", "", "", "", ""}, {}},
|
||||
{"ethereal:prairie_dirt", grass, {"flowers:dandelion_white",
|
||||
"flowers:dandelion_yellow", "flowers:geranium", "flowers:rose",
|
||||
"flowers:tulip", "flowers:viola", "ethereal:strawberry_7"}},
|
||||
{"ethereal:gray_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
||||
{"ethereal:cold_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
||||
{"ethereal:mushroom_dirt", {}, {"flowers:mushroom_red", "flowers:mushroom_brown", "", "", ""}},
|
||||
{"ethereal:jungle_dirt", grass, {"default:junglegrass", "", "", ""}},
|
||||
{"ethereal:grove_dirt", grass, {"ethereal:fern", "", "", ""}},
|
||||
{"ethereal:bamboo_dirt", grass, {}},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("moretrees") then
|
||||
|
||||
-- special fir check for snow
|
||||
local function fir_grow(pos)
|
||||
|
||||
if minetest.find_node_near(pos, 1,
|
||||
{"default:snow", "default:snowblock", "default:dirt_with_snow"}) then
|
||||
|
||||
moretrees.grow_fir_snow(pos)
|
||||
else
|
||||
moretrees.grow_fir(pos)
|
||||
end
|
||||
end
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{"moretrees:beech_sapling", moretrees.spawn_beech_object, "soil"},
|
||||
{"moretrees:apple_tree_sapling", moretrees.spawn_apple_tree_object, "soil"},
|
||||
{"moretrees:oak_sapling", moretrees.spawn_oak_object, "soil"},
|
||||
{"moretrees:sequoia_sapling", moretrees.spawn_sequoia_object, "soil"},
|
||||
--{"moretrees:birch_sapling", moretrees.spawn_birch_object, "soil"},
|
||||
{"moretrees:birch_sapling", moretrees.grow_birch, "soil"},
|
||||
{"moretrees:palm_sapling", moretrees.spawn_palm_object, "soil"},
|
||||
{"moretrees:palm_sapling", moretrees.spawn_palm_object, "sand"},
|
||||
{"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "soil"},
|
||||
{"moretrees:date_palm_sapling", moretrees.spawn_date_palm_object, "sand"},
|
||||
--{"moretrees:spruce_sapling", moretrees.spawn_spruce_object, "soil"},
|
||||
{"moretrees:spruce_sapling", moretrees.grow_spruce, "soil"},
|
||||
{"moretrees:cedar_sapling", moretrees.spawn_cedar_object, "soil"},
|
||||
{"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"},
|
||||
{"moretrees:willow_sapling", moretrees.spawn_willow_object, "soil"},
|
||||
{"moretrees:rubber_tree_sapling", moretrees.spawn_rubber_tree_object, "soil"},
|
||||
{"moretrees:fir_sapling", fir_grow, "soil"},
|
||||
})
|
||||
|
||||
elseif minetest.get_modpath("technic_worldgen") then
|
||||
|
||||
bonemeal:add_sapling({
|
||||
{"moretrees:rubber_tree_sapling", technic.rubber_tree_model, "soil"},
|
||||
})
|
||||
end
|
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 116 B |
1
mods/facade
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 1791eee289382d976abd93c1defdd1e6b4713cc0
|
@ -1,5 +0,0 @@
|
||||
# facade
|
||||
Adds decorative clay and stone-type nodes to Minetest Game.
|
||||
![Preview](https://github.com/TumeniNodes/facade/blob/master/screenshot.png)
|
||||
![Preview](https://github.com/TumeniNodes/facade/blob/master/screenshot2.png)
|
||||
![Preview](https://github.com/TumeniNodes/facade/blob/master/screenshot3.png)
|
@ -1,2 +0,0 @@
|
||||
Special thanks to Napiophelios for taking the time to clean up my sloppy coding style, and making it far more efficient.
|
||||
(Thanks Nappy!)
|
@ -1,2 +0,0 @@
|
||||
default
|
||||
mychisel?
|
@ -1 +0,0 @@
|
||||
Adds decorative clay and stone-type nodes to Minetest Game.
|
@ -1,486 +0,0 @@
|
||||
facade = {}
|
||||
|
||||
local wehavechisels = minetest.get_modpath("mychisel")
|
||||
|
||||
--------------
|
||||
--Bannerstones
|
||||
--------------
|
||||
|
||||
--Node will be called facade:<subname>_bannerstone
|
||||
function facade.register_bannerstone(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_bannerstone" , {
|
||||
description = desc .. " Bannerstone",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_bannerstone.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.25, -0.5625, 0.5, 0.375, -0.5},
|
||||
{-0.5, -0.375, -0.5625, 0.5, -0.25, -0.5},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
--Node will be called facade:<subname>_bannerstone_corner
|
||||
function facade.register_bannerstone_corner(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_bannerstone_corner", {
|
||||
description = desc .. " Bannerstone Corner",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_bannerstone.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_bannerstone.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_bannerstone.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_bannerstone.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5625, 0.25, -0.5625, 0.5625, 0.375, 0.5625},
|
||||
{-0.5625, -0.375, -0.5625, 0.5625, -0.25, 0.5625},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
--------------
|
||||
--Centerstones
|
||||
--------------
|
||||
|
||||
--Node will be called facade:<subname>_centerstone
|
||||
function facade.register_centerstone(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_centerstone", {
|
||||
description = desc .. " Centerstone",
|
||||
drawtype = "nodebox",
|
||||
tiles = {"" .. modname.. "_" .. subname .. ".png^facade_centerstone.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.4375, -0.4375, 0.4375, 0.4375, 0.4375},
|
||||
{-0.5, -0.25, 0.0625, 0.5, 0.25, 0.25},
|
||||
{-0.5, -0.25, -0.25, 0.5, 0.25, -0.0625},
|
||||
{-0.25, -0.25, -0.5, -0.0625, 0.25, 0.5},
|
||||
{0.0625, -0.25, -0.5, 0.25, 0.25, 0.5},
|
||||
{-0.5, 0.0625, -0.25, 0.5, 0.25, 0.25},
|
||||
{-0.5, -0.25, -0.25, 0.5, -0.0625, 0.25},
|
||||
{-0.25, -0.25, -0.5, 0.25, -0.0625, 0.5},
|
||||
{-0.25, 0.0625, -0.5, 0.25, 0.25, 0.5},
|
||||
{-0.25, -0.5, -0.25, 0.25, 0.5, -0.0625},
|
||||
{-0.25, -0.5, 0.0625, 0.25, 0.5, 0.25},
|
||||
{0.0625, -0.5, -0.1875, 0.25, 0.5, 0.1875},
|
||||
{-0.25, -0.5, -0.1875, -0.0625, 0.5, 0.1875},
|
||||
{-0.5, 0.3125, 0.3125, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.3125, -0.5, 0.5, 0.5, -0.3125},
|
||||
{0.3125, 0.3125, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.3125, -0.5, -0.3125, 0.5, 0.5},
|
||||
{-0.5, -0.5, -0.5, -0.3125, -0.3125, 0.5},
|
||||
{0.3125, -0.5, -0.5, 0.5, -0.3125, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.3125, -0.3125},
|
||||
{-0.5, -0.5, 0.3125, 0.5, -0.3125, 0.5},
|
||||
{0.3125, -0.5, -0.5, 0.5, 0.5, -0.3125},
|
||||
{0.3125, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, 0.3125, -0.3125, 0.5, 0.5},
|
||||
{-0.5, -0.5, -0.5, -0.3125, 0.5, -0.3125},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
---------
|
||||
--Columns
|
||||
---------
|
||||
|
||||
--Node will be called facade:<subname>_column
|
||||
function facade.register_column(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_column" , {
|
||||
description = desc .. " Column",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.4375, 0.5, 0.5, 0.4375},
|
||||
{-0.5, -0.5, -0.5, -0.3125, 0.5, 0.5},
|
||||
{0.3125, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{0.0625, -0.5, -0.5, 0.1875, 0.5, 0.5},
|
||||
{-0.1875, -0.5, -0.5, -0.0625, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
|
||||
--Node will be called facade:<subname>_column_corner
|
||||
function facade.register_column_corner(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_column_corner", {
|
||||
description = desc .. " Column Corner",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_column.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, 0.5, 0.4375},
|
||||
{-0.5, -0.5, 0.3125, -0.3125, 0.5, 0.5},
|
||||
{0.3125, -0.5, -0.5, 0.5, 0.5, -0.3125},
|
||||
{0.0625, -0.5, -0.5, 0.1875, 0.5, 0.5},
|
||||
{-0.1875, -0.5, -0.5, -0.0625, 0.5, 0.5},
|
||||
{0.3125, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, -0.5, -0.3125, 0.5, -0.3125},
|
||||
{-0.5, -0.5, 0.0625, 0.5, 0.5, 0.1875},
|
||||
{-0.5, -0.5, -0.1875, 0.5, 0.5, -0.0625},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
---------
|
||||
--Corbels
|
||||
---------
|
||||
|
||||
--Node will be called facade:<subname>_corbel
|
||||
function facade.register_corbel(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_corbel", {
|
||||
description = desc .. " Corbel",
|
||||
drawtype = "nodebox",
|
||||
tiles = {"" .. modname.. "_" .. subname .. ".png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, 0, 0.5, 0.5, 0.5},
|
||||
{-0.1875, -0.3125, -0.3125, 0.1875, 0.5, 0},
|
||||
},
|
||||
},
|
||||
-- selection_box = {
|
||||
-- type = "fixed",
|
||||
-- fixed = {
|
||||
-- {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
-- }
|
||||
-- },
|
||||
})
|
||||
end
|
||||
|
||||
--Node will be called facade:<subname>_corbel_corner
|
||||
function facade.register_corbel_corner(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_corbel_corner", {
|
||||
description = desc .. " Corbel Corner",
|
||||
drawtype = "nodebox",
|
||||
tiles = {"" .. modname.. "_" .. subname .. ".png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, 0, 0, 0.5, 0.5},
|
||||
{0, -0.3125, -0.3125, 0.3125, 0.5, 0},
|
||||
},
|
||||
},
|
||||
-- selection_box = {
|
||||
-- type = "fixed",
|
||||
-- fixed = {
|
||||
-- {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
-- }
|
||||
-- },
|
||||
})
|
||||
end
|
||||
|
||||
--Node will be called facade:<subname>_corbel_corner_inner
|
||||
function facade.register_corbel_corner_inner(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_corbel_corner_inner", {
|
||||
description = desc .. " Corbel Inner Corner",
|
||||
drawtype = "nodebox",
|
||||
tiles = {"" .. modname.. "_" .. subname .. ".png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, 0, 0.5, 0.5, 0.5},
|
||||
{0, -0.3125, -0.3125, 0.3125, 0.5, 0},
|
||||
{-0.5, -0.5, -0.5, 0, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
-- selection_box = {
|
||||
-- type = "fixed",
|
||||
-- fixed = {
|
||||
-- {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
-- }
|
||||
-- },
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
--------------------------
|
||||
--- Carved Stones
|
||||
--------------------------
|
||||
|
||||
--Node will be called facade:<subname>_carved_stone_a
|
||||
function facade.register_carved_stone_a(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_carved_stone_a", {
|
||||
description = desc .. " Carved Stone A",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_carved_stone_a.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.4375, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, -0.4375},
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
||||
{-0.4375, -0.375, -0.5, -0.3125, 0.375, -0.4375},
|
||||
{-0.5, -0.375, -0.5, -0.3125, -0.25, 0.5},
|
||||
{-0.4375, 0.25, -0.5, 0.4375, 0.375, 0.5},
|
||||
{0.3125, -0.125, -0.5, 0.4375, 0.25, 0.5},
|
||||
{-0.1875, -0.375, -0.5, 0.5, -0.25, 0.5},
|
||||
{-0.1875, -0.25, -0.5, -0.0625, 0.125, 0.5},
|
||||
{0.0625, -0.125, -0.5, 0.3125, 0, 0.5},
|
||||
{-0.0625, 0, -0.5, 0.1875, 0.125, 0.5},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
--Node will be called facade:<subname>_carved_stone_a_corner
|
||||
function facade.register_carved_stone_a_corner(modname, subname, recipeitem, desc)
|
||||
minetest.register_node("facade:" .. subname .. "_carved_stone_a_corner", {
|
||||
description = desc .. " Carved Stone A Corner",
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_carved_stone_a.png",
|
||||
"" .. modname.. "_" .. subname .. ".png",
|
||||
"" .. modname.. "_" .. subname .. ".png^facade_carved_stone_a.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, -0.4375},
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
||||
{-0.4375, -0.375, -0.5, -0.3125, 0.375, -0.4375},
|
||||
{-0.5, -0.375, -0.5, -0.3125, -0.25, 0.1875},
|
||||
{-0.4375, 0.25, -0.5, 0.4375, 0.375, 0.5},
|
||||
{0.3125, -0.125, -0.5, 0.4375, 0.25, 0.5},
|
||||
{-0.1875, -0.375, -0.5, 0.5, -0.25, 0.5},
|
||||
{-0.1875, -0.25, -0.5, -0.0625, 0.125, 0.5},
|
||||
{0.0625, -0.125, -0.5, 0.3125, 0, 0.5},
|
||||
{-0.0625, 0, -0.5, 0.1875, 0.125, 0.5},
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.125, -0.4375, 0.5, 0.375, -0.3125},
|
||||
{-0.5, 0.25, -0.3125, 0.5, 0.375, 0.4375},
|
||||
{-0.5, -0.375, 0.3125, 0.4375, 0.375, 0.4375},
|
||||
{-0.5, -0.375, 0.3125, 0.4375, -0.25, 0.5},
|
||||
{-0.5, -0.125, -0.3125, 0.4375, 0, -0.0625},
|
||||
{-0.5, 0, -0.1875, 0.4375, 0.125, 0.1875},
|
||||
{-0.5, -0.25, 0.0625, 0.4375, 0.125, 0.1875},
|
||||
},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
--------------------------
|
||||
--Register Nodes/Materials
|
||||
--------------------------
|
||||
function facade.register_facade_nodes(modname, subname, recipeitem, desc)
|
||||
facade.register_bannerstone(modname, subname, recipeitem, desc)
|
||||
facade.register_bannerstone_corner(modname, subname, recipeitem, desc)
|
||||
facade.register_centerstone(modname, subname, recipeitem, desc)
|
||||
facade.register_column(modname, subname, recipeitem, desc)
|
||||
facade.register_column_corner(modname, subname, recipeitem, desc)
|
||||
facade.register_corbel(modname, subname, recipeitem, desc)
|
||||
facade.register_corbel_corner(modname, subname, recipeitem, desc)
|
||||
facade.register_corbel_corner_inner(modname, subname, recipeitem, desc)
|
||||
facade.register_carved_stone_a(modname, subname, recipeitem, desc)
|
||||
facade.register_carved_stone_a_corner(modname, subname, recipeitem, desc)
|
||||
if wehavechisels then -- register all nodes with mychisel mod to use them without creative priv
|
||||
chisel.register_node("facade",subname, recipeitem, "bannerstone")
|
||||
chisel.register_node("facade",subname, recipeitem, "bannerstone_corner")
|
||||
chisel.register_node("facade",subname, recipeitem, "centerstone")
|
||||
chisel.register_node("facade",subname, recipeitem, "column")
|
||||
chisel.register_node("facade",subname, recipeitem, "column_corner")
|
||||
chisel.register_node("facade",subname, recipeitem, "corbel")
|
||||
chisel.register_node("facade",subname, recipeitem, "corbel_corner")
|
||||
chisel.register_node("facade",subname, recipeitem, "corbel_corner_inner")
|
||||
chisel.register_node("facade",subname, recipeitem, "carved_stone_a")
|
||||
chisel.register_node("facade",subname, recipeitem, "carved_stone_a_corner")
|
||||
end
|
||||
end
|
||||
|
||||
if wehavechisels then chisel.add_mod("facade",10) end -- register the total number of different designs in this mod with mychisel
|
||||
|
||||
facade.register_facade_nodes("default", "clay", "default:clay", "Clay")
|
||||
facade.register_facade_nodes("default", "desert_sandstone", "default:desert_sandstone", "Desert Sandstone")
|
||||
facade.register_facade_nodes("default", "desert_stone", "default:desert_stone", "Desert Stone")
|
||||
facade.register_facade_nodes("default", "sandstone", "default:sandstone", "Sandstone")
|
||||
facade.register_facade_nodes("default", "silver_sandstone", "default:silver_sandstone", "Silver Sandstone")
|
||||
facade.register_facade_nodes("default", "stone", "default:stone", "Stone")
|
||||
--facade.register_facade_nodes("default", "obsidian", "default:obsidian", "Obsidian")
|
||||
|
||||
|
||||
if minetest.get_modpath( "bakedclay") then
|
||||
local clay = {
|
||||
{"white", "White"},
|
||||
{"grey", "Grey"},
|
||||
{"black", "Black"},
|
||||
{"red", "Red"},
|
||||
{"yellow", "Yellow"},
|
||||
{"green", "Green"},
|
||||
{"cyan", "Cyan"},
|
||||
{"blue", "Blue"},
|
||||
{"magenta", "Magenta"},
|
||||
{"orange", "Orange"},
|
||||
{"violet", "Violet"},
|
||||
{"brown", "Brown"},
|
||||
{"pink", "Pink"},
|
||||
{"dark_grey", "Dark Grey"},
|
||||
{"dark_green", "Dark Green"},
|
||||
}
|
||||
|
||||
for _, clay in pairs(clay) do
|
||||
facade.register_facade_nodes("baked_clay", clay[1] , "bakedclay:" .. clay[1], clay[2] .. " Baked Clay")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath( "darkage") then
|
||||
facade.register_facade_nodes("darkage", "basalt", "darkage:basalt", "Basalt")
|
||||
facade.register_facade_nodes("darkage", "chalk", "darkage:chalk", "Chalk")
|
||||
facade.register_facade_nodes("darkage", "gneiss", "darkage:gneiss", "Gneiss")
|
||||
facade.register_facade_nodes("darkage", "marble", "darkage:marble", "Marble")
|
||||
facade.register_facade_nodes("darkage", "ors", "darkage:ors", "Ors")
|
||||
facade.register_facade_nodes("darkage", "schist", "darkage:schist", "Schist")
|
||||
facade.register_facade_nodes("darkage", "serpentine", "darkage:serpentine", "Serpentine")
|
||||
facade.register_facade_nodes("darkage", "shale", "darkage:shale", "Shale")
|
||||
facade.register_facade_nodes("darkage", "slate", "darkage:slate", "Slate")
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath( "nether") then
|
||||
facade.register_facade_nodes("nether", "rack", "nether:rack", "Netherrack")
|
||||
end
|
||||
|
||||
|
||||
--[[if minetest.get_modpath( "lapis") then
|
||||
facade.register_facade_nodes("lapis", "lapis_block", "lapis:lapis_block", "Lapis")
|
||||
facade.register_facade_nodes("lapis", "lapis_lazurite", "lapis:lazurite", "Lazurite")
|
||||
end]]--
|
@ -1,226 +0,0 @@
|
||||
*Textures from Minetest Game mod: default
|
||||
=========================================
|
||||
|
||||
License of source code:
|
||||
-----------------------
|
||||
Copyright (C) 2011-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
http://www.gnu.org/licenses/lgpl-2.1.html
|
||||
|
||||
License of media (textures and sounds)
|
||||
--------------------------------------
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
Authors of media files
|
||||
-----------------------
|
||||
Everything not listed in here:
|
||||
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
|
||||
Cisoun's WTFPL texture pack:
|
||||
default_jungletree.png
|
||||
default_lava.png
|
||||
default_leaves.png
|
||||
default_sapling.png
|
||||
default_stone.png
|
||||
default_tree.png
|
||||
default_tree_top.png
|
||||
default_water.png
|
||||
|
||||
Cisoun's conifers mod (WTFPL):
|
||||
default_pine_needles.png
|
||||
|
||||
Originating from G4JC's Almost MC Texture Pack:
|
||||
default_torch.png
|
||||
default_torch_on_ceiling.png
|
||||
default_torch_on_floor.png
|
||||
|
||||
VanessaE's animated torches (WTFPL):
|
||||
default_torch_animated.png
|
||||
default_torch_on_ceiling_animated.png
|
||||
default_torch_on_floor_animated.png
|
||||
default_torch_on_floor.png
|
||||
|
||||
RealBadAngel's animated water (WTFPL):
|
||||
default_water_source_animated.png
|
||||
default_water_flowing_animated.png
|
||||
|
||||
VanessaE (WTFPL):
|
||||
default_nc_back.png
|
||||
default_nc_front.png
|
||||
default_nc_rb.png
|
||||
default_nc_side.png
|
||||
default_desert_sand.png
|
||||
default_desert_stone.png
|
||||
default_sand.png
|
||||
|
||||
Calinou (CC BY-SA):
|
||||
default_brick.png
|
||||
default_papyrus.png
|
||||
default_mineral_copper.png
|
||||
default_glass_detail.png
|
||||
|
||||
MirceaKitsune (WTFPL):
|
||||
character.x
|
||||
|
||||
Jordach (CC BY-SA 3.0):
|
||||
character.png
|
||||
|
||||
PilzAdam (WTFPL):
|
||||
default_jungleleaves.png
|
||||
default_junglesapling.png
|
||||
default_obsidian_glass.png
|
||||
default_obsidian_shard.png
|
||||
default_mineral_gold.png
|
||||
default_snowball.png
|
||||
|
||||
jojoa1997 (WTFPL):
|
||||
default_obsidian.png
|
||||
|
||||
InfinityProject (WTFPL):
|
||||
default_mineral_diamond.png
|
||||
|
||||
Splizard (CC BY-SA 3.0):
|
||||
default_snow.png
|
||||
default_pine_sapling.png
|
||||
|
||||
Zeg9 (CC BY-SA 3.0):
|
||||
default_coal_block.png
|
||||
default_steel_block.png
|
||||
default_copper_block.png
|
||||
default_bronze_block.png
|
||||
default_gold_block.png
|
||||
|
||||
paramat (CC BY-SA 3.0):
|
||||
wieldhand.png -- Copied from character.png by Jordach (CC BY-SA 3.0)
|
||||
default_pinetree.png
|
||||
default_pinetree_top.png
|
||||
default_pinewood.png
|
||||
default_acacia_leaves.png
|
||||
default_acacia_sapling.png
|
||||
default_acacia_tree.png
|
||||
default_acacia_tree_top.png
|
||||
default_acacia_wood.png
|
||||
default_junglewood.png
|
||||
default_jungletree_top.png
|
||||
default_sandstone_brick.png
|
||||
default_obsidian_brick.png
|
||||
default_stone_brick.png
|
||||
default_desert_stone_brick.png
|
||||
default_river_water.png
|
||||
default_river_water_source_animated.png
|
||||
default_river_water_flowing_animated.png
|
||||
default_dry_grass.png
|
||||
default_dry_grass_side.png
|
||||
default_dry_grass_*.png
|
||||
default_grass.png
|
||||
default_grass_side.png
|
||||
default_snow_side.png
|
||||
|
||||
brunob.santos (CC BY-SA 4.0):
|
||||
default_desert_cobble.png
|
||||
|
||||
BlockMen (CC BY-SA 3.0):
|
||||
default_wood.png
|
||||
default_clay_brick.png
|
||||
default_iron_ingot.png
|
||||
default_gold_ingot.png
|
||||
default_tool_steelsword.png
|
||||
default_diamond.png
|
||||
default_book.png
|
||||
default_tool_*.png
|
||||
default_lava_source_animated.png
|
||||
default_lava_flowing_animated.png
|
||||
default_stick.png
|
||||
default_chest_front.png
|
||||
default_chest_lock.png
|
||||
default_chest_side.png
|
||||
default_chest_top.png
|
||||
default_mineral_mese.png
|
||||
default_meselamp.png
|
||||
bubble.png
|
||||
gui_*.png
|
||||
|
||||
sofar (CC BY-SA 3.0):
|
||||
default_book_written.png, based on default_book.png
|
||||
default_aspen_sapling
|
||||
default_aspen_leaves
|
||||
default_aspen_tree
|
||||
default_aspen_tree_top, derived from default_pine_tree_top (by paramat)
|
||||
default_aspen_wood, derived from default_pine_wood (by paramat)
|
||||
|
||||
sofar (WTFPL):
|
||||
default_gravel.png -- Derived from Gambit's PixelBOX texture pack light gravel
|
||||
|
||||
Neuromancer (CC BY-SA 2.0):
|
||||
default_cobble.png, based on texture by Brane praefect
|
||||
default_mossycobble.png, based on texture by Brane praefect
|
||||
Neuromancer (CC BY-SA 3.0):
|
||||
default_dirt.png
|
||||
default_furnace_*.png
|
||||
|
||||
Gambit (WTFPL):
|
||||
default_bronze_ingot.png
|
||||
default_copper_ingot.png
|
||||
default_copper_lump.png
|
||||
default_iron_lump.png
|
||||
default_gold_lump.png
|
||||
default_clay_lump.png
|
||||
default_coal.png
|
||||
default_grass_*.png
|
||||
default_paper.png
|
||||
default_diamond_block.png
|
||||
default_ladder_steel.png
|
||||
default_sign_wall_wood.png
|
||||
default_flint.png
|
||||
|
||||
asl97 (WTFPL):
|
||||
default_ice.png
|
||||
|
||||
KevDoy (CC BY-SA 3.0)
|
||||
heart.png
|
||||
|
||||
Glass breaking sounds (CC BY 3.0):
|
||||
1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
|
||||
2: http://www.freesound.org/people/Tomlija/sounds/97669/
|
||||
3: http://www.freesound.org/people/lsprice/sounds/88808/
|
||||
|
||||
Mito551 (sounds) (CC BY-SA):
|
||||
default_dig_choppy.ogg
|
||||
default_dig_cracky.ogg
|
||||
default_dig_crumbly.1.ogg
|
||||
default_dig_crumbly.2.ogg
|
||||
default_dig_dig_immediate.ogg
|
||||
default_dig_oddly_breakable_by_hand.ogg
|
||||
default_dug_node.1.ogg
|
||||
default_dug_node.2.ogg
|
||||
default_grass_footstep.1.ogg
|
||||
default_grass_footstep.2.ogg
|
||||
default_grass_footstep.3.ogg
|
||||
default_gravel_footstep.1.ogg
|
||||
default_gravel_footstep.2.ogg
|
||||
default_gravel_footstep.3.ogg
|
||||
default_gravel_footstep.4.ogg
|
||||
default_grass_footstep.1.ogg
|
||||
default_place_node.1.ogg
|
||||
default_place_node.2.ogg
|
||||
default_place_node.3.ogg
|
||||
default_place_node_hard.1.ogg
|
||||
default_place_node_hard.2.ogg
|
||||
default_snow_footstep.1.ogg
|
||||
default_snow_footstep.2.ogg
|
||||
default_hard_footstep.1.ogg
|
||||
default_hard_footstep.2.ogg
|
||||
default_hard_footstep.3.ogg
|
||||
default_sand_footstep.1.ogg
|
||||
default_sand_footstep.2.ogg
|
||||
default_wood_footstep.1.ogg
|
||||
default_wood_footstep.2.ogg
|
||||
default_dirt_footstep.1.ogg
|
||||
default_dirt_footstep.2.ogg
|
||||
default_glass_footstep.ogg
|
@ -1 +0,0 @@
|
||||
name = facade
|
@ -1,49 +0,0 @@
|
||||
mtllib bannerstone.mtl
|
||||
o converted_out
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 0.25 -0.5625
|
||||
v 0.5 0.25 -0.5
|
||||
v 0.5 0.375 -0.5
|
||||
v 0.5 0.375 -0.5625
|
||||
v -0.5 0.25 -0.5625
|
||||
v -0.5 0.25 -0.5
|
||||
v -0.5 0.375 -0.5
|
||||
v -0.5 0.375 -0.5625
|
||||
v 0.5 -0.375 -0.5625
|
||||
v 0.5 -0.375 -0.5
|
||||
v 0.5 -0.25 -0.5
|
||||
v 0.5 -0.25 -0.5625
|
||||
v -0.5 -0.375 -0.5625
|
||||
v -0.5 -0.375 -0.5
|
||||
v -0.5 -0.25 -0.5
|
||||
v -0.5 -0.25 -0.5625
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
@ -1,49 +0,0 @@
|
||||
mtllib bannerstone_corner.mtl
|
||||
o converted_out
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5625 0.25 -0.5625
|
||||
v 0.5625 0.25 0.5625
|
||||
v 0.5625 0.375 0.5625
|
||||
v 0.5625 0.375 -0.5625
|
||||
v -0.5625 0.25 -0.5625
|
||||
v -0.5625 0.25 0.5625
|
||||
v -0.5625 0.375 0.5625
|
||||
v -0.5625 0.375 -0.5625
|
||||
v 0.5625 -0.375 -0.5625
|
||||
v 0.5625 -0.375 0.5625
|
||||
v 0.5625 -0.25 0.5625
|
||||
v 0.5625 -0.25 -0.5625
|
||||
v -0.5625 -0.375 -0.5625
|
||||
v -0.5625 -0.375 0.5625
|
||||
v -0.5625 -0.25 0.5625
|
||||
v -0.5625 -0.25 -0.5625
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
@ -1,169 +0,0 @@
|
||||
mtllib carved_stone_a.mtl
|
||||
o converted_out
|
||||
v 0.5 -0.5 -0.4375
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.4375
|
||||
v -0.5 -0.5 -0.4375
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.4375
|
||||
v 0.5 0.4375 -0.5
|
||||
v 0.5 0.4375 -0.4375
|
||||
v 0.5 0.5 -0.4375
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0.4375 -0.5
|
||||
v -0.5 0.4375 -0.4375
|
||||
v -0.5 0.5 -0.4375
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 -0.4375 0.5
|
||||
v 0.5 -0.4375 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 -0.4375 0.5
|
||||
v -0.5 -0.4375 -0.5
|
||||
v 0.4375 -0.375 -0.5
|
||||
v 0.4375 -0.375 -0.4375
|
||||
v 0.4375 0.375 -0.4375
|
||||
v 0.4375 0.375 -0.5
|
||||
v 0.3125 -0.375 -0.5
|
||||
v 0.3125 -0.375 -0.4375
|
||||
v 0.3125 0.375 -0.4375
|
||||
v 0.3125 0.375 -0.5
|
||||
v 0.5 -0.375 -0.5
|
||||
v 0.5 -0.375 0.5
|
||||
v 0.5 -0.25 0.5
|
||||
v 0.5 -0.25 -0.5
|
||||
v 0.3125 -0.375 -0.5
|
||||
v 0.3125 -0.375 0.5
|
||||
v 0.3125 -0.25 0.5
|
||||
v 0.3125 -0.25 -0.5
|
||||
v 0.4375 0.25 -0.5
|
||||
v 0.4375 0.25 0.5
|
||||
v 0.4375 0.375 0.5
|
||||
v 0.4375 0.375 -0.5
|
||||
v -0.4375 0.25 -0.5
|
||||
v -0.4375 0.25 0.5
|
||||
v -0.4375 0.375 0.5
|
||||
v -0.4375 0.375 -0.5
|
||||
v -0.3125 -0.125 -0.5
|
||||
v -0.3125 -0.125 0.5
|
||||
v -0.3125 0.25 0.5
|
||||
v -0.3125 0.25 -0.5
|
||||
v -0.4375 -0.125 -0.5
|
||||
v -0.4375 -0.125 0.5
|
||||
v -0.4375 0.25 0.5
|
||||
v -0.4375 0.25 -0.5
|
||||
v 0.1875 -0.375 -0.5
|
||||
v 0.1875 -0.375 0.5
|
||||
v 0.1875 -0.25 0.5
|
||||
v 0.1875 -0.25 -0.5
|
||||
v -0.5 -0.375 -0.5
|
||||
v -0.5 -0.375 0.5
|
||||
v -0.5 -0.25 0.5
|
||||
v -0.5 -0.25 -0.5
|
||||
v 0.1875 -0.25 -0.5
|
||||
v 0.1875 -0.25 0.5
|
||||
v 0.1875 0.125 0.5
|
||||
v 0.1875 0.125 -0.5
|
||||
v 0.0625 -0.25 -0.5
|
||||
v 0.0625 -0.25 0.5
|
||||
v 0.0625 0.125 0.5
|
||||
v 0.0625 0.125 -0.5
|
||||
v -0.0625 -0.125 -0.5
|
||||
v -0.0625 -0.125 0.5
|
||||
v -0.0625 0 0.5
|
||||
v -0.0625 0 -0.5
|
||||
v -0.3125 -0.125 -0.5
|
||||
v -0.3125 -0.125 0.5
|
||||
v -0.3125 0 0.5
|
||||
v -0.3125 0 -0.5
|
||||
v 0.0625 0 -0.5
|
||||
v 0.0625 0 0.5
|
||||
v 0.0625 0.125 0.5
|
||||
v 0.0625 0.125 -0.5
|
||||
v -0.1875 0 -0.5
|
||||
v -0.1875 0 0.5
|
||||
v -0.1875 0.125 0.5
|
||||
v -0.1875 0.125 -0.5
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
||||
g nodebox4
|
||||
f 25 26 27 28
|
||||
f 29 30 31 32
|
||||
f 25 28 32 29
|
||||
f 26 27 31 30
|
||||
f 25 26 30 29
|
||||
f 28 27 31 32
|
||||
g nodebox5
|
||||
f 33 34 35 36
|
||||
f 37 38 39 40
|
||||
f 33 36 40 37
|
||||
f 34 35 39 38
|
||||
f 33 34 38 37
|
||||
f 36 35 39 40
|
||||
g nodebox6
|
||||
f 41 42 43 44
|
||||
f 45 46 47 48
|
||||
f 41 44 48 45
|
||||
f 42 43 47 46
|
||||
f 41 42 46 45
|
||||
f 44 43 47 48
|
||||
g nodebox7
|
||||
f 49 50 51 52
|
||||
f 53 54 55 56
|
||||
f 49 52 56 53
|
||||
f 50 51 55 54
|
||||
f 49 50 54 53
|
||||
f 52 51 55 56
|
||||
g nodebox8
|
||||
f 57 58 59 60
|
||||
f 61 62 63 64
|
||||
f 57 60 64 61
|
||||
f 58 59 63 62
|
||||
f 57 58 62 61
|
||||
f 60 59 63 64
|
||||
g nodebox9
|
||||
f 65 66 67 68
|
||||
f 69 70 71 72
|
||||
f 65 68 72 69
|
||||
f 66 67 71 70
|
||||
f 65 66 70 69
|
||||
f 68 67 71 72
|
||||
g nodebox10
|
||||
f 73 74 75 76
|
||||
f 77 78 79 80
|
||||
f 73 76 80 77
|
||||
f 74 75 79 78
|
||||
f 73 74 78 77
|
||||
f 76 75 79 80
|
||||
g nodebox11
|
||||
f 81 82 83 84
|
||||
f 85 86 87 88
|
||||
f 81 84 88 85
|
||||
f 82 83 87 86
|
||||
f 81 82 86 85
|
||||
f 84 83 87 88
|
@ -1,289 +0,0 @@
|
||||
mtllib carved_stone_a_corner.mtl
|
||||
o converted_out
|
||||
v 0.4375 -0.5 -0.4375
|
||||
v 0.4375 -0.5 0.5
|
||||
v 0.4375 0.5 0.5
|
||||
v 0.4375 0.5 -0.4375
|
||||
v -0.5 -0.5 -0.4375
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.4375
|
||||
v 0.5 0.4375 -0.5
|
||||
v 0.5 0.4375 -0.4375
|
||||
v 0.5 0.5 -0.4375
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0.4375 -0.5
|
||||
v -0.5 0.4375 -0.4375
|
||||
v -0.5 0.5 -0.4375
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 -0.4375 0.5
|
||||
v 0.5 -0.4375 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 -0.4375 0.5
|
||||
v -0.5 -0.4375 -0.5
|
||||
v 0.4375 -0.375 -0.5
|
||||
v 0.4375 -0.375 -0.4375
|
||||
v 0.4375 0.375 -0.4375
|
||||
v 0.4375 0.375 -0.5
|
||||
v 0.3125 -0.375 -0.5
|
||||
v 0.3125 -0.375 -0.4375
|
||||
v 0.3125 0.375 -0.4375
|
||||
v 0.3125 0.375 -0.5
|
||||
v 0.5 -0.375 -0.5
|
||||
v 0.5 -0.375 0.1875
|
||||
v 0.5 -0.25 0.1875
|
||||
v 0.5 -0.25 -0.5
|
||||
v 0.3125 -0.375 -0.5
|
||||
v 0.3125 -0.375 0.1875
|
||||
v 0.3125 -0.25 0.1875
|
||||
v 0.3125 -0.25 -0.5
|
||||
v 0.4375 0.25 -0.5
|
||||
v 0.4375 0.25 0.5
|
||||
v 0.4375 0.375 0.5
|
||||
v 0.4375 0.375 -0.5
|
||||
v -0.4375 0.25 -0.5
|
||||
v -0.4375 0.25 0.5
|
||||
v -0.4375 0.375 0.5
|
||||
v -0.4375 0.375 -0.5
|
||||
v -0.3125 -0.125 -0.5
|
||||
v -0.3125 -0.125 0.5
|
||||
v -0.3125 0.25 0.5
|
||||
v -0.3125 0.25 -0.5
|
||||
v -0.4375 -0.125 -0.5
|
||||
v -0.4375 -0.125 0.5
|
||||
v -0.4375 0.25 0.5
|
||||
v -0.4375 0.25 -0.5
|
||||
v 0.1875 -0.375 -0.5
|
||||
v 0.1875 -0.375 0.5
|
||||
v 0.1875 -0.25 0.5
|
||||
v 0.1875 -0.25 -0.5
|
||||
v -0.5 -0.375 -0.5
|
||||
v -0.5 -0.375 0.5
|
||||
v -0.5 -0.25 0.5
|
||||
v -0.5 -0.25 -0.5
|
||||
v 0.1875 -0.25 -0.5
|
||||
v 0.1875 -0.25 0.5
|
||||
v 0.1875 0.125 0.5
|
||||
v 0.1875 0.125 -0.5
|
||||
v 0.0625 -0.25 -0.5
|
||||
v 0.0625 -0.25 0.5
|
||||
v 0.0625 0.125 0.5
|
||||
v 0.0625 0.125 -0.5
|
||||
v -0.0625 -0.125 -0.5
|
||||
v -0.0625 -0.125 0.5
|
||||
v -0.0625 0 0.5
|
||||
v -0.0625 0 -0.5
|
||||
v -0.3125 -0.125 -0.5
|
||||
v -0.3125 -0.125 0.5
|
||||
v -0.3125 0 0.5
|
||||
v -0.3125 0 -0.5
|
||||
v 0.0625 0 -0.5
|
||||
v 0.0625 0 0.5
|
||||
v 0.0625 0.125 0.5
|
||||
v 0.0625 0.125 -0.5
|
||||
v -0.1875 0 -0.5
|
||||
v -0.1875 0 0.5
|
||||
v -0.1875 0.125 0.5
|
||||
v -0.1875 0.125 -0.5
|
||||
v 0.5 0.4375 -0.5
|
||||
v 0.5 0.4375 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0.4375 -0.5
|
||||
v -0.5 0.4375 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.125 -0.4375
|
||||
v 0.5 -0.125 -0.3125
|
||||
v 0.5 0.375 -0.3125
|
||||
v 0.5 0.375 -0.4375
|
||||
v -0.5 -0.125 -0.4375
|
||||
v -0.5 -0.125 -0.3125
|
||||
v -0.5 0.375 -0.3125
|
||||
v -0.5 0.375 -0.4375
|
||||
v 0.5 0.25 -0.3125
|
||||
v 0.5 0.25 0.4375
|
||||
v 0.5 0.375 0.4375
|
||||
v 0.5 0.375 -0.3125
|
||||
v -0.5 0.25 -0.3125
|
||||
v -0.5 0.25 0.4375
|
||||
v -0.5 0.375 0.4375
|
||||
v -0.5 0.375 -0.3125
|
||||
v 0.5 -0.375 0.3125
|
||||
v 0.5 -0.375 0.4375
|
||||
v 0.5 0.375 0.4375
|
||||
v 0.5 0.375 0.3125
|
||||
v -0.4375 -0.375 0.3125
|
||||
v -0.4375 -0.375 0.4375
|
||||
v -0.4375 0.375 0.4375
|
||||
v -0.4375 0.375 0.3125
|
||||
v 0.5 -0.375 0.3125
|
||||
v 0.5 -0.375 0.5
|
||||
v 0.5 -0.25 0.5
|
||||
v 0.5 -0.25 0.3125
|
||||
v -0.4375 -0.375 0.3125
|
||||
v -0.4375 -0.375 0.5
|
||||
v -0.4375 -0.25 0.5
|
||||
v -0.4375 -0.25 0.3125
|
||||
v 0.5 -0.125 -0.3125
|
||||
v 0.5 -0.125 -0.0625
|
||||
v 0.5 0 -0.0625
|
||||
v 0.5 0 -0.3125
|
||||
v -0.4375 -0.125 -0.3125
|
||||
v -0.4375 -0.125 -0.0625
|
||||
v -0.4375 0 -0.0625
|
||||
v -0.4375 0 -0.3125
|
||||
v 0.5 0 -0.1875
|
||||
v 0.5 0 0.1875
|
||||
v 0.5 0.125 0.1875
|
||||
v 0.5 0.125 -0.1875
|
||||
v -0.4375 0 -0.1875
|
||||
v -0.4375 0 0.1875
|
||||
v -0.4375 0.125 0.1875
|
||||
v -0.4375 0.125 -0.1875
|
||||
v 0.5 -0.25 0.0625
|
||||
v 0.5 -0.25 0.1875
|
||||
v 0.5 0.125 0.1875
|
||||
v 0.5 0.125 0.0625
|
||||
v -0.4375 -0.25 0.0625
|
||||
v -0.4375 -0.25 0.1875
|
||||
v -0.4375 0.125 0.1875
|
||||
v -0.4375 0.125 0.0625
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
||||
g nodebox4
|
||||
f 25 26 27 28
|
||||
f 29 30 31 32
|
||||
f 25 28 32 29
|
||||
f 26 27 31 30
|
||||
f 25 26 30 29
|
||||
f 28 27 31 32
|
||||
g nodebox5
|
||||
f 33 34 35 36
|
||||
f 37 38 39 40
|
||||
f 33 36 40 37
|
||||
f 34 35 39 38
|
||||
f 33 34 38 37
|
||||
f 36 35 39 40
|
||||
g nodebox6
|
||||
f 41 42 43 44
|
||||
f 45 46 47 48
|
||||
f 41 44 48 45
|
||||
f 42 43 47 46
|
||||
f 41 42 46 45
|
||||
f 44 43 47 48
|
||||
g nodebox7
|
||||
f 49 50 51 52
|
||||
f 53 54 55 56
|
||||
f 49 52 56 53
|
||||
f 50 51 55 54
|
||||
f 49 50 54 53
|
||||
f 52 51 55 56
|
||||
g nodebox8
|
||||
f 57 58 59 60
|
||||
f 61 62 63 64
|
||||
f 57 60 64 61
|
||||
f 58 59 63 62
|
||||
f 57 58 62 61
|
||||
f 60 59 63 64
|
||||
g nodebox9
|
||||
f 65 66 67 68
|
||||
f 69 70 71 72
|
||||
f 65 68 72 69
|
||||
f 66 67 71 70
|
||||
f 65 66 70 69
|
||||
f 68 67 71 72
|
||||
g nodebox10
|
||||
f 73 74 75 76
|
||||
f 77 78 79 80
|
||||
f 73 76 80 77
|
||||
f 74 75 79 78
|
||||
f 73 74 78 77
|
||||
f 76 75 79 80
|
||||
g nodebox11
|
||||
f 81 82 83 84
|
||||
f 85 86 87 88
|
||||
f 81 84 88 85
|
||||
f 82 83 87 86
|
||||
f 81 82 86 85
|
||||
f 84 83 87 88
|
||||
g nodebox12
|
||||
f 89 90 91 92
|
||||
f 93 94 95 96
|
||||
f 89 92 96 93
|
||||
f 90 91 95 94
|
||||
f 89 90 94 93
|
||||
f 92 91 95 96
|
||||
g nodebox13
|
||||
f 97 98 99 100
|
||||
f 101 102 103 104
|
||||
f 97 100 104 101
|
||||
f 98 99 103 102
|
||||
f 97 98 102 101
|
||||
f 100 99 103 104
|
||||
g nodebox14
|
||||
f 105 106 107 108
|
||||
f 109 110 111 112
|
||||
f 105 108 112 109
|
||||
f 106 107 111 110
|
||||
f 105 106 110 109
|
||||
f 108 107 111 112
|
||||
g nodebox15
|
||||
f 113 114 115 116
|
||||
f 117 118 119 120
|
||||
f 113 116 120 117
|
||||
f 114 115 119 118
|
||||
f 113 114 118 117
|
||||
f 116 115 119 120
|
||||
g nodebox16
|
||||
f 121 122 123 124
|
||||
f 125 126 127 128
|
||||
f 121 124 128 125
|
||||
f 122 123 127 126
|
||||
f 121 122 126 125
|
||||
f 124 123 127 128
|
||||
g nodebox17
|
||||
f 129 130 131 132
|
||||
f 133 134 135 136
|
||||
f 129 132 136 133
|
||||
f 130 131 135 134
|
||||
f 129 130 134 133
|
||||
f 132 131 135 136
|
||||
g nodebox18
|
||||
f 137 138 139 140
|
||||
f 141 142 143 144
|
||||
f 137 140 144 141
|
||||
f 138 139 143 142
|
||||
f 137 138 142 141
|
||||
f 140 139 143 144
|
||||
g nodebox19
|
||||
f 145 146 147 148
|
||||
f 149 150 151 152
|
||||
f 145 148 152 149
|
||||
f 146 147 151 150
|
||||
f 145 146 150 149
|
||||
f 148 147 151 152
|
@ -1,79 +0,0 @@
|
||||
mtllib column.mtl
|
||||
o converted_out
|
||||
v 0.5 -0.5 -0.4375
|
||||
v 0.5 -0.5 0.4375
|
||||
v 0.5 0.5 0.4375
|
||||
v 0.5 0.5 -0.4375
|
||||
v -0.5 -0.5 -0.4375
|
||||
v -0.5 -0.5 0.4375
|
||||
v -0.5 0.5 0.4375
|
||||
v -0.5 0.5 -0.4375
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v 0.3125 -0.5 -0.5
|
||||
v 0.3125 -0.5 0.5
|
||||
v 0.3125 0.5 0.5
|
||||
v 0.3125 0.5 -0.5
|
||||
v -0.3125 -0.5 -0.5
|
||||
v -0.3125 -0.5 0.5
|
||||
v -0.3125 0.5 0.5
|
||||
v -0.3125 0.5 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v -0.0625 -0.5 -0.5
|
||||
v -0.0625 -0.5 0.5
|
||||
v -0.0625 0.5 0.5
|
||||
v -0.0625 0.5 -0.5
|
||||
v -0.1875 -0.5 -0.5
|
||||
v -0.1875 -0.5 0.5
|
||||
v -0.1875 0.5 0.5
|
||||
v -0.1875 0.5 -0.5
|
||||
v 0.1875 -0.5 -0.5
|
||||
v 0.1875 -0.5 0.5
|
||||
v 0.1875 0.5 0.5
|
||||
v 0.1875 0.5 -0.5
|
||||
v 0.0625 -0.5 -0.5
|
||||
v 0.0625 -0.5 0.5
|
||||
v 0.0625 0.5 0.5
|
||||
v 0.0625 0.5 -0.5
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
||||
g nodebox4
|
||||
f 25 26 27 28
|
||||
f 29 30 31 32
|
||||
f 25 28 32 29
|
||||
f 26 27 31 30
|
||||
f 25 26 30 29
|
||||
f 28 27 31 32
|
||||
g nodebox5
|
||||
f 33 34 35 36
|
||||
f 37 38 39 40
|
||||
f 33 36 40 37
|
||||
f 34 35 39 38
|
||||
f 33 34 38 37
|
||||
f 36 35 39 40
|
@ -1,139 +0,0 @@
|
||||
mtllib column_corner.mtl
|
||||
o converted_out
|
||||
v 0.4375 -0.5 -0.4375
|
||||
v 0.4375 -0.5 0.4375
|
||||
v 0.4375 0.5 0.4375
|
||||
v 0.4375 0.5 -0.4375
|
||||
v -0.4375 -0.5 -0.4375
|
||||
v -0.4375 -0.5 0.4375
|
||||
v -0.4375 0.5 0.4375
|
||||
v -0.4375 0.5 -0.4375
|
||||
v 0.5 -0.5 0.3125
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 0.3125
|
||||
v 0.3125 -0.5 0.3125
|
||||
v 0.3125 -0.5 0.5
|
||||
v 0.3125 0.5 0.5
|
||||
v 0.3125 0.5 0.3125
|
||||
v -0.3125 -0.5 -0.5
|
||||
v -0.3125 -0.5 -0.3125
|
||||
v -0.3125 0.5 -0.3125
|
||||
v -0.3125 0.5 -0.5
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 -0.3125
|
||||
v -0.5 0.5 -0.3125
|
||||
v -0.5 0.5 -0.5
|
||||
v -0.0625 -0.5 -0.5
|
||||
v -0.0625 -0.5 0.5
|
||||
v -0.0625 0.5 0.5
|
||||
v -0.0625 0.5 -0.5
|
||||
v -0.1875 -0.5 -0.5
|
||||
v -0.1875 -0.5 0.5
|
||||
v -0.1875 0.5 0.5
|
||||
v -0.1875 0.5 -0.5
|
||||
v 0.1875 -0.5 -0.5
|
||||
v 0.1875 -0.5 0.5
|
||||
v 0.1875 0.5 0.5
|
||||
v 0.1875 0.5 -0.5
|
||||
v 0.0625 -0.5 -0.5
|
||||
v 0.0625 -0.5 0.5
|
||||
v 0.0625 0.5 0.5
|
||||
v 0.0625 0.5 -0.5
|
||||
v -0.3125 -0.5 0.3125
|
||||
v -0.3125 -0.5 0.5
|
||||
v -0.3125 0.5 0.5
|
||||
v -0.3125 0.5 0.3125
|
||||
v -0.5 -0.5 0.3125
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 0.3125
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 -0.3125
|
||||
v 0.5 0.5 -0.3125
|
||||
v 0.5 0.5 -0.5
|
||||
v 0.3125 -0.5 -0.5
|
||||
v 0.3125 -0.5 -0.3125
|
||||
v 0.3125 0.5 -0.3125
|
||||
v 0.3125 0.5 -0.5
|
||||
v 0.5 -0.5 0.0625
|
||||
v 0.5 -0.5 0.1875
|
||||
v 0.5 0.5 0.1875
|
||||
v 0.5 0.5 0.0625
|
||||
v -0.5 -0.5 0.0625
|
||||
v -0.5 -0.5 0.1875
|
||||
v -0.5 0.5 0.1875
|
||||
v -0.5 0.5 0.0625
|
||||
v 0.5 -0.5 -0.1875
|
||||
v 0.5 -0.5 -0.0625
|
||||
v 0.5 0.5 -0.0625
|
||||
v 0.5 0.5 -0.1875
|
||||
v -0.5 -0.5 -0.1875
|
||||
v -0.5 -0.5 -0.0625
|
||||
v -0.5 0.5 -0.0625
|
||||
v -0.5 0.5 -0.1875
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
||||
g nodebox4
|
||||
f 25 26 27 28
|
||||
f 29 30 31 32
|
||||
f 25 28 32 29
|
||||
f 26 27 31 30
|
||||
f 25 26 30 29
|
||||
f 28 27 31 32
|
||||
g nodebox5
|
||||
f 33 34 35 36
|
||||
f 37 38 39 40
|
||||
f 33 36 40 37
|
||||
f 34 35 39 38
|
||||
f 33 34 38 37
|
||||
f 36 35 39 40
|
||||
g nodebox6
|
||||
f 41 42 43 44
|
||||
f 45 46 47 48
|
||||
f 41 44 48 45
|
||||
f 42 43 47 46
|
||||
f 41 42 46 45
|
||||
f 44 43 47 48
|
||||
g nodebox7
|
||||
f 49 50 51 52
|
||||
f 53 54 55 56
|
||||
f 49 52 56 53
|
||||
f 50 51 55 54
|
||||
f 49 50 54 53
|
||||
f 52 51 55 56
|
||||
g nodebox8
|
||||
f 57 58 59 60
|
||||
f 61 62 63 64
|
||||
f 57 60 64 61
|
||||
f 58 59 63 62
|
||||
f 57 58 62 61
|
||||
f 60 59 63 64
|
||||
g nodebox9
|
||||
f 65 66 67 68
|
||||
f 69 70 71 72
|
||||
f 65 68 72 69
|
||||
f 66 67 71 70
|
||||
f 65 66 70 69
|
||||
f 68 67 71 72
|
@ -1,49 +0,0 @@
|
||||
mtllib corbel.mtl
|
||||
o converted_out
|
||||
v 0.5 0 -0.5
|
||||
v 0.5 0 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0 -0.5
|
||||
v -0.5 0 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.5 0
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 0
|
||||
v -0.5 -0.5 0
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 0
|
||||
v 0.1875 -0.3125 -0.3125
|
||||
v 0.1875 -0.3125 0
|
||||
v 0.1875 0.5 0
|
||||
v 0.1875 0.5 -0.3125
|
||||
v -0.1875 -0.3125 -0.3125
|
||||
v -0.1875 -0.3125 0
|
||||
v -0.1875 0.5 0
|
||||
v -0.1875 0.5 -0.3125
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
@ -1,49 +0,0 @@
|
||||
mtllib corbel_corner.mtl
|
||||
o converted_out
|
||||
v 0.5 0 -0.5
|
||||
v 0.5 0 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0 -0.5
|
||||
v -0.5 0 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.5 0
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 0
|
||||
v -0 -0.5 0
|
||||
v -0 -0.5 0.5
|
||||
v -0 0.5 0.5
|
||||
v -0 0.5 0
|
||||
v -0 -0.3125 -0.3125
|
||||
v -0 -0.3125 0
|
||||
v -0 0.5 0
|
||||
v -0 0.5 -0.3125
|
||||
v -0.3125 -0.3125 -0.3125
|
||||
v -0.3125 -0.3125 0
|
||||
v -0.3125 0.5 0
|
||||
v -0.3125 0.5 -0.3125
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
@ -1,64 +0,0 @@
|
||||
mtllib corbel_inner_corner.mtl
|
||||
o converted_out
|
||||
v 0.5 0 -0.5
|
||||
v 0.5 0 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0.5 0 -0.5
|
||||
v -0.5 0 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 -0.5
|
||||
v 0.5 -0.5 0
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 0
|
||||
v -0.5 -0.5 0
|
||||
v -0.5 -0.5 0.5
|
||||
v -0.5 0.5 0.5
|
||||
v -0.5 0.5 0
|
||||
v -0 -0.3125 -0.3125
|
||||
v -0 -0.3125 0
|
||||
v -0 0.5 0
|
||||
v -0 0.5 -0.3125
|
||||
v -0.3125 -0.3125 -0.3125
|
||||
v -0.3125 -0.3125 0
|
||||
v -0.3125 0.5 0
|
||||
v -0.3125 0.5 -0.3125
|
||||
v 0.5 -0.5 -0.5
|
||||
v 0.5 -0.5 0.5
|
||||
v 0.5 0.5 0.5
|
||||
v 0.5 0.5 -0.5
|
||||
v -0 -0.5 -0.5
|
||||
v -0 -0.5 0.5
|
||||
v -0 0.5 0.5
|
||||
v -0 0.5 -0.5
|
||||
usemtl none
|
||||
s off
|
||||
g nodebox1
|
||||
f 1 2 3 4
|
||||
f 5 6 7 8
|
||||
f 1 4 8 5
|
||||
f 2 3 7 6
|
||||
f 1 2 6 5
|
||||
f 4 3 7 8
|
||||
g nodebox2
|
||||
f 9 10 11 12
|
||||
f 13 14 15 16
|
||||
f 9 12 16 13
|
||||
f 10 11 15 14
|
||||
f 9 10 14 13
|
||||
f 12 11 15 16
|
||||
g nodebox3
|
||||
f 17 18 19 20
|
||||
f 21 22 23 24
|
||||
f 17 20 24 21
|
||||
f 18 19 23 22
|
||||
f 17 18 22 21
|
||||
f 20 19 23 24
|
||||
g nodebox4
|
||||
f 25 26 27 28
|
||||
f 29 30 31 32
|
||||
f 25 28 32 29
|
||||
f 26 27 31 30
|
||||
f 25 26 30 29
|
||||
f 28 27 31 32
|
@ -1 +0,0 @@
|
||||
|
@ -1 +0,0 @@
|
||||
These are Node Box Editor saved files
|
@ -1,25 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, 0.25, -0.5625, 0.5, 0.375, -0.5}, -- NodeBox2
|
||||
{-0.5, -0.375, -0.5625, 0.5, -0.25, -0.5}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,25 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5625, 0.25, -0.5625, 0.5625, 0.375, 0.5625}, -- NodeBox2
|
||||
{-0.5625, -0.375, -0.5625, 0.5625, -0.25, 0.5625}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,33 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.4375, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, -0.4375}, -- NodeBox2
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox3
|
||||
{-0.4375, -0.375, -0.5, -0.3125, 0.375, -0.4375}, -- NodeBox4
|
||||
{-0.5, -0.375, -0.5, -0.3125, -0.25, 0.5}, -- NodeBox5
|
||||
{-0.4375, 0.25, -0.5, 0.4375, 0.375, 0.5}, -- NodeBox6
|
||||
{0.3125, -0.125, -0.5, 0.4375, 0.25, 0.5}, -- NodeBox7
|
||||
{-0.1875, -0.375, -0.5, 0.5, -0.25, 0.5}, -- NodeBox8
|
||||
{-0.1875, -0.25, -0.5, -0.0625, 0.125, 0.5}, -- NodeBox9
|
||||
{0.0625, -0.125, -0.5, 0.3125, 0, 0.5}, -- NodeBox10
|
||||
{-0.0625, 0, -0.5, 0.1875, 0.125, 0.5}, -- NodeBox11
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,41 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, -0.4375}, -- NodeBox2
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox3
|
||||
{-0.4375, -0.375, -0.5, -0.3125, 0.375, -0.4375}, -- NodeBox4
|
||||
{-0.5, -0.375, -0.5, -0.3125, -0.25, 0.1875}, -- NodeBox5
|
||||
{-0.4375, 0.25, -0.5, 0.4375, 0.375, 0.5}, -- NodeBox6
|
||||
{0.3125, -0.125, -0.5, 0.4375, 0.25, 0.5}, -- NodeBox7
|
||||
{-0.1875, -0.375, -0.5, 0.5, -0.25, 0.5}, -- NodeBox8
|
||||
{-0.1875, -0.25, -0.5, -0.0625, 0.125, 0.5}, -- NodeBox9
|
||||
{0.0625, -0.125, -0.5, 0.3125, 0, 0.5}, -- NodeBox10
|
||||
{-0.0625, 0, -0.5, 0.1875, 0.125, 0.5}, -- NodeBox11
|
||||
{-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox12
|
||||
{-0.5, -0.125, -0.4375, 0.5, 0.375, -0.3125}, -- NodeBox13
|
||||
{-0.5, 0.25, -0.3125, 0.5, 0.375, 0.4375}, -- NodeBox14
|
||||
{-0.5, -0.375, 0.3125, 0.4375, 0.375, 0.4375}, -- NodeBox15
|
||||
{-0.5, -0.375, 0.3125, 0.4375, -0.25, 0.5}, -- NodeBox16
|
||||
{-0.5, -0.125, -0.3125, 0.4375, 0, -0.0625}, -- NodeBox17
|
||||
{-0.5, 0, -0.1875, 0.4375, 0.125, 0.1875}, -- NodeBox18
|
||||
{-0.5, -0.25, 0.0625, 0.4375, 0.125, 0.1875}, -- NodeBox19
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,27 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.4375, 0.5, 0.5, 0.4375}, -- NodeBox1
|
||||
{-0.5, -0.5, -0.5, -0.3125, 0.5, 0.5}, -- NodeBox2
|
||||
{0.3125, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3
|
||||
{0.0625, -0.5, -0.5, 0.1875, 0.5, 0.5}, -- NodeBox4
|
||||
{-0.1875, -0.5, -0.5, -0.0625, 0.5, 0.5}, -- NodeBox5
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,31 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox1
|
||||
{-0.5, -0.5, 0.3125, -0.3125, 0.5, 0.5}, -- NodeBox2
|
||||
{0.3125, -0.5, -0.5, 0.5, 0.5, -0.3125}, -- NodeBox3
|
||||
{0.0625, -0.5, -0.5, 0.1875, 0.5, 0.5}, -- NodeBox4
|
||||
{-0.1875, -0.5, -0.5, -0.0625, 0.5, 0.5}, -- NodeBox5
|
||||
{0.3125, -0.5, 0.3125, 0.5, 0.5, 0.5}, -- NodeBox6
|
||||
{-0.5, -0.5, -0.5, -0.3125, 0.5, -0.3125}, -- NodeBox7
|
||||
{-0.5, -0.5, 0.0625, 0.5, 0.5, 0.1875}, -- NodeBox8
|
||||
{-0.5, -0.5, -0.1875, 0.5, 0.5, -0.0625}, -- NodeBox9
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,25 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, -0.5, 0, 0.5, 0.5, 0.5}, -- NodeBox2
|
||||
{-0.1875, -0.3125, -0.3125, 0.1875, 0.5, 0}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,25 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, -0.5, 0, 0, 0.5, 0.5}, -- NodeBox2
|
||||
{0, -0.3125, -0.3125, 0.3125, 0.5, 0}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1,26 +0,0 @@
|
||||
-- GENERATED CODE
|
||||
-- Node Box Editor, version 0.9.0
|
||||
-- Namespace: test
|
||||
|
||||
minetest.register_node("test:node_1", {
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, -0.5, 0, 0.5, 0.5, 0.5}, -- NodeBox2
|
||||
{0, -0.3125, -0.3125, 0.3125, 0.5, 0}, -- NodeBox3
|
||||
{-0.5, -0.5, -0.5, 0, 0.5, 0.5}, -- NodeBox4
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -1 +0,0 @@
|
||||
Lua files from Node Box Editor
|
@ -1,3 +0,0 @@
|
||||
These .obj files were created using Rubenwardy's NodeBoxEditor https://forum.minetest.net/viewtopic.php?f=14&t=2840&hilit=NBE (which is a very nice and useful tool)
|
||||
|
||||
They do support textures but, do not support UV mapping, and they will still render as individual objects. They are provided merely as a reference for anyone who may whish to create .obj models using Blender, or other similar 3D modeling software.
|
Before Width: | Height: | Size: 517 KiB |
Before Width: | Height: | Size: 308 KiB |
Before Width: | Height: | Size: 412 KiB |
Before Width: | Height: | Size: 101 B |
Before Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 100 B |
@ -1,4 +0,0 @@
|
||||
custom textures for facade
|
||||
Copyright (C) 2017 TumeniNodes
|
||||
Attribution - ShareAlike 4.0 International (CC BY-SA 4.0)
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
1
mods/farming
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit e5aaa337c548ef3c386af1f6b2ee5c5ff18ab10c
|
1
mods/farming/.gitignore
vendored
@ -1 +0,0 @@
|
||||
farming.conf
|
@ -1,61 +0,0 @@
|
||||
# Farming Redo Mod
|
||||
### by TenPlus1
|
||||
|
||||
https://forum.minetest.net/viewtopic.php?id=9019
|
||||
|
||||
Farming Redo is a simplified version of the built-in farming mod in minetest and comes with wheat, cotton, carrot, cucumber, potato and tomato to start out with which spawn throughout the map... new foods need only be planted on tilled soil so no seeds are required, original wheat and cotton will require seeds which are found inside normal and jungle grass...
|
||||
|
||||
This mod works by adding your new plant to the {growing=1} group and numbering the stages from _1 to as many stages as you like, but the underscore MUST be used only once in the node name to separate plant from stage number e.g.
|
||||
|
||||
"farming:cotton_1" through to "farming:cotton_8"
|
||||
"farming:wheat_1" through to "farming:wheat_8"
|
||||
"farming:cucumber_4" through to "farming:cucumber_4"
|
||||
|
||||
### Changelog:
|
||||
|
||||
- 1.37 - Added custom 'growth_check(pos, nodename) function for crop nodes to use (check cocoa.lua for example)
|
||||
- 1.36 - Added Beetroot, Beetroot Soup (6x beetroot, 1x bowl), fix register_plant() issue, add new recipes
|
||||
- 1.35 - Deprecated bronze/mese/diamond hoe's, added hoe bomb and deprecated hoe's as lucky block prizes
|
||||
- 1.34 - Added scarecrow Base (5x sticks in a cross shape)
|
||||
- 1.33 - Added cooking utensils (wooden bowl, saucepan, cooking pot, baking tray, skillet, cutting board, mortar & pestle, juicer, glass mixing bowl) for easier food crafts.
|
||||
- 1.32 - Added Pea plant (textures by Andrey01) - also added Wooden Bowl and Pea Soup crafts
|
||||
- 1.31 - Added Pineapple which can be found growing in savannah areas (place pineapple in crafting to obtain 5x rings to eat and a top for re-planting), also Salt which is made from cooking a bucket of water, added food groups so it's more compatible with Ruben's food mods.
|
||||
- 1.30 - Added Garlic, Pepper and Onions thanks to Grizzly Adam for sharing textures
|
||||
- 1.29 - Updating functions so requires Minetest 0.4.16 and above to run
|
||||
- 1.28 - Added chili peppers and bowl of chili, optimized code and fixed a few bugs, added porridge
|
||||
- 1.27 - Added meshoptions to api and wheat plants, added farming.rarity setting to spawn more/less crops on map, have separate cotton/string items (4x cotton = 1x wool, 2x cotton = 2x string)
|
||||
- 1.26 - Added support for [toolranks] mod when using hoe's
|
||||
- 1.25 - Added check for farming.conf setting file to disable specific crops globally (inside mod folder) or world specific (inside world folder)
|
||||
- 1.24 - Added Hemp which can be crafted into fibre, paper, string, rope and oil.
|
||||
- 1.23 - Huge code tweak and tidy done and added barley seeds to be found in dry grass, barley can make flour for bread also.
|
||||
- 1.22 - Added grape bushes at high climates which can be cultivated into grape vines using trellis (9 sticks).
|
||||
- 1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs
|
||||
- 1.20b - Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays
|
||||
- 1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator)
|
||||
- 1.14 - Added Green Beans from Crops mod (thanks sofar), little bushels in the wild but need to be grown using beanpoles crafted with 4 sticks (2 either side)
|
||||
- 1.13 - Fixed seed double-placement glitch. Mapgen now uses 0.4.12+ for plant generation
|
||||
- 1.12 - Player cannot place seeds in protected area, also growing speeds changed to match defaults
|
||||
- 1.11 - Added Straw Bale, streamlined growing abm a little, fixed melon rotation bug with screwdriver
|
||||
- 1.10 - Added Blueberry Bush and Blueberry Muffins, also Pumpkin/Melon easier to pick up, added check for unloaded map
|
||||
- 1.09 - Corn now uses single nodes instead of 1 ontop of the other, Ethanol recipe is more expensive (requires 5 corn) and some code cleanup.
|
||||
- 1.08 - Added Farming Plus compatibility, plus can be removed and no more missing nodes
|
||||
- 1.07 - Added Rhubarb and Rhubarb Pie
|
||||
- 1.06 - register_hoe and register_plant added for compatibility with default farming mod, although any plants registered will use farming redo to grow
|
||||
- 1.05 - Added Raspberry Bushels and Raspberry Smoothie
|
||||
- 1.04 - Added Donuts... normal, chocolate and apple... and a few code cleanups and now compatible with jungletree's from MoreTrees mod
|
||||
- 1.03 - Bug fixes and more compatibility as drop-in replacement for built-in farming mod
|
||||
- 1.02 - Added farming.mod string to help other mods identify which farming mod is running, if it returns "redo" then you're using this one, "" empty is built-in mod
|
||||
- 1.01 - Crafting coffee or ethanol returns empty bucket/bottle, also Cocoa spawns a little rarer
|
||||
- 1.0 - Added Cocoa which randomly grows on jungle tree's, pods give cocoa beans which can be used to farm more pods on a jungle trunk or make Cookies which have been added (or other treats)
|
||||
- 0.9 - Added Pumpkin, Jack 'O Lantern, Pumpkin Slice and Sugar (a huge thanks to painterly.net for allowing me to use their textures)
|
||||
- 0.8 - Added Watermelon and Melon Slice
|
||||
- 0.7 - Added Coffee, Coffee Beans, Drinking Cup, Cold and Hot Cup of Coffee
|
||||
- 0.6 - Added Corn, Corn on the Cob... Also reworked Abm
|
||||
- 0.5 - Added Carrot, Cucumber, Potato (and Baked Potato), Tomato
|
||||
- 0.4 - Checks for Protection, also performance changes
|
||||
- 0.3 - Added Diamond and Mese hoe
|
||||
- 0.2 - Fixed check for wet soil
|
||||
- 0.1 - Fixed growing bug
|
||||
- 0.0 - Initial release
|
||||
|
||||
### Lucky Blocks: 30
|
@ -1,53 +0,0 @@
|
||||
Farming API
|
||||
-----------
|
||||
|
||||
The farming API allows you to easily register plants and hoes.
|
||||
|
||||
`farming.register_hoe(name, hoe definition)`
|
||||
* Register a new hoe, see [#hoe definition]
|
||||
|
||||
`farming.register_plant(name, Plant definition)`
|
||||
* Register a new growing plant, see [#Plant definition]
|
||||
|
||||
`farming.registered_plants[name] = definition`
|
||||
* Table of registered plants, indexed by plant name
|
||||
|
||||
### Hoe Definition
|
||||
|
||||
|
||||
{
|
||||
description = "", -- Description for tooltip
|
||||
inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image
|
||||
max_uses = 30, -- Uses until destroyed
|
||||
material = "", -- Material for recipes
|
||||
recipe = { -- Craft recipe, if material isn't used
|
||||
{"air", "air", "air"},
|
||||
{"", "group:stick"},
|
||||
{"", "group:stick"},
|
||||
}
|
||||
}
|
||||
|
||||
### Plant definition
|
||||
|
||||
{
|
||||
description = "", -- Description of seed item
|
||||
inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image
|
||||
steps = 8, -- How many steps the plant has to grow, until it can be harvested
|
||||
-- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber)
|
||||
minlight = 13, -- Minimum light to grow
|
||||
maxlight = default.LIGHT_MAX -- Maximum light to grow
|
||||
}
|
||||
|
||||
Note: Any crops registered with the above function will use the new growing routines, also if crops are manually added with the {growing=1} group they will also grow.
|
||||
|
||||
### Crop functions
|
||||
|
||||
If a mod registers nodes to be used as crops using the {growing=1} group then an additional function can be used for custom growth checks instead of the standard 'are we above wet soil'.
|
||||
|
||||
growth_check = function(pos, node_name)
|
||||
-- check surrounding for jungle tree
|
||||
if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
|
||||
return false -- place next growth stage
|
||||
end
|
||||
return true -- condition not met, skip next growth stage until next check
|
||||
end,
|
@ -1,176 +0,0 @@
|
||||
|
||||
-- wait until mods are finished loading
|
||||
minetest.after(0, function()
|
||||
|
||||
-- add food group to default apple and brown mushroom
|
||||
minetest.override_item("default:apple", {
|
||||
groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 3, leafdecay_drop = 1},
|
||||
})
|
||||
|
||||
if minetest.registered_nodes["flowers:mushroom_brown"] then
|
||||
minetest.override_item("flowers:mushroom_brown", {
|
||||
light_source = 1,
|
||||
groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 2},
|
||||
})
|
||||
end
|
||||
|
||||
-- is Ethereal mod installed?
|
||||
local eth = minetest.get_modpath("ethereal")
|
||||
|
||||
-- Banana
|
||||
if eth then
|
||||
minetest.register_alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling")
|
||||
minetest.register_alias("farming_plus:banana_leaves", "ethereal:bananaleaves")
|
||||
minetest.register_alias("farming_plus:banana", "ethereal:banana")
|
||||
else
|
||||
minetest.register_node(":ethereal:banana", {
|
||||
description = "Banana",
|
||||
drawtype = "torchlike",
|
||||
tiles = {"banana_single.png"},
|
||||
inventory_image = "banana_single.png",
|
||||
wield_image = "banana_single.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
|
||||
},
|
||||
groups = {food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
|
||||
on_use = minetest.item_eat(2),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("farming_plus:banana_sapling", "default:sapling")
|
||||
minetest.register_alias("farming_plus:banana_leaves", "default:leaves")
|
||||
minetest.register_alias("farming_plus:banana", "ethereal:banana")
|
||||
end
|
||||
|
||||
-- Carrot
|
||||
minetest.register_alias("farming_plus:carrot_seed", "farming:carrot")
|
||||
minetest.register_alias("farming_plus:carrot_1", "farming:carrot_1")
|
||||
minetest.register_alias("farming_plus:carrot_2", "farming:carrot_4")
|
||||
minetest.register_alias("farming_plus:carrot_3", "farming:carrot_6")
|
||||
minetest.register_alias("farming_plus:carrot", "farming:carrot_8")
|
||||
minetest.register_alias("farming_plus:carrot_item", "farming:carrot")
|
||||
|
||||
-- Cocoa
|
||||
minetest.register_alias("farming_plus:cocoa_sapling", "farming:cocoa_2")
|
||||
minetest.register_alias("farming_plus:cocoa_leaves", "default:leaves")
|
||||
minetest.register_alias("farming_plus:cocoa", "default:apple")
|
||||
minetest.register_alias("farming_plus:cocoa_bean", "farming:cocoa_beans")
|
||||
|
||||
-- Orange
|
||||
minetest.register_alias("farming_plus:orange_1", "farming:tomato_1")
|
||||
minetest.register_alias("farming_plus:orange_2", "farming:tomato_4")
|
||||
minetest.register_alias("farming_plus:orange_3", "farming:tomato_6")
|
||||
--minetest.register_alias("farming_plus:orange", "farming:tomato_8")
|
||||
|
||||
if eth then
|
||||
minetest.register_alias("farming_plus:orange_item", "ethereal:orange")
|
||||
minetest.register_alias("farming_plus:orange", "ethereal:orange")
|
||||
minetest.register_alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling")
|
||||
else
|
||||
minetest.register_node(":ethereal:orange", {
|
||||
description = "Orange",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_orange.png"},
|
||||
inventory_image = "farming_orange.png",
|
||||
wield_image = "farming_orange.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
|
||||
},
|
||||
groups = {food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
|
||||
on_use = minetest.item_eat(4),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("farming_plus:orange_item", "ethereal:orange")
|
||||
minetest.register_alias("farming_plus:orange", "ethereal:orange")
|
||||
minetest.register_alias("farming_plus:orange_seed", "default:sapling")
|
||||
end
|
||||
|
||||
-- Potato
|
||||
minetest.register_alias("farming_plus:potato_item", "farming:potato")
|
||||
minetest.register_alias("farming_plus:potato_1", "farming:potato_1")
|
||||
minetest.register_alias("farming_plus:potato_2", "farming:potato_2")
|
||||
minetest.register_alias("farming_plus:potato", "farming:potato_3")
|
||||
minetest.register_alias("farming_plus:potato_seed", "farming:potato")
|
||||
|
||||
-- Pumpkin
|
||||
minetest.register_alias("farming:pumpkin_seed", "farming:pumpkin_slice")
|
||||
minetest.register_alias("farming:pumpkin_face", "farming:jackolantern")
|
||||
minetest.register_alias("farming:pumpkin_face_light", "farming:jackolantern_on")
|
||||
minetest.register_alias("farming:big_pumpkin", "farming:pumpkin")
|
||||
minetest.register_alias("farming:big_pumpkin_side", "air")
|
||||
minetest.register_alias("farming:big_pumpkin_corner", "air")
|
||||
minetest.register_alias("farming:big_pumpkin_top", "air")
|
||||
minetest.register_alias("farming:scarecrow", "farming:jackolantern")
|
||||
minetest.register_alias("farming:scarecrow_light", "farming:jackolantern_on")
|
||||
minetest.register_alias("farming:pumpkin_flour", "farming:pumpkin_dough")
|
||||
|
||||
-- Rhubarb
|
||||
minetest.register_alias("farming_plus:rhubarb_seed", "farming:rhubarb")
|
||||
minetest.register_alias("farming_plus:rhubarb_1", "farming:rhubarb_1")
|
||||
minetest.register_alias("farming_plus:rhubarb_2", "farming:rhubarb_2")
|
||||
minetest.register_alias("farming_plus:rhubarb", "farming:rhubarb_3")
|
||||
minetest.register_alias("farming_plus:rhubarb_item", "farming:rhubarb")
|
||||
|
||||
-- Strawberry
|
||||
if eth then
|
||||
minetest.register_alias("farming_plus:strawberry_item", "ethereal:strawberry")
|
||||
minetest.register_alias("farming_plus:strawberry_seed", "ethereal:strawberry")
|
||||
minetest.register_alias("farming_plus:strawberry_1", "ethereal:strawberry_1")
|
||||
minetest.register_alias("farming_plus:strawberry_2", "ethereal:strawberry_3")
|
||||
minetest.register_alias("farming_plus:strawberry_3", "ethereal:strawberry_5")
|
||||
minetest.register_alias("farming_plus:strawberry", "ethereal:strawberry_7")
|
||||
else
|
||||
minetest.register_craftitem(":ethereal:strawberry", {
|
||||
description = "Strawberry",
|
||||
inventory_image = "strawberry.png",
|
||||
wield_image = "strawberry.png",
|
||||
groups = {food_strawberry = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
minetest.register_alias("farming_plus:strawberry_item", "ethereal:strawberry")
|
||||
minetest.register_alias("farming_plus:strawberry_seed", "ethereal:strawberry")
|
||||
minetest.register_alias("farming_plus:strawberry_1", "farming:raspberry_1")
|
||||
minetest.register_alias("farming_plus:strawberry_2", "farming:raspberry_2")
|
||||
minetest.register_alias("farming_plus:strawberry_3", "farming:raspberry_3")
|
||||
minetest.register_alias("farming_plus:strawberry", "farming:raspberry_4")
|
||||
end
|
||||
|
||||
minetest.register_alias("bushes:strawberry", "ethereal:strawberry")
|
||||
|
||||
|
||||
-- Tomato
|
||||
minetest.register_alias("farming_plus:tomato_seed", "farming:tomato")
|
||||
minetest.register_alias("farming_plus:tomato_item", "farming:tomato")
|
||||
minetest.register_alias("farming_plus:tomato_1", "farming:tomato_2")
|
||||
minetest.register_alias("farming_plus:tomato_2", "farming:tomato_4")
|
||||
minetest.register_alias("farming_plus:tomato_3", "farming:tomato_6")
|
||||
minetest.register_alias("farming_plus:tomato", "farming:tomato_8")
|
||||
|
||||
-- Weed
|
||||
minetest.register_alias("farming:weed", "default:grass_2")
|
||||
|
||||
-- Classic Bushes compatibility
|
||||
if minetest.get_modpath("bushes_classic") then
|
||||
|
||||
if eth then
|
||||
minetest.register_alias("bushes:strawberry", "farming:strawberry")
|
||||
else
|
||||
minetest.register_alias("bushes:strawberry", "farming:raspberries")
|
||||
end
|
||||
|
||||
minetest.register_alias("bushes:blueberry", "farming:blueberries")
|
||||
minetest.register_alias("bushes:raspberry", "farming:raspberries")
|
||||
end
|
||||
|
||||
end)
|
@ -1,105 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- barley seeds
|
||||
minetest.register_node("farming:seed_barley", {
|
||||
description = S("Barley Seed"),
|
||||
tiles = {"farming_barley_seed.png"},
|
||||
inventory_image = "farming_barley_seed.png",
|
||||
wield_image = "farming_barley_seed.png",
|
||||
drawtype = "signlike",
|
||||
groups = {seed = 1, snappy = 3, attached_node = 1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- harvested barley
|
||||
minetest.register_craftitem("farming:barley", {
|
||||
description = S("Barley"),
|
||||
inventory_image = "farming_barley.png",
|
||||
groups = {food_barley = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- flour
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:barley", "farming:barley", "farming:barley",
|
||||
"farming:barley", "farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}},
|
||||
})
|
||||
|
||||
-- barley definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_barley_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:barley_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_barley_2.png"}
|
||||
minetest.register_node("farming:barley_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_barley_3.png"}
|
||||
minetest.register_node("farming:barley_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_barley_4.png"}
|
||||
minetest.register_node("farming:barley_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_barley_5.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:barley'}, rarity = 2},
|
||||
{items = {'farming:seed_barley'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:barley_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_barley_6.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:barley'}, rarity = 2},
|
||||
{items = {'farming:seed_barley'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:barley_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7 (final)
|
||||
crop_def.tiles = {"farming_barley_7.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:barley'}, rarity = 1},
|
||||
{items = {'farming:barley'}, rarity = 3},
|
||||
{items = {'farming:seed_barley'}, rarity = 1},
|
||||
{items = {'farming:seed_barley'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:barley_7", table.copy(crop_def))
|
@ -1,249 +0,0 @@
|
||||
--[[
|
||||
All textures by
|
||||
(C) Auke Kok <sofar@foo-projects.org>
|
||||
CC-BY-SA-3.0
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- place beans
|
||||
local function place_beans(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return
|
||||
end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = minetest.registered_nodes[under.name]
|
||||
if placer and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- is player planting crop?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if minetest.is_protected(pt.under, name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- check if pointing at bean pole
|
||||
if under.name ~= "farming:beanpole" then
|
||||
return
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
minetest.set_node(pt.under, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0})
|
||||
|
||||
if placer or not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:beans",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- beans
|
||||
minetest.register_craftitem("farming:beans", {
|
||||
description = S("Green Beans"),
|
||||
inventory_image = "farming_beans.png",
|
||||
groups = {food_beans = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_beans(itemstack, placer, pointed_thing, "farming:beanpole_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- beans can be used for green dye
|
||||
minetest.register_craft({
|
||||
output = "dye:green",
|
||||
recipe = {
|
||||
{'farming:beans'},
|
||||
}
|
||||
})
|
||||
|
||||
-- beanpole
|
||||
minetest.register_node("farming:beanpole", {
|
||||
description = S("Bean Pole (place on soil before planting beans)"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanpole.png"},
|
||||
inventory_image = "farming_beanpole.png",
|
||||
visual_scale = 1.90, -- 1.45,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = "farming:beanpole",
|
||||
selection_box = farming.select,
|
||||
groups = {snappy = 3, flammable = 2, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return
|
||||
end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = minetest.registered_nodes[under.name]
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if minetest.get_item_group(nodename, "soil") < 2 then
|
||||
return
|
||||
end
|
||||
|
||||
local top = {
|
||||
x = pointed_thing.above.x,
|
||||
y = pointed_thing.above.y + 1,
|
||||
z = pointed_thing.above.z
|
||||
}
|
||||
|
||||
nodename = minetest.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.set_node(pointed_thing.above, {name = "farming:beanpole"})
|
||||
|
||||
if not farming.is_creative(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:beanpole",
|
||||
recipe = {
|
||||
{'', '', ''},
|
||||
{'default:stick', '', 'default:stick'},
|
||||
{'default:stick', '', 'default:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:beanpole",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
-- green bean definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanpole_1.png"},
|
||||
visual_scale = 1.90, -- 1.45,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:beanpole'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:beanpole_1", table.copy(crop_def))
|
||||
|
||||
-- stage2
|
||||
crop_def.tiles = {"farming_beanpole_2.png"}
|
||||
minetest.register_node("farming:beanpole_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_beanpole_3.png"}
|
||||
minetest.register_node("farming:beanpole_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_beanpole_4.png"}
|
||||
minetest.register_node("farming:beanpole_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5 (final)
|
||||
crop_def.tiles = {"farming_beanpole_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:beanpole'}, rarity = 1},
|
||||
{items = {'farming:beans 3'}, rarity = 1},
|
||||
{items = {'farming:beans 2'}, rarity = 2},
|
||||
{items = {'farming:beans 2'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:beanpole_5", table.copy(crop_def))
|
||||
|
||||
-- wild green bean bush (this is what you find on the map)
|
||||
minetest.register_node("farming:beanbush", {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanbush.png"},
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:beans 1'}, rarity = 1},
|
||||
{items = {'farming:beans 1'}, rarity = 2},
|
||||
{items = {'farming:beans 1'}, rarity = 3},
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory=1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
@ -1,85 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- beetroot
|
||||
minetest.register_craftitem("farming:beetroot", {
|
||||
description = S("Beetroot"),
|
||||
inventory_image = "farming_beetroot.png",
|
||||
groups = {food_beetroot = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:beetroot_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- beetroot soup
|
||||
minetest.register_craftitem("farming:beetroot_soup", {
|
||||
description = S("Beetroot Soup"),
|
||||
inventory_image = "farming_beetroot_soup.png",
|
||||
groups = {flammable = 2},
|
||||
on_use = minetest.item_eat(6, "farming:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:beetroot_soup",
|
||||
recipe = {
|
||||
"group:food_beetroot", "group:food_beetroot",
|
||||
"group:food_beetroot", "group:food_beetroot",
|
||||
"group:food_beetroot", "group:food_beetroot","group:food_bowl"
|
||||
}
|
||||
})
|
||||
|
||||
-- red dye
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "dye:red",
|
||||
recipe = {"group:food_beetroot"},
|
||||
})
|
||||
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beetroot_1.png"},
|
||||
paramtype = "light",
|
||||
-- paramtype2 = "meshoptions",
|
||||
-- place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:beetroot_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_beetroot_2.png"}
|
||||
minetest.register_node("farming:beetroot_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_beetroot_3.png"}
|
||||
minetest.register_node("farming:beetroot_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_beetroot_4.png"}
|
||||
minetest.register_node("farming:beetroot_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_beetroot_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
max_items = 4, items = {
|
||||
{items = {'farming:beetroot'}, rarity = 1},
|
||||
{items = {'farming:beetroot'}, rarity = 2},
|
||||
{items = {'farming:beetroot'}, rarity = 3},
|
||||
{items = {'farming:beetroot'}, rarity = 4},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:beetroot_5", table.copy(crop_def))
|
@ -1,85 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- blueberries
|
||||
minetest.register_craftitem("farming:blueberries", {
|
||||
description = S("Blueberries"),
|
||||
inventory_image = "farming_blueberries.png",
|
||||
groups = {food_blueberries = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image)
|
||||
|
||||
minetest.register_craftitem("farming:muffin_blueberry", {
|
||||
description = S("Blueberry Muffin"),
|
||||
inventory_image = "farming_blueberry_muffin.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:muffin_blueberry 2",
|
||||
recipe = {
|
||||
{"group:food_blueberries", "group:food_bread", "group:food_blueberries"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Blueberry Pie
|
||||
|
||||
minetest.register_craftitem("farming:blueberry_pie", {
|
||||
description = S("Blueberry Pie"),
|
||||
inventory_image = "farming_blueberry_pie.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:blueberry_pie",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"group:food_flour", "group:food_sugar",
|
||||
"group:food_blueberries", "group:food_baking_tray"
|
||||
},
|
||||
})
|
||||
|
||||
-- blueberry definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_blueberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:blueberry_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_blueberry_2.png"}
|
||||
minetest.register_node("farming:blueberry_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_blueberry_3.png"}
|
||||
minetest.register_node("farming:blueberry_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4 (final)
|
||||
crop_def.tiles = {"farming_blueberry_4.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:blueberries 2'}, rarity = 1},
|
||||
{items = {'farming:blueberries'}, rarity = 2},
|
||||
{items = {'farming:blueberries'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:blueberry_4", table.copy(crop_def))
|
@ -1,96 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from PixelBox texture pack
|
||||
https://forum.minetest.net/viewtopic.php?id=4990
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- carrot
|
||||
minetest.register_craftitem("farming:carrot", {
|
||||
description = S("Carrot"),
|
||||
inventory_image = "farming_carrot.png",
|
||||
groups = {food_carrot = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- golden carrot
|
||||
minetest.register_craftitem("farming:carrot_gold", {
|
||||
description = S("Golden Carrot"),
|
||||
inventory_image = "farming_carrot_gold.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:carrot_gold",
|
||||
recipe = {
|
||||
{"", "default:gold_lump", ""},
|
||||
{"default:gold_lump", "group:food_carrot", "default:gold_lump"},
|
||||
{"", "default:gold_lump", ""},
|
||||
}
|
||||
})
|
||||
|
||||
-- carrot definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_carrot_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:carrot_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_carrot_2.png"}
|
||||
minetest.register_node("farming:carrot_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_carrot_3.png"}
|
||||
minetest.register_node("farming:carrot_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_carrot_4.png"}
|
||||
minetest.register_node("farming:carrot_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_carrot_5.png"}
|
||||
minetest.register_node("farming:carrot_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_carrot_6.png"}
|
||||
minetest.register_node("farming:carrot_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_carrot_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:carrot'}, rarity = 1},
|
||||
{items = {'farming:carrot 2'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:carrot_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_carrot_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:carrot 2'}, rarity = 1},
|
||||
{items = {'farming:carrot 3'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:carrot_8", table.copy(crop_def))
|
@ -1,92 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- chili pepper
|
||||
minetest.register_craftitem("farming:chili_pepper", {
|
||||
description = S("Chili Pepper"),
|
||||
inventory_image = "farming_chili_pepper.png",
|
||||
groups = {food_chili_pepper = 1, flammable = 4},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:chili_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
-- bowl of chili
|
||||
minetest.register_craftitem("farming:chili_bowl", {
|
||||
description = S("Bowl of Chili"),
|
||||
inventory_image = "farming_chili_bowl.png",
|
||||
on_use = minetest.item_eat(8, "farming:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:chili_bowl",
|
||||
recipe = {
|
||||
"group:food_chili_pepper", "group:food_barley",
|
||||
"group:food_tomato", "group:food_beans", "group:food_bowl"
|
||||
},
|
||||
})
|
||||
|
||||
-- chili can be used for red dye
|
||||
minetest.register_craft({
|
||||
output = "dye:red",
|
||||
recipe = {
|
||||
{'farming:chili_pepper'},
|
||||
}
|
||||
})
|
||||
|
||||
-- chili definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_chili_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:chili_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_chili_2.png"}
|
||||
minetest.register_node("farming:chili_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_chili_3.png"}
|
||||
minetest.register_node("farming:chili_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_chili_4.png"}
|
||||
minetest.register_node("farming:chili_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_chili_5.png"}
|
||||
minetest.register_node("farming:chili_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_chili_6.png"}
|
||||
minetest.register_node("farming:chili_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_chili_7.png"}
|
||||
minetest.register_node("farming:chili_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_chili_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:chili_pepper 3'}, rarity = 1},
|
||||
{items = {'farming:chili_pepper 2'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:chili_8", table.copy(crop_def))
|
@ -1,210 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- place cocoa
|
||||
local function place_cocoa(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return
|
||||
end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = minetest.registered_nodes[under.name]
|
||||
if placer and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- check if pointing at jungletree
|
||||
if under.name ~= "default:jungletree"
|
||||
or minetest.get_node(pt.above).name ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
-- is player planting crop?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if minetest.is_protected(pt.above, name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
minetest.set_node(pt.above, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0})
|
||||
|
||||
if placer and not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:cocoa_beans",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- cocoa beans
|
||||
minetest.register_craftitem("farming:cocoa_beans", {
|
||||
description = S("Cocoa Beans"),
|
||||
inventory_image = "farming_cocoa_beans.png",
|
||||
groups = {food_cocoa = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1")
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "dye:brown 2",
|
||||
recipe = {
|
||||
{ "farming:cocoa_beans" },
|
||||
}
|
||||
})
|
||||
|
||||
-- chocolate cookie
|
||||
minetest.register_craftitem("farming:cookie", {
|
||||
description = S("Cookie"),
|
||||
inventory_image = "farming_cookie.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:cookie 8",
|
||||
recipe = {
|
||||
{"group:food_wheat", "group:food_cocoa", "group:food_wheat" },
|
||||
}
|
||||
})
|
||||
|
||||
-- bar of dark chocolate (thanks to Ice Pandora for her deviantart.com chocolate tutorial)
|
||||
minetest.register_craftitem("farming:chocolate_dark", {
|
||||
description = S("Bar of Dark Chocolate"),
|
||||
inventory_image = "farming_chocolate_dark.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:chocolate_dark",
|
||||
recipe = {
|
||||
{"group:food_cocoa", "group:food_cocoa", "group:food_cocoa"},
|
||||
}
|
||||
})
|
||||
|
||||
-- cocoa definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cocoa_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:cocoa_beans 1'}, rarity = 2},
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, growing = 1,
|
||||
not_in_creative_inventory=1, leafdecay = 1, leafdecay_drop = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
growth_check = function(pos, node_name)
|
||||
if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end,
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cocoa_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_cocoa_2.png"}
|
||||
minetest.register_node("farming:cocoa_2", table.copy(crop_def))
|
||||
|
||||
-- stage3
|
||||
crop_def.tiles = {"farming_cocoa_3.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:cocoa_beans 1'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cocoa_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4 (final)
|
||||
crop_def.tiles = {"farming_cocoa_4.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.growth_check = nil
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:cocoa_beans 2'}, rarity = 1},
|
||||
{items = {'farming:cocoa_beans 1'}, rarity = 2},
|
||||
{items = {'farming:cocoa_beans 1'}, rarity = 4},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cocoa_4", table.copy(crop_def))
|
||||
|
||||
-- add random cocoa pods to jungle tree's
|
||||
minetest.register_on_generated(function(minp, maxp)
|
||||
|
||||
if maxp.y < 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local pos, dir
|
||||
local cocoa = minetest.find_nodes_in_area(minp, maxp, "default:jungletree")
|
||||
|
||||
for n = 1, #cocoa do
|
||||
|
||||
pos = cocoa[n]
|
||||
|
||||
if minetest.find_node_near(pos, 1,
|
||||
{"default:jungleleaves", "moretrees:jungletree_leaves_green"}) then
|
||||
|
||||
dir = math.random(1, 80)
|
||||
|
||||
if dir == 1 then
|
||||
pos.x = pos.x + 1
|
||||
elseif dir == 2 then
|
||||
pos.x = pos.x - 1
|
||||
elseif dir == 3 then
|
||||
pos.z = pos.z + 1
|
||||
elseif dir == 4 then
|
||||
pos.z = pos.z -1
|
||||
end
|
||||
|
||||
if dir < 5
|
||||
and minetest.get_node(pos).name == "air"
|
||||
and minetest.get_node_light(pos) > 12 then
|
||||
|
||||
--print ("Cocoa Pod added at " .. minetest.pos_to_string(pos))
|
||||
|
||||
minetest.swap_node(pos, {
|
||||
name = "farming:cocoa_" .. tostring(math.random(1, 4))
|
||||
})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end)
|
@ -1,88 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- coffee
|
||||
minetest.register_craftitem("farming:coffee_beans", {
|
||||
description = S("Coffee Beans"),
|
||||
inventory_image = "farming_coffee_beans.png",
|
||||
groups = {food_coffee = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- cold cup of coffee
|
||||
minetest.register_node("farming:coffee_cup", {
|
||||
description = S("Cup of Coffee"),
|
||||
drawtype = "torchlike", --"plantlike",
|
||||
tiles = {"farming_coffee_cup.png"},
|
||||
inventory_image = "farming_coffee_cup.png",
|
||||
wield_image = "farming_coffee_cup.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("farming:coffee_cup_hot", "farming:coffee_cup")
|
||||
minetest.register_alias("farming:drinking_cup", "vessels:drinking_glass")
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:coffee_cup",
|
||||
type = "shapeless",
|
||||
recipe = {"vessels:drinking_glass", "group:food_coffee",
|
||||
"bucket:bucket_water", "group:food_saucepan"},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty"},
|
||||
{"group:food_saucepan", "farming:saucepan"},
|
||||
}
|
||||
})
|
||||
|
||||
-- coffee definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_coffee_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:coffee_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_coffee_2.png"}
|
||||
minetest.register_node("farming:coffee_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_coffee_3.png"}
|
||||
minetest.register_node("farming:coffee_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_coffee_4.png"}
|
||||
minetest.register_node("farming:coffee_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5 (final)
|
||||
crop_def.tiles = {"farming_coffee_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:coffee_beans 2'}, rarity = 1},
|
||||
{items = {'farming:coffee_beans 2'}, rarity = 2},
|
||||
{items = {'farming:coffee_beans 2'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:coffee_5", table.copy(crop_def))
|
@ -1,149 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from GeMinecraft
|
||||
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/1440575-1-2-5-generation-minecraft-beta-1-2-farming-and
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- corn
|
||||
minetest.register_craftitem("farming:corn", {
|
||||
description = S("Corn"),
|
||||
inventory_image = "farming_corn.png",
|
||||
groups = {food_corn = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
-- corn on the cob (texture by TenPlus1)
|
||||
minetest.register_craftitem("farming:corn_cob", {
|
||||
description = S("Corn on the Cob"),
|
||||
inventory_image = "farming_corn_cob.png",
|
||||
groups = {food_corn_cooked = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "farming:corn_cob",
|
||||
recipe = "group:food_corn"
|
||||
})
|
||||
|
||||
-- cornstarch
|
||||
minetest.register_craftitem("farming:cornstarch", {
|
||||
description = S("Cornstarch"),
|
||||
inventory_image = "farming_cornstarch.png",
|
||||
groups = {food_cornstarch = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cornstarch",
|
||||
recipe = {
|
||||
{"group:food_mortar_pestle", "group:food_corn_cooked", "group:food_baking_tray"},
|
||||
{"", "group:food_bowl", ""},
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_mortar_pestle", "farming:mortar_pestle"},
|
||||
{"group:food_baking_tray", "farming:baking_tray"},
|
||||
}
|
||||
})
|
||||
|
||||
-- ethanol (thanks to JKMurray for this idea)
|
||||
minetest.register_node("farming:bottle_ethanol", {
|
||||
description = S("Bottle of Ethanol"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_bottle_ethanol.png"},
|
||||
inventory_image = "farming_bottle_ethanol.png",
|
||||
wield_image = "farming_bottle_ethanol.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:bottle_ethanol",
|
||||
recipe = {
|
||||
{ "vessels:glass_bottle", "group:food_corn", "group:food_corn"},
|
||||
{ "group:food_corn", "group:food_corn", "group:food_corn"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:bottle_ethanol",
|
||||
burntime = 80, --240,
|
||||
replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}}
|
||||
})
|
||||
|
||||
-- corn definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_corn_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:corn_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_corn_2.png"}
|
||||
minetest.register_node("farming:corn_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_corn_3.png"}
|
||||
minetest.register_node("farming:corn_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_corn_4.png"}
|
||||
minetest.register_node("farming:corn_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_corn_5.png"}
|
||||
minetest.register_node("farming:corn_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_corn_6.png"}
|
||||
crop_def.visual_scale = 1.9 -- 1.45
|
||||
minetest.register_node("farming:corn_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_corn_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:corn'}, rarity = 1},
|
||||
{items = {'farming:corn'}, rarity = 2},
|
||||
{items = {'farming:corn'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:corn_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_corn_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:corn 2'}, rarity = 1},
|
||||
{items = {'farming:corn 2'}, rarity = 2},
|
||||
{items = {'farming:corn 2'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:corn_8", table.copy(crop_def))
|
@ -1,151 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- cotton seeds
|
||||
minetest.register_node("farming:seed_cotton", {
|
||||
description = S("Cotton Seed"),
|
||||
tiles = {"farming_cotton_seed.png"},
|
||||
inventory_image = "farming_cotton_seed.png",
|
||||
wield_image = "farming_cotton_seed.png",
|
||||
drawtype = "signlike",
|
||||
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- cotton / string
|
||||
|
||||
minetest.register_craftitem("farming:cotton", {
|
||||
description = S("Cotton"),
|
||||
inventory_image = "farming_cotton.png",
|
||||
groups = {flammable = 4},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:string", {
|
||||
description = S("String"),
|
||||
inventory_image = "farming_string.png",
|
||||
groups = {flammable = 2},
|
||||
})
|
||||
|
||||
-- cotton to wool
|
||||
minetest.register_craft({
|
||||
output = "wool:white",
|
||||
recipe = {
|
||||
{"farming:cotton", "farming:cotton"},
|
||||
{"farming:cotton", "farming:cotton"},
|
||||
}
|
||||
})
|
||||
|
||||
-- cotton to string
|
||||
minetest.register_craft({
|
||||
output = "farming:string 2",
|
||||
recipe = {
|
||||
{"farming:cotton"},
|
||||
{"farming:cotton"},
|
||||
}
|
||||
})
|
||||
|
||||
-- can be used as fuel
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:string",
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:cotton",
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
-- cotton definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cotton_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cotton_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_cotton_2.png"}
|
||||
minetest.register_node("farming:cotton_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_cotton_3.png"}
|
||||
minetest.register_node("farming:cotton_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_cotton_4.png"}
|
||||
minetest.register_node("farming:cotton_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_cotton_5.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"farming:seed_cotton"}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_cotton_6.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_cotton_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1},
|
||||
{items = {"farming:seed_cotton"}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_cotton_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:cotton"}, rarity = 3},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1},
|
||||
{items = {"farming:seed_cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_8", table.copy(crop_def))
|
||||
|
||||
--[[ Cotton (example, is already registered in cotton.lua)
|
||||
farming.register_plant("farming:cotton", {
|
||||
description = "Cotton seed",
|
||||
inventory_image = "farming_cotton_seed.png",
|
||||
groups = {flammable = 2},
|
||||
steps = 8,
|
||||
})]]
|
@ -1,56 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.minetest.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- cucumber
|
||||
minetest.register_craftitem("farming:cucumber", {
|
||||
description = S("Cucumber"),
|
||||
inventory_image = "farming_cucumber.png",
|
||||
groups = {food_cucumber = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- cucumber definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cucumber_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cucumber_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_cucumber_2.png"}
|
||||
minetest.register_node("farming:cucumber_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_cucumber_3.png"}
|
||||
minetest.register_node("farming:cucumber_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4 (final)
|
||||
crop_def.tiles = {"farming_cucumber_4.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:cucumber 2'}, rarity = 1},
|
||||
{items = {'farming:cucumber 2'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cucumber_4", table.copy(crop_def))
|
@ -1,129 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- potato
|
||||
minetest.register_craftitem("farming:garlic_clove", {
|
||||
description = S("Garlic clove"),
|
||||
inventory_image = "crops_garlic_clove.png",
|
||||
groups = {food_garlic_clove = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:garlic_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- garlic bulb
|
||||
minetest.register_craftitem("farming:garlic", {
|
||||
description = S("Garlic"),
|
||||
inventory_image = "crops_garlic.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_garlic = 1, flammable = 3},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:garlic_clove 9",
|
||||
recipe = { "farming:garlic" }
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:garlic",
|
||||
recipe = {
|
||||
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"},
|
||||
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"},
|
||||
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"}
|
||||
}
|
||||
})
|
||||
|
||||
-- garlic braid
|
||||
minetest.register_node("farming:garlic_braid", {
|
||||
description = S("Garlic Braid"),
|
||||
inventory_image = "crops_garlic_braid.png",
|
||||
wield_image = "crops_garlic_braid.png",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
tiles = {
|
||||
"crops_garlic_braid_side.png","crops_garlic_braid.png",
|
||||
"crops_garlic_braid_side.png^[transformFx","crops_garlic_braid_side.png",
|
||||
"crops_garlic_braid.png","crops_garlic_braid.png"
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, flammable = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.13, -0.45, 0.5, 0.13, 0.45, 0.24,
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:garlic_braid",
|
||||
recipe = {
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"},
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"},
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:garlic 9",
|
||||
recipe = { "farming:garlic_braid" }
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_garlic_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:garlic_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"crops_garlic_plant_2.png"}
|
||||
minetest.register_node("farming:garlic_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"crops_garlic_plant_3.png"}
|
||||
minetest.register_node("farming:garlic_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"crops_garlic_plant_4.png"}
|
||||
minetest.register_node("farming:garlic_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"crops_garlic_plant_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {'farming:garlic'}, rarity = 1},
|
||||
{items = {'farming:garlic'}, rarity = 1},
|
||||
{items = {'farming:garlic'}, rarity = 1},
|
||||
{items = {'farming:garlic'}, rarity = 2},
|
||||
{items = {'farming:garlic'}, rarity = 5},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:garlic_5", table.copy(crop_def))
|
@ -1,256 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- place trellis
|
||||
local function place_grapes(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return
|
||||
end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = minetest.registered_nodes[under.name]
|
||||
if placer and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- is player planting seed?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if minetest.is_protected(pt.under, name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- check if pointing at trellis
|
||||
if under.name ~= "farming:trellis" then
|
||||
return
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
minetest.set_node(pt.under, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0})
|
||||
|
||||
if placer and not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:grapes",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- grapes
|
||||
minetest.register_craftitem("farming:grapes", {
|
||||
description = S("Grapes"),
|
||||
inventory_image = "farming_grapes.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_grapes = 1, flammable = 3},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- grapes can be used for violet dye
|
||||
minetest.register_craft({
|
||||
output = "dye:violet",
|
||||
recipe = {
|
||||
{'farming:grapes'},
|
||||
}
|
||||
})
|
||||
|
||||
-- trellis
|
||||
minetest.register_node("farming:trellis", {
|
||||
description = S("Trellis (place on soil before planting grapes)"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_trellis.png"},
|
||||
inventory_image = "farming_trellis.png",
|
||||
visual_scale = 1.9, -- 1.45,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = "farming:trellis",
|
||||
selection_box = farming.select,
|
||||
groups = {snappy = 3, flammable = 2, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return
|
||||
end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = minetest.registered_nodes[under.name]
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if minetest.get_item_group(nodename, "soil") < 2 then
|
||||
return
|
||||
end
|
||||
|
||||
local top = {
|
||||
x = pointed_thing.above.x,
|
||||
y = pointed_thing.above.y + 1,
|
||||
z = pointed_thing.above.z
|
||||
}
|
||||
|
||||
nodename = minetest.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.set_node(pointed_thing.above, {name = "farming:trellis"})
|
||||
|
||||
if not farming.is_creative(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:trellis",
|
||||
recipe = {
|
||||
{'default:stick', 'default:stick', 'default:stick'},
|
||||
{'default:stick', 'default:stick', 'default:stick'},
|
||||
{'default:stick', 'default:stick', 'default:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:trellis",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
-- grapes definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_grapes_1.png"},
|
||||
visual_scale = 1.9, -- 1.45,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:trellis'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:grapes_1", table.copy(crop_def))
|
||||
|
||||
-- stage2
|
||||
crop_def.tiles = {"farming_grapes_2.png"}
|
||||
minetest.register_node("farming:grapes_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_grapes_3.png"}
|
||||
minetest.register_node("farming:grapes_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_grapes_4.png"}
|
||||
minetest.register_node("farming:grapes_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_grapes_5.png"}
|
||||
minetest.register_node("farming:grapes_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_grapes_6.png"}
|
||||
minetest.register_node("farming:grapes_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_grapes_7.png"}
|
||||
minetest.register_node("farming:grapes_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_grapes_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:trellis'}, rarity = 1},
|
||||
{items = {'farming:grapes 3'}, rarity = 1},
|
||||
{items = {'farming:grapes 1'}, rarity = 2},
|
||||
{items = {'farming:grapes 1'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:grapes_8", table.copy(crop_def))
|
||||
|
||||
-- wild grape vine (this is what you find on the map)
|
||||
minetest.register_node("farming:grapebush", {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_grapebush.png"},
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:grapes 1'}, rarity = 1},
|
||||
{items = {'farming:grapes 1'}, rarity = 2},
|
||||
{items = {'farming:grapes 1'}, rarity = 3},
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory=1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
@ -1,251 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- hemp seeds
|
||||
minetest.register_node("farming:seed_hemp", {
|
||||
description = S("Hemp Seed"),
|
||||
tiles = {"farming_hemp_seed.png"},
|
||||
inventory_image = "farming_hemp_seed.png",
|
||||
wield_image = "farming_hemp_seed.png",
|
||||
drawtype = "signlike",
|
||||
groups = {seed = 1, snappy = 3, attached_node = 1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- harvested hemp
|
||||
minetest.register_craftitem("farming:hemp_leaf", {
|
||||
description = S("Hemp Leaf"),
|
||||
inventory_image = "farming_hemp_leaf.png",
|
||||
})
|
||||
|
||||
-- hemp oil
|
||||
minetest.register_node("farming:hemp_oil", {
|
||||
description = S("Bottle of Hemp Oil"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_hemp_oil.png"},
|
||||
inventory_image = "farming_hemp_oil.png",
|
||||
wield_image = "farming_hemp_oil.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
groups = {food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_oil",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"", "vessels:glass_bottle", ""}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_oil",
|
||||
recipe = {
|
||||
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
|
||||
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
|
||||
{"farming:seed_hemp", "vessels:glass_bottle", "farming:seed_hemp"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:hemp_oil",
|
||||
burntime = 20,
|
||||
replacements = {{ "farming:hemp_oil", "vessels:glass_bottle"}}
|
||||
})
|
||||
|
||||
-- hemp fibre
|
||||
minetest.register_craftitem("farming:hemp_fibre", {
|
||||
description = S("Hemp Fibre"),
|
||||
inventory_image = "farming_hemp_fibre.png",
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_fibre 8",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "bucket:bucket_water", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
|
||||
},
|
||||
replacements = {{ "bucket:bucket_water", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_fibre 8",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "bucket:bucket_river_water", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
|
||||
},
|
||||
replacements = {{ "bucket:bucket_river_water", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
-- hemp block
|
||||
minetest.register_node("farming:hemp_block", {
|
||||
description = S("Hemp Block"),
|
||||
tiles = {"farming_hemp_block.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 1, oddly_breakable_by_hand = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_block",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
|
||||
},
|
||||
})
|
||||
|
||||
-- check and register stairs
|
||||
if minetest.global_exists("stairs") then
|
||||
|
||||
if stairs.mod and stairs.mod == "redo" then
|
||||
|
||||
stairs.register_all("hemp_block", "farming:hemp_block",
|
||||
{snappy = 1, flammable = 2},
|
||||
{"farming_hemp_block.png"},
|
||||
"Hemp Block",
|
||||
default.node_sound_leaves_defaults())
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab("hemp_block", "farming:hemp_block",
|
||||
{snappy = 1, flammable = 2},
|
||||
{"farming_hemp_block.png"},
|
||||
"Hemp Block Stair",
|
||||
"Hemp Block Slab",
|
||||
default.node_sound_leaves_defaults())
|
||||
end
|
||||
end
|
||||
|
||||
-- paper
|
||||
minetest.register_craft( {
|
||||
output = "default:paper",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
}
|
||||
})
|
||||
|
||||
-- string
|
||||
minetest.register_craft( {
|
||||
output = "farming:cotton",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre"},
|
||||
}
|
||||
})
|
||||
|
||||
-- hemp rope
|
||||
minetest.register_node("farming:hemp_rope", {
|
||||
description = S("Hemp Rope"),
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
tiles = {"farming_hemp_rope.png"},
|
||||
wield_image = "farming_hemp_rope.png",
|
||||
inventory_image = "farming_hemp_rope.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {flammable = 2, choppy = 3, oddly_breakable_by_hand = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
||||
},
|
||||
})
|
||||
|
||||
-- string
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_rope 6",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:cotton", "farming:cotton", "farming:cotton"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
}
|
||||
})
|
||||
|
||||
-- hemp definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_hemp_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:hemp_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_hemp_2.png"}
|
||||
minetest.register_node("farming:hemp_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_hemp_3.png"}
|
||||
minetest.register_node("farming:hemp_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_hemp_4.png"}
|
||||
minetest.register_node("farming:hemp_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_hemp_5.png"}
|
||||
minetest.register_node("farming:hemp_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_hemp_6.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:hemp_leaf'}, rarity = 2},
|
||||
{items = {'farming:seed_hemp'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:hemp_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_hemp_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:hemp_leaf'}, rarity = 1},
|
||||
{items = {'farming:hemp_leaf'}, rarity = 3},
|
||||
{items = {'farming:seed_hemp'}, rarity = 1},
|
||||
{items = {'farming:seed_hemp'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:hemp_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_hemp_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:hemp_leaf 2'}, rarity = 1},
|
||||
{items = {'farming:hemp_leaf'}, rarity = 2},
|
||||
{items = {'farming:seed_hemp'}, rarity = 1},
|
||||
{items = {'farming:seed_hemp'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:hemp_8", table.copy(crop_def))
|
@ -1,86 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- melon
|
||||
minetest.register_craftitem("farming:melon_slice", {
|
||||
description = S("Melon Slice"),
|
||||
inventory_image = "farming_melon_slice.png",
|
||||
groups = {food_melon_slice = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:melon_8",
|
||||
recipe = {
|
||||
{"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"},
|
||||
{"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"},
|
||||
{"farming:melon_slice", "farming:melon_slice", "farming:melon_slice"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:melon_slice 9",
|
||||
recipe = {
|
||||
{"", "farming:melon_8", ""},
|
||||
}
|
||||
})
|
||||
|
||||
-- melon definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_melon_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:melon_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_melon_2.png"}
|
||||
minetest.register_node("farming:melon_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_melon_3.png"}
|
||||
minetest.register_node("farming:melon_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_melon_4.png"}
|
||||
minetest.register_node("farming:melon_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_melon_5.png"}
|
||||
minetest.register_node("farming:melon_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_melon_6.png"}
|
||||
minetest.register_node("farming:melon_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_melon_7.png"}
|
||||
minetest.register_node("farming:melon_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.drawtype = "nodebox"
|
||||
crop_def.description = S("Melon")
|
||||
crop_def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"}
|
||||
crop_def.selection_box = {-.5, -.5, -.5, .5, .5, .5}
|
||||
crop_def.walkable = true
|
||||
crop_def.groups = {
|
||||
food_melon = 1, snappy = 1, oddly_breakable_by_hand = 1,
|
||||
flammable = 2, plant = 1
|
||||
}
|
||||
crop_def.drop = "farming:melon_slice 9"
|
||||
minetest.register_node("farming:melon_8", table.copy(crop_def))
|
@ -1,68 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- potato
|
||||
minetest.register_craftitem("farming:onion", {
|
||||
description = S("Onion"),
|
||||
inventory_image = "crops_onion.png",
|
||||
groups = {food_onion = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:onion_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_onion_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:onion_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"crops_onion_plant_2.png"}
|
||||
minetest.register_node("farming:onion_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"crops_onion_plant_3.png"}
|
||||
minetest.register_node("farming:onion_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"crops_onion_plant_4.png"}
|
||||
minetest.register_node("farming:onion_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"crops_onion_plant_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {'farming:onion'}, rarity = 1},
|
||||
{items = {'farming:onion'}, rarity = 1},
|
||||
{items = {'farming:onion'}, rarity = 2},
|
||||
{items = {'farming:onion'}, rarity = 2},
|
||||
{items = {'farming:onion'}, rarity = 5},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:onion_5", table.copy(crop_def))
|
@ -1,89 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- Textures for Pea crop and Peas were done by Andrey01
|
||||
|
||||
-- pea pod
|
||||
minetest.register_craftitem("farming:pea_pod", {
|
||||
description = S("Pea Pod"),
|
||||
inventory_image = "farming_pea_pod.png",
|
||||
groups = {food_pea_pod = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pea_1")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:peas", {
|
||||
description = S("Peas"),
|
||||
inventory_image = "farming_pea_peas.png",
|
||||
groups = {food_peas = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:peas",
|
||||
recipe = {"farming:pea_pod"}
|
||||
})
|
||||
|
||||
-- pea soup
|
||||
minetest.register_craftitem("farming:pea_soup", {
|
||||
description = S("Pea Soup"),
|
||||
inventory_image = "farming_pea_soup.png",
|
||||
groups = {flammable = 2},
|
||||
on_use = minetest.item_eat(4, "farming:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:pea_soup",
|
||||
recipe = {"group:food_peas", "group:food_peas", "group:food_bowl"}
|
||||
})
|
||||
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pea_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pea_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_pea_2.png"}
|
||||
minetest.register_node("farming:pea_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_pea_3.png"}
|
||||
minetest.register_node("farming:pea_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_pea_4.png"}
|
||||
minetest.register_node("farming:pea_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_pea_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {'farming:pea_pod'}, rarity = 1},
|
||||
{items = {'farming:pea_pod'}, rarity = 2},
|
||||
{items = {'farming:pea_pod'}, rarity = 3},
|
||||
{items = {'farming:pea_pod'}, rarity = 4},
|
||||
{items = {'farming:pea_pod'}, rarity = 5},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pea_5", table.copy(crop_def))
|
@ -1,106 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- peppercorn (seed)
|
||||
minetest.register_craftitem("farming:peppercorn", {
|
||||
description = S("Peppercorn"),
|
||||
inventory_image = "crops_peppercorn.png",
|
||||
groups = {food_peppercorn = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pepper_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- green pepper
|
||||
minetest.register_craftitem("farming:pepper", {
|
||||
description = S("Pepper"),
|
||||
inventory_image = "crops_pepper.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_pepper = 1, flammable = 3},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:peppercorn",
|
||||
recipe = {"farming:pepper"}
|
||||
})
|
||||
|
||||
-- ground pepper
|
||||
minetest.register_node("farming:pepper_ground", {
|
||||
description = ("Ground Pepper"),
|
||||
inventory_image = "crops_pepper_ground.png",
|
||||
wield_image = "crops_pepper_ground.png",
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 0.8,
|
||||
paramtype = "light",
|
||||
tiles = {"crops_pepper_ground.png"},
|
||||
groups = {
|
||||
vessel = 1, food_pepper_ground = 1,
|
||||
dig_immediate = 3, attached_node = 1
|
||||
},
|
||||
sounds = default.node_sound_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:pepper_ground",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_peppercorn", "vessels:glass_bottle", "farming:mortar_pestle"},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}},
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_pepper_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 1,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pepper_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"crops_pepper_plant_2.png"}
|
||||
minetest.register_node("farming:pepper_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"crops_pepper_plant_3.png"}
|
||||
minetest.register_node("farming:pepper_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"crops_pepper_plant_4.png"}
|
||||
minetest.register_node("farming:pepper_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"crops_pepper_plant_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
max_items = 2, items = {
|
||||
{items = {'farming:pepper 2'}, rarity = 1},
|
||||
{items = {'farming:pepper'}, rarity = 2},
|
||||
{items = {'farming:pepper'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pepper_5", table.copy(crop_def))
|
@ -1,129 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- pineapple top
|
||||
minetest.register_craftitem("farming:pineapple_top", {
|
||||
description = S("Pineapple Top"),
|
||||
inventory_image = "farming_pineapple_top.png",
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- pineapple
|
||||
minetest.register_node("farming:pineapple", {
|
||||
description = S("Pineapple"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pineapple.png"},
|
||||
inventory_image = "farming_pineapple.png",
|
||||
wield_image = "farming_pineapple.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27}
|
||||
},
|
||||
groups = {food_pineapple = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
|
||||
})
|
||||
|
||||
-- pineapple
|
||||
minetest.register_craftitem("farming:pineapple_ring", {
|
||||
description = S("Pineapple Ring"),
|
||||
inventory_image = "farming_pineapple_ring.png",
|
||||
groups = {food_pineapple_ring = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:pineapple_ring 5",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_pineapple"},
|
||||
replacements = {{"farming:pineapple", "farming:pineapple_top"}}
|
||||
})
|
||||
|
||||
-- pineapple juice
|
||||
minetest.register_craftitem("farming:pineapple_juice", {
|
||||
description = S("Pineapple Juice"),
|
||||
inventory_image = "farming_pineapple_juice.png",
|
||||
on_use = minetest.item_eat(4, "vessels:drinking_glass"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pineapple_juice",
|
||||
type = "shapeless",
|
||||
recipe = {"vessels:drinking_glass", "group:food_pineapple_ring",
|
||||
"group:food_pineapple_ring", "group:food_pineapple_ring",
|
||||
"farming:juicer"},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pineapple_juice 2",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "vessels:drinking_glass",
|
||||
"group:food_pineapple", "farming:juicer"
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"},
|
||||
},
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.5,
|
||||
tiles = {"farming_pineapple_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pineapple_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_pineapple_2.png"}
|
||||
minetest.register_node("farming:pineapple_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_pineapple_3.png"}
|
||||
minetest.register_node("farming:pineapple_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_pineapple_4.png"}
|
||||
minetest.register_node("farming:pineapple_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_pineapple_5.png"}
|
||||
minetest.register_node("farming:pineapple_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_pineapple_6.png"}
|
||||
minetest.register_node("farming:pineapple_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_pineapple_7.png"}
|
||||
minetest.register_node("farming:pineapple_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_pineapple_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:pineapple'}, rarity = 1},
|
||||
{items = {'farming:pineapple'}, rarity = 15},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pineapple_8", table.copy(crop_def))
|
@ -1,94 +0,0 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.minetest.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- potato
|
||||
minetest.register_craftitem("farming:potato", {
|
||||
description = S("Potato"),
|
||||
inventory_image = "farming_potato.png",
|
||||
groups = {food_potato = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- baked potato
|
||||
minetest.register_craftitem("farming:baked_potato", {
|
||||
description = S("Baked Potato"),
|
||||
inventory_image = "farming_baked_potato.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "farming:baked_potato",
|
||||
recipe = "group:food_potato"
|
||||
})
|
||||
|
||||
-- Potato and cucumber Salad
|
||||
minetest.register_craftitem("farming:potato_salad", {
|
||||
description = S("Cucumber and Potato Salad"),
|
||||
inventory_image = "farming_potato_salad.png",
|
||||
on_use = minetest.item_eat(10, "farming:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:potato_salad",
|
||||
recipe = {
|
||||
{"group:food_cucumber"},
|
||||
{"farming:baked_potato"},
|
||||
{"group:food_bowl"},
|
||||
}
|
||||
})
|
||||
|
||||
-- potato definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_potato_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:potato_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_potato_2.png"}
|
||||
minetest.register_node("farming:potato_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_potato_3.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:potato'}, rarity = 1},
|
||||
{items = {'farming:potato'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:potato_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_potato_4.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:potato 2'}, rarity = 1},
|
||||
{items = {'farming:potato 3'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:potato_4", table.copy(crop_def))
|
@ -1,211 +0,0 @@
|
||||
|
||||
--[[
|
||||
Big thanks to PainterlyPack.net for allowing me to use these textures
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- pumpkin
|
||||
minetest.register_node("farming:pumpkin", {
|
||||
description = S("Pumpkin"),
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png"
|
||||
},
|
||||
groups = {
|
||||
food_pumpkin = 1, choppy = 1, oddly_breakable_by_hand = 1,
|
||||
flammable = 2, plant = 1
|
||||
},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'farming:pumpkin_slice 9'}, rarity = 1},
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
-- pumpkin slice
|
||||
minetest.register_craftitem("farming:pumpkin_slice", {
|
||||
description = S("Pumpkin Slice"),
|
||||
inventory_image = "farming_pumpkin_slice.png",
|
||||
groups = {food_pumpkin_slice = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pumpkin",
|
||||
recipe = {
|
||||
{"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"},
|
||||
{"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"},
|
||||
{"farming:pumpkin_slice", "farming:pumpkin_slice", "farming:pumpkin_slice"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pumpkin_slice 9",
|
||||
recipe = {
|
||||
{"", "farming:pumpkin", ""},
|
||||
}
|
||||
})
|
||||
|
||||
-- jack 'o lantern
|
||||
minetest.register_node("farming:jackolantern", {
|
||||
description = S("Jack 'O Lantern (punch to turn on and off)"),
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_face_off.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_punch = function(pos, node, puncher)
|
||||
node.name = "farming:jackolantern_on"
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("farming:jackolantern_on", {
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_face_on.png"
|
||||
},
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
paramtype2 = "facedir",
|
||||
groups = {
|
||||
choppy = 1, oddly_breakable_by_hand = 1, flammable = 2,
|
||||
not_in_creative_inventory = 1
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
drop = "farming:jackolantern",
|
||||
on_punch = function(pos, node, puncher)
|
||||
node.name = "farming:jackolantern"
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:jackolantern",
|
||||
recipe = {
|
||||
{"default:torch"},
|
||||
{"group:food_pumpkin"},
|
||||
}
|
||||
})
|
||||
|
||||
--- wooden scarecrow base
|
||||
minetest.register_node("farming:scarecrow_bottom", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
tiles = {"default_wood.png"},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||||
{-12/16, 4/16, -1/16, 12/16, 2/16, 1/16},
|
||||
},
|
||||
},
|
||||
groups = {snappy = 3, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:scarecrow_bottom",
|
||||
recipe = {
|
||||
{"", "group:stick", "",},
|
||||
{"group:stick", "group:stick", "group:stick",},
|
||||
{"", "group:stick", "",}
|
||||
}
|
||||
})
|
||||
|
||||
-- pumpkin bread
|
||||
minetest.register_craftitem("farming:pumpkin_bread", {
|
||||
description = S("Pumpkin Bread"),
|
||||
inventory_image = "farming_pumpkin_bread.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_bread = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:pumpkin_dough", {
|
||||
description = S("Pumpkin Dough"),
|
||||
inventory_image = "farming_pumpkin_dough.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pumpkin_dough",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_flour", "group:food_pumpkin_slice", "group:food_pumpkin_slice"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "farming:pumpkin_bread",
|
||||
recipe = "farming:pumpkin_dough",
|
||||
cooktime = 10
|
||||
})
|
||||
|
||||
-- pumpkin definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pumpkin_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pumpkin_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_pumpkin_2.png"}
|
||||
minetest.register_node("farming:pumpkin_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_pumpkin_3.png"}
|
||||
minetest.register_node("farming:pumpkin_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_pumpkin_4.png"}
|
||||
minetest.register_node("farming:pumpkin_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_pumpkin_5.png"}
|
||||
minetest.register_node("farming:pumpkin_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_pumpkin_6.png"}
|
||||
minetest.register_node("farming:pumpkin_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_pumpkin_7.png"}
|
||||
minetest.register_node("farming:pumpkin_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_pumpkin_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:pumpkin_slice 9'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pumpkin_8", table.copy(crop_def))
|
@ -1,69 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- raspberries
|
||||
minetest.register_craftitem("farming:raspberries", {
|
||||
description = S("Raspberries"),
|
||||
inventory_image = "farming_raspberries.png",
|
||||
groups = {food_raspberries = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- raspberry smoothie
|
||||
minetest.register_craftitem("farming:smoothie_raspberry", {
|
||||
description = S("Raspberry Smoothie"),
|
||||
inventory_image = "farming_raspberry_smoothie.png",
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:smoothie_raspberry",
|
||||
recipe = {
|
||||
{"default:snow"},
|
||||
{"group:food_raspberries"},
|
||||
{"vessels:drinking_glass"},
|
||||
}
|
||||
})
|
||||
|
||||
-- raspberries definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_raspberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:raspberry_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_raspberry_2.png"}
|
||||
minetest.register_node("farming:raspberry_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_raspberry_3.png"}
|
||||
minetest.register_node("farming:raspberry_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4 (final)
|
||||
crop_def.tiles = {"farming_raspberry_4.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:raspberries 2'}, rarity = 1},
|
||||
{items = {'farming:raspberries'}, rarity = 2},
|
||||
{items = {'farming:raspberries'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:raspberry_4", table.copy(crop_def))
|
@ -1,66 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- rhubarb
|
||||
minetest.register_craftitem("farming:rhubarb", {
|
||||
description = S("Rhubarb"),
|
||||
inventory_image = "farming_rhubarb.png",
|
||||
groups = {food_rhubarb = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- rhubarb pie
|
||||
minetest.register_craftitem("farming:rhubarb_pie", {
|
||||
description = S("Rhubarb Pie"),
|
||||
inventory_image = "farming_rhubarb_pie.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:rhubarb_pie",
|
||||
recipe = {
|
||||
{"farming:baking_tray", "group:food_sugar", ""},
|
||||
{"group:food_rhubarb", "group:food_rhubarb", "group:food_rhubarb"},
|
||||
{"group:food_wheat", "group:food_wheat", "group:food_wheat"},
|
||||
},
|
||||
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
|
||||
})
|
||||
|
||||
-- rhubarb definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_rhubarb_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:rhubarb_1", table.copy(crop_def))
|
||||
|
||||
-- stage2
|
||||
crop_def.tiles = {"farming_rhubarb_2.png"}
|
||||
minetest.register_node("farming:rhubarb_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3 (final)
|
||||
crop_def.tiles = {"farming_rhubarb_3.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:rhubarb 2'}, rarity = 1},
|
||||
{items = {'farming:rhubarb'}, rarity = 2},
|
||||
{items = {'farming:rhubarb'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:rhubarb_3", table.copy(crop_def))
|
@ -1,79 +0,0 @@
|
||||
|
||||
--[[
|
||||
Textures edited from:
|
||||
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9)
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- tomato
|
||||
minetest.register_craftitem("farming:tomato", {
|
||||
description = S("Tomato"),
|
||||
inventory_image = "farming_tomato.png",
|
||||
groups = {food_tomato = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- tomato definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_tomato_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:tomato_1", table.copy(crop_def))
|
||||
|
||||
-- stage2
|
||||
crop_def.tiles = {"farming_tomato_2.png"}
|
||||
minetest.register_node("farming:tomato_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_tomato_3.png"}
|
||||
minetest.register_node("farming:tomato_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_tomato_4.png"}
|
||||
minetest.register_node("farming:tomato_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_tomato_5.png"}
|
||||
minetest.register_node("farming:tomato_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_tomato_6.png"}
|
||||
minetest.register_node("farming:tomato_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_tomato_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:tomato'}, rarity = 1},
|
||||
{items = {'farming:tomato'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:tomato_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_tomato_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:tomato 3'}, rarity = 1},
|
||||
{items = {'farming:tomato 3'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:tomato_8", table.copy(crop_def))
|
@ -1,244 +0,0 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- wheat seeds
|
||||
minetest.register_node("farming:seed_wheat", {
|
||||
description = S("Wheat Seed"),
|
||||
tiles = {"farming_wheat_seed.png"},
|
||||
inventory_image = "farming_wheat_seed.png",
|
||||
wield_image = "farming_wheat_seed.png",
|
||||
drawtype = "signlike",
|
||||
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
|
||||
end,
|
||||
})
|
||||
|
||||
-- harvested wheat
|
||||
minetest.register_craftitem("farming:wheat", {
|
||||
description = S("Wheat"),
|
||||
inventory_image = "farming_wheat.png",
|
||||
groups = {food_wheat = 1, flammable = 4},
|
||||
})
|
||||
|
||||
-- straw
|
||||
minetest.register_node("farming:straw", {
|
||||
description = S("Straw"),
|
||||
tiles = {"farming_straw.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:straw 3",
|
||||
recipe = {
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:wheat 3",
|
||||
recipe = {
|
||||
{"farming:straw"},
|
||||
}
|
||||
})
|
||||
|
||||
-- check and register stairs
|
||||
if minetest.global_exists("stairs") then
|
||||
|
||||
if stairs.mod and stairs.mod == "redo" then
|
||||
|
||||
stairs.register_all("straw", "farming:straw",
|
||||
{snappy = 3, flammable = 4},
|
||||
{"farming_straw.png"},
|
||||
"Straw",
|
||||
default.node_sound_leaves_defaults())
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab("straw", "farming:straw",
|
||||
{snappy = 3, flammable = 4},
|
||||
{"farming_straw.png"},
|
||||
"Straw Stair",
|
||||
"Straw Slab",
|
||||
default.node_sound_leaves_defaults())
|
||||
end
|
||||
end
|
||||
|
||||
-- flour
|
||||
minetest.register_craftitem("farming:flour", {
|
||||
description = S("Flour"),
|
||||
inventory_image = "farming_flour.png",
|
||||
groups = {food_flour = 1, flammable = 1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:wheat", "farming:wheat", "farming:wheat",
|
||||
"farming:wheat", "farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}},
|
||||
})
|
||||
|
||||
-- bread
|
||||
minetest.register_craftitem("farming:bread", {
|
||||
description = S("Bread"),
|
||||
inventory_image = "farming_bread.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_bread = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 15,
|
||||
output = "farming:bread",
|
||||
recipe = "farming:flour"
|
||||
})
|
||||
|
||||
-- sliced bread
|
||||
minetest.register_craftitem("farming:bread_slice", {
|
||||
description = S("Sliced Bread"),
|
||||
inventory_image = "farming_bread_slice.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_bread_slice = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:bread_slice 5",
|
||||
recipe = {"farming:bread", "group:food_cutting_board"},
|
||||
replacements = {{"group:food_cutting_board", "farming:cutting_board"}},
|
||||
})
|
||||
|
||||
-- toast
|
||||
minetest.register_craftitem("farming:toast", {
|
||||
description = S("Toast"),
|
||||
inventory_image = "farming_toast.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_toast = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 3,
|
||||
output = "farming:toast",
|
||||
recipe = "farming:bread_slice"
|
||||
})
|
||||
|
||||
-- toast sandwich
|
||||
minetest.register_craftitem("farming:toast_sandwich", {
|
||||
description = S("Toast Sandwich"),
|
||||
inventory_image = "farming_toast_sandwich.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:toast_sandwich",
|
||||
recipe = {
|
||||
{"farming:bread_slice"},
|
||||
{"farming:toast"},
|
||||
{"farming:bread_slice"},
|
||||
}
|
||||
})
|
||||
|
||||
-- wheat definition
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_wheat_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:wheat_1", table.copy(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"farming_wheat_2.png"}
|
||||
minetest.register_node("farming:wheat_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"farming_wheat_3.png"}
|
||||
minetest.register_node("farming:wheat_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"farming_wheat_4.png"}
|
||||
minetest.register_node("farming:wheat_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"farming_wheat_5.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:wheat'}, rarity = 2},
|
||||
{items = {'farming:seed_wheat'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"farming_wheat_6.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:wheat'}, rarity = 2},
|
||||
{items = {'farming:seed_wheat'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"farming_wheat_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:wheat'}, rarity = 1},
|
||||
{items = {'farming:wheat'}, rarity = 3},
|
||||
{items = {'farming:seed_wheat'}, rarity = 1},
|
||||
{items = {'farming:seed_wheat'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8 (final)
|
||||
crop_def.tiles = {"farming_wheat_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {'farming:wheat'}, rarity = 1},
|
||||
{items = {'farming:wheat'}, rarity = 3},
|
||||
{items = {'farming:seed_wheat'}, rarity = 1},
|
||||
{items = {'farming:seed_wheat'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_8", table.copy(crop_def))
|
||||
|
||||
-- fuels
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:straw",
|
||||
burntime = 3,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:wheat",
|
||||
burntime = 1,
|
||||
})
|
@ -1,5 +0,0 @@
|
||||
default
|
||||
stairs?
|
||||
intllib?
|
||||
lucky_block?
|
||||
toolranks?
|