Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 35 additions & 19 deletions bananas.lua
Original file line number Diff line number Diff line change
@@ -1,29 +1,41 @@
-- main `S` code in init.lua
-- Hauptcode für 'S' in init.lua
local S
S = farming.S

-- Überprüfe, ob die Variablen 'farming' und 'farming.S' existieren
if farming and farming.S then
-- Wenn sie existieren, weise 'farming.S' der Variable 'S' zu
S = farming.S
else
-- Wenn nicht, erstelle eine Dummy-Funktion für 'S'
S = function (s) return s end
-- Gib eine Warnmeldung aus
print("Warnung: farming.S ist nil, es wird stattdessen eine Dummy-Funktion verwendet.")
end

-- Registriere den Banana Tree Sapling (Banana-Baum Setzling)
minetest.register_node("farming_plus:banana_sapling", {
description = S("Banana Tree Sapling"),
description = S("Banana Tree Sapling"), -- Beschreibung des Setzlings
drawtype = "plantlike",
tiles = {"farming_banana_sapling.png"},
inventory_image = "farming_banana_sapling.png",
wield_image = "farming_banana_sapling.png",
tiles = {"farming_banana_sapling.png"}, -- Textur für den Setzling
inventory_image = "farming_banana_sapling.png", -- Bild für den Setzling im Inventar
wield_image = "farming_banana_sapling.png", -- Bild für den Setzling beim Halten
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
},
groups = {dig_immediate=3,flammable=2},
sounds = default.node_sound_defaults(),
groups = {dig_immediate=3, flammable=2}, -- Gruppen, zu denen der Setzling gehört
sounds = default.node_sound_defaults(), -- Klangeffekte für den Setzling
})

-- Registriere die Banana Leaves (Banana-Blätter)
minetest.register_node("farming_plus:banana_leaves", {
drawtype = "allfaces_optional",
tiles = {"farming_banana_leaves.png"},
tiles = {"farming_banana_leaves.png"}, -- Textur für die Banana-Blätter
paramtype = "light",
groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1},
drop = {
groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1}, -- Gruppen für die Banana-Blätter
drop = {
max_items = 1,
items = {
{
Expand All @@ -32,9 +44,10 @@ minetest.register_node("farming_plus:banana_leaves", {
},
}
},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Banana-Blätter
})

-- Registriere einen ABM (Automatic Block Modifier) für das Wachstum der Banana-Bäume
minetest.register_abm({
nodenames = {"farming_plus:banana_sapling"},
interval = 60,
Expand All @@ -44,6 +57,7 @@ minetest.register_abm({
end
})

-- Registriere eine Funktion, die auf der Generierung der Welt basiert und zufällig Banana-Bäume erzeugt
minetest.register_on_generated(function(minp, maxp, blockseed)
if math.random(1, 100) > 5 then
return
Expand All @@ -55,17 +69,19 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
end
end)

-- Registriere die Banana (Banane) als Node
minetest.register_node("farming_plus:banana", {
description = S("Banana"),
tiles = {"farming_banana.png"},
inventory_image = "farming_banana.png",
wield_image = "farming_banana.png",
description = S("Banana"), -- Beschreibung der Banane
tiles = {"farming_banana.png"}, -- Textur für die Banane
inventory_image = "farming_banana.png", -- Bild für die Banane im Inventar
wield_image = "farming_banana.png", -- Bild für die Banane beim Halten
drawtype = "torchlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=3,leafdecay_drop=1},
sounds = default.node_sound_defaults(),

groups = {fleshy=3, dig_immediate=3, flammable=2, leafdecay=3, leafdecay_drop=1}, -- Gruppen für die Banane
sounds = default.node_sound_defaults(), -- Klangeffekte für die Banane

-- Funktion für den Verzehr der Banane
on_use = minetest.item_eat(6),
})
47 changes: 32 additions & 15 deletions carrots.lua
Original file line number Diff line number Diff line change
@@ -1,68 +1,83 @@
-- main `S` code in init.lua
-- Hauptcode für 'S' in init.lua
local S
S = farming.S

-- Überprüfe, ob die Variablen 'farming' und 'farming.S' existieren
if farming and farming.S then
-- Wenn sie existieren, weise 'farming.S' der Variable 'S' zu
S = farming.S
else
-- Wenn nicht, erstelle eine Dummy-Funktion für 'S'
S = function (s) return s end
-- Gib eine Warnmeldung aus
print("Warnung: farming.S ist nil, es wird stattdessen eine Dummy-Funktion verwendet.")
end

-- Registriere das Saatgut für Karotten
minetest.register_craftitem("farming_plus:carrot_seed", {
description = S("Carrot Seeds"),
inventory_image = "farming_carrot_seed.png",
description = S("Carrot Seeds"), -- Beschreibung des Saatguts
inventory_image = "farming_carrot_seed.png", -- Bild für das Saatgut im Inventar
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming_plus:carrot_1")
end
})

-- Registriere die erste Phase der Karottenpflanze
minetest.register_node("farming_plus:carrot_1", {
paramtype = "light",
walkable = false,
drawtype = "plantlike",
drop = "",
tiles = {"farming_carrot_1.png"},
tiles = {"farming_carrot_1.png"}, -- Textur für die erste Phase
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.5+3/16, 0.5}
},
},
groups = {snappy=3, flammable=2, not_in_creative_inventory=1,plant=1},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Pflanze
})

