Mods update
|
@ -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)
|
||||
|
|
|
@ -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
|
|
@ -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=Хммм... Плита там не влезет, кое-что мешает
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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**
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.=
|
||||
|
|
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 7.8 KiB |
|
@ -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
|
||||
|
||||
|
|
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 124 B |
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1 +1,4 @@
|
|||
name = farming
|
||||
name = farming
|
||||
depends = default
|
||||
optional_depends = stairs, intllib, lucky_block, toolranks
|
||||
description = Adds many plants and food to Minetest
|
||||
|
|
After Width: | Height: | Size: 423 B |
After Width: | Height: | Size: 442 B |
After Width: | Height: | Size: 339 B |
After Width: | Height: | Size: 353 B |
After Width: | Height: | Size: 215 B |
After Width: | Height: | Size: 223 B |
After Width: | Height: | Size: 121 B |
After Width: | Height: | Size: 337 B |
After Width: | Height: | Size: 324 B |
After Width: | Height: | Size: 344 B |
After Width: | Height: | Size: 480 B |
After Width: | Height: | Size: 539 B |
After Width: | Height: | Size: 110 B |
After Width: | Height: | Size: 152 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 220 B |
After Width: | Height: | Size: 248 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 136 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 221 B |
After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 699 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 645 B |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 174 B |
After Width: | Height: | Size: 474 B |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 152 B |
After Width: | Height: | Size: 187 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 300 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 441 B |
After Width: | Height: | Size: 208 B |