Mods update

master
daretmavi 2021-02-02 19:53:21 +01:00
parent 97987e0f4d
commit 2fe75209f1
449 changed files with 19023 additions and 11072 deletions

View File

@ -32,7 +32,7 @@ Mod: minetest_game/mods/wool
Mod: minetest_game/mods/xpanes
origin https://github.com/sirrobzeroone/comboblock (fetch)
* master bf5d390 [origin/master: ahead 1] Translation update
* master ac04448 [origin/master] Add Spanish and Russian
Mod: blocks_functions/comboblock
origin git@github.com:Sokomine/bell.git (fetch)
@ -64,7 +64,7 @@ origin git@github.com:minetest-mods/ts_doors.git (fetch)
Mod: buildings/ts_doors
origin git@gitlab.com:daretmavi/bucket-lite.git (fetch)
* master 6b3c8a2 [origin/master] Update README.md
* master 03a1ebf [origin/master] Merge branch 'devel' into 'master'
Mod: environment/bucket-lite
origin https://github.com/minetest-mods/dynamic_liquid (fetch)
@ -72,13 +72,9 @@ origin https://github.com/minetest-mods/dynamic_liquid (fetch)
Mod: environment/dynamic_liquid
origin https://notabug.org/tenplus1/farming (fetch)
* master f7524e1 [origin/master] update recipes to use water/river-water buckets, also support for wooden bucket mod
* master 79035d0 [origin/master] added extra compatibility for crops spawning on older v6 maps
Mod: flora/farming
origin https://github.com/minetest-mods/craftguide.git (fetch)
* master b9e4d75 [origin/master] Force using MT 5.4 and up
Mod: gui/craftguide
origin https://repo.or.cz/minetest_hbarmor.git (fetch)
* master 93d994c [origin/master] Version 1.0.0
Mod: gui/minetest_hbarmor
@ -95,6 +91,10 @@ origin https://repo.or.cz/minetest_tt_base.git (fetch)
* master d560fac [origin/master] Version 1.0.0
Mod: gui/minetest_tt_base
origin https://github.com/minetest-mods/smart_inventory.git (fetch)
* master f790cc8 [origin/master] search items / groups in translated strings
Mod: gui/smart_inventory
origin https://github.com/appgurueu/cmdlib (fetch)
* master 2709571 [origin/master] Fix missing parameters error format
Mod: lib_api/cmdlib
@ -108,15 +108,15 @@ origin https://repo.or.cz/minetest_tt.git (fetch)
Mod: lib_api/minetest_tt
origin https://github.com/TheTermos/mobkit (fetch)
* master 62eb92d [origin/master] Merge pull request #29 from ElCeejo/master
* master ddea141 [origin/master] Merge pull request #33 from berengma/master
Mod: lib_api/mobkit
origin https://notabug.org/tenplus1/mobs_redo (fetch)
* master bf32a09 [origin/master] on_flop and air_damage added
* master 10e4dd9 [origin/master] spawner spawns mob in it's own medium (air, water etc.)
Mod: lib_api/mobs_redo
origin https://github.com/appgurueu/modlib (fetch)
* master 98c702e [origin/master] Remove builtin global strictness
* master b9483fb [origin/master] Add objects_inside_- radius and area iterators
Mod: lib_api/modlib
origin git@github.com:runsy/rcbows.git (fetch)
@ -128,11 +128,11 @@ origin git@github.com:minetest-mods/ts_workshop.git (fetch)
Mod: lib_api/ts_workshop
origin https://github.com/berengma/aerotest (fetch)
* master 65fd1d6 [origin/master] screenshot and opt depends
* master c60a500 [origin/master] lagfree
Mod: mobs/aerotest
origin git@gitlab.com:daretmavi/pa-sources.git (fetch)
* master de29d93 [origin/master] First Commit
* master f1d1350 [origin/master: ahead 1] New dynamic liquid patch
Mod: mobs/goblins
origin https://codeberg.org/Hamlet/mobs_ghost_redo (fetch)
@ -144,23 +144,24 @@ origin https://codeberg.org/Hamlet/mobs_humans (fetch)
Mod: mobs/mobs_humans
origin https://notabug.org/TenPlus1/mobs_monster.git (fetch)
* master 4018a5c [origin/master] Added spawn.lua check for custom mob spawns, example file included
* master 9835105 [origin/master] fix typo in mod.conf
Mod: mobs/mobs_monster
origin https://github.com/runsy/petz (fetch)
* master 019668d [origin/master] luacheck cleaned
* master 2080c8f [origin/master] pony cimarron
Mod: mobs/petz
origin https://github.com/berengma/water_life (fetch)
* master a3a50ba [origin/master] Merge pull request #50 from berengma/dev
* master 17c4289 [origin/master] Merge pull request #69 from berengma/staticIsTrue
Mod: mobs/water_life
Mod: mobs/water_life_patch
origin https://github.com/minetest-mods/3d_armor (fetch)
* master 713b0c8 [origin/master] Documentation and Screenshot Update (#26)
* master e7abacc [origin/master] Add armor set and armor set bonus setting (#41)
Mod: player/3d_armor
origin https://github.com/appgurueu/character_anim (fetch)
* master 8eff762 [origin/master] Fix Readme header levels
* master 34751e6 [origin/master] Fix global warnings if strictness is enabled
Mod: player/character_anim
origin https://github.com/minetest-mods/emote (fetch)
@ -176,11 +177,11 @@ origin https://github.com/minetest-mods/hbsprint/ (fetch)
Mod: player/hbsprint
origin https://gitlab.com/4w/hunger_ng.git (fetch)
* master 26ec823 [origin/master] update readme
* master bd5dcad [origin/master] make hunger effects player attributes
Mod: player/hunger_ng
origin https://github.com/minetest-mods/skinsdb.git (fetch)
* master 8048cb0 [origin/master] change default dependency to player_api
* master da6905f [origin/master] Mention i3 support (#55)
Mod: player/skinsdb
origin https://github.com/stujones11/wield3d.git (fetch)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
# textdomain: comboblock
Hmmmm... that wont work I can't mix glass slabs and none glass slabs=Hmmmm... eso no funcionará No puedo mezclar losas de vidrio y ninguna losa de vidrio
Hmmmm... The slab wont fit there, somethings in the way=Hmmmm... La losa no encaja allí, hay algo en el camino

View File

@ -0,0 +1,3 @@
# textdomain: comboblock
Hmmmm... that wont work I can't mix glass slabs and none glass slabs=Хмммм ... это не сработает, я не могу смешивать стеклянные плиты и никакие стеклянные плиты
Hmmmm... The slab wont fit there, somethings in the way=Хммм... Плита там не влезет, кое-что мешает

View File

@ -74,7 +74,7 @@ Issue 2 - If you rotate a comboblock with a screwdriver type tool (lots out ther
Big thanks to Pithy for writting the orginal mod and the help from various people on the
MT forum boards even if they probably don't know they have helped:
blert2112, Linuxdirk, Krock, Rubenwardy, Pampogokiraly, Joe7575, Sorcerykid
blert2112, Linuxdirk, Krock, Rubenwardy, Pampogokiraly, Joe7575, Sorcerykid, Daretmavi
And of course the Coredevs and Celeron55 for designing/keeping the engine running

View File

@ -1,8 +1,84 @@
--------------------------------------------------
Ver. 4.1 [12.12.2020] (Devel)
Ver. 6.1 [24.01.2021]
BUG Fix: Lava as fuel for lava enabled buckets
BUG Fix: Buckets addet to dungeon_loot
--------------------------------------------------
Ver. 6.0 [23.01.2021]
Added group get_lava
- if get_lava=0 the bucket can not take lava
Default for wood, bronze, gold
- if get_lava=0 the bucket can not take lava
Default for stone, steel, mese, diamond, gold
Added Settings for getting lava
# Get lava with steel bucket
bucket_getlava_steel (Enable steel bucket) bool true
# Get lava with wood bucket
bucket_getlava_wood (Enable wood bucket) bool false
# Get lava with stone bucket
bucket_getlava_stone (Enable stone bucket) bool true
# Get lava with bronze bucket
bucket_getlava_bronze (Enable bronze bucket) bool false
# Get lava with mese bucket
bucket_getlava_mese (Enable mese bucket) bool true
# Get lava with diamond bucket
bucket_getlava_diamond (Enable diamond bucket) bool true
# Get lava with gold bucket
bucket_getlava_gold (Enable gold bucket) bool false
--------------------------------------------------
Ver. 5.1 [15.01.2021]
Switches for buckettypes are implemented:
# Enable steel bucket
bucket_material_steel (Enable steel bucket) bool true
# Enable wood bucket
bucket_material_wood (Enable wood bucket) bool true
# Enable stone bucket
bucket_material_stone (Enable stone bucket) bool true
# Enable bronze bucket
bucket_material_bronze (Enable bronze bucket) bool true
# Enable mese bucket
bucket_material_mese (Enable mese bucket) bool true
Enable diamond bucket
bucket_material_diamond (Enable diamond bucket) bool true
Enable gold bucket
bucket_material_gold (Enable gold bucket) bool true
# Default bucket type
# - do not disable defined type, or you get nothing with /giveme bucket
bucket_default_type (Bucket default type) enum steel steel,wood,stone,bronze,mese,diamond,gold
BUG fixed
- bucket return not working correctly is itemstack > 1
--------------------------------------------------
Ver. 5.0 [13.01.2021]
Added settings:
bucket_use_clasic_recipe - use clasic recipe for bucket if true
bucket_material_... - settings for allowed materials
Some code cleanup
Support for other mods defining bucket with own water
- all materials are supported
- like for water_life muddy water
- no special bucket water with reduces flowing is implemented (yet)
Bucket images are a little bit lighter
--------------------------------------------------
Ver. 4.1 [20.12.2020]
Added better support for dynamic liquid (patched)
- https://github.com/daretmavi/dynamic_liquid
- checks if add_to_water_nodes is available
--------------------------------------------------
Ver. 4.0 [05.12.2020]

View File

@ -14,14 +14,18 @@ Fork of **Minetest Game mod: bucket**
**Working with other mods:**
**dynamic_liquid** - actually works, it creates obsidian easily (good enough)
**dynamic_liquid** - actually works (good enough)
- If you want full support, some changes are needed:
- see my fork https://github.com/daretmavi/dynamic_liquid (no warranty, I just tried some changes)
- If you want better support, some changes are needed:
- see my fork https://github.com/daretmavi/dynamic_liquid (no warranty)
## Behavior
- water flowing from bucket is set to 1 block (default)
**Screenshots:**
This is default behavior:
This is default water behavior:
![Image](screenshot_old_river_water.png)
![Image](screenshot_old_water.png)
@ -34,10 +38,119 @@ This mod changes it to just one block
![Image](screenshot_new.png)
Minetest: https://www.minetest.net/
Diferent bucket types:
## Diferent bucket types:
![Image](screenshot_buckets.png)
**Support for other mods bucket liquids:**
- like muddy water in water_life mod
- ![Image](screenshot_buckets_muddy_water_life.png)
-----
## Recipe
- can be changed with mod setting **bucket_use_clasic_recipe**
### Default "clasic" recipe:
![Image](screenshot_bucket_recipe_clasic.png)
`bucket_use_clasic_recipe = true`
- can conflict with other mods, like farming:Wooden Bowl - "Wood Empty Bucket" = "Wooden Bowl"
### NEW Recipe:
![Image](screenshot_bucket_recipe_new.png)
`bucket_use_clasic_recipe = false`
## Other Settings
**How far will water from bucket flow**
`bucket_water_flowing_range (Bucket water flowing range) int 1`
**How far will lava from bucket flow**
`bucket_lava_flowing_range (Bucket lava flowing range) int 1`
**Get liquid from flowing liquid**
`bucket_get_flowing (Flowing liwuid can be taken) bool true`
- If true, then liquid can be taken even from flowing one
- not only from source
**Default bucket type**
`bucket_default_type (Bucket default type) enum steel steel,wood,stone,bronze,mese,diamond,gold`
- do not disable defined type, or you get nothing with /giveme bucket
### Enabled buckettypes
**Enable steel bucket**
`bucket_material_steel (Enable steel bucket) bool true`
**Enable wood bucket**
`bucket_material_wood (Enable wood bucket) bool true`
**Enable stone bucket**
`bucket_material_stone (Enable stone bucket) bool true`
**Enable bronze bucket**
`bucket_material_bronze (Enable bronze bucket) bool true`
**Enable mese bucket**
`bucket_material_mese (Enable mese bucket) bool true`
**Enable diamond bucket**
`bucket_material_diamond (Enable diamond bucket) bool true`
**Enable gold bucket**
`bucket_material_gold (Enable gold bucket) bool true`
### Enable getting lava
**Get lava with steel bucket**
`bucket_getlava_steel (Enable steel bucket) bool true`
**Get lava with wood bucket**
`bucket_getlava_wood (Enable wood bucket) bool false`
**Get lava with stone bucket**
`bucket_getlava_stone (Enable stone bucket) bool true`
**Get lava with bronze bucket**
`bucket_getlava_bronze (Enable bronze bucket) bool false`
**Get lava with mese bucket**
`bucket_getlava_mese (Enable mese bucket) bool true`
**Get lava with diamond bucket**
`bucket_getlava_diamond (Enable diamond bucket) bool true`
**Get lava with gold bucket**
`bucket_getlava_gold (Enable gold bucket) bool false`
-----
**Minetest Game mod: bucket**

View File

@ -77,7 +77,13 @@ if minetest.get_modpath("dynamic_liquid") then
-- this new funktion is needed, because setting goups is not enough
-- not implemented in actrual version (12.12.2020) - musst be added, or use fork https://github.com/daretmavi/dynamic_liquid
dynamic_liquid.add_to_water_nodes(Liquid_name.water.bucket_source, Liquid_name.water.bucket_flowing)
-- check if add_to_water_nodes is in the mod dynamic_liquid available. _G is a global table on lua that stores every global function in it.
if _G["dynamic_liquid"]["add_to_water_nodes"] then
dynamic_liquid.add_to_water_nodes(Liquid_name.water.bucket_source, Liquid_name.water.bucket_flowing)
else
local Dyn_liq_error = S("Mod: dynamic_liquid is not changed. add_to_water_nodes function is missing! Lava colling will not work the same ways, as the default water-lava interaction works.")
minetest.log(Dyn_liq_error)
end
end
minetest.register_node(Liquid_name.lava.bucket_source, lava_source_def)

View File

@ -7,36 +7,102 @@ local S = minetest.get_translator("bucket")
-- bucket item definitions
bucket = {}
bucket.material = "default:steel_ingot"
bucket.empty = "bucket:bucket_empty"
bucket.water = "bucket:bucket_water_uni"
bucket.lava = "bucket:bucket_lava_uni"
bucket.default_material = "steel"
bucket.liquids = {}
bucket.empty = "bucket:bucket_empty" -- empty bucket name prefix
bucket.water = "bucket:bucket_water_uni" -- water bucket name prefix
bucket.lava = "bucket:bucket_lava_uni" -- lava bucket name prefix
bucket.default = {} -- default bucket names
bucket.default_material = minetest.settings:get("bucket_default_type") or "steel" -- default material for bucket
bucket.liquids = {} -- all buckets for defined liquid
-- Bucket aliases - default bucket ist steel
minetest.register_alias("bucket", bucket.empty.."_"..bucket.default_material)
minetest.register_alias("bucket_water", bucket.water.."_"..bucket.default_material)
minetest.register_alias("bucket_lava", bucket.lava.."_"..bucket.default_material)
-- for compatibility witk old bucket mod
minetest.register_alias("bucket:bucket_empty", bucket.empty.."_"..bucket.default_material)
minetest.register_alias("bucket:bucket_water", bucket.water.."_"..bucket.default_material)
minetest.register_alias("bucket:bucket_lava", bucket.lava.."_"..bucket.default_material)
-- standard bucket recipe (like in minecraft)
-- conflicts "Wood Empty Bucket" with farming "Wooden Bowl"
bucket.recipe_clasic ={
{"MATERIAL", "", "MATERIAL"},
{"", "MATERIAL", ""}
}
-- new recipe for bucket
bucket.recipe_new ={
{"MATERIAL", "", "MATERIAL"},
{"MATERIAL", "", "MATERIAL"},
{"MATERIAL", "MATERIAL", "MATERIAL"}
}
-- define bucket liquids and Liquid_name
dofile(minetest.get_modpath("bucket") .. "/bucket_liquids.lua")
--craft diferent types of bucket
-- Read settinf in boolean and return integer
-- Used for get lava groups
local function Bool2Int_setting(settingtype, default_setting)
if minetest.settings:get_bool(settingtype, default_setting) then
return 1
else
return 0
end
end
-- craft diferent types of bucket
-- recipe can be anjustet for every material type
local craft_ingreds = {
wood = {"group:wood", "default_wood.png"},
stone = {"group:stone", "default_stone.png"},
steel = {"default:steel_ingot", "default_steel_block.png"},
bronze = {"default:bronze_ingot", "default_bronze_block.png"},
mese = {"default:mese_crystal", "default_mese_block.png"},
diamond = {"default:diamond", "default_diamond_block.png"},
gold = {"default:gold_ingot", "default_gold_block.png"}
wood = {"group:wood", "default_wood.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_wood", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_wood", false)}
},
stone = {"group:stone", "default_stone.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_stone", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_stone", true)}
},
steel = {"default:steel_ingot", "default_steel_block.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_steel", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_steel", true)}
},
bronze = {"default:bronze_ingot", "default_bronze_block.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_bronze", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_bronze", false)}
},
mese = {"default:mese_crystal", "default_mese_block.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_mese", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_mese", true)}
},
diamond = {"default:diamond", "default_diamond_block.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_diamond", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_diamond", true)}
},
gold = {"default:gold_ingot", "default_gold_block.png",
recipe = table.copy(bucket.recipe_clasic),
enabled = minetest.settings:get_bool("bucket_material_gold", true),
groups = {tool = 1, get_lava = Bool2Int_setting("bucket_getlava_gold", false)}
}
}
-- Default bucket names
bucket.default.empty = bucket.empty.."_"..bucket.default_material
bucket.default.water = bucket.water.."_"..bucket.default_material
bucket.default.lava = bucket.lava.."_"..bucket.default_material
-- Bucket aliases - default bucket ist steel
minetest.register_alias("bucket", bucket.default.empty)
minetest.register_alias("bucket_water", bucket.default.water)
minetest.register_alias("bucket_lava", bucket.default.lava)
-- for compatibility witk old bucket mod
minetest.register_alias("bucket:bucket_empty", bucket.default.empty)
minetest.register_alias("bucket:bucket_water", bucket.default.water)
minetest.register_alias("bucket:bucket_lava", bucket.default.lava)
-- set new recipe if enabled
local use_clasic_recipe = minetest.settings:get_bool("bucket_use_clasic_recipe", true)
if not use_clasic_recipe then
for idx, mat in pairs(craft_ingreds) do
craft_ingreds[idx].recipe = table.copy(bucket.recipe_new)
end
end
-- according to source (liquid type) assign bucket with "bucket" liquid
-- with this you can override the mod setting
bucket.giving_back={
@ -54,30 +120,36 @@ bucket.giving_back={
-- load settingtypes
local get_flowing_liquid = minetest.settings:get_bool("bucket_get_flowing", true)
-- craft empty bucket
minetest.register_craft({
output = bucket.empty.." 1",
recipe = {
{bucket.material, "", bucket.material},
{"", bucket.material, ""},
}
})
-- Function relpaces all "MATERIAL" with new/real material definition new_mat
local function replace_recipe_material(recipe_def, new_mat)
local recipe_mat = table.copy(recipe_def)
for r_row_idx, r_row in pairs(recipe_def) do
for r_idx, r_mat in pairs(r_row) do
if r_mat=="MATERIAL" then
recipe_mat[r_row_idx][r_idx]=new_mat
end
end
end
return recipe_mat
end
-- Register empty buckets crafting recipes
for name, mat in pairs(craft_ingreds) do
-- replace "MATERIAL" with correct one
local bucket_recipe = replace_recipe_material(mat.recipe, mat[1])
-- register new empty bucket crafting recipe
minetest.register_craft({
output = "bucket:bucket_empty".."_"..name,
recipe = {
{mat[1], "", mat[1]},
{"", mat[1], ""},
}
recipe = table.copy(bucket_recipe)
})
end
-- for compatibility
minetest.register_alias("bucket:bucket_empty", "bucket:bucket_empty_steel")
-- protection - from original bucket mod
-- not analysed yet
local function check_protection(pos, name, text)
if minetest.is_protected(pos, name) then
minetest.log("action", (name ~= "" and name or "A mod")
@ -91,16 +163,20 @@ local function check_protection(pos, name, text)
return false
end
-- ============================================================================
-- Register a new liquid
-- source = name of the source node
-- flowing = name of the flowing node
-- itemname = name of the new bucket item (or nil if liquid is not takeable)
-- inventory_image = texture of the new bucket item (ignored if itemname == nil)
-- - this new bucket mod version defines is as table, e.g. {empty = "bucket_uni.png", materials = craft_ingreds, fill = "bucket_uni_lava.png"}
-- - if only one image is defined, then thi imege is used for liquid and bucket materials are from this mod
-- name = text description of the bucket item
-- groups = (optional) groups of the bucket item, for example {water_bucket = 1}
-- force_renew = (optional) bool. Force the liquid source to renew if it has a
-- source neighbour, even if defined as 'liquid_renewable = false'.
-- Needed to avoid creating holes in sloping rivers.
-- giving_back = (NEW) defines the bucket to return
-- This function can be called from any mod (that depends on bucket).
local function register_full_bucket(source, flowing, itemname, inventory_image, name,
@ -163,8 +239,10 @@ local function register_full_bucket(source, flowing, itemname, inventory_image,
})
end
-- Function to register new liquid in bucket
function bucket.register_liquid(source, flowing, itemname, inventory_image, name,
groups, force_renew)
groups, force_renew, giving_back)
bucket.liquids[source] = {
source = source,
flowing = flowing,
@ -174,129 +252,168 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
bucket.liquids[flowing] = bucket.liquids[source]
if itemname ~= nil then
local inv_images
if type(inventory_image) == "string" then
register_full_bucket(source, flowing, itemname, inventory_image, name,
groups, force_renew)
-- if only one image is defined (like from other mod)
-- material are from predefined craft_ingreds
-- fill/liquid image ist taken from the inventory_image
inv_images = {empty = "bucket_uni.png", materials = craft_ingreds, fill = "bucket_uni_fill.png"}
else
bucket.liquids[source].itemname = {}
for mat_name, mat in pairs(inventory_image["materials"]) do
-- if more images in table are defined = more materials
-- suplied materials and images are used - has to be like in this mod defined
inv_images = inventory_image
end
bucket.liquids[source].itemname = {} -- all buckets for defined source
-- loop for all materials in inv_images
for mat_name, mat in pairs(inv_images["materials"]) do
if mat["enabled"] then
local Mat_name = mat_name:gsub("^%l", string.upper)
local bucket_name = S(Mat_name.." "..name)
local bucket_itemname = itemname.."_"..mat_name
giving_back = bucket.empty.."_"..mat_name
bucket.liquids[source].itemname[mat_name]=bucket_itemname
local bucket_inv_image = mat[2].."^[resize:16x16".."^[colorize:#fff:30^bucket_uni.png^"..inventory_image["fill"].."^[noalpha^[makealpha:0,255,0"
-- different image creation ist defined for all material, or only liquid it in inventory_image
local bucket_inv_image
if type(inventory_image) == "string" then
-- inly one image was delivered - inventory_image = liquid
-- like from other mods
local bucket_fill_image = "("..inventory_image.."^[resize:16x16".."^[colorize:#fff:30^"..inv_images["fill"].."^[noalpha^[makealpha:0,255,0)"
bucket_inv_image = mat[2].."^[resize:16x16".."^[colorize:#fff:30^bucket_uni.png".."^[noalpha^[makealpha:0,255,0^"..bucket_fill_image
else
-- all images for bucket are defined
-- definition in this mod
bucket_inv_image = mat[2].."^[resize:16x16".."^[colorize:#fff:30^bucket_uni.png^"..inv_images["fill"].."^[noalpha^[makealpha:0,255,0"
end
register_full_bucket(source, flowing, bucket_itemname, bucket_inv_image, bucket_name,
groups, force_renew, bucket.empty.."_"..mat_name)
groups, force_renew, giving_back)
end
end
end
end
-- ============================================================================
-- Register Empty buckets
for mat_name, mat in pairs(craft_ingreds) do
-- Capitalise first character
local Name = mat_name:gsub("^%l", string.upper)
-- register all empty buckets
minetest.register_craftitem(bucket.empty.."_"..mat_name, {
description = S(Name.." ".."Empty Bucket"),
--inventory_image = "bucket.png",
-- inventory_image created from bucket_uni.png and defined material texture mat[2] (craft_ingreds)
inventory_image = mat[2].."^[resize:16x16".."^[colorize:#fff:30^bucket_uni.png^[noalpha^[makealpha:0,255,0",
groups = {tool = 1},
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == "object" then
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil)
return user:get_wielded_item()
elseif pointed_thing.type ~= "node" then
-- do nothing if it's neither object nor node
return
end
-- Check if pointing to a liquid source
local node = minetest.get_node(pointed_thing.under)
local liquiddef = bucket.liquids[node.name]
local item_count = user:get_wielded_item():get_count()
-- node.name == liquiddef.flowing return water even from flowing liquid
-- get_flowing_liquid - if this is enabled
if liquiddef ~= nil
and liquiddef.itemname ~= nil
and (node.name == liquiddef.source
or (node.name == liquiddef.flowing and get_flowing_liquid)) then
if check_protection(pointed_thing.under,
user:get_player_name(),
"take ".. node.name) then
return
if mat["enabled"] then
-- Capitalise first character
local Name = mat_name:gsub("^%l", string.upper)
-- register all empty buckets
local bucket_empty = bucket.empty.."_"..mat_name
minetest.register_craftitem(bucket_empty, {
description = S(Name.." ".."Empty Bucket"),
--inventory_image = "bucket.png",
-- inventory_image created from bucket_uni.png and defined material texture mat[2] (craft_ingreds)
inventory_image = mat[2].."^[resize:16x16".."^[colorize:#fff:30^bucket_uni.png^[noalpha^[makealpha:0,255,0",
--groups = {tool = 1},
groups = mat["groups"],
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == "object" then
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil)
return user:get_wielded_item()
elseif pointed_thing.type ~= "node" then
-- do nothing if it's neither object nor node
return
end
-- find source for the flowing liquid
if node.name == liquiddef.flowing then
-- source_dist max. distance from flowing node, if Nil, the max. = 8 is used
local source_dist = tonumber(minetest.registered_nodes[liquiddef.flowing].liquid_range) or 8
-- Find source node position
local source_pos = minetest.find_node_near(pointed_thing.under, source_dist, liquiddef.source) -- position of the source node
-- If found, then replace with flowing node
if source_pos ~= nil then
minetest.set_node(source_pos, {name = liquiddef.flowing})
else
-- if source not found, then do nothing
return
end
-- Check if pointing to a liquid source
local node = minetest.get_node(pointed_thing.under)
local liquiddef = bucket.liquids[node.name]
local item_count = user:get_wielded_item():get_count()
-- Check if is lava and if lava can be taken
-- exit if it not allowed - group get_lava = 0
local bucket_name = itemstack:get_name()
if minetest.registered_nodes[node.name].groups.lava and minetest.get_item_group(bucket_name, "get_lava")==0 then
return
end
-- default set to return filled bucket
local giving_back = bucket.giving_back[liquiddef.source]
-- giving_back from original bucket
if giving_back == nil then
if type(liquiddef.itemname) == "string" then
giving_back = liquiddef.itemname
else
giving_back = liquiddef.itemname[mat_name]
end
end
-- check if holding more than 1 empty bucket
if item_count > 1 then
-- if space in inventory add filled bucked, otherwise drop as item
local inv = user:get_inventory()
if inv:room_for_item("main", {name=giving_back}) then
inv:add_item("main", giving_back)
else
local pos = user:get_pos()
pos.y = math.floor(pos.y + 0.5)
minetest.add_item(pos, giving_back)
-- node.name == liquiddef.flowing return water even from flowing liquid
-- get_flowing_liquid - if this is enabled
if liquiddef ~= nil
and liquiddef.itemname ~= nil
and (node.name == liquiddef.source
or (node.name == liquiddef.flowing and get_flowing_liquid)) then
if check_protection(pointed_thing.under,
user:get_player_name(),
"take ".. node.name) then
return
end
-- set to return empty buckets minus 1
giving_back = bucket.empty.." "..tostring(item_count-1)
-- find source for the flowing liquid
if node.name == liquiddef.flowing then
-- source_dist max. distance from flowing node, if Nil, the max. = 8 is used
local source_dist = tonumber(minetest.registered_nodes[liquiddef.flowing].liquid_range) or 8
-- Find source node position
local source_pos = minetest.find_node_near(pointed_thing.under, source_dist, liquiddef.source) -- position of the source node
-- If found, then replace with flowing node
if source_pos ~= nil then
minetest.set_node(source_pos, {name = liquiddef.flowing})
else
-- if source not found, then do nothing
return
end
end
end
-- force_renew requires a source neighbour
local source_neighbor = false
if liquiddef.force_renew then
source_neighbor =
minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
end
if not (source_neighbor and liquiddef.force_renew) then
minetest.add_node(pointed_thing.under, {name = "air"})
end
-- default set to return filled bucket
-- defined in this script
local giving_back = bucket.giving_back[liquiddef.source]
return ItemStack(giving_back)
else
-- non-liquid nodes will have their on_punch triggered
local node_def = minetest.registered_nodes[node.name]
if node_def then
node_def.on_punch(pointed_thing.under, node, user, pointed_thing)
-- giving_back from original bucket
if giving_back == nil then
-- if type(liquiddef.itemname) == "string" then
-- giving_back = liquiddef.itemname
-- else
giving_back = liquiddef.itemname[mat_name]
-- end
end
-- check if holding more than 1 empty bucket
if item_count > 1 then
-- if space in inventory add filled bucked, otherwise drop as item
local inv = user:get_inventory()
if inv:room_for_item("main", {name=giving_back}) then
inv:add_item("main", giving_back)
else
local pos = user:get_pos()
pos.y = math.floor(pos.y + 0.5)
minetest.add_item(pos, giving_back)
end
-- set to return empty buckets minus 1
itemstack:take_item()
giving_back = itemstack
end
-- force_renew requires a source neighbour
local source_neighbor = false
if liquiddef.force_renew then
source_neighbor =
minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
end
if not (source_neighbor and liquiddef.force_renew) then
minetest.add_node(pointed_thing.under, {name = "air"})
end
return ItemStack(giving_back)
else
-- non-liquid nodes will have their on_punch triggered
local node_def = minetest.registered_nodes[node.name]
if node_def then
node_def.on_punch(pointed_thing.under, node, user, pointed_thing)
end
return user:get_wielded_item()
end
return user:get_wielded_item()
end
end,
})
end,
})
end
end
-- original bucket - to take the original liquit sources
@ -362,23 +479,45 @@ bucket.register_liquid(
----
minetest.register_craft({
type = "fuel",
recipe = bucket.lava,
burntime = 60,
replacements = {{bucket.lava, bucket.empty}},
})
-- Add lava as fuel
for mat_name, mat in pairs(craft_ingreds) do
local bucket_empty = bucket.empty.."_"..mat_name
local bucket_lava = bucket.lava.."_"..mat_name
if mat["enabled"] and mat["groups"].get_lava==1 then
minetest.register_craft({
type = "fuel",
recipe = bucket_lava,
burntime = 60,
replacements = {{bucket_lava, bucket_empty}},
})
end
end
-- Register buckets as dungeon loot
if minetest.global_exists("dungeon_loot") then
dungeon_loot.register({
{name = bucket.empty, chance = 0.55},
-- water in deserts/ice or above ground, lava otherwise
{name = bucket.water, chance = 0.45,
types = {"sandstone", "desert", "ice"}},
{name = bucket.water, chance = 0.45, y = {0, 32768},
types = {"normal"}},
{name = bucket.lava, chance = 0.45, y = {-32768, -1},
types = {"normal"}},
})
for mat_name, mat in pairs(craft_ingreds) do
local bucket_empty = bucket.empty.."_"..mat_name
local bucket_lava = bucket.lava.."_"..mat_name
local bucket_water = bucket.water.."_"..mat_name
if mat["enabled"] then
-- water in deserts/ice or above ground, lava otherwise if enabled
dungeon_loot.register({
{name = bucket_empty, chance = 0.55},
{name = bucket_water, chance = 0.45,
types = {"sandstone", "desert", "ice"}},
{name = bucket_water, chance = 0.45, y = {0, 32768},
types = {"normal"}},
})
if mat["groups"].get_lava==1 then
dungeon_loot.register({
{name = bucket_lava, chance = 0.45, y = {-32768, -1},
types = {"normal"}},
})
end
end
end
end

View File

@ -28,3 +28,4 @@ Diamond Lava Bucket=Diamantové vedro s lávou
Gold Empty Bucket=Zlaté prázdne vedro
Gold Water Bucket=Zlaté vedro s vodou
Gold Lava Bucket=Zlaté vedro s lávou
Mod: dynamic_liquid is not changed. add_to_water_nodes function is missing! Lava colling will not work the same ways, as the default water-lava interaction works.=Rozšírenie dynamic_liquid nie je zmenené. Chýba funkcia add_to_water_nodes! Ochladzovanie lávy nebude fungovať rovnako, ako funguje štandardná interakcia voda-láva.

View File

@ -28,3 +28,4 @@ Diamond Lava Bucket=
Gold Empty Bucket=
Gold Water Bucket=
Gold Lava Bucket=
Mod: dynamic_liquid is not changed. add_to_water_nodes function is missing! Lava colling will not work the same ways, as the default water-lava interaction works.=

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -7,3 +7,55 @@ bucket_lava_flowing_range (Bucket lava flowing range) int 1
# If true, then liquid can be taken even from flowing one
# (not only from source)
bucket_get_flowing (Flowing liwuid can be taken) bool true
# Use "clasic" bucket recipe
# - This can interfere with farming mod Wood Empty Bucket = Wooden Bowl
# + X + - + X +
# + - + X + - +
#
# NEW Recipe
# + X + - + X +
# + X + - + X +
# + X + X + X +
bucket_use_clasic_recipe (Use clasic recipe for bucket) bool true
# Enabled buckettypes
[Bucket types]
# Default bucket type
# - do not disable defined type, or you get nothing with /giveme bucket
bucket_default_type (Bucket default type) enum steel steel,wood,stone,bronze,mese,diamond,gold
# Enable steel bucket
bucket_material_steel (Enable steel bucket) bool true
# Enable wood bucket
bucket_material_wood (Enable wood bucket) bool true
# Enable stone bucket
bucket_material_stone (Enable stone bucket) bool true
# Enable bronze bucket
bucket_material_bronze (Enable bronze bucket) bool true
# Enable mese bucket
bucket_material_mese (Enable mese bucket) bool true
# Enable diamond bucket
bucket_material_diamond (Enable diamond bucket) bool true
# Enable gold bucket
bucket_material_gold (Enable gold bucket) bool true
# Enable getting lava with buckettypes
[Get lava types]
# Get lava with steel bucket
bucket_getlava_steel (Enable steel bucket) bool true
# Get lava with wood bucket
bucket_getlava_wood (Enable wood bucket) bool false
# Get lava with stone bucket
bucket_getlava_stone (Enable stone bucket) bool true
# Get lava with bronze bucket
bucket_getlava_bronze (Enable bronze bucket) bool false
# Get lava with mese bucket
bucket_getlava_mese (Enable mese bucket) bool true
# Get lava with diamond bucket
bucket_getlava_diamond (Enable diamond bucket) bool true
# Get lava with gold bucket
bucket_getlava_gold (Enable gold bucket) bool false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

View File

@ -13,6 +13,7 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
### Changelog:
- 1.46 - Added min/max default light settings, added lettuce and blackberries with food items (thanks OgelGames), added soya and vanilla (thanks Felfa), added tofu
- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base, added cactus juice, added pasta, spaghetti, cabbage, korean bibimbap, code tidy
options, onion soup added (thanks edcrypt), Added apple pie, added wild cotton to savanna
- 1.44 - Added 'farming_stage_length' in mod settings for speed of crop growth, also thanks to TheDarkTiger for translation updates

View File

@ -108,8 +108,8 @@ minetest.register_node("farming:barley_7", table.copy(def))
farming.registered_plants["farming:barley"] = {
crop = "farming:barley",
seed = "farming:seed_barley",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 7
}

View File

@ -226,8 +226,8 @@ minetest.register_node("farming:beanpole_5", table.copy(def))
farming.registered_plants["farming:beans"] = {
crop = "farming:beanpole",
seed = "farming:beans",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -86,7 +86,7 @@ minetest.register_node("farming:beetroot_5", table.copy(def))
farming.registered_plants["farming:beetroot"] = {
crop = "farming:beetroot",
seed = "farming:beetroot",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -0,0 +1,62 @@
local S = farming.intllib
-- blackberries
minetest.register_craftitem("farming:blackberry", {
description = S("Blackberries"),
inventory_image = "farming_blackberry.png",
groups = {seed = 2, food_blackberries = 1, food_blackberry = 1,
food_berry = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blackberry_1")
end,
on_use = minetest.item_eat(1),
})
local def = {
drawtype = "plantlike",
tiles = {"farming_blackberry_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:blackberry_1", table.copy(def))
-- stage 2
def.tiles = {"farming_blackberry_2.png"}
minetest.register_node("farming:blackberry_2", table.copy(def))
-- stage 3
def.tiles = {"farming_blackberry_3.png"}
minetest.register_node("farming:blackberry_3", table.copy(def))
-- stage 4
def.tiles = {"farming_blackberry_4.png"}
def.groups.growing = nil
def.drop = {
items = {
{items = {'farming:blackberry 2'}, rarity = 1},
{items = {'farming:blackberry'}, rarity = 2},
{items = {'farming:blackberry'}, rarity = 3},
}
}
minetest.register_node("farming:blackberry_4", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:blackberry"] = {
crop = "farming:blackberry",
seed = "farming:blackberry",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -88,7 +88,7 @@ minetest.register_node("farming:blueberry_4", table.copy(def))
farming.registered_plants["farming:blueberries"] = {
crop = "farming:blueberry",
seed = "farming:blueberries",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -53,8 +53,8 @@ def.tiles = {"farming_cabbage_6.png"}
def.groups.growing = nil
def.drop = {
max_items = 2, items = {
{items = {"farming:cabbage"}, rarity = 1},
{items = {"farming:cabbage"}, rarity = 2}
{items = {"farming:cabbage 2"}, rarity = 1},
{items = {"farming:cabbage 1"}, rarity = 2}
}
}
minetest.register_node("farming:cabbage_6", table.copy(def))
@ -63,7 +63,7 @@ minetest.register_node("farming:cabbage_6", table.copy(def))
farming.registered_plants["farming:cabbage"] = {
crop = "farming:cabbage",
seed = "farming:cabbage",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 6
}

View File

@ -118,7 +118,7 @@ minetest.register_node("farming:carrot_8", table.copy(def))
farming.registered_plants["farming:carrot"] = {
crop = "farming:carrot",
seed = "farming:carrot",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -95,7 +95,7 @@ minetest.register_node("farming:chili_8", table.copy(def))
farming.registered_plants["farming:chili_pepper"] = {
crop = "farming:chili",
seed = "farming:chili_pepper",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -194,8 +194,8 @@ minetest.register_node("farming:cocoa_4", table.copy(def))
farming.registered_plants["farming:cocoa_beans"] = {
crop = "farming:cocoa",
seed = "farming:cocoa_beans",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -106,7 +106,7 @@ minetest.register_node("farming:coffee_5", table.copy(def))
farming.registered_plants["farming:coffee"] = {
crop = "farming:coffee",
seed = "farming:coffee_beans",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -153,7 +153,7 @@ minetest.register_node("farming:corn_8", table.copy(def))
farming.registered_plants["farming:corn"] = {
crop = "farming:corn",
seed = "farming:corn",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -172,8 +172,8 @@ minetest.register_node("farming:cotton_8", table.copy(def))
farming.registered_plants["farming:cotton"] = {
crop = "farming:cotton",
seed = "farming:seed_cotton",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -59,7 +59,7 @@ minetest.register_node("farming:cucumber_4", table.copy(def))
farming.registered_plants["farming:cucumber"] = {
crop = "farming:cucumber",
seed = "farming:cucumber",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -129,7 +129,7 @@ minetest.register_node("farming:garlic_5", table.copy(def))
farming.registered_plants["farming:garlic"] = {
crop = "farming:garlic",
seed = "farming:garlic_clove",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -233,8 +233,8 @@ minetest.register_node("farming:grapes_8", table.copy(def))
farming.registered_plants["farming:grapes"] = {
crop = "farming:grapes",
seed = "farming:grapes",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -256,7 +256,7 @@ minetest.register_node("farming:hemp_8", table.copy(def))
farming.registered_plants["farming:hemp"] = {
crop = "farming:hemp",
seed = "farming:seed_hemp",
minlight = 13,
maxlight = 15,
mminlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -0,0 +1,63 @@
local S = farming.intllib
-- lettuce
minetest.register_craftitem("farming:lettuce", {
description = S("Lettuce"),
inventory_image = "farming_lettuce.png",
groups = {seed = 2, food_lettuce = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:lettuce_1")
end,
on_use = minetest.item_eat(2),
})
local def = {
drawtype = "plantlike",
tiles = {"farming_lettuce_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:lettuce_1", table.copy(def))
-- stage 2
def.tiles = {"farming_lettuce_2.png"}
minetest.register_node("farming:lettuce_2", table.copy(def))
-- stage 3
def.tiles = {"farming_lettuce_3.png"}
minetest.register_node("farming:lettuce_3", table.copy(def))
-- stage 4
def.tiles = {"farming_lettuce_4.png"}
minetest.register_node("farming:lettuce_4", table.copy(def))
-- stage 5
def.tiles = {"farming_lettuce_5.png"}
def.groups.growing = nil
def.drop = {
items = {
{items = {'farming:lettuce 2'}, rarity = 1},
{items = {'farming:lettuce 1'}, rarity = 2},
}
}
minetest.register_node("farming:lettuce_5", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:lettuce"] = {
crop = "farming:lettuce",
seed = "farming:lettuce",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -88,7 +88,7 @@ minetest.register_node("farming:melon_8", table.copy(def))
farming.registered_plants["farming:melon"] = {
crop = "farming:melon",
seed = "farming:melon_slice",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -101,7 +101,7 @@ minetest.register_node("farming:mint_4", table.copy(def))
farming.registered_plants["farming:mint"] = {
crop = "farming:mint",
seed = "farming:seed_mint",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -90,7 +90,7 @@ minetest.register_node("farming:onion_5", table.copy(def))
farming.registered_plants["farming:onion"] = {
crop = "farming:onion",
seed = "farming:onion",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -91,7 +91,7 @@ minetest.register_node("farming:pea_5", table.copy(def))
farming.registered_plants["farming:pea_pod"] = {
crop = "farming:pea",
seed = "farming:pea_pod",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -19,16 +19,32 @@ minetest.register_craftitem("farming:peppercorn", {
-- green pepper
minetest.register_craftitem("farming:pepper", {
description = S("Pepper"),
description = S("Green Pepper"),
inventory_image = "crops_pepper.png",
on_use = minetest.item_eat(2),
groups = {food_pepper = 1, flammable = 3}
})
-- yellow pepper
minetest.register_craftitem("farming:pepper_yellow", {
description = S("Yellow Pepper"),
inventory_image = "crops_pepper_yellow.png",
on_use = minetest.item_eat(3),
groups = {food_pepper = 1, flammable = 3},
})
-- red pepper
minetest.register_craftitem("farming:pepper_red", {
description = S("Red Pepper"),
inventory_image = "crops_pepper_red.png",
on_use = minetest.item_eat(4),
groups = {food_pepper = 1, flammable = 3},
})
minetest.register_craft({
type = "shapeless",
output = "farming:peppercorn",
recipe = {"farming:pepper"}
recipe = {"group:food_pepper"}
})
-- ground pepper
@ -93,11 +109,10 @@ minetest.register_node("farming:pepper_3", table.copy(def))
def.tiles = {"crops_pepper_plant_4.png"}
minetest.register_node("farming:pepper_4", table.copy(def))
-- stage 5
-- stage 5 (green pepper)
def.tiles = {"crops_pepper_plant_5.png"}
def.groups.growing = 0
def.drop = {
items = {
max_items = 2, items = {
{items = {"farming:pepper 2"}, rarity = 1},
{items = {"farming:pepper"}, rarity = 2},
{items = {"farming:pepper"}, rarity = 3}
@ -105,11 +120,34 @@ def.drop = {
}
minetest.register_node("farming:pepper_5", table.copy(def))
-- stage 6 (yellow pepper)
def.tiles = {"crops_pepper_plant_6.png"}
def.drop = {
max_items = 2, items = {
{items = {'farming:pepper_yellow 2'}, rarity = 1},
{items = {'farming:pepper_yellow'}, rarity = 2},
{items = {'farming:pepper_yellow'}, rarity = 3},
}
}
minetest.register_node("farming:pepper_6", table.copy(def))
-- stage 7 (red pepper)
def.tiles = {"crops_pepper_plant_7.png"}
def.groups.growing = nil
def.drop = {
max_items = 2, items = {
{items = {'farming:pepper_red 2'}, rarity = 1},
{items = {'farming:pepper_red'}, rarity = 2},
{items = {'farming:pepper_red'}, rarity = 3},
}
}
minetest.register_node("farming:pepper_7", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:pepper"] = {
crop = "farming:pepper",
seed = "farming:peppercorn",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 5
}

View File

@ -135,7 +135,7 @@ minetest.register_node("farming:pineapple_8", table.copy(def))
farming.registered_plants["farming:pineapple"] = {
crop = "farming:pineapple",
seed = "farming:pineapple_top",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -106,7 +106,7 @@ minetest.register_node("farming:potato_4", table.copy(def))
farming.registered_plants["farming:potato"] = {
crop = "farming:potato",
seed = "farming:potato",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -200,7 +200,7 @@ minetest.register_alias("farming:pumpkin", "farming:pumpkin_8")
farming.registered_plants["farming:pumpkin"] = {
crop = "farming:pumpkin",
seed = "farming:pumpkin_slice",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -74,7 +74,7 @@ minetest.register_node("farming:raspberry_4", table.copy(def))
farming.registered_plants["farming:raspberries"] = {
crop = "farming:raspberry",
seed = "farming:raspberries",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 4
}

View File

@ -71,7 +71,7 @@ minetest.register_node("farming:rhubarb_3", table.copy(def))
farming.registered_plants["farming:rhubarb"] = {
crop = "farming:rhubarb",
seed = "farming:rhubarb",
minlight = 13,
maxlight = 15,
minlight = 10,
maxlight = 12,
steps = 3
}

View File

@ -0,0 +1,171 @@
local S = farming.intllib
-- soy pod
minetest.register_craftitem("farming:soy_pod", {
description = S("Soy Pod"),
inventory_image = "farming_soy_pod.png",
groups = {seed = 2, food_soy_pod = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:soy_1")
end
})
minetest.register_craftitem("farming:soy_beans", {
description = S("Soy Beans"),
inventory_image = "farming_soy_beans.png",
groups = {food_soy = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
minetest.register_craft({
type = "shapeless",
output = "farming:soy_beans",
recipe = {"farming:soy_pod"}
})
-- soy milk
minetest.register_node("farming:soy_milk", {
description = S("Soy Milk"),
drawtype = "plantlike",
tiles = {"farming_soy_milk_glass.png"},
inventory_image = "farming_soy_milk_glass.png",
wield_image = "farming_soy_milk_glass.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {
vessel = 1, food_milk_glass = 1, dig_immediate = 3,
attached_node = 1, drink = 1
},
sounds = default.node_sound_glass_defaults()
})
minetest.register_craft( {
type = "shapeless",
output = "farming:soy_milk",
recipe = {
"group:food_soy", "group:food_soy", "group:food_soy",
"farming:vanilla_extract", "bucket:bucket_water", "vessels:drinking_glass"
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
{"farming:vanilla_extract", "vessels:glass_bottle"}
}
})
-- tofu
minetest.register_craftitem("farming:tofu", {
description = S("Tofu"),
inventory_image = "farming_tofu.png",
groups = {food_tofu = 1, food_meat_raw = 1, flammable = 2},
on_use = minetest.item_eat(3)
})
minetest.register_craft({
output = "farming:tofu",
type = "shapeless",
recipe = {
"farming:baking_tray", "group:food_soy", "group:food_soy",
"group:food_soy", "group:food_soy", "group:food_soy",
},
replacements = {{"farming:baking_tray", "farming:baking_tray"}}
})
-- cooked tofu
minetest.register_craftitem("farming:tofu_cooked", {
description = S("Cooked Tofu"),
inventory_image = "farming_tofu_cooked.png",
groups = {food_meat = 1, flammable = 2},
on_use = minetest.item_eat(6)
})
minetest.register_craft({
type = "cooking",
output = "farming:tofu_cooked",
recipe = "farming:tofu",
cooktime = 5
})
-- crop definition
local def = {
drawtype = "plantlike",
tiles = {"farming_soy_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, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults()
}
-- stage 1
minetest.register_node("farming:soy_1", table.copy(def))
-- stage 2
def.tiles = {"farming_soy_2.png"}
minetest.register_node("farming:soy_2", table.copy(def))
-- stage 3
def.tiles = {"farming_soy_3.png"}
minetest.register_node("farming:soy_3", table.copy(def))
-- stage 4
def.tiles = {"farming_soy_4.png"}
minetest.register_node("farming:soy_4", table.copy(def))
-- stage 5
def.tiles = {"farming_soy_5.png"}
def.drop = {
max_items = 1, items = {
{items = {'farming:soy_pod'}, rarity = 1},
}
}
minetest.register_node("farming:soy_5", table.copy(def))
-- stage 6
def.tiles = {"farming_soy_6.png"}
def.drop = {
max_items = 3, items = {
{items = {'farming:soy_pod'}, rarity = 1},
{items = {'farming:soy_pod'}, rarity = 2},
{items = {'farming:soy_pod'}, rarity = 3},
}
}
minetest.register_node("farming:soy_6", table.copy(def))
-- stage 7
def.tiles = {"farming_soy_7.png"}
def.groups.growing = nil
def.drop = {
max_items = 5, items = {
{items = {'farming:soy_pod'}, rarity = 1},
{items = {'farming:soy_pod'}, rarity = 2},
{items = {'farming:soy_pod'}, rarity = 3},
{items = {'farming:soy_pod'}, rarity = 4},
{items = {'farming:soy_pod'}, rarity = 5}
}
}
minetest.register_node("farming:soy_7", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:soy_pod"] = {
crop = "farming:soy",
seed = "farming:soy_pod",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 7
}

View File

@ -83,7 +83,7 @@ minetest.register_node("farming:tomato_8", table.copy(def))
farming.registered_plants["farming:tomato"] = {
crop = "farming:tomato",
seed = "farming:tomato",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -0,0 +1,122 @@
local S = farming.intllib
-- vanilla
minetest.register_craftitem("farming:vanilla", {
description = S("Vanilla"),
inventory_image = "farming_vanilla.png",
groups = {seed = 2, food_vanilla = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:vanilla_1")
end,
on_use = minetest.item_eat(1),
})
-- crop definition
local def = {
drawtype = "plantlike",
tiles = {"farming_vanilla_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()
}
-- vanilla extract
minetest.register_node("farming:vanilla_extract", {
description = S("Vanilla Extract"),
drawtype = "plantlike",
tiles = {"farming_vanilla_extract.png"},
inventory_image = "farming_vanilla_extract.png",
wield_image = "farming_vanilla_extract.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:vanilla_extract",
recipe = {
{ "group:food_vanilla", "group:food_vanilla", "group:food_vanilla"},
{ "group:food_vanilla", "farming:bottle_ethanol", "bucket:bucket_water"},
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:vanilla_extract",
burntime = 25,
replacements = {{ "farming:vanilla_extract", "vessels:glass_bottle" }}
})
-- stage 1
minetest.register_node("farming:vanilla_1", table.copy(def))
-- stage 2
def.tiles = {"farming_vanilla_2.png"}
minetest.register_node("farming:vanilla_2", table.copy(def))
-- stage 3
def.tiles = {"farming_vanilla_3.png"}
minetest.register_node("farming:vanilla_3", table.copy(def))
-- stage 4
def.tiles = {"farming_vanilla_4.png"}
minetest.register_node("farming:vanilla_4", table.copy(def))
-- stage 5
def.tiles = {"farming_vanilla_5.png"}
minetest.register_node("farming:vanilla_5", table.copy(def))
-- stage 6
def.tiles = {"farming_vanilla_6.png"}
def.visual_scale = 1.9
minetest.register_node("farming:vanilla_6", table.copy(def))
-- stage 7
def.tiles = {"farming_vanilla_7.png"}
def.drop = {
items = {
{items = {'farming:vanilla'}, rarity = 1},
{items = {'farming:vanilla'}, rarity = 2},
{items = {'farming:vanilla'}, rarity = 3}
}
}
minetest.register_node("farming:vanilla_7", table.copy(def))
-- stage 8 (final)
def.tiles = {"farming_vanilla_8.png"}
def.groups.growing = nil
def.drop = {
items = {
{items = {'farming:vanilla 2'}, rarity = 1},
{items = {'farming:vanilla 2'}, rarity = 2},
{items = {'farming:vanilla 2'}, rarity = 2},
{items = {'farming:vanilla 2'}, rarity = 3}
}
}
minetest.register_node("farming:vanilla_8", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:vanilla"] = {
crop = "farming:vanilla",
seed = "farming:vanilla",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -234,8 +234,8 @@ minetest.register_node("farming:wheat_8", table.copy(def))
farming.registered_plants["farming:wheat"] = {
crop = "farming:wheat",
seed = "farming:seed_wheat",
minlight = 13,
maxlight = 15,
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

View File

@ -31,7 +31,15 @@ farming.peas = 0.001
farming.beetroot = 0.001
farming.mint = 0.005
farming.cabbage = 0.001
farming.blackberry = 0.002
farming.lettuce = 0.001
farming.soy = 0.001
farming.vanilla = 0.001
farming.grains = true -- true or false only
-- default rarety of crops on map (higher number = more crops)
farming.rarety = 0.002
-- default minimum and maximum light levels crops need to grow
farming.min_light = 12
farming.max_light = 15

View File

@ -181,44 +181,18 @@ minetest.register_craftitem("farming:porridge", {
on_use = minetest.item_eat(6, "farming:bowl")
})
minetest.after(0, function()
local fluid = "group:water_bucket"
local fluid_return = {
{"group:water_bucket", "bucket:bucket_empty"},
{"group:water_bucket_wooden", "bucket:bucket_empty"}
minetest.register_craft({
type = "shapeless",
output = "farming:porridge",
recipe = {
"group:food_oats", "group:food_oats", "group:food_oats",
"group:food_oats", "group:food_bowl", "group:food_milk_glass"
},
replacements = {
{"mobs:glass_milk", "vessels:drinking_glass"},
{"farming:soy_milk", "vessels:drinking_glass"}
}
if minetest.get_modpath("mobs") and mobs and mobs.mod == "redo" then
fluid = "group:food_milk"
fluid_return = {
{"mobs:bucket_milk", "bucket:bucket_empty"}
}
else
minetest.register_craft({
type = "shapeless",
output = "farming:porridge",
recipe = {
"group:food_oats", "group:food_oats", "group:food_oats",
"group:food_oats", "group:food_bowl", "group:water_bucket_wooden"
},
replacements = fluid_return
})
end
minetest.register_craft({
type = "shapeless",
output = "farming:porridge",
recipe = {
"group:food_oats", "group:food_oats", "group:food_oats",
"group:food_oats", "group:food_bowl", fluid
},
replacements = fluid_return
})
if minetest.get_modpath("bucket_wooden") then
end
end)
})
--= Jaffa Cake
@ -373,3 +347,57 @@ minetest.register_craft({
replacements = {{"group:food_skillet", "farming:skillet"}}
})
end
-- Burger
minetest.register_craftitem("farming:burger", {
description = S("Burger"),
inventory_image = "farming_burger.png",
on_use = minetest.item_eat(16),
})
minetest.register_craft({
type = "shapeless",
output = "farming:burger",
recipe = {
"farming:bread", "group:food_meat", "group:food_cheese",
"group:food_tomato", "group:food_cucumber", "group:food_onion",
"group:food_lettuce"
}
})
-- Salad
minetest.register_craftitem("farming:salad", {
description = S("Salad"),
inventory_image = "farming_salad.png",
on_use = minetest.item_eat(8, "farming:bowl")
})
minetest.register_craft({
output = "farming:salad",
type = "shapeless",
recipe = {
"group:food_bowl", "group:food_tomato", "group:food_cucumber",
"group:food_lettuce", "group:food_oil"
},
})
-- Triple Berry Smoothie
minetest.register_craftitem("farming:smoothie_berry", {
description = S("Triple Berry Smoothie"),
inventory_image = "farming_berry_smoothie.png",
on_use = minetest.item_eat(6, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
})
minetest.register_craft({
output = "farming:smoothie_berry",
type = "shapeless",
recipe = {
"group:food_raspberries", "group:food_blackberries",
"group:food_strawberry", "group:food_banana",
"vessels:drinking_glass"
}
})

View File

@ -481,7 +481,7 @@ if minetest.get_modpath("moreores") then
{"", "", "group:stick"}
}
})
--[[
farming.register_hoe(":moreores:hoe_silver", {
description = S("%s Hoe"):format(S("Silver")),
inventory_image = "moreores_tool_silverhoe.png",
@ -510,5 +510,5 @@ if minetest.get_modpath("moreores") then
minetest.override_item("moreores:hoe_mithril", {
original_description = desc,
description = toolranks.create_description(desc)})
end
end]]
end

View File

@ -7,13 +7,15 @@
farming = {
mod = "redo",
version = "20200702",
version = "20201213",
path = minetest.get_modpath("farming"),
select = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
registered_plants = {}
registered_plants = {},
min_light = 12,
max_light = 15
}
@ -332,9 +334,8 @@ function farming.plant_growth_timer(pos, elapsed, node_name)
return true
end
local MIN_LIGHT = minetest.registered_nodes[node_name].minlight or 12
local MAX_LIGHT = minetest.registered_nodes[node_name].maxlight or 15
--print ("---", MIN_LIGHT, MAX_LIGHT)
local MIN_LIGHT = minetest.registered_nodes[node_name].minlight or farming.min_light
local MAX_LIGHT = minetest.registered_nodes[node_name].maxlight or farming.max_light
if max_growth == 1 or lambda < 2.0 then
@ -628,6 +629,10 @@ farming.peas = 0.001
farming.beetroot = 0.001
farming.mint = 0.005
farming.cabbage = 0.001
farming.blackberry = 0.002
farming.soy = 0.001
farming.vanilla = 0.001
farming.lettuce = 0.001
farming.grains = true
farming.rarety = 0.002
@ -694,6 +699,10 @@ ddoo("chili.lua", farming.chili)
ddoo("ryeoatrice.lua", farming.grains)
ddoo("mint.lua", farming.mint)
ddoo("cabbage.lua", farming.cabbage)
ddoo("blackberry.lua", farming.blackberry)
ddoo("soy.lua", farming.soy)
ddoo("vanilla.lua", farming.vanilla)
ddoo("lettuce.lua", farming.lettuce)
dofile(farming.path .. "/food.lua")
dofile(farming.path .. "/mapgen.lua")

View File

@ -128,6 +128,7 @@ Created by TenPlus1 (CC BY 3.0)
farming_rhubarb.png
farming_rhubarb_pie.png
farming_hemp*.png
farming_tofu*.png
Created by ademant (CC-BY-3.0)
farming_rye*.png
@ -142,3 +143,15 @@ Created by VanessaE and edited by SpaghettiToastBook (CC0):
Created by mDiyo (Natura), modified by TenPlus1 (License: CC BY-SA 3.0):
farming_barley.png
Created by OgelGames (CC BY-SA 4.0)
farming_berry_smoothie.png
farming_cactus_juice.png
farming_salad.png
Created by Felfa (CC0)
farming_blackberry*.png
farming_lettuce*.png
farming_burger.png
farming_soy*.png
farming_vanilla*.png

View File

@ -1,94 +1,94 @@
# textdomain:farming
#%s Hoe=
%s Hoe=%s Hacke
Apple Donut=Apfeldonut
#Apple Pie=
Apple Pie=Apfelkuchen
Baked Potato=Ofenkartoffel
#Baking Tray=
#Banana=
#Banana Leaves=
Baking Tray=Kuchenblech
Banana=Banane
Banana Leaves=Bananenblatt
Bar of Dark Chocolate=Tafel Zartbitterschokolade
Barley=Gerste
Barley Seed=Gerstenkörner
Bean Pole (place on soil before planting beans)=Bohnenstange (vor dem Pflanzen der Bohnen auf den\nAckerboden stellen)
#Beetroot=
#Beetroot Soup=
#Bibimbap=
Beetroot=Rote Beete
Beetroot Soup=Rote Beete Suppe
Bibimbap=Bibimbap
Wild Blueberries=Wilde Blaubeeren
Blueberry Muffin=Blaubeermuffin
#Blueberry Pie=
Blueberry Pie=Blaubeerkuchen
Bottle of Ethanol=Flasche Ethanol
Bottle of Hemp Oil=Flasche mit Hanföl
#Bowl of Chili=
Bowl of Chili=Chili Schale
Bread=Brot
Bronze Hoe=Bronzehacke
#Cabbage=
#Cactus Juice=
Cabbage=Salat
Cactus Juice=Kaktussaft
Carrot=Möhre
#Carrot Juice=
#Chili Pepper=
#Chocolate Block=
Carrot Juice=Möhrensaft
Chili Pepper=Chili
Chocolate Block=Schokoladenstück
Chocolate Donut=Schokodonut
Cocoa Beans=Kakaobohne
Coffee Beans=Kaffeebohnen
Cookie=Keks
#Cooking Pot=
Cooking Pot=Kochtopf
Corn=Mais
Corn on the Cob=Maiskolben
#Cornstarch=
Cornstarch=Speisestärke
Cotton=Baumwolle
Cotton Seed=Baumwollsamen
Cucumber=Gurke
#Cucumber and Potato Salad=
Cucumber and Potato Salad=Gurken und Tomatensalat
Cup of Coffee=Tasse Kaffee
#Cutting Board=
Cutting Board=Schneidebrett
Diamond Hoe=Diamanthacke
Donut=Donut
Flour=Mehl
#Garlic=
#Garlic Braid=
#Garlic Bread=
#Garlic clove=
#Glass Mixing Bowl=
Garlic=Knoblauch
Garlic Braid=Knoblauchzopf
Garlic Bread=Knoblauchbrot
Garlic clove=Knoblauchzehe
Glass Mixing Bowl=Glasschlüssel
Golden Carrot=Goldene Möhre
Grapes=Weintrauben
Green Beans=Grüne Bohnen
#Ground Pepper=
#Hemp Block=
Ground Pepper=Gemahlener Pfeffer
Hemp Block=Hanfblock
Hemp Fibre=Hanffaser
Hemp Leaf=Hanfblatt
Hemp Rope=Hanfseil
Hemp Seed=Hanfsamen
Hoe=Hacke
#Hoe Bomb (use or throw on grassy areas to hoe land)=
Hoe Bomb (use or throw on grassy areas to hoe land)=Hackbombe (Auf Grasland werfen oder benutzen)
Jack 'O Lantern (punch to turn on and off)=Kürbislaterne (Punch zum Ein- und Ausschalten)
#Jaffa Cake=
#Juicer=
Jaffa Cake=Jaffa-Torte
Juicer=Entsafter
Melon=Melone
Melon Slice=Melonenscheibe
Mese Hoe=Mesehacke
#Mint Leaf=
#Mint Seeds=
#Mint Tea=
#Mithril Scythe (Right-click to harvest and replant crops)=
#Mortar and Pestle=
#Multigrain Bread=
#Multigrain Flour=
#Oat seed=
#Oats=
#Onion=
#Onion Soup=
#Orange=
#Pasta=
#Pea Pod=
#Pea Soup=
#Peas=
#Pepper=
#Peppercorn=
#Pineapple=
#Pineapple Juice=
#Pineapple Ring=
#Pineapple Top=
#Porridge=
Mint Leaf=Minzblatt
Mint Seeds=Minzsamen
Mint Tea=Minztee
Mithril Scythe (Right-click to harvest and replant crops)=Mithril-Sense (Rechts-Klick zum Ernten und Wiedereinpflanzen)
Mortar and Pestle=Mörser und Stößel
Multigrain Bread=Mehrkornbrot
Multigrain Flour=Mehrkornmehl
Oat seed=Hafersamen
Oats=Hafer
Onion=Zwiebel
Onion Soup=Zwiebelsuppe
Orange=Apfelsine
Pasta=Pasta
Pea Pod=Erbsenschote
Pea Soup=Erbsensuppe
Peas=Erbsen
Pepper=Pfeffer
Peppercorn=Pfefferkorn
Pineapple=Ananas
Pineapple Juice=Ananassaft
Pineapple Ring=Ananasscheibe
Pineapple Top=Ananasdeckel
Porridge=Brei
Potato=Kartoffel
Pumpkin=Kürbis
Pumpkin Bread=Kürbisbrot
@ -98,37 +98,37 @@ Raspberries=Himbeeren
Raspberry Smoothie=Himbeersmoothie
Rhubarb=Rhabarber
Rhubarb Pie=Rhabarberkuchen
#Rice=
#Rice Bread=
#Rice Flour=
#Rice grains=
#Rose Water=
#Rye=
#Rye seed=
#Salt=
#Saucepan=
#Savanna Soil=
#Scarecrow Bottom=
Rice=Reis
Rice Bread=Reiswaffel
Rice Flour=Reismehl
Rice grains=Reissaat
Rose Water=Rosenwasser
Rye=Roggen
Rye seed=Roggensaat
Salt=Salz
Saucepan=Kasserolle
Savanna Soil=Savannaerde
Scarecrow Bottom=Vogelscheuchengestell
Seed=Saatgut
#Skillet=
#Sliced Bread=
Skillet=Bratpfanne
Sliced Bread=Geschnittenes Brot
Soil=Ackerboden
#Spaghetti=
Spaghetti=Spaghetti
Steel Hoe=Stahlhacke
Stone Hoe=Steinhacke
Straw=Stroh
#Strawberry=
#String=
Strawberry=Erdbeere
String=Faden
Sugar=Zucker
#Toast=
#Toast Sandwich=
Toast=Toast
Toast Sandwich=Toast Sandwich
Tomato=Tomate
Trellis (place on soil before planting grapes)=Spalier (vor dem Pflanzen der Weintrauben auf den\nAckerboden stellen)
#Turkish Delight=
#Wet Savanna Soil=
Turkish Delight=Lokum
Wet Savanna Soil=Feuchte Savannaerde
Wet Soil=Bewässerter Ackerboden
Wheat=Weizen
Wheat Seed=Weizenkörner
#Wild Cotton=
#Wooden Bowl=
Wild Cotton=Wilde Baumwolle
Wooden Bowl=Holzschale
Wooden Hoe=Holzhacke

View File

@ -1,3 +1,8 @@
-- what mapgen are we using
local mg_name = minetest.get_mapgen_setting("mg_name")
-- temp vars
local tmp1, tmp2, tmp3
-- decoration function
local function register_plant(name, min, max, spawnon, spawnby, num, rarety)
@ -35,9 +40,6 @@ end
register_plant("potato_3", 15, 40, nil, "", -1, farming.potato)
register_plant("tomato_7", 5, 20, nil, "", -1, farming.tomato)
register_plant("corn_7", 12, 22, nil, "", -1, farming.corn)
register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter",
"default:dry_dirt_with_dry_grass"}, "", -1, farming.coffee)
register_plant("raspberry_4", 3, 10, nil, "", -1, farming.raspberry)
register_plant("rhubarb_3", 3, 15, nil, "", -1, farming.rhubarb)
register_plant("blueberry_4", 3, 10, nil, "", -1, farming.blueberry)
@ -47,17 +49,24 @@ register_plant("onion_5", 5, 22, nil, "", -1, farming.onion)
register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic)
register_plant("pea_5", 25, 50, nil, "", -1, farming.peas)
register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot)
register_plant("mint_4", 1, 75, {"default:dirt_with_grass",
"default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint)
register_plant("cabbage_6", 2, 10, nil, "", -1, farming.cabbage)
register_plant("lettuce_5", 5, 30, nil, "", -1, farming.lettuce)
register_plant("blackberry_4", 3, 10, nil, "", -1, farming.blackberry)
register_plant("vanilla_7", 5, 35, nil, "", -1, farming.vanilla)
register_plant("mint_4", 1, 75, {
"default:dirt_with_grass", "default:dirt_with_coniferous_litter"},
"group:water", 1, farming.mint)
if minetest.get_mapgen_setting("mg_name") == "v6" then
-- v6 mapgen compatibility for specific crops
if mg_name == "v6" then
register_plant("carrot_8", 1, 30, nil, "group:water", 1, farming.carrot)
register_plant("cucumber_4", 1, 20, nil, "group:water", 1, farming.cucumber)
register_plant("melon_8", 1, 20, nil, "group:water", 1, farming.melon)
register_plant("pumpkin_8", 1, 20, nil, "group:water", 1, farming.pumpkin)
register_plant("coffee_5", 20, 45, nil, "", -1, farming.coffee)
register_plant("soy_6", 20, 50, nil, "", -1, farming.soy)
else
-- v7 maps have a beach so plants growing near water is limited to 6 high
register_plant("carrot_8", 1, 15, nil, "", -1, farming.carrot)
@ -65,8 +74,15 @@ else
register_plant("melon_8", 1, 6, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter"}, "", -1, farming.melon)
register_plant("pumpkin_8", 1, 6, nil, "", -1, farming.pumpkin)
register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter",
"default:dry_dirt_with_dry_grass"}, "", -1, farming.coffee)
register_plant("soy_6", 20, 50, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter",
"default:dry_dirt_with_dry_grass"}, "", -1, farming.soy)
end
if farming.hemp then
minetest.register_decoration({
deco_type = "simple",
@ -88,6 +104,7 @@ minetest.register_decoration({
})
end
if farming.chili then
minetest.register_decoration({
deco_type = "simple",
@ -109,10 +126,18 @@ minetest.register_decoration({
})
end
if farming.pepper then
local tmp1 = {"default:dirt_with_rainforest_litter"} -- v7
if mg_name == "v6" then
tmp1 = {"default:dirt_with_grass"} -- v6
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_rainforest_litter"},
place_on = tmp1,
sidelen = 16,
noise_params = {
offset = 0,
@ -124,16 +149,28 @@ minetest.register_decoration({
},
y_min = 5,
y_max = 35,
decoration = {"farming:pepper_5"},
decoration = {"farming:pepper_5", "farming:pepper_6", "farming:pepper_7"},
spawn_by = "group:tree",
num_spawn_by = 1
})
end
if farming.pineapple then
tmp1 = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"}
tmp2 = nil
tmp3 = -1
if mg_name == "v6" then
tmp1 = {"default:dirt_with_grass"}
tmp2 = "default:desert_sand"
tmp3 = 1
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"},
place_on = tmp1,
sidelen = 16,
noise_params = {
offset = 0,
@ -145,14 +182,24 @@ minetest.register_decoration({
},
y_min = 18,
y_max = 30,
decoration = {"farming:pineapple_8"}
decoration = {"farming:pineapple_8"},
spawn_by = tmp2,
num_spawn_by = tmp3
})
end
tmp1 = {"default:dry_dirt_with_dry_grass"}
tmp2 = {"savanna"}
if mg_name == "v6" then
tmp1 = {"default:dirt_with_grass"}
tmp2 = {"jungle"}
end
minetest.register_decoration({
name = "farming:cotton_wild",
deco_type = "simple",
place_on = {"default:dry_dirt_with_dry_grass"},
place_on = tmp1,
sidelen = 16,
noise_params = {
offset = -0.1,
@ -162,7 +209,7 @@ minetest.register_decoration({
octaves = 3,
persist = 0.7
},
biomes = {"savanna"},
biomes = tmp2,
y_max = 31000,
y_min = 1,
decoration = "farming:cotton_wild"

View File

@ -1 +1,4 @@
name = farming
name = farming
depends = default
optional_depends = stairs, intllib, lucky_block, toolranks
description = Adds many plants and food to Minetest

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Some files were not shown because too many files have changed in this diff Show More