-- Registriere die zweite Phase der Karottenpflanze
minetest.register_node("farming_plus:carrot_2", {
paramtype = "light",
walkable = false,
drawtype = "plantlike",
drop = "",
tiles = {"farming_carrot_2.png"},
tiles = {"farming_carrot_2.png"}, -- Textur für die zweite Phase
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.5+5/16, 0.5}
},
},
groups = {snappy=3, flammable=2, not_in_creative_inventory=1,plant=1},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Pflanze
})

-- Registriere die dritte Phase der Karottenpflanze
minetest.register_node("farming_plus:carrot_3", {
paramtype = "light",
walkable = false,
drawtype = "plantlike",
drop = "",
tiles = {"farming_carrot_3.png"},
tiles = {"farming_carrot_3.png"}, -- Textur für die dritte Phase
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.5+12/16, 0.5}
},
},
groups = {snappy=3, flammable=2, not_in_creative_inventory=1,plant=1},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Pflanze
})

-- Registriere die reife Karottenpflanze
minetest.register_node("farming_plus:carrot", {
paramtype = "light",
walkable = false,
drawtype = "plantlike",
tiles = {"farming_carrot_4.png"},
tiles = {"farming_carrot_4.png"}, -- Textur für reife Karotten
drop = {
max_items = 6,
items = {
Expand All @@ -75,13 +90,15 @@ minetest.register_node("farming_plus:carrot", {
}
},
groups = {snappy=3, flammable=2, not_in_creative_inventory=1,plant=1},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Pflanze
})

-- Registriere die Karotten als Handwerksgegenstand
minetest.register_craftitem("farming_plus:carrot_item", {
description = S("Carrot"),
inventory_image = "farming_carrot.png",
on_use = minetest.item_eat(3),
description = S("Carrot"), -- Beschreibung der Karotte
inventory_image = "farming_carrot.png", -- Bild für die Karotte im Inventar
on_use = minetest.item_eat(3), -- Essen der Karotte gibt 3 Lebenspunkte zurück
})

-- Füge die Karottenpflanze zur Liste der anbaubaren Pflanzen hinzu
farming.add_plant("farming_plus:carrot", {"farming_plus:carrot_1", "farming_plus:carrot_2", "farming_plus:carrot_3"}, 50, 20)
59 changes: 38 additions & 21 deletions cocoa.lua
Original file line number Diff line number Diff line change
@@ -1,26 +1,38 @@
-- main `S` code in init.lua
-- Hauptcode für 'S' in init.lua
local S
S = farming.S

-- Überprüfe, ob die Variablen 'farming' und 'farming.S' existieren
if farming and farming.S then
-- Wenn sie existieren, weise 'farming.S' der Variable 'S' zu
S = farming.S
else
-- Wenn nicht, erstelle eine Dummy-Funktion für 'S'
S = function (s) return s end
-- Gib eine Warnmeldung aus
print("Warnung: farming.S ist nil, es wird stattdessen eine Dummy-Funktion verwendet.")
end

-- Registriere den Baumsetzling für den Kakaobaum
minetest.register_node("farming_plus:cocoa_sapling", {
description = S("Cocoa Tree Sapling"),
description = S("Cocoa Tree Sapling"), -- Beschreibung des Setzlings
drawtype = "plantlike",
tiles = {"farming_cocoa_sapling.png"},
inventory_image = "farming_cocoa_sapling.png",
wield_image = "farming_cocoa_sapling.png",
tiles = {"farming_cocoa_sapling.png"}, -- Textur des Setzlings
inventory_image = "farming_cocoa_sapling.png", -- Bild für den Setzling im Inventar
wield_image = "farming_cocoa_sapling.png", -- Bild für den Setzling beim Halten
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} -- Auswahlbox für den Setzling
},
groups = {dig_immediate=3,flammable=2},
sounds = default.node_sound_defaults(),
groups = {dig_immediate=3, flammable=2}, -- Gruppeneinstellungen für den Setzling
sounds = default.node_sound_defaults(), -- Klangeffekte für den Setzling
})

