removed hbsprint
|
@ -53,6 +53,7 @@ Change the following default settings by going to Main Menu>>Settings(Tab)>>All
|
|||
armor_material_gold = true
|
||||
armor_material_mithril = true
|
||||
armor_material_crystal = true
|
||||
armor_material_nether = true
|
||||
|
||||
### Initialization glitches when a player first joins
|
||||
**Increase to prevent glitches**
|
||||
|
|
|
@ -134,6 +134,7 @@ armor = {
|
|||
mithril = "moreores:mithril_ingot",
|
||||
crystal = "ethereal:crystal_ingot",
|
||||
lava = "lavastuff:ingot",
|
||||
nether = "nether:nether_ingot",
|
||||
},
|
||||
fire_nodes = {
|
||||
{"nether:lava_source", 5, 8},
|
||||
|
@ -179,6 +180,7 @@ armor.config = {
|
|||
material_mithril = true,
|
||||
material_crystal = true,
|
||||
material_lava = true,
|
||||
material_nether = true,
|
||||
set_elements = "head torso legs feet shield",
|
||||
set_multiplier = 1.1,
|
||||
water_protect = true,
|
||||
|
|
|
@ -15,6 +15,7 @@ ARMOR_MATERIALS = {
|
|||
gold = "default:gold_ingot",
|
||||
mithril = "moreores:mithril_ingot",
|
||||
crystal = "ethereal:crystal_ingot",
|
||||
nether = "nether:nether_ingot",
|
||||
}
|
||||
|
||||
-- Enable fire protection (defaults true if using ethereal mod)
|
||||
|
|
|
@ -868,6 +868,92 @@ if armor.materials.crystal then
|
|||
end
|
||||
|
||||
|
||||
--- Nether
|
||||
--
|
||||
-- Requires `armor_material_nether`.
|
||||
--
|
||||
-- @section nether
|
||||
|
||||
if armor.materials.nether then
|
||||
--- Nether Helmet
|
||||
--
|
||||
-- @helmet 3d_armor:helmet_nether
|
||||
-- @img 3d_armor_inv_helmet_nether.png
|
||||
-- @grp armor_head 1
|
||||
-- @grp armor_heal 14
|
||||
-- @grp armor_use 200
|
||||
-- @grp armor_fire 1
|
||||
-- @armorgrp fleshy 18
|
||||
-- @damagegrp cracky 3
|
||||
-- @damagegrp snappy 2
|
||||
-- @damagegrp level 3
|
||||
armor:register_armor("3d_armor:helmet_nether", {
|
||||
description = S("Nether Helmet"),
|
||||
inventory_image = "3d_armor_inv_helmet_nether.png",
|
||||
groups = {armor_head=1, armor_heal=14, armor_use=100, armor_fire=1},
|
||||
armor_groups = {fleshy=18},
|
||||
damage_groups = {cracky=3, snappy=2, level=3},
|
||||
})
|
||||
--- Nether Chestplate
|
||||
--
|
||||
-- @chestplate 3d_armor:chestplate_nether
|
||||
-- @img 3d_armor_inv_chestplate_nether.png
|
||||
-- @grp armor_torso 1
|
||||
-- @grp armor_heal 14
|
||||
-- @grp armor_use 200
|
||||
-- @grp armor_fire 1
|
||||
-- @armorgrp fleshy 25
|
||||
-- @damagegrp cracky 3
|
||||
-- @damagegrp snappy 2
|
||||
-- @damagegrp level 3
|
||||
armor:register_armor("3d_armor:chestplate_nether", {
|
||||
description = S("Nether Chestplate"),
|
||||
inventory_image = "3d_armor_inv_chestplate_nether.png",
|
||||
groups = {armor_torso=1, armor_heal=14, armor_use=200, armor_fire=1},
|
||||
armor_groups = {fleshy=25},
|
||||
damage_groups = {cracky=3, snappy=2, level=3},
|
||||
})
|
||||
--- Nether Leggings
|
||||
--
|
||||
-- @leggings 3d_armor:leggings_nether
|
||||
-- @img 3d_armor_inv_leggings_nether.png
|
||||
-- @grp armor_legs 1
|
||||
-- @grp armor_heal 14
|
||||
-- @grp armor_use 200
|
||||
-- @grp armor_fire 1
|
||||
-- @armorgrp fleshy 25
|
||||
-- @damagegrp cracky 3
|
||||
-- @damagegrp snappy 2
|
||||
-- @damagegrp level 3
|
||||
armor:register_armor("3d_armor:leggings_nether", {
|
||||
description = S("Nether Leggings"),
|
||||
inventory_image = "3d_armor_inv_leggings_nether.png",
|
||||
groups = {armor_legs=1, armor_heal=14, armor_use=200, armor_fire=1},
|
||||
armor_groups = {fleshy=25},
|
||||
damage_groups = {cracky=3, snappy=2, level=3},
|
||||
})
|
||||
--- Nether Boots
|
||||
--
|
||||
-- @boots 3d_armor:boots_nether
|
||||
-- @img 3d_armor_inv_boots_nether.png
|
||||
-- @grp armor_feet 1
|
||||
-- @grp armor_heal 14
|
||||
-- @grp armor_use 200
|
||||
-- @grp armor_fire 1
|
||||
-- @armorgrp fleshy 18
|
||||
-- @damagegrp cracky 3
|
||||
-- @damagegrp snappy 2
|
||||
-- @damagegrp level 3
|
||||
armor:register_armor("3d_armor:boots_nether", {
|
||||
description = S("Nether Boots"),
|
||||
inventory_image = "3d_armor_inv_boots_nether.png",
|
||||
groups = {armor_feet=1, armor_heal=14, armor_use=200, armor_fire=1},
|
||||
armor_groups = {fleshy=18},
|
||||
damage_groups = {cracky=3, snappy=2, level=3},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
--- Crafting
|
||||
--
|
||||
-- @section craft
|
||||
|
@ -886,6 +972,7 @@ end
|
|||
-- - gold: default:gold_ingot
|
||||
-- - mithril: moreores:mithril_ingot
|
||||
-- - crystal: ethereal:crystal_ingot
|
||||
-- - nether: nether:nether_ingot
|
||||
--
|
||||
-- helmet: chestplate: leggings:
|
||||
-- ┌───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┐
|
||||
|
|
|
@ -19,6 +19,7 @@ Helmets:
|
|||
[3d_armor:helmet_gold] X = [default:gold_ingot]
|
||||
[3d_armor:helmet_mithril] X = [moreores:mithril_ingot] *
|
||||
[3d_armor:helmet_crystal] X = [ethereal:crystal_ingot] **
|
||||
[3d_armor:helmet_nether] X = [ethereal:nether_ingot] **
|
||||
|
||||
Chestplates:
|
||||
|
||||
|
@ -38,6 +39,7 @@ Chestplates:
|
|||
[3d_armor:chestplate_gold] X = [default:gold_ingot]
|
||||
[3d_armor:chestplate_mithril] X = [moreores:mithril_ingot] *
|
||||
[3d_armor:chestplate_crystal] X = [ethereal:crystal_ingot] **
|
||||
[3d_armor:chestplate_nether] X = [ethereal:nether_ingot] **
|
||||
|
||||
Leggings:
|
||||
|
||||
|
@ -57,6 +59,7 @@ Leggings:
|
|||
[3d_armor:leggings_gold] X = [default:gold_ingot]
|
||||
[3d_armor:leggings_mithril] X = [moreores:mithril_ingot] *
|
||||
[3d_armor:leggings_crystal] X = [ethereal:crystal_ingot] **
|
||||
[3d_armor:leggings_nether] X = [ethereal:nether_ingot] **
|
||||
|
||||
Boots:
|
||||
|
||||
|
@ -74,6 +77,8 @@ Boots:
|
|||
[3d_armor:boots_gold] X = [default:gold_ingot]
|
||||
[3d_armor:boots_mithril] X = [moreores:mithril_ingot] *
|
||||
[3d_armor:boots_crystal] X = [ethereal:crystal_ingot] **
|
||||
[3d_armor:boots_nether] X = [ethereal:nether_ingot] **
|
||||
|
||||
* Requires moreores mod by Calinou - https://forum.minetest.net/viewtopic.php?id=549
|
||||
** Requires ethereal mod by Chinchow & TenPlus1 - https://github.com/tenplus1/ethereal
|
||||
** Requires nether mod - https://github.com/minetest-mods/nether.git
|
||||
|
|
|
@ -6,3 +6,4 @@ fire?
|
|||
ethereal?
|
||||
bakedclay?
|
||||
moreores?
|
||||
nether?
|
||||
|
|
|
@ -104,6 +104,9 @@ end
|
|||
if not minetest.get_modpath("ethereal") then
|
||||
armor.materials.crystal = nil
|
||||
end
|
||||
if not minetest.get_modpath("nether") then
|
||||
armor.materials.nether = nil
|
||||
end
|
||||
|
||||
dofile(modpath.."/armor.lua")
|
||||
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
# textdomain: 3d_armor
|
||||
|
||||
|
||||
### api.lua ###
|
||||
|
||||
3d_armor: Detached armor inventory is nil @1=3d_armor : Abgetrennter Rüstungsbestand ist nicht gesetzt: @1
|
||||
3d_armor: Player name is nil @1=3d_armor : Spielername ist nicht gesetzt: @1
|
||||
3d_armor: Player reference is nil @1=3d_armor : Spielerreferenz ist nicht gesetzt: @1
|
||||
|
||||
### armor.lua ###
|
||||
|
||||
Admin Boots=Adminstiefel
|
||||
Admin Chestplate=Adminbrustplatte
|
||||
Admin Helmet=Adminhelm
|
||||
Admin Leggings=Adminhose
|
||||
Bronze Boots=Bronzestiefel
|
||||
Bronze Chestplate=Bronzebrustplatte
|
||||
Bronze Helmet=Bronzehelm
|
||||
Bronze Leggings=Bronzehose
|
||||
Cactus Boots=Kaktusstiefel
|
||||
Cactus Chestplate=Kaktusbrustplatte
|
||||
Cactus Helmet=Kaktushelm
|
||||
Cactus Leggings=Kaktushose
|
||||
Crystal Boots=Kristallstiefel
|
||||
Crystal Chestplate=Kristallbrustplatte
|
||||
Crystal Helmet=Kristallhelm
|
||||
Crystal Leggings=Kristallhose
|
||||
Nether Boots=Netherstiefel
|
||||
Nether Chestplate=Netherbrustplatte
|
||||
Nether Helmet=Netherhelm
|
||||
Nether Leggings=Netherhose
|
||||
Diamond Boots=Diamantstiefel
|
||||
Diamond Chestplate=Diamantbrustplatte
|
||||
Diamond Helmet=Diamanthelm
|
||||
Diamond Leggings=Diamanthose
|
||||
Gold Boots=Goldstiefel
|
||||
Gold Chestplate=Goldbrustplatte
|
||||
Gold Helmet=Goldhelm
|
||||
Gold Leggings=Goldhose
|
||||
Mithril Boots=Mithrilstiefel
|
||||
Mithril Chestplate=Mithrilbrustplatte
|
||||
Mithril Helmet=Mithrilhelm
|
||||
Mithril Leggings=Mithrilhose
|
||||
Steel Boots=Stahlstiefel
|
||||
Steel Chestplate=Stahlbrustplatte
|
||||
Steel Helmet=Stahlhelm
|
||||
Steel Leggings=Stahlhose
|
||||
Wood Boots=Holzstiefel
|
||||
Wood Chestplate=Holzbrustplatte
|
||||
Wood Helmet=Holzhelm
|
||||
Wood Leggings=Holzhose
|
||||
|
||||
### init.lua ###
|
||||
|
||||
3d_armor: Failed to initialize player=3d_armor : Initialisierung des Spielers fehlgeschlagen
|
||||
Fire=Feuer
|
||||
Heal=Heilen
|
||||
Level=Stufe
|
||||
Radiation=Strahlen
|
||||
Your @1 got destroyed!=Deine @1 wurde zerstört!
|
||||
Your @1 is almost broken!=Deine @1 ist fast kaputt!
|
||||
[3d_armor] Fire Nodes disabled=[3d_armor] Feuer-Knoten deaktiviert
|
|
@ -25,6 +25,10 @@ Crystal Boots=Botas de cristal
|
|||
Crystal Chestplate=Peto de cristal
|
||||
Crystal Helmet=Casco de cristal
|
||||
Crystal Leggings=Grebas de cristal
|
||||
Nether Boots=Botas de nether
|
||||
Nether Chestplate=Peto de nether
|
||||
Nether Helmet=Casco de nether
|
||||
Nether Leggings=Grebas de nether
|
||||
Diamond Boots=Botas de diamante
|
||||
Diamond Chestplate=Peto de diamante
|
||||
Diamond Helmet=Casco de diamante
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=Bottes en cristal
|
|||
Crystal Chestplate=Cuirasse en cristal
|
||||
Crystal Helmet=Casque en cristal
|
||||
Crystal Leggings=Jambières en cristal
|
||||
Nether Boots=Bottes en nether
|
||||
Nether Chestplate=Cuirasse en nether
|
||||
Nether Helmet=Casque en nether
|
||||
Nether Leggings=Jambières en nether
|
||||
Diamond Boots=Bottes en diamant
|
||||
Diamond Chestplate=Cuirasse en diamant
|
||||
Diamond Helmet=Casque en diamant
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=Stivali di cristallo
|
|||
Crystal Chestplate=Corazza di cristallo
|
||||
Crystal Helmet=Elmo di cristallo
|
||||
Crystal Leggings=Gambali di cristallo
|
||||
Nether Boots=Stivali di nether
|
||||
Nether Chestplate=Corazza di nether
|
||||
Nether Helmet=Elmo di nether
|
||||
Nether Leggings=Gambali di nether
|
||||
Diamond Boots=Stivali di diamante
|
||||
Diamond Chestplate=Corazza di diamante
|
||||
Diamond Helmet=Elmo di diamante
|
||||
|
@ -83,3 +87,4 @@ Diamond Shield=Scudo di diamante
|
|||
Gold Shield=Scudo d'oro
|
||||
Mithril Shield=Scudo di mithril
|
||||
Crystal Shield=Scudo di cristallo
|
||||
Nether Shield=Scudo di nether
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=But Kristal
|
|||
Crystal Chestplate=Perisai Dada Kristal
|
||||
Crystal Helmet=Helmet Kristal
|
||||
Crystal Leggings=Perisai Kaki Kristal
|
||||
Nether Boots=But Nether
|
||||
Nether Chestplate=Perisai Dada Nether
|
||||
Nether Helmet=Helmet Nether
|
||||
Nether Leggings=Perisai Kaki Nether
|
||||
Diamond Boots=But Intan
|
||||
Diamond Chestplate=Perisai Dada Intan
|
||||
Diamond Helmet=Helmet Intan
|
||||
|
@ -83,3 +87,4 @@ Diamond Shield=Perisai Pegang Intan
|
|||
Gold Shield=Perisai Pegang Emas
|
||||
Mithril Shield=Perisai Pegang Mithril
|
||||
Crystal Shield=Perisai Pegang Kristal
|
||||
Nether Shield=Perisai Pegang Nether
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=Botas de Cristal
|
|||
Crystal Chestplate=Peitoral de Cristal
|
||||
Crystal Helmet=Capacete de Cristal
|
||||
Crystal Leggings=Calças de Cristal
|
||||
Nether Boots=Botas de Nether
|
||||
Nether Chestplate=Peitoral de Nether
|
||||
Nether Helmet=Capacete de Nether
|
||||
Nether Leggings=Calças de Nether
|
||||
Diamond Boots=Botas de Diamante
|
||||
Diamond Chestplate=Peitoral de Diamante
|
||||
Diamond Helmet=Capacete de Diamante
|
||||
|
@ -83,3 +87,4 @@ Diamond Shield=Escudo de Diamante
|
|||
Gold Shield=Escudo de Ouro
|
||||
Mithril Shield=Escudo de Mithril
|
||||
Crystal Shield=Escudo de Cristal
|
||||
Nether Shield=Escudo de Nether
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=Botas de Cristal
|
|||
Crystal Chestplate=Peitoral de Cristal
|
||||
Crystal Helmet=Capacete de Cristal
|
||||
Crystal Leggings=Calças de Cristal
|
||||
Nether Boots=Botas de Nether
|
||||
Nether Chestplate=Peitoral de Nether
|
||||
Nether Helmet=Capacete de Nether
|
||||
Nether Leggings=Calças de Nether
|
||||
Diamond Boots=Botas de Diamante
|
||||
Diamond Chestplate=Peitoral de Diamante
|
||||
Diamond Helmet=Capacete de Diamante
|
||||
|
@ -83,3 +87,4 @@ Diamond Shield=Escudo de Diamante
|
|||
Gold Shield=Escudo de Ouro
|
||||
Mithril Shield=Escudo de Mithril
|
||||
Crystal Shield=Escudo de Cristal
|
||||
Nether Shield=Escudo de Nether
|
||||
|
|
|
@ -25,6 +25,10 @@ Crystal Boots=
|
|||
Crystal Chestplate=
|
||||
Crystal Helmet=
|
||||
Crystal Leggings=
|
||||
Nether Boots=
|
||||
Nether Chestplate=
|
||||
Nether Helmet=
|
||||
Nether Leggings=
|
||||
Diamond Boots=
|
||||
Diamond Chestplate=
|
||||
Diamond Helmet=
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name = 3d_armor
|
||||
depends = default
|
||||
optional_depends = player_monoids, armor_monoid, pova, fire, ethereal, bakedclay, moreores
|
||||
optional_depends = player_monoids, armor_monoid, pova, fire, ethereal, bakedclay, moreores, nether
|
||||
description = Adds craftable armor that is visible to other players.
|
||||
|
|
After Width: | Height: | Size: 324 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 581 B |
After Width: | Height: | Size: 384 B |
After Width: | Height: | Size: 525 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 322 B |
After Width: | Height: | Size: 386 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 297 B |
After Width: | Height: | Size: 406 B |
After Width: | Height: | Size: 255 B |
|
@ -38,6 +38,11 @@
|
|||
3d_armor/textures/3d_armor_leggings_crystal.png:legs
|
||||
3d_armor/textures/3d_armor_boots_crystal.png:feet
|
||||
|
||||
3d_armor/textures/3d_armor_helmet_nether.png:head
|
||||
3d_armor/textures/3d_armor_chestplate_nether.png:torso
|
||||
3d_armor/textures/3d_armor_leggings_nether.png:legs
|
||||
3d_armor/textures/3d_armor_boots_nether.png:feet
|
||||
|
||||
3d_armor/textures/3d_armor_helmet_admin.png:head
|
||||
3d_armor/textures/3d_armor_chestplate_admin.png:torso
|
||||
3d_armor/textures/3d_armor_leggings_admin.png:legs
|
||||
|
|
|
@ -8,6 +8,7 @@ armor_material_diamond (Enable diamond armor) bool true
|
|||
armor_material_gold (Enable gold armor) bool true
|
||||
armor_material_mithril (Enable mithril armor) bool true
|
||||
armor_material_crystal (Enable crystal armor) bool true
|
||||
armor_material_nether (Enable nether armor) bool true
|
||||
|
||||
# Increase this if you get initialization glitches when a player first joins.
|
||||
armor_init_delay (Initialization delay) int 2
|
||||
|
|
|
@ -17,6 +17,7 @@ Shields -- Crafting Guide
|
|||
[shields:shield_gold] X = [default:gold_ingot]
|
||||
[shields:shield_mithril] X = [moreores:mithril_ingot]
|
||||
[shields:shield_crystal] X = [ethereal:crystal_ingot]
|
||||
[shields:shield_nether] X = [ethereal:nether_ingot]
|
||||
|
||||
Enhanced Shields
|
||||
----------------
|
||||
|
|
|
@ -370,6 +370,35 @@ if armor.materials.crystal then
|
|||
})
|
||||
end
|
||||
|
||||
if armor.materials.nether then
|
||||
--- Nether Shield
|
||||
--
|
||||
-- @shield shields:shield_nether
|
||||
-- @img shields_inv_shield_nether.png
|
||||
-- @grp armor_shield 1
|
||||
-- @grp armor_heal 17
|
||||
-- @grp armor_use 200
|
||||
-- @grp armor_fire 1
|
||||
-- @armorgrp fleshy 20
|
||||
-- @damagegrp cracky 3
|
||||
-- @damagegrp snappy 2
|
||||
-- @damagegrp level 3
|
||||
armor:register_armor("shields:shield_nether", {
|
||||
description = S("Nether Shield"),
|
||||
inventory_image = "shields_inv_shield_nether.png",
|
||||
groups = {armor_shield=1, armor_heal=17, armor_use=200, armor_fire=1},
|
||||
armor_groups = {fleshy=20},
|
||||
damage_groups = {cracky=3, snappy=2, level=3},
|
||||
reciprocate_damage = true,
|
||||
on_damage = function(player, index, stack)
|
||||
play_sound_effect(player, "default_glass_footstep")
|
||||
end,
|
||||
on_destroy = function(player, index, stack)
|
||||
play_sound_effect(player, "default_break_glass")
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
for k, v in pairs(armor.materials) do
|
||||
minetest.register_craft({
|
||||
output = "shields:shield_"..k,
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# textdomain: shields
|
||||
|
||||
|
||||
### init.lua ###
|
||||
|
||||
Admin Shield=Adminschild
|
||||
Bronze Shield=Bronzeschild
|
||||
Cactus Shield=Kaktusschild
|
||||
Crystal Shield=Kristallschild
|
||||
Nether Shield=Netherschild
|
||||
Diamond Shield=Diamantschild
|
||||
Enhanced Cactus Shield=verbessert Kaktusschild
|
||||
Enhanced Wood Shield=verbessert Holzschild
|
||||
Gold Shield=Goldschild
|
||||
Mithril Shield=Mithrilschild
|
||||
Steel Shield=Stahlschild
|
||||
Wooden Shield=Holzschild
|
|
@ -7,6 +7,7 @@ Admin Shield=Bouclier d'admin
|
|||
Bronze Shield=Bouclier en bronze
|
||||
Cactus Shield=Bouclier en cactus
|
||||
Crystal Shield=Bouclier en cristal
|
||||
Nether Shield=Bouclier en nether
|
||||
Diamond Shield=Bouclier en diamant
|
||||
Enhanced Cactus Shield=Bouclier en cactus amélioré
|
||||
Enhanced Wood Shield=Bouclier en bois amélioré
|
||||
|
|
|
@ -7,6 +7,7 @@ Admin Shield=
|
|||
Bronze Shield=
|
||||
Cactus Shield=
|
||||
Crystal Shield=
|
||||
Nether Shield=
|
||||
Diamond Shield=
|
||||
Enhanced Cactus Shield=
|
||||
Enhanced Wood Shield=
|
||||
|
|
|
@ -8,4 +8,5 @@ shields/textures/shields_shield_gold.png:shield
|
|||
shields/textures/shields_shield_diamond.png:shield
|
||||
shields/textures/shields_shield_mithril.png:shield
|
||||
shields/textures/shields_shield_crystal.png:shield
|
||||
shields/textures/shields_shield_nether.png:shield
|
||||
shields/textures/shields_shield_admin.png:shield
|
||||
|
|
After Width: | Height: | Size: 468 B |
After Width: | Height: | Size: 518 B |
After Width: | Height: | Size: 517 B |
|
@ -298,6 +298,26 @@ aquaz.grass= {
|
|||
special_tiles = "aquaz_stars_anemons_2.png",
|
||||
drop = "aquaz:tall_grass"
|
||||
},
|
||||
{
|
||||
name = "aquaz:aquamarine_coral_branch",
|
||||
description= "Aquamarine Coral Branch",
|
||||
special_tiles = "aquaz_aquamarine_coral_branch.png",
|
||||
},
|
||||
{
|
||||
name = "aquaz:pink_birdnest_coral",
|
||||
description= "Pink Birdnest Coral",
|
||||
special_tiles = "aquaz_pink_birdnest_coral.png",
|
||||
},
|
||||
{
|
||||
name = "aquaz:sea_cucumbers",
|
||||
description= "Sea Cucumbers",
|
||||
special_tiles = "aquaz_sea_cucumbers.png",
|
||||
},
|
||||
{
|
||||
name = "aquaz:sword_plant",
|
||||
description= "Aquatic Sword Plant",
|
||||
special_tiles = "aquaz_sword_plant.png",
|
||||
},
|
||||
}
|
||||
|
||||
for i = 1, #aquaz.grass do
|
||||
|
@ -308,7 +328,7 @@ for i = 1, #aquaz.grass do
|
|||
drop = aquaz.grass[i].name
|
||||
end
|
||||
minetest.register_node(aquaz.grass[i].name, {
|
||||
description = aquaz.grass[i].description,
|
||||
description = S(aquaz.grass[i].description),
|
||||
drawtype = "plantlike_rooted",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
|
@ -410,7 +430,7 @@ if mg_name ~= "v6" and mg_name ~= "singlenode" then
|
|||
offset = 0.0005,
|
||||
scale = 0.04,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 733,
|
||||
seed = 343,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
|
@ -453,6 +473,118 @@ if mg_name ~= "v6" and mg_name ~= "singlenode" then
|
|||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
minetest.register_decoration({
|
||||
name = "aquaz:aquamarine_coral_branch",
|
||||
decoration = {
|
||||
"aquaz:aquamarine_coral_branch",
|
||||
},
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0005,
|
||||
scale = 0.04,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 82,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {
|
||||
"grassland_ocean",
|
||||
"coniferous_forest_ocean",
|
||||
"deciduous_forest_ocean"
|
||||
},
|
||||
y_max = -5,
|
||||
y_min = -10,
|
||||
flags = "force_placement",
|
||||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
minetest.register_decoration({
|
||||
name = "aquaz:pink_birdnest_coral",
|
||||
decoration = {
|
||||
"aquaz:pink_birdnest_coral",
|
||||
},
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0005,
|
||||
scale = 0.04,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 1729,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {
|
||||
"grassland_ocean",
|
||||
"coniferous_forest_ocean",
|
||||
"deciduous_forest_ocean"
|
||||
},
|
||||
y_max = -5,
|
||||
y_min = -10,
|
||||
flags = "force_placement",
|
||||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
minetest.register_decoration({
|
||||
name = "aquaz:sea_cucumbers",
|
||||
decoration = {
|
||||
"aquaz:sea_cucumbers",
|
||||
},
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0005,
|
||||
scale = 0.04,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 568,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {
|
||||
"grassland_ocean",
|
||||
"coniferous_forest_ocean",
|
||||
"deciduous_forest_ocean"
|
||||
},
|
||||
y_max = -5,
|
||||
y_min = -10,
|
||||
flags = "force_placement",
|
||||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
minetest.register_decoration({
|
||||
name = "aquaz:sword_plant",
|
||||
decoration = {
|
||||
"aquaz:sword_plant",
|
||||
},
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0005,
|
||||
scale = 0.04,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 568,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {
|
||||
"grassland_ocean",
|
||||
"coniferous_forest_ocean",
|
||||
"deciduous_forest_ocean"
|
||||
},
|
||||
y_max = -5,
|
||||
y_min = -10,
|
||||
flags = "force_placement",
|
||||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
end
|
||||
|
||||
--Wrecked Pillar
|
||||
|
|
|
@ -14,3 +14,13 @@ Wrecked Pillar Capital=Capitel de pilar ruinoso
|
|||
Purple Alga Remains=Restos de alga púrpura
|
||||
Orange Alga Remains=Restos de alga naranja
|
||||
Red Alga Remains=Restos de alga roja
|
||||
Red Alga Remains=Restos de alga roja
|
||||
Aquatic Grass=Hierba acuática
|
||||
Aquatic Tall Grass=Hierba acuática alta
|
||||
Grass with Stars and Anemons=Hierba con estrellas y anémonas
|
||||
Aquamarine Coral Branch=Rama de coral aguamarina
|
||||
Pink Birdnest Coral=Coral nido de pájaro rosa
|
||||
Sea Cucumbers=Pepinos de mar
|
||||
Aquatic Sword Plant=Planta espada acuática
|
||||
|
||||
|
||||
|
|
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 8.7 KiB |
|
@ -1,195 +1,3 @@
|
|||
schematic = {
|
||||
size = {x=5, y=7, z=5},
|
||||
yslice_prob = {
|
||||
{ypos=0, prob=254},
|
||||
{ypos=1, prob=254},
|
||||
{ypos=2, prob=254},
|
||||
{ypos=3, prob=254},
|
||||
{ypos=4, prob=254},
|
||||
{ypos=5, prob=254},
|
||||
{ypos=6, prob=254},
|
||||
},
|
||||
data = {
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:flower_creeper", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:flower_creeper", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:flower_creeper", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:pod", prob=254, param2=4},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:trunk", prob=254, param2=3},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:trunk", prob=254, param2=3},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:pod", prob=254, param2=2},
|
||||
{name="cacaotree:trunk", prob=254, param2=2},
|
||||
{name="cacaotree:pod", prob=254, param2=3},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=1},
|
||||
{name="cacaotree:trunk", prob=254, param2=1},
|
||||
{name="cacaotree:liana", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:pod", prob=254, param2=5},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:flower_creeper", prob=254, param2=2},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:flower_creeper", prob=254, param2=2},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=2},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:liana", prob=254, param2=2},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="cacaotree:leaves", prob=254, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
{name="air", prob=0, param2=0},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Cacao Tree
|
||||
--
|
||||
|
@ -402,7 +210,7 @@ minetest.register_node("cacaotree:leaves", {
|
|||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"cacaotree:sapling"}, rarity = 20},
|
||||
{items = {"cacaotree:sapling"}, rarity = 12},
|
||||
{items = {"cacaotree:leaves"}}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -168,7 +168,7 @@ minetest.register_node("cherrytree:blossom_leaves", {
|
|||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"cherrytree:sapling"}, rarity = 20},
|
||||
{items = {"cherrytree:sapling"}, rarity = 12},
|
||||
{items = {"cherrytree:blossom_leaves"}}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -145,7 +145,7 @@ minetest.register_node("clementinetree:leaves", {
|
|||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"clementinetree:sapling"}, rarity = 20},
|
||||
{items = {"clementinetree:sapling"}, rarity = 13},
|
||||
{items = {"clementinetree:leaves"}}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -166,7 +166,7 @@ minetest.register_node("lemontree:leaves", {
|
|||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"lemontree:sapling"}, rarity = 20},
|
||||
{items = {"lemontree:sapling"}, rarity = 15},
|
||||
{items = {"lemontree:leaves"}}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -145,7 +145,7 @@ minetest.register_node("pomegranate:leaves", {
|
|||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"pomegranate:sapling"}, rarity = 20},
|
||||
{items = {"pomegranate:sapling"}, rarity = 10},
|
||||
{items = {"pomegranate:leaves"}}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Hunger with HUD bar [`hbhunger`]
|
||||
|
||||
* Version: 1.0.1
|
||||
* Version: 1.1.2
|
||||
|
||||
## Using the mod
|
||||
|
||||
|
@ -39,7 +39,7 @@ All mods which add food through standard measures (`minetest.item_eat`) are alre
|
|||
supported automatically. Poisoned food needs special support.
|
||||
|
||||
### Known supported food mods
|
||||
* Apple from Minetest Game [`default`]
|
||||
* Apple and Blueberries from Minetest Game [`default`]
|
||||
* Red and brown mushroom from Minetest Game [`flowers`]
|
||||
* Bread from Minetest Game [`farming`]
|
||||
* [`animalmaterials`] (Mob Framework (`mobf` modpack))
|
||||
|
@ -72,10 +72,9 @@ supported automatically. Poisoned food needs special support.
|
|||
* Food ([`food`], [`food_basic`])
|
||||
* Sweet Foods [`food_sweet`]
|
||||
|
||||
### Examples
|
||||
### Example
|
||||
|
||||
* Eating an apple (from Minetest Game) increases your satiation by 2;
|
||||
* eating a bread (from Minetest Game) increases your satiation by 4.
|
||||
|
||||
## Licensing
|
||||
This mod is free software.
|
||||
|
@ -91,7 +90,7 @@ This mod is free software.
|
|||
|
||||
* `hbhunger_icon.png`—PilzAdam ([MIT License](https://opensource.org/licenses/MIT)), modified by BlockMen
|
||||
* `hbhunger_bgicon.png`—PilzAdam (MIT License), modified by BlockMen
|
||||
* `hbhunger_bar.png—Wuzzy` (MIT License)
|
||||
* `hbhunger_bar.png`—Wuzzy (MIT License)
|
||||
* `hbhunger_icon_health_poison.png`—celeron55 ([CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)), modified by BlockMen, modified again by Wuzzy
|
||||
* Everything else: MIT License, by BlockMen and Wuzzy
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@ function hbhunger.load_hunger(player)
|
|||
end
|
||||
|
||||
-- wrapper for minetest.item_eat (this way we make sure other mods can't break this one)
|
||||
local org_eat = core.do_item_eat
|
||||
core.do_item_eat = function(hp_change, replace_with_item, itemstack, user, pointed_thing)
|
||||
local org_eat = minetest.do_item_eat
|
||||
minetest.do_item_eat = function(hp_change, replace_with_item, itemstack, user, pointed_thing)
|
||||
local old_itemstack = itemstack
|
||||
itemstack = hbhunger.eat(hp_change, replace_with_item, itemstack, user, pointed_thing)
|
||||
for _, callback in pairs(core.registered_on_item_eats) do
|
||||
for _, callback in pairs(minetest.registered_on_item_eats) do
|
||||
local result = callback(hp_change, replace_with_item, itemstack, user, pointed_thing, old_itemstack)
|
||||
if result then
|
||||
return result
|
||||
|
@ -39,7 +39,7 @@ function hbhunger.eat(hp_change, replace_with_item, itemstack, user, pointed_thi
|
|||
def = {}
|
||||
if type(hp_change) ~= "number" then
|
||||
hp_change = 1
|
||||
core.log("error", "Wrong on_use() definition for item '" .. item .. "'")
|
||||
minetest.log("error", "Wrong on_use() definition for item '" .. item .. "'")
|
||||
end
|
||||
def.saturation = hp_change * 1.3
|
||||
def.replace = replace_with_item
|
||||
|
@ -79,18 +79,29 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound
|
|||
if h == nil or hp == nil then
|
||||
return
|
||||
end
|
||||
minetest.sound_play(
|
||||
{name = sound or "hbhunger_eat_generic",
|
||||
gain = 1},
|
||||
{object=user,
|
||||
max_hear_distance = 16,
|
||||
pitch = 1 + math.random(-10, 10)*0.005,}
|
||||
)
|
||||
if user:is_player() then
|
||||
local object, object_pos
|
||||
-- Check if user is a "fake player" (unofficial imitation of a the player data structure)
|
||||
if type(user) == "userdata" then
|
||||
object = user
|
||||
else
|
||||
object_pos = user:get_pos()
|
||||
end
|
||||
minetest.sound_play(
|
||||
{name = sound or "hbhunger_eat_generic",
|
||||
gain = 1},
|
||||
{object=object,
|
||||
pos=object_pos,
|
||||
max_hear_distance = 16,
|
||||
pitch = 1 + math.random(-10, 10)*0.005,},
|
||||
true
|
||||
)
|
||||
end
|
||||
|
||||
-- Saturation
|
||||
if h < 30 and hunger_change then
|
||||
if h < hbhunger.SAT_MAX and hunger_change then
|
||||
h = h + hunger_change
|
||||
if h > 30 then h = 30 end
|
||||
if h > hbhunger.SAT_MAX then h = hbhunger.SAT_MAX end
|
||||
hbhunger.hunger[name] = h
|
||||
hbhunger.set_hunger_raw(user)
|
||||
end
|
||||
|
@ -115,7 +126,7 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound
|
|||
if inv:room_for_item("main", replace_with_item) then
|
||||
inv:add_item("main", replace_with_item)
|
||||
else
|
||||
minetest.add_item(user:getpos(), replace_with_item)
|
||||
minetest.add_item(user:get_pos(), replace_with_item)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -123,336 +134,6 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound
|
|||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("default") ~= nil then
|
||||
hbhunger.register_food("default:apple", 2)
|
||||
end
|
||||
if minetest.get_modpath("flowers") ~= nil then
|
||||
hbhunger.register_food("flowers:mushroom_brown", 1)
|
||||
hbhunger.register_food("flowers:mushroom_red", 1, "", 3)
|
||||
end
|
||||
if minetest.get_modpath("farming") ~= nil then
|
||||
hbhunger.register_food("farming:bread", 4)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mobs") ~= nil then
|
||||
if mobs.mod ~= nil and mobs.mod == "redo" then
|
||||
hbhunger.register_food("mobs:cheese", 4)
|
||||
hbhunger.register_food("mobs:meat", 8)
|
||||
hbhunger.register_food("mobs:meat_raw", 4)
|
||||
hbhunger.register_food("mobs:rat_cooked", 4)
|
||||
hbhunger.register_food("mobs:honey", 2)
|
||||
hbhunger.register_food("mobs:pork_raw", 3, "", 3)
|
||||
hbhunger.register_food("mobs:pork_cooked", 8)
|
||||
hbhunger.register_food("mobs:chicken_cooked", 6)
|
||||
hbhunger.register_food("mobs:chicken_raw", 2, "", 3)
|
||||
hbhunger.register_food("mobs:chicken_egg_fried", 2)
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("mobs:bucket_milk", 3, "bucket:bucket_empty")
|
||||
end
|
||||
else
|
||||
hbhunger.register_food("mobs:meat", 6)
|
||||
hbhunger.register_food("mobs:meat_raw", 3)
|
||||
hbhunger.register_food("mobs:rat_cooked", 5)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moretrees") ~= nil then
|
||||
hbhunger.register_food("moretrees:coconut_milk", 1)
|
||||
hbhunger.register_food("moretrees:raw_coconut", 2)
|
||||
hbhunger.register_food("moretrees:acorn_muffin", 3)
|
||||
hbhunger.register_food("moretrees:spruce_nuts", 1)
|
||||
hbhunger.register_food("moretrees:pine_nuts", 1)
|
||||
hbhunger.register_food("moretrees:fir_nuts", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("dwarves") ~= nil then
|
||||
hbhunger.register_food("dwarves:beer", 2)
|
||||
hbhunger.register_food("dwarves:apple_cider", 1)
|
||||
hbhunger.register_food("dwarves:midus", 2)
|
||||
hbhunger.register_food("dwarves:tequila", 2)
|
||||
hbhunger.register_food("dwarves:tequila_with_lime", 2)
|
||||
hbhunger.register_food("dwarves:sake", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("animalmaterials") ~= nil then
|
||||
hbhunger.register_food("animalmaterials:milk", 2)
|
||||
hbhunger.register_food("animalmaterials:meat_raw", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_pork", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_beef", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_chicken", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_lamb", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_venison", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_undead", 3, "", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_toxic", 3, "", 5)
|
||||
hbhunger.register_food("animalmaterials:meat_ostrich", 3)
|
||||
hbhunger.register_food("animalmaterials:fish_bluewhite", 2)
|
||||
hbhunger.register_food("animalmaterials:fish_clownfish", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("fishing") ~= nil then
|
||||
hbhunger.register_food("fishing:fish_raw", 2)
|
||||
hbhunger.register_food("fishing:fish_cooked", 5)
|
||||
hbhunger.register_food("fishing:sushi", 6)
|
||||
hbhunger.register_food("fishing:shark", 4)
|
||||
hbhunger.register_food("fishing:shark_cooked", 8)
|
||||
hbhunger.register_food("fishing:pike", 4)
|
||||
hbhunger.register_food("fishing:pike_cooked", 8)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("glooptest") ~= nil then
|
||||
hbhunger.register_food("glooptest:kalite_lump", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bushes") ~= nil then
|
||||
hbhunger.register_food("bushes:sugar", 1)
|
||||
hbhunger.register_food("bushes:strawberry", 2)
|
||||
hbhunger.register_food("bushes:berry_pie_raw", 3)
|
||||
hbhunger.register_food("bushes:berry_pie_cooked", 4)
|
||||
hbhunger.register_food("bushes:basket_pies", 15)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bushes_classic") then
|
||||
-- bushes_classic mod, as found in the plantlife modpack
|
||||
local berries = {
|
||||
"strawberry",
|
||||
"blackberry",
|
||||
"blueberry",
|
||||
"raspberry",
|
||||
"gooseberry",
|
||||
"mixed_berry"}
|
||||
for _, berry in ipairs(berries) do
|
||||
if berry ~= "mixed_berry" then
|
||||
hbhunger.register_food("bushes:"..berry, 1)
|
||||
end
|
||||
hbhunger.register_food("bushes:"..berry.."_pie_raw", 2)
|
||||
hbhunger.register_food("bushes:"..berry.."_pie_cooked", 5)
|
||||
hbhunger.register_food("bushes:basket_"..berry, 15)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mushroom") ~= nil then
|
||||
hbhunger.register_food("mushroom:brown", 1)
|
||||
hbhunger.register_food("mushroom:red", 1, "", 3)
|
||||
-- mushroom potions: red = strong poison, brown = light restorative
|
||||
if minetest.get_modpath("vessels") then
|
||||
hbhunger.register_food("mushroom:brown_essence", 1, "vessels:glass_bottle", nil, 4)
|
||||
hbhunger.register_food("mushroom:poison", 1, "vessels:glass_bottle", 10)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("docfarming") ~= nil then
|
||||
hbhunger.register_food("docfarming:carrot", 3)
|
||||
hbhunger.register_food("docfarming:cucumber", 2)
|
||||
hbhunger.register_food("docfarming:corn", 3)
|
||||
hbhunger.register_food("docfarming:potato", 4)
|
||||
hbhunger.register_food("docfarming:bakedpotato", 5)
|
||||
hbhunger.register_food("docfarming:raspberry", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("farming_plus") ~= nil then
|
||||
hbhunger.register_food("farming_plus:carrot_item", 3)
|
||||
hbhunger.register_food("farming_plus:banana", 2)
|
||||
hbhunger.register_food("farming_plus:orange_item", 2)
|
||||
hbhunger.register_food("farming:pumpkin_bread", 4)
|
||||
hbhunger.register_food("farming_plus:strawberry_item", 2)
|
||||
hbhunger.register_food("farming_plus:tomato_item", 2)
|
||||
hbhunger.register_food("farming_plus:potato_item", 4)
|
||||
hbhunger.register_food("farming_plus:rhubarb_item", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mtfoods") ~= nil then
|
||||
hbhunger.register_food("mtfoods:dandelion_milk", 1)
|
||||
hbhunger.register_food("mtfoods:sugar", 1)
|
||||
hbhunger.register_food("mtfoods:short_bread", 4)
|
||||
hbhunger.register_food("mtfoods:cream", 1)
|
||||
hbhunger.register_food("mtfoods:chocolate", 2)
|
||||
hbhunger.register_food("mtfoods:cupcake", 2)
|
||||
hbhunger.register_food("mtfoods:strawberry_shortcake", 2)
|
||||
hbhunger.register_food("mtfoods:cake", 3)
|
||||
hbhunger.register_food("mtfoods:chocolate_cake", 3)
|
||||
hbhunger.register_food("mtfoods:carrot_cake", 3)
|
||||
hbhunger.register_food("mtfoods:pie_crust", 3)
|
||||
hbhunger.register_food("mtfoods:apple_pie", 3)
|
||||
hbhunger.register_food("mtfoods:rhubarb_pie", 2)
|
||||
hbhunger.register_food("mtfoods:banana_pie", 3)
|
||||
hbhunger.register_food("mtfoods:pumpkin_pie", 3)
|
||||
hbhunger.register_food("mtfoods:cookies", 2)
|
||||
hbhunger.register_food("mtfoods:mlt_burger", 5)
|
||||
hbhunger.register_food("mtfoods:potato_slices", 2)
|
||||
hbhunger.register_food("mtfoods:potato_chips", 3)
|
||||
--mtfoods:medicine
|
||||
hbhunger.register_food("mtfoods:casserole", 3)
|
||||
hbhunger.register_food("mtfoods:glass_flute", 2)
|
||||
hbhunger.register_food("mtfoods:orange_juice", 2)
|
||||
hbhunger.register_food("mtfoods:apple_juice", 2)
|
||||
hbhunger.register_food("mtfoods:apple_cider", 2)
|
||||
hbhunger.register_food("mtfoods:cider_rack", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("fruit") ~= nil then
|
||||
hbhunger.register_food("fruit:apple", 2)
|
||||
hbhunger.register_food("fruit:pear", 2)
|
||||
hbhunger.register_food("fruit:bananna", 3)
|
||||
hbhunger.register_food("fruit:orange", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mush45") ~= nil then
|
||||
hbhunger.register_food("mush45:meal", 4)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("seaplants") ~= nil then
|
||||
hbhunger.register_food("seaplants:kelpgreen", 1)
|
||||
hbhunger.register_food("seaplants:kelpbrown", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreen", 1)
|
||||
hbhunger.register_food("seaplants:seagrassred", 1)
|
||||
hbhunger.register_food("seaplants:seasaladmix", 6)
|
||||
hbhunger.register_food("seaplants:kelpgreensalad", 1)
|
||||
hbhunger.register_food("seaplants:kelpbrownsalad", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreensalad", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreensalad", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mobfcooking") ~= nil then
|
||||
hbhunger.register_food("mobfcooking:cooked_pork", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_ostrich", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_beef", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_chicken", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_lamb", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_venison", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_fish", 6)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("creatures") ~= nil then
|
||||
hbhunger.register_food("creatures:meat", 6)
|
||||
hbhunger.register_food("creatures:flesh", 3)
|
||||
hbhunger.register_food("creatures:rotten_flesh", 3, "", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
hbhunger.register_food("ethereal:strawberry", 1)
|
||||
hbhunger.register_food("ethereal:banana", 4)
|
||||
hbhunger.register_food("ethereal:pine_nuts", 1)
|
||||
hbhunger.register_food("ethereal:bamboo_sprout", 0, "", 3)
|
||||
hbhunger.register_food("ethereal:fern_tubers", 1)
|
||||
hbhunger.register_food("ethereal:banana_bread", 7)
|
||||
hbhunger.register_food("ethereal:mushroom_plant", 2)
|
||||
hbhunger.register_food("ethereal:coconut_slice", 2)
|
||||
hbhunger.register_food("ethereal:golden_apple", 4, "", nil, 10)
|
||||
hbhunger.register_food("ethereal:wild_onion_plant", 2)
|
||||
hbhunger.register_food("ethereal:mushroom_soup", 4, "ethereal:bowl")
|
||||
hbhunger.register_food("ethereal:mushroom_soup_cooked", 6, "ethereal:bowl")
|
||||
hbhunger.register_food("ethereal:hearty_stew", 6, "ethereal:bowl", 3)
|
||||
hbhunger.register_food("ethereal:hearty_stew_cooked", 10, "ethereal:bowl")
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("ethereal:bucket_cactus", 2, "bucket:bucket_empty")
|
||||
end
|
||||
hbhunger.register_food("ethereal:fish_raw", 2)
|
||||
hbhunger.register_food("ethereal:fish_cooked", 5)
|
||||
hbhunger.register_food("ethereal:seaweed", 1)
|
||||
hbhunger.register_food("ethereal:yellowleaves", 1, "", nil, 1)
|
||||
hbhunger.register_food("ethereal:sashimi", 4)
|
||||
hbhunger.register_food("ethereal:orange", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("farming") and farming.mod == "redo" then
|
||||
hbhunger.register_food("farming:bread", 6)
|
||||
hbhunger.register_food("farming:potato", 1)
|
||||
hbhunger.register_food("farming:baked_potato", 6)
|
||||
hbhunger.register_food("farming:cucumber", 4)
|
||||
hbhunger.register_food("farming:tomato", 4)
|
||||
hbhunger.register_food("farming:carrot", 3)
|
||||
hbhunger.register_food("farming:carrot_gold", 6, "", nil, 8)
|
||||
hbhunger.register_food("farming:corn", 3)
|
||||
hbhunger.register_food("farming:corn_cob", 5)
|
||||
hbhunger.register_food("farming:melon_slice", 2)
|
||||
hbhunger.register_food("farming:pumpkin_slice", 1)
|
||||
hbhunger.register_food("farming:pumpkin_bread", 9)
|
||||
hbhunger.register_food("farming:coffee_cup", 2, "farming:drinking_cup")
|
||||
hbhunger.register_food("farming:coffee_cup_hot", 3, "farming:drinking_cup", nil, 2)
|
||||
hbhunger.register_food("farming:cookie", 2)
|
||||
hbhunger.register_food("farming:chocolate_dark", 3)
|
||||
hbhunger.register_food("farming:donut", 4)
|
||||
hbhunger.register_food("farming:donut_chocolate", 6)
|
||||
hbhunger.register_food("farming:donut_apple", 6)
|
||||
hbhunger.register_food("farming:raspberries", 1)
|
||||
hbhunger.register_food("farming:blueberries", 1)
|
||||
hbhunger.register_food("farming:muffin_blueberry", 4)
|
||||
if minetest.get_modpath("vessels") then
|
||||
hbhunger.register_food("farming:smoothie_raspberry", 2, "vessels:drinking_glass")
|
||||
end
|
||||
hbhunger.register_food("farming:rhubarb", 1)
|
||||
hbhunger.register_food("farming:rhubarb_pie", 6)
|
||||
hbhunger.register_food("farming:beans", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("kpgmobs") ~= nil then
|
||||
hbhunger.register_food("kpgmobs:uley", 3)
|
||||
hbhunger.register_food("kpgmobs:meat", 6)
|
||||
hbhunger.register_food("kpgmobs:rat_cooked", 5)
|
||||
hbhunger.register_food("kpgmobs:med_cooked", 4)
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("kpgmobs:bucket_milk", 4, "bucket:bucket_empty")
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkfarming") ~= nil then
|
||||
hbhunger.register_food("jkfarming:carrot", 3)
|
||||
hbhunger.register_food("jkfarming:corn", 3)
|
||||
hbhunger.register_food("jkfarming:melon_part", 2)
|
||||
hbhunger.register_food("jkfarming:cake", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkanimals") ~= nil then
|
||||
hbhunger.register_food("jkanimals:meat", 6)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkwine") ~= nil then
|
||||
hbhunger.register_food("jkwine:grapes", 2)
|
||||
hbhunger.register_food("jkwine:winebottle", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("cooking") ~= nil then
|
||||
hbhunger.register_food("cooking:meat_beef_cooked", 4)
|
||||
hbhunger.register_food("cooking:fish_bluewhite_cooked", 3)
|
||||
hbhunger.register_food("cooking:fish_clownfish_cooked", 1)
|
||||
hbhunger.register_food("cooking:meat_chicken_cooked", 2)
|
||||
hbhunger.register_food("cooking:meat_cooked", 2)
|
||||
hbhunger.register_food("cooking:meat_pork_cooked", 3)
|
||||
hbhunger.register_food("cooking:meat_toxic_cooked", -3)
|
||||
hbhunger.register_food("cooking:meat_venison_cooked", 3)
|
||||
hbhunger.register_food("cooking:meat_undead_cooked", 1)
|
||||
end
|
||||
|
||||
-- ferns mod of plantlife_modpack
|
||||
if minetest.get_modpath("ferns") ~= nil then
|
||||
hbhunger.register_food("ferns:fiddlehead", 1, "", 1)
|
||||
hbhunger.register_food("ferns:fiddlehead_roasted", 3)
|
||||
hbhunger.register_food("ferns:ferntuber_roasted", 3)
|
||||
hbhunger.register_food("ferns:horsetail_01", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("pizza") ~= nil then
|
||||
hbhunger.register_food("pizza:pizza", 30, "", nil, 30)
|
||||
hbhunger.register_food("pizza:pizzaslice", 5, "", nil, 5)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("nssm") then
|
||||
hbhunger.register_food("nssm:werewolf_leg", 3)
|
||||
hbhunger.register_food("nssm:heron_leg", 2)
|
||||
hbhunger.register_food("nssm:chichibios_heron_leg", 4)
|
||||
hbhunger.register_food("nssm:crocodile_tail", 3)
|
||||
hbhunger.register_food("nssm:duck_legs", 1)
|
||||
hbhunger.register_food("nssm:ant_leg", 1)
|
||||
hbhunger.register_food("nssm:spider_leg", 1)
|
||||
hbhunger.register_food("nssm:tentacle", 2)
|
||||
hbhunger.register_food("nssm:worm_flesh", 2, "", 2) -- poisonous
|
||||
hbhunger.register_food("nssm:amphibian_heart", 1)
|
||||
hbhunger.register_food("nssm:raw_scrausics_wing", 1)
|
||||
-- superfoods
|
||||
hbhunger.register_food("nssm:phoenix_nuggets", 20, "", nil, 20)
|
||||
hbhunger.register_food("nssm:phoenix_tear", 20, "", nil, 20)
|
||||
end
|
||||
|
||||
-- player-action based hunger changes
|
||||
function hbhunger.handle_node_actions(pos, oldnode, player, ext)
|
||||
-- is_fake_player comes from the pipeworks, we are not interested in those
|
||||
|
|
|
@ -25,6 +25,9 @@ hbhunger.EXHAUST_DIG = 3 -- exhaustion increased this value after digged node
|
|||
hbhunger.EXHAUST_PLACE = 1 -- exhaustion increased this value after placed
|
||||
hbhunger.EXHAUST_MOVE = 0.3 -- exhaustion increased this value if player movement detected
|
||||
hbhunger.EXHAUST_LVL = 160 -- at what exhaustion player satiation gets lowerd
|
||||
hbhunger.SAT_MAX = 30 -- maximum satiation points
|
||||
hbhunger.SAT_INIT = 20 -- initial satiation points
|
||||
hbhunger.SAT_HEAL = 15 -- required satiation points to start healing
|
||||
|
||||
|
||||
--load custom settings
|
||||
|
@ -39,9 +42,10 @@ local function custom_hud(player)
|
|||
end
|
||||
|
||||
dofile(minetest.get_modpath("hbhunger").."/hunger.lua")
|
||||
dofile(minetest.get_modpath("hbhunger").."/register_foods.lua")
|
||||
|
||||
-- register satiation hudbar
|
||||
hb.register_hudbar("satiation", 0xFFFFFF, S("Satiation"), { icon = "hbhunger_icon.png", bgicon = "hbhunger_bgicon.png", bar = "hbhunger_bar.png" }, 20, 30, false, nil, { format_value = "%.1f", format_max_value = "%d" })
|
||||
hb.register_hudbar("satiation", 0xFFFFFF, S("Satiation"), { icon = "hbhunger_icon.png", bgicon = "hbhunger_bgicon.png", bar = "hbhunger_bar.png" }, hbhunger.SAT_INIT, hbhunger.SAT_MAX, false, nil, { format_value = "%.1f", format_max_value = "%d" })
|
||||
|
||||
-- update hud elemtens if value has changed
|
||||
local function update_hud(player)
|
||||
|
@ -73,7 +77,7 @@ hbhunger.set_hunger_raw = function(player)
|
|||
local name = player:get_player_name()
|
||||
local value = hbhunger.hunger[name]
|
||||
if not inv or not value then return nil end
|
||||
if value > 30 then value = 30 end
|
||||
if value > hbhunger.SAT_MAX then value = hbhunger.SAT_MAX end
|
||||
if value < 0 then value = 0 end
|
||||
|
||||
inv:set_stack("hunger", 1, ItemStack({name=":", count=value+1}))
|
||||
|
@ -96,7 +100,7 @@ end)
|
|||
minetest.register_on_respawnplayer(function(player)
|
||||
-- reset hunger (and save)
|
||||
local name = player:get_player_name()
|
||||
hbhunger.hunger[name] = 20
|
||||
hbhunger.hunger[name] = hbhunger.SAT_INIT
|
||||
hbhunger.set_hunger_raw(player)
|
||||
hbhunger.exhaustion[name] = 0
|
||||
end)
|
||||
|
@ -116,10 +120,10 @@ minetest.register_globalstep(function(dtime)
|
|||
local h = tonumber(hbhunger.hunger[name])
|
||||
local hp = player:get_hp()
|
||||
if timer > 4 then
|
||||
-- heal player by 1 hp if not dead and satiation is > 15 (of 30)
|
||||
if h > 15 and hp > 0 and player:get_breath() > 0 then
|
||||
-- heal player by 1 hp if not dead and satiation is > hbhunger.SAT_HEAL
|
||||
if h > hbhunger.SAT_HEAL and hp > 0 and player:get_breath() > 0 then
|
||||
player:set_hp(hp+1)
|
||||
-- or damage player by 1 hp if satiation is < 2 (of 30)
|
||||
-- or damage player by 1 hp if satiation is < 2
|
||||
elseif h <= 1 then
|
||||
if hp-1 >= 0 then player:set_hp(hp-1) end
|
||||
end
|
||||
|
@ -147,4 +151,38 @@ minetest.register_globalstep(function(dtime)
|
|||
if timer2 > hbhunger.HUNGER_TICK then timer2 = 0 end
|
||||
end)
|
||||
|
||||
minetest.register_chatcommand("satiation", {
|
||||
privs = {["server"]=true},
|
||||
params = S("[<player>] <satiation>"),
|
||||
description = S("Set satiation of player or yourself"),
|
||||
func = function(name, param)
|
||||
if minetest.settings:get_bool("enable_damage") == false then
|
||||
return false, S("Not possible, damage is disabled.")
|
||||
end
|
||||
local targetname, satiation = string.match(param, "(%S+) (%S+)")
|
||||
if not targetname then
|
||||
satiation = param
|
||||
end
|
||||
satiation = tonumber(satiation)
|
||||
if not satiation then
|
||||
return false, S("Invalid satiation!")
|
||||
end
|
||||
if not targetname then
|
||||
targetname = name
|
||||
end
|
||||
local target = minetest.get_player_by_name(targetname)
|
||||
if target == nil then
|
||||
return false, S("Player @1 does not exist.", targetname)
|
||||
end
|
||||
if satiation > hbhunger.SAT_MAX then
|
||||
satiation = hbhunger.SAT_MAX
|
||||
elseif satiation < 0 then
|
||||
satiation = 0
|
||||
end
|
||||
hbhunger.hunger[targetname] = satiation
|
||||
hbhunger.set_hunger_raw(target)
|
||||
return true
|
||||
end,
|
||||
})
|
||||
|
||||
end
|
||||
|
|
|
@ -1,2 +1,7 @@
|
|||
# textdomain:hbhunger
|
||||
Satiation=Sättigung
|
||||
Set satiation of player or yourself=Sättigung von Spieler oder Ihnen selbst setzen
|
||||
Not possible, damage is disabled.=Nicht möglich, Schaden ist deaktiviert.
|
||||
Invalid satiation!=Ungültige Sättigung!
|
||||
Player @1 does not exist.=Spieler @1 existiert nicht.
|
||||
[<player>] <satiation>=[<Spieler>] <Sättigung>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# textdomain:hbhunger
|
||||
Satiation=Satiété
|
|
@ -1,2 +1,7 @@
|
|||
# textdomain:hbhunger
|
||||
Satiation=
|
||||
Set satiation of player or yourself=
|
||||
Not possible, damage is disabled.=
|
||||
Invalid satiation!=
|
||||
Player @1 does not exist.=
|
||||
[<player>] <satiation>=
|
||||
|
|
|
@ -0,0 +1,331 @@
|
|||
if minetest.get_modpath("default") ~= nil then
|
||||
hbhunger.register_food("default:apple", 2)
|
||||
hbhunger.register_food("default:blueberries", 2)
|
||||
end
|
||||
if minetest.get_modpath("flowers") ~= nil then
|
||||
hbhunger.register_food("flowers:mushroom_brown", 1)
|
||||
hbhunger.register_food("flowers:mushroom_red", 1, "", 3)
|
||||
end
|
||||
if minetest.get_modpath("farming") ~= nil then
|
||||
hbhunger.register_food("farming:bread", 5)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mobs") ~= nil then
|
||||
if mobs.mod ~= nil and mobs.mod == "redo" then
|
||||
hbhunger.register_food("mobs:cheese", 4)
|
||||
hbhunger.register_food("mobs:meat", 8)
|
||||
hbhunger.register_food("mobs:meat_raw", 4)
|
||||
hbhunger.register_food("mobs:rat_cooked", 4)
|
||||
hbhunger.register_food("mobs:honey", 2)
|
||||
hbhunger.register_food("mobs:pork_raw", 3, "", 3)
|
||||
hbhunger.register_food("mobs:pork_cooked", 8)
|
||||
hbhunger.register_food("mobs:chicken_cooked", 6)
|
||||
hbhunger.register_food("mobs:chicken_raw", 2, "", 3)
|
||||
hbhunger.register_food("mobs:chicken_egg_fried", 2)
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("mobs:bucket_milk", 3, "bucket:bucket_empty")
|
||||
end
|
||||
else
|
||||
hbhunger.register_food("mobs:meat", 6)
|
||||
hbhunger.register_food("mobs:meat_raw", 3)
|
||||
hbhunger.register_food("mobs:rat_cooked", 5)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moretrees") ~= nil then
|
||||
hbhunger.register_food("moretrees:coconut_milk", 1)
|
||||
hbhunger.register_food("moretrees:raw_coconut", 2)
|
||||
hbhunger.register_food("moretrees:acorn_muffin", 3)
|
||||
hbhunger.register_food("moretrees:spruce_nuts", 1)
|
||||
hbhunger.register_food("moretrees:pine_nuts", 1)
|
||||
hbhunger.register_food("moretrees:fir_nuts", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("dwarves") ~= nil then
|
||||
hbhunger.register_food("dwarves:beer", 2)
|
||||
hbhunger.register_food("dwarves:apple_cider", 1)
|
||||
hbhunger.register_food("dwarves:midus", 2)
|
||||
hbhunger.register_food("dwarves:tequila", 2)
|
||||
hbhunger.register_food("dwarves:tequila_with_lime", 2)
|
||||
hbhunger.register_food("dwarves:sake", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("animalmaterials") ~= nil then
|
||||
hbhunger.register_food("animalmaterials:milk", 2)
|
||||
hbhunger.register_food("animalmaterials:meat_raw", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_pork", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_beef", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_chicken", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_lamb", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_venison", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_undead", 3, "", 3)
|
||||
hbhunger.register_food("animalmaterials:meat_toxic", 3, "", 5)
|
||||
hbhunger.register_food("animalmaterials:meat_ostrich", 3)
|
||||
hbhunger.register_food("animalmaterials:fish_bluewhite", 2)
|
||||
hbhunger.register_food("animalmaterials:fish_clownfish", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("fishing") ~= nil then
|
||||
hbhunger.register_food("fishing:fish_raw", 2)
|
||||
hbhunger.register_food("fishing:fish_cooked", 5)
|
||||
hbhunger.register_food("fishing:sushi", 6)
|
||||
hbhunger.register_food("fishing:shark", 4)
|
||||
hbhunger.register_food("fishing:shark_cooked", 8)
|
||||
hbhunger.register_food("fishing:pike", 4)
|
||||
hbhunger.register_food("fishing:pike_cooked", 8)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("glooptest") ~= nil then
|
||||
hbhunger.register_food("glooptest:kalite_lump", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bushes") ~= nil then
|
||||
hbhunger.register_food("bushes:sugar", 1)
|
||||
hbhunger.register_food("bushes:strawberry", 2)
|
||||
hbhunger.register_food("bushes:berry_pie_raw", 3)
|
||||
hbhunger.register_food("bushes:berry_pie_cooked", 4)
|
||||
hbhunger.register_food("bushes:basket_pies", 15)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("bushes_classic") then
|
||||
-- bushes_classic mod, as found in the plantlife modpack
|
||||
local berries = {
|
||||
"strawberry",
|
||||
"blackberry",
|
||||
"blueberry",
|
||||
"raspberry",
|
||||
"gooseberry",
|
||||
"mixed_berry"}
|
||||
for _, berry in ipairs(berries) do
|
||||
if berry ~= "mixed_berry" then
|
||||
hbhunger.register_food("bushes:"..berry, 1)
|
||||
end
|
||||
hbhunger.register_food("bushes:"..berry.."_pie_raw", 2)
|
||||
hbhunger.register_food("bushes:"..berry.."_pie_cooked", 5)
|
||||
hbhunger.register_food("bushes:basket_"..berry, 15)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mushroom") ~= nil then
|
||||
hbhunger.register_food("mushroom:brown", 1)
|
||||
hbhunger.register_food("mushroom:red", 1, "", 3)
|
||||
-- mushroom potions: red = strong poison, brown = light restorative
|
||||
if minetest.get_modpath("vessels") then
|
||||
hbhunger.register_food("mushroom:brown_essence", 1, "vessels:glass_bottle", nil, 4)
|
||||
hbhunger.register_food("mushroom:poison", 1, "vessels:glass_bottle", 10)
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("docfarming") ~= nil then
|
||||
hbhunger.register_food("docfarming:carrot", 3)
|
||||
hbhunger.register_food("docfarming:cucumber", 2)
|
||||
hbhunger.register_food("docfarming:corn", 3)
|
||||
hbhunger.register_food("docfarming:potato", 4)
|
||||
hbhunger.register_food("docfarming:bakedpotato", 5)
|
||||
hbhunger.register_food("docfarming:raspberry", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("farming_plus") ~= nil then
|
||||
hbhunger.register_food("farming_plus:carrot_item", 3)
|
||||
hbhunger.register_food("farming_plus:banana", 2)
|
||||
hbhunger.register_food("farming_plus:orange_item", 2)
|
||||
hbhunger.register_food("farming:pumpkin_bread", 4)
|
||||
hbhunger.register_food("farming_plus:strawberry_item", 2)
|
||||
hbhunger.register_food("farming_plus:tomato_item", 2)
|
||||
hbhunger.register_food("farming_plus:potato_item", 4)
|
||||
hbhunger.register_food("farming_plus:rhubarb_item", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mtfoods") ~= nil then
|
||||
hbhunger.register_food("mtfoods:dandelion_milk", 1)
|
||||
hbhunger.register_food("mtfoods:sugar", 1)
|
||||
hbhunger.register_food("mtfoods:short_bread", 4)
|
||||
hbhunger.register_food("mtfoods:cream", 1)
|
||||
hbhunger.register_food("mtfoods:chocolate", 2)
|
||||
hbhunger.register_food("mtfoods:cupcake", 2)
|
||||
hbhunger.register_food("mtfoods:strawberry_shortcake", 2)
|
||||
hbhunger.register_food("mtfoods:cake", 3)
|
||||
hbhunger.register_food("mtfoods:chocolate_cake", 3)
|
||||
hbhunger.register_food("mtfoods:carrot_cake", 3)
|
||||
hbhunger.register_food("mtfoods:pie_crust", 3)
|
||||
hbhunger.register_food("mtfoods:apple_pie", 3)
|
||||
hbhunger.register_food("mtfoods:rhubarb_pie", 2)
|
||||
hbhunger.register_food("mtfoods:banana_pie", 3)
|
||||
hbhunger.register_food("mtfoods:pumpkin_pie", 3)
|
||||
hbhunger.register_food("mtfoods:cookies", 2)
|
||||
hbhunger.register_food("mtfoods:mlt_burger", 5)
|
||||
hbhunger.register_food("mtfoods:potato_slices", 2)
|
||||
hbhunger.register_food("mtfoods:potato_chips", 3)
|
||||
--mtfoods:medicine
|
||||
hbhunger.register_food("mtfoods:casserole", 3)
|
||||
hbhunger.register_food("mtfoods:glass_flute", 2)
|
||||
hbhunger.register_food("mtfoods:orange_juice", 2)
|
||||
hbhunger.register_food("mtfoods:apple_juice", 2)
|
||||
hbhunger.register_food("mtfoods:apple_cider", 2)
|
||||
hbhunger.register_food("mtfoods:cider_rack", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("fruit") ~= nil then
|
||||
hbhunger.register_food("fruit:apple", 2)
|
||||
hbhunger.register_food("fruit:pear", 2)
|
||||
hbhunger.register_food("fruit:bananna", 3)
|
||||
hbhunger.register_food("fruit:orange", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mush45") ~= nil then
|
||||
hbhunger.register_food("mush45:meal", 4)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("seaplants") ~= nil then
|
||||
hbhunger.register_food("seaplants:kelpgreen", 1)
|
||||
hbhunger.register_food("seaplants:kelpbrown", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreen", 1)
|
||||
hbhunger.register_food("seaplants:seagrassred", 1)
|
||||
hbhunger.register_food("seaplants:seasaladmix", 6)
|
||||
hbhunger.register_food("seaplants:kelpgreensalad", 1)
|
||||
hbhunger.register_food("seaplants:kelpbrownsalad", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreensalad", 1)
|
||||
hbhunger.register_food("seaplants:seagrassgreensalad", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mobfcooking") ~= nil then
|
||||
hbhunger.register_food("mobfcooking:cooked_pork", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_ostrich", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_beef", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_chicken", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_lamb", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_venison", 6)
|
||||
hbhunger.register_food("mobfcooking:cooked_fish", 6)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("creatures") ~= nil then
|
||||
hbhunger.register_food("creatures:meat", 6)
|
||||
hbhunger.register_food("creatures:flesh", 3)
|
||||
hbhunger.register_food("creatures:rotten_flesh", 3, "", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
hbhunger.register_food("ethereal:strawberry", 1)
|
||||
hbhunger.register_food("ethereal:banana", 4)
|
||||
hbhunger.register_food("ethereal:pine_nuts", 1)
|
||||
hbhunger.register_food("ethereal:bamboo_sprout", 0, "", 3)
|
||||
hbhunger.register_food("ethereal:fern_tubers", 1)
|
||||
hbhunger.register_food("ethereal:banana_bread", 7)
|
||||
hbhunger.register_food("ethereal:mushroom_plant", 2)
|
||||
hbhunger.register_food("ethereal:coconut_slice", 2)
|
||||
hbhunger.register_food("ethereal:golden_apple", 4, "", nil, 10)
|
||||
hbhunger.register_food("ethereal:wild_onion_plant", 2)
|
||||
hbhunger.register_food("ethereal:mushroom_soup", 4, "ethereal:bowl")
|
||||
hbhunger.register_food("ethereal:mushroom_soup_cooked", 6, "ethereal:bowl")
|
||||
hbhunger.register_food("ethereal:hearty_stew", 6, "ethereal:bowl")
|
||||
hbhunger.register_food("ethereal:hearty_stew_cooked", 10, "ethereal:bowl")
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("ethereal:bucket_cactus", 2, "bucket:bucket_empty")
|
||||
end
|
||||
hbhunger.register_food("ethereal:fish_raw", 2)
|
||||
hbhunger.register_food("ethereal:fish_cooked", 5)
|
||||
hbhunger.register_food("ethereal:seaweed", 1)
|
||||
hbhunger.register_food("ethereal:yellowleaves", 1, "", nil, 1)
|
||||
hbhunger.register_food("ethereal:sashimi", 4)
|
||||
hbhunger.register_food("ethereal:orange", 2)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("farming") and farming.mod == "redo" then
|
||||
hbhunger.register_food("farming:bread", 6)
|
||||
hbhunger.register_food("farming:potato", 1)
|
||||
hbhunger.register_food("farming:baked_potato", 6)
|
||||
hbhunger.register_food("farming:cucumber", 4)
|
||||
hbhunger.register_food("farming:tomato", 4)
|
||||
hbhunger.register_food("farming:carrot", 3)
|
||||
hbhunger.register_food("farming:carrot_gold", 6, "", nil, 8)
|
||||
hbhunger.register_food("farming:corn", 3)
|
||||
hbhunger.register_food("farming:corn_cob", 5)
|
||||
hbhunger.register_food("farming:melon_slice", 2)
|
||||
hbhunger.register_food("farming:pumpkin_slice", 1)
|
||||
hbhunger.register_food("farming:pumpkin_bread", 9)
|
||||
hbhunger.register_food("farming:coffee_cup", 2, "farming:drinking_cup")
|
||||
hbhunger.register_food("farming:coffee_cup_hot", 3, "farming:drinking_cup", nil, 2)
|
||||
hbhunger.register_food("farming:cookie", 2)
|
||||
hbhunger.register_food("farming:chocolate_dark", 3)
|
||||
hbhunger.register_food("farming:donut", 4)
|
||||
hbhunger.register_food("farming:donut_chocolate", 6)
|
||||
hbhunger.register_food("farming:donut_apple", 6)
|
||||
hbhunger.register_food("farming:raspberries", 1)
|
||||
hbhunger.register_food("farming:blueberries", 1)
|
||||
hbhunger.register_food("farming:muffin_blueberry", 4)
|
||||
if minetest.get_modpath("vessels") then
|
||||
hbhunger.register_food("farming:smoothie_raspberry", 2, "vessels:drinking_glass")
|
||||
end
|
||||
hbhunger.register_food("farming:rhubarb", 1)
|
||||
hbhunger.register_food("farming:rhubarb_pie", 6)
|
||||
hbhunger.register_food("farming:beans", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("kpgmobs") ~= nil then
|
||||
hbhunger.register_food("kpgmobs:uley", 3)
|
||||
hbhunger.register_food("kpgmobs:meat", 6)
|
||||
hbhunger.register_food("kpgmobs:rat_cooked", 5)
|
||||
hbhunger.register_food("kpgmobs:med_cooked", 4)
|
||||
if minetest.get_modpath("bucket") then
|
||||
hbhunger.register_food("kpgmobs:bucket_milk", 4, "bucket:bucket_empty")
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkfarming") ~= nil then
|
||||
hbhunger.register_food("jkfarming:carrot", 3)
|
||||
hbhunger.register_food("jkfarming:corn", 3)
|
||||
hbhunger.register_food("jkfarming:melon_part", 2)
|
||||
hbhunger.register_food("jkfarming:cake", 3)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkanimals") ~= nil then
|
||||
hbhunger.register_food("jkanimals:meat", 6)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("jkwine") ~= nil then
|
||||
hbhunger.register_food("jkwine:grapes", 2)
|
||||
hbhunger.register_food("jkwine:winebottle", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("cooking") ~= nil then
|
||||
hbhunger.register_food("cooking:meat_beef_cooked", 4)
|
||||
hbhunger.register_food("cooking:fish_bluewhite_cooked", 3)
|
||||
hbhunger.register_food("cooking:fish_clownfish_cooked", 1)
|
||||
hbhunger.register_food("cooking:meat_chicken_cooked", 2)
|
||||
hbhunger.register_food("cooking:meat_cooked", 2)
|
||||
hbhunger.register_food("cooking:meat_pork_cooked", 3)
|
||||
hbhunger.register_food("cooking:meat_toxic_cooked", -3)
|
||||
hbhunger.register_food("cooking:meat_venison_cooked", 3)
|
||||
hbhunger.register_food("cooking:meat_undead_cooked", 1)
|
||||
end
|
||||
|
||||
-- ferns mod of plantlife_modpack
|
||||
if minetest.get_modpath("ferns") ~= nil then
|
||||
hbhunger.register_food("ferns:fiddlehead", 1, "", 1)
|
||||
hbhunger.register_food("ferns:fiddlehead_roasted", 3)
|
||||
hbhunger.register_food("ferns:ferntuber_roasted", 3)
|
||||
hbhunger.register_food("ferns:horsetail_01", 1)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("pizza") ~= nil then
|
||||
hbhunger.register_food("pizza:pizza", 30, "", nil, 30)
|
||||
hbhunger.register_food("pizza:pizzaslice", 5, "", nil, 5)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("nssm") then
|
||||
hbhunger.register_food("nssm:werewolf_leg", 3)
|
||||
hbhunger.register_food("nssm:heron_leg", 2)
|
||||
hbhunger.register_food("nssm:chichibios_heron_leg", 4)
|
||||
hbhunger.register_food("nssm:crocodile_tail", 3)
|
||||
hbhunger.register_food("nssm:duck_legs", 1)
|
||||
hbhunger.register_food("nssm:ant_leg", 1)
|
||||
hbhunger.register_food("nssm:spider_leg", 1)
|
||||
hbhunger.register_food("nssm:tentacle", 2)
|
||||
hbhunger.register_food("nssm:worm_flesh", 2, "", 2) -- poisonous
|
||||
hbhunger.register_food("nssm:amphibian_heart", 1)
|
||||
hbhunger.register_food("nssm:raw_scrausics_wing", 1)
|
||||
-- superfoods
|
||||
hbhunger.register_food("nssm:phoenix_nuggets", 20, "", nil, 20)
|
||||
hbhunger.register_food("nssm:phoenix_tear", 20, "", nil, 20)
|
||||
end
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
svrz = {}
|
||||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
local settings = Settings(modpath .. "/srvz.conf")
|
||||
svrz.settings = {}
|
||||
svrz.settings.reserved = tonumber(settings:get("reserved")) or 0
|
||||
|
||||
minetest.register_on_prejoinplayer(function(player)
|
||||
if minetest.check_player_privs(player, {server = true}) then
|
||||
return
|
||||
end
|
||||
local connected_players = minetest.get_connected_players()
|
||||
local max_players = tonumber(minetest.setting_get("max_users"))
|
||||
if max_players <= #connected_players + svrz.settings.reserved then
|
||||
msg = S("Server full of players! Retry later.")
|
||||
return msg
|
||||
end
|
||||
end)
|
|
@ -0,0 +1,2 @@
|
|||
# textdomain: srvz
|
||||
Server full of players! Retry later.=¡Servidor lleno de jugadores! Reinténtalo más tarde.
|
|
@ -0,0 +1,2 @@
|
|||
name = srvz
|
||||
depends = sfinv
|
|
@ -0,0 +1 @@
|
|||
reserved=1
|
|
@ -0,0 +1 @@
|
|||
reserved=1
|
|
@ -0,0 +1,16 @@
|
|||
name: build
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
luacheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install Luarocks
|
||||
run: |
|
||||
sudo apt-get update -qyy
|
||||
sudo apt-get install luarocks -qyy
|
||||
- name: Install Luacheck
|
||||
run: luarocks install --local luacheck
|
||||
- name: Run Luacheck
|
||||
run: $HOME/.luarocks/bin/luacheck mods
|
|
@ -0,0 +1,10 @@
|
|||
# textdomain: beds
|
||||
Fancy Bed=ファンシーなベッド
|
||||
Simple Bed=シンプルなベッド
|
||||
This bed is already occupied!=ベッドはすでに使われています!
|
||||
You have to stop moving before going to bed!=寝るときは動かないでください!
|
||||
Good morning.=おはようございます。
|
||||
@1 of @2 players are in bed=ベッドに@1 / @2人います
|
||||
Force night skip=強制的に夜をスキップします
|
||||
You can only sleep at night.=夜しか寝れません。
|
||||
Leave Bed=ベッドから出ます
|
|
@ -1,8 +1,8 @@
|
|||
# textdomain: beds
|
||||
Fancy Bed=Детализированная Кровать
|
||||
Simple Bed=Обычная Кровать
|
||||
This bed is already occupied!=
|
||||
You have to stop moving before going to bed!=
|
||||
This bed is already occupied!=Эта кровать уже занята!
|
||||
You have to stop moving before going to bed!=Нельзя воспользоваться кроватью на ходу!
|
||||
Good morning.=Доброе утро.
|
||||
@1 of @2 players are in bed=@1 из @2 игроков в кровати
|
||||
Force night skip=Пропустить ночь
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# textdomain: beds
|
||||
Fancy Bed=花式床
|
||||
Simple Bed=简易床
|
||||
This bed is already occupied!=
|
||||
You have to stop moving before going to bed!=
|
||||
This bed is already occupied!=床上已有人!
|
||||
You have to stop moving before going to bed!=上床前要停止移动!
|
||||
Good morning.=早安!
|
||||
@1 of @2 players are in bed=@2位玩家中的@1位在床上
|
||||
Force night skip=强制跳过夜晚
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
# textdomain: binoculars
|
||||
Binoculars=双眼鏡
|
||||
Use with 'Zoom' key=ズームキーで使います
|
|
@ -0,0 +1,4 @@
|
|||
# textdomain: boats
|
||||
Boat cruise mode on=クルージングモード・オン
|
||||
Boat cruise mode off=クルージングモード・オフ
|
||||
Boat=ボート
|
|
@ -0,0 +1,8 @@
|
|||
# textdomain: bones
|
||||
Bones=骨
|
||||
@1's old bones=@1の古い骨
|
||||
@1 died at @2.=@1は@2で死亡しました。
|
||||
@1 died at @2, and dropped their inventory.=@1は@2で死亡して持ち物を落としました。
|
||||
@1 died at @2, and bones were placed.=@1は@2で死亡して骨が残されました。
|
||||
@1's fresh bones=@1の新鮮な骨
|
||||
@1's bones=@1の骨
|
|
@ -2,7 +2,7 @@
|
|||
Bones=骨骸
|
||||
@1's old bones=@1的旧骨骸
|
||||
@1 died at @2.=@1在@2死亡。
|
||||
@1 died at @2, and dropped their inventory.=@1在@2死亡,丢掉了物品栏。
|
||||
@1 died at @2, and bones were placed.=@1在@2死亡,骨骸被放置。
|
||||
@1 died at @2, and dropped their inventory.=@1在@2死亡,丢掉了所有物品。
|
||||
@1 died at @2, and bones were placed.=@1在@2死亡,已放置骨骸。
|
||||
@1's fresh bones=@1的新鲜骨骸
|
||||
@1's bones=@1的骨骸
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
# textdomain: bucket
|
||||
Empty Bucket=空のバケツ
|
||||
Water Bucket=水入りバケツ
|
||||
River Water Bucket=川の水入りバケツ
|
||||
Lava Bucket=溶岩入りバケツ
|
|
@ -1,14 +0,0 @@
|
|||
Minetest Game mod: Butterflies
|
||||
==============================
|
||||
Adds butterflies to the world on mapgen, which can be caught in a net if the
|
||||
fireflies mod is also enabled.
|
||||
|
||||
Authors of source code
|
||||
----------------------
|
||||
Shara RedCat (MIT)
|
||||
|
||||
Authors of media (textures)
|
||||
---------------------------
|
||||
Shara RedCat (CC BY-SA 3.0):
|
||||
butterflies_butterfly_*.png
|
||||
butterflies_butterfly_*_animated.png
|
|
@ -1,137 +0,0 @@
|
|||
-- butterflies/init.lua
|
||||
|
||||
-- Load support for MT game translation.
|
||||
local S = minetest.get_translator("butterflies")
|
||||
|
||||
-- register butterflies
|
||||
local butter_list = {
|
||||
{"white", S("White Butterfly")},
|
||||
{"red", S("Red Butterfly")},
|
||||
{"violet", S("Violet Butterfly")}
|
||||
}
|
||||
|
||||
for i in ipairs (butter_list) do
|
||||
local name = butter_list[i][1]
|
||||
local desc = butter_list[i][2]
|
||||
|
||||
minetest.register_node("butterflies:butterfly_"..name, {
|
||||
description = desc,
|
||||
drawtype = "plantlike",
|
||||
tiles = {{
|
||||
name = "butterflies_butterfly_"..name.."_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 3
|
||||
},
|
||||
}},
|
||||
inventory_image = "butterflies_butterfly_"..name..".png",
|
||||
wield_image = "butterflies_butterfly_"..name..".png",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
walkable = false,
|
||||
groups = {catchable = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "butterflies:butterfly_"..name})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) < 11 then
|
||||
minetest.set_node(pos, {name = "butterflies:hidden_butterfly_"..name})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("butterflies:hidden_butterfly_"..name, {
|
||||
drawtype = "airlike",
|
||||
inventory_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png",
|
||||
wield_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
floodable = true,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
local pos = pointed_thing.above
|
||||
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pointed_thing.under, player_name) and
|
||||
minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name = "butterflies:hidden_butterfly_"..name})
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
if minetest.get_node_light(pos) >= 11 then
|
||||
minetest.set_node(pos, {name = "butterflies:butterfly_"..name})
|
||||
end
|
||||
minetest.get_node_timer(pos):start(30)
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
-- register decoration
|
||||
minetest.register_decoration({
|
||||
name = "butterflies:butterfly",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_grass"},
|
||||
place_offset_y = 2,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"grassland", "deciduous_forest"},
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
decoration = {
|
||||
"butterflies:butterfly_white",
|
||||
"butterflies:butterfly_red",
|
||||
"butterflies:butterfly_violet"
|
||||
},
|
||||
spawn_by = "group:flower",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
|
||||
-- get decoration ID
|
||||
local butterflies = minetest.get_decoration_id("butterflies:butterfly")
|
||||
minetest.set_gen_notify({decoration = true}, {butterflies})
|
||||
|
||||
-- start nodetimers
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
local gennotify = minetest.get_mapgen_object("gennotify")
|
||||
local poslist = {}
|
||||
|
||||
for _, pos in ipairs(gennotify["decoration#"..butterflies] or {}) do
|
||||
local deco_pos = {x = pos.x, y = pos.y + 3, z = pos.z}
|
||||
table.insert(poslist, deco_pos)
|
||||
end
|
||||
|
||||
if #poslist ~= 0 then
|
||||
for i = 1, #poslist do
|
||||
local pos = poslist[i]
|
||||
minetest.get_node_timer(pos):start(1)
|
||||
end
|
||||
end
|
||||
end)
|
|
@ -1,58 +0,0 @@
|
|||
License of source code
|
||||
----------------------
|
||||
|
||||
The MIT License (MIT)
|
||||
Copyright (c) 2018 Shara RedCat
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
software and associated documentation files (the "Software"), to deal in the Software
|
||||
without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/MIT
|
||||
|
||||
Licenses of media (textures)
|
||||
----------------------------
|
||||
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
Copyright (C) 2018 Shara RedCat
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
|
||||
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
||||
|
||||
Under the following terms:
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
No additional restrictions — You may not apply legal terms or technological measures that
|
||||
legally restrict others from doing anything the license permits.
|
||||
|
||||
Notices:
|
||||
|
||||
You do not have to comply with the license for elements of the material in the public
|
||||
domain or where your use is permitted by an applicable exception or limitation.
|
||||
No warranties are given. The license may not give you all of the permissions necessary
|
||||
for your intended use. For example, other rights such as publicity, privacy, or moral
|
||||
rights may limit how you use the material.
|
||||
|
||||
For more details:
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Weißer Schmetterling
|
||||
Red Butterfly=Roter Schmetterling
|
||||
Violet Butterfly=Violetter Schmetterling
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Blanka Papilio
|
||||
Red Butterfly=Ruĝa Papilio
|
||||
Violet Butterfly=Viola Papilio
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Mariposa blanca
|
||||
Red Butterfly=Mariposa roja
|
||||
Violet Butterfly=Mariposa violeta
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Papillon blanc
|
||||
Red Butterfly=Papillon rouge
|
||||
Violet Butterfly=Papillon violet
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Kupu-Kupu Putih
|
||||
Red Butterfly=Kupu-Kupu Merah
|
||||
Violet Butterfly=Kupu-Kupu Ungu
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Farfalla bianca
|
||||
Red Butterfly=Farfalla rossa
|
||||
Violet Butterfly=Farfalla viola
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=lo blabi toldi
|
||||
Red Butterfly=lo xunre toldi
|
||||
Violet Butterfly=lo zirpu toldi
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Rama-Rama Putih
|
||||
Red Butterfly=Rama-Rama Merah
|
||||
Violet Butterfly=Rama-Rama Ungu
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=
|
||||
Red Butterfly=
|
||||
Violet Butterfly=
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Белая Бабочка
|
||||
Red Butterfly=Красная Бабочка
|
||||
Violet Butterfly=Фиолетовая Бабочка
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Vit fjäril
|
||||
Red Butterfly=Röd fjäril
|
||||
Violet Butterfly=Violett fjäril
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=Biely motýlik
|
||||
Red Butterfly=Červený motýlik
|
||||
Violet Butterfly=Fialový motýlik
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=白蝴蝶
|
||||
Red Butterfly=红蝴蝶
|
||||
Violet Butterfly=紫蝴蝶
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=白蝴蝶
|
||||
Red Butterfly=紅蝴蝶
|
||||
Violet Butterfly=紫蝴蝶
|
|
@ -1,4 +0,0 @@
|
|||
# textdomain: butterflies
|
||||
White Butterfly=
|
||||
Red Butterfly=
|
||||
Violet Butterfly=
|
|
@ -1,3 +0,0 @@
|
|||
name = butterflies
|
||||
description = Minetest Game mod: Butterflies
|
||||
depends = default, flowers
|
Before Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 125 B |
Before Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 125 B |