-- Registriere die Kakaoblätter
minetest.register_node("farming_plus:cocoa_leaves", {
drawtype = "allfaces_optional",
tiles = {"farming_banana_leaves.png"},
tiles = {"farming_banana_leaves.png"}, -- Textur der Blätter
paramtype = "light",
groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1},
drop = {
Expand All @@ -32,9 +44,10 @@ minetest.register_node("farming_plus:cocoa_leaves", {
},
}
},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults(), -- Klangeffekte für die Blätter
})

-- Registriere das Wachstum des Kakaobaums
minetest.register_abm({
nodenames = {"farming_plus:cocoa_sapling"},
interval = 60,
Expand All @@ -44,6 +57,7 @@ minetest.register_abm({
end
})

-- Registriere das Erscheinen von Kakaobäumen in der Welt
minetest.register_on_generated(function(minp, maxp, blockseed)
if math.random(1, 100) > 5 then
return
Expand All @@ -55,27 +69,30 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
end
end)

-- Registriere den Kakaobaum selbst
minetest.register_node("farming_plus:cocoa", {
description = S("Cocoa"),
tiles = {"farming_cocoa.png"},
description = S("Cocoa"), -- Beschreibung des Baums
tiles = {"farming_cocoa.png"}, -- Textur des Baums
visual_scale = 0.5,
inventory_image = "farming_cocoa.png",
wield_image = "farming_cocoa.png",
inventory_image = "farming_cocoa.png", -- Bild für den Baum im Inventar
wield_image = "farming_cocoa.png", -- Bild für den Baum beim Halten
drawtype = "torchlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=3,leafdecay_drop=1},
sounds = default.node_sound_defaults(),
groups = {fleshy=3, dig_immediate=3, flammable=2, leafdecay=3, leafdecay_drop=1}, -- Gruppeneinstellungen für den Baum
sounds = default.node_sound_defaults(), -- Klangeffekte für den Baum
})

-- Registriere die Kakaobohne als Handwerksgegenstand
minetest.register_craftitem("farming_plus:cocoa_bean", {
description = "Cocoa Bean",
inventory_image = "farming_cocoa_bean.png",
description = "Cocoa Bean", -- Beschreibung der Bohne
inventory_image = "farming_cocoa_bean.png", -- Bild für die Bohne im Inventar
})

-- Registriere das Handwerksrezept für Kakaobohnen
minetest.register_craft({
output = "farming_plus:cocoa_bean 10",
output = "farming_plus:cocoa_bean 10", -- Ausgabe und Menge der Bohnen
type = "shapeless",
recipe = {"farming_plus:cocoa"},
recipe = {"farming_plus:cocoa"}, -- Rezept: Ein Kakaobaum wird zu Bohnen verarbeitet
})
6 changes: 6 additions & 0 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ else
farming.S = function ( s ) return s end
end

--adds a function for adding a plant to the game
function farming.add_plant(full_grown, names, interval, chance)
minetest.register_abm({
nodenames = names,
Expand Down Expand Up @@ -51,6 +52,7 @@ function farming.add_plant(full_grown, names, interval, chance)
})
end

--adds a function for generating a Tree
function farming.generate_tree(pos, trunk, leaves, underground, replacements)
pos.y = pos.y-1
local nodename = minetest.get_node(pos).name
Expand Down Expand Up @@ -145,6 +147,7 @@ function farming.generate_tree(pos, trunk, leaves, underground, replacements)
end
end

--Tabelle named `farming.seeds`, to save all seed types and there data.
farming.seeds = {
["farming:pumpkin_seed"]=60,
["farming_plus:strawberry_seed"]=30,
Expand Down Expand Up @@ -210,6 +213,8 @@ minetest.register_on_generated(function(minp, maxp, seed)
end
end)

--adds the function to set seeds on a node

function farming.place_seed(itemstack, placer, pointed_thing, plantname)

-- Call on_rightclick if the pointed node defines it
Expand Down Expand Up @@ -280,6 +285,7 @@ for lvl = 1, 6, 1 do
})
end

-- registering of the aliases.

minetest.register_alias("farming:cotton", "farming:cotton_3")
minetest.register_alias("farming:wheat_harvested", "farming:wheat")
Expand Down
Loading