Как правильно отредактировать конфиг Spice of Life

Код:
# Configuration file

##########################################################################################################
#  main
#--------------------------------------------------------------------------------------------------------#
# These config settings are server-side only
# Their values will get synced to all clients on the server
##########################################################################################################

" main " {
    # If false, disables the entire diminishing returns part of the mod
    B:food.modifier.enabled=true
}


##########################################################################################################
# client
#--------------------------------------------------------------------------------------------------------#
# These config settings are client-side only
##########################################################################################################

client {
    # If true, left clicking the air while holding a food container will open it (so that it can be eaten from)
    B:left.click.opens.food.containers=false
}


##########################################################################################################
# foodgroups
#--------------------------------------------------------------------------------------------------------#
# Food groups are defined using .json files in /config/SpiceOfLife/
# See /config/SpiceOfLife/example-food-group.json
##########################################################################################################

foodgroups {
}


##########################################################################################################
# server
#--------------------------------------------------------------------------------------------------------#
# These config settings are server-side only
# Their values will get synced to all clients on the server
##########################################################################################################

server {
    # If true, foods' hunger value will be multiplied by the current nutritional value
    # Setting this to false and affect.food.saturation.modifiers to true will make diminishing returns affect saturation only
    B:affect.food.hunger.values=true

    # If true, foods' saturation modifier will be multiplied by the current nutritional value
    # NOTE: When affect.food.hunger.values is true, saturation bonuses of foods will automatically decrease as the hunger value of the food decreases
    # Setting this to true when affect.food.hunger.values is true will make saturation bonuses decrease disproportionately more than hunger values
    # Setting this to true and affect.food.hunger.values to false will make diminishing returns affect saturation only
    B:affect.food.saturation.modifiers=false

    # If true, foods with negative hunger values will be made more negative as nutritional value decreases
    # NOTE: affect.food.hunger.values must be true for this to have any affect
    B:affect.negative.food.hunger.values=false

    # If true, foods with negative saturation modifiers will be made more negative as nutritional value decreases
    # NOTE: affect.food.saturation.modifiers must be true for this to have any affect
    B:affect.negative.food.saturation.modifiers=false

    # If true, a player's food history will be empty once they pass the new.player.food.eaten.threshold
    # If false, any food eaten before the threshold is passed will also count after it is passed
    B:clear.history.after.food.eaten.threshold.reached=false

    # The chance for food to drop from an open food container when the player jumps
    # Temporarily disabled while a better implementation is written (this config option will do nothing)
    D:food.containers.chance.to.drop.food=0.25

    # The maximum stacksize per slot in a food container
    I:food.containers.max.stacksize=8

    # The maximum time it takes to eat a food after being modified by food.eating.speed.modifier
    # The default eating duration is 32. Set this to 0 to remove the limit on eating speed.
    # Note: If this is set to 0 and food.eating.speed.modifier is > 0, a food with 0% nutrtional value will take nearly infinite time to eat
    I:food.eating.duration.max=0

    # If set to greater than zero, food eating speed will be affected by nutritional value
    # (meaning the lower the nutrtional value, the longer it will take to eat it)
    # Eating duration is calcualted using the formula (eating_duration / (nutritional_value^eating_speed_modifier))
    D:food.eating.speed.modifier=0

    # The maximum amount of eaten foods stored in the history at a time
    I:food.history.length=4

    # If true, food history will not get reset after every death
    B:food.history.persists.through.death=false

    # Rounding mode used on the hunger value of foods
    # Valid options: 'round', 'floor', 'ceiling'
    S:food.hunger.rounding.mode=round

    # Uses the EvalEx expression parser
    # See: https://github.com/uklimaschewski/EvalEx for syntax/function documentation
    #
    # Available variables:
    #     count : The number of times the food (or its food group) has been eaten within the food history
    #     hunger_count : The total amount of hunger that the food (or its food group) has restored within the food history (1 hunger unit = 1/2 hunger bar)
    #     saturation_count : The total amount of saturation that the food (or its food group) has restored within the food history (1 saturation unit = 1/2 saturation bar)
    #     max_history_length : The maximum length of the food history (see food.history.length)
    #     cur_history_length : The current length of the food history (<= max_history_length)
    #     food_hunger_value : The default amount of hunger the food would restore in hunger units (1 hunger unit = 1/2 hunger bar)
    #     food_saturation_mod : The default saturation modifier of the food
    #     cur_hunger : The current hunger value of the player in hunger units (20 = full)
    #     cur_saturation : The current saturation value of the player
    #     total_food_eaten : The all-time total number of times any food has been eaten by the player
    #     food_group_count : The number of food groups that the food belongs to
    #     distinct_food_groups_eaten : The number of distinct food groups in the player's current food history
    #     total_food_groups : The total number of enabled food groups
    #     exact_count : The number of times the food (ignoring food groups) has been eaten within the food history
    #
    S:food.modifier.formula=MAX(0, (1 - count/12))^MIN(8, food_hunger_value)

    # If true, a food journal will be given to each player as a starting item
    B:give.food.journal.as.starting.item=false

    # If true, a food journal will be given to each player once diminishing returns start for them
    # Not given if a player was given a food journal by give.food.journal.as.starting.item
    B:give.food.journal.on.dimishing.returns.start=false

    # The number of times a new player (by World) needs to eat before this mod has any effect
    I:new.player.food.eaten.threshold=6

    # If true, any foods not in a food group will be excluded from diminishing returns
    B:use.food.groups.as.whitelists=false

    # If true, food.history.length will use amount of hunger restored instead of number of foods eaten for its maximum length
    # For example, a food.history.length length of 12 will store a max of 2 foods that restored 6 hunger each,
    # 3 foods that restored 4 hunger each, 12 foods that restored 1 hunger each, etc
    # NOTE: food.history.length uses hunger units, where 1 hunger unit = 1/2 hunger bar
    B:use.hunger.restored.for.food.history.length=false

    # If true, food.history.length will use time (in Minecraft days) instead of number of foods eaten for its maximum length
    # For example, a food.history.length length of 12 will store all foods eaten in the last 12 Minecraft days.
    # Note: On servers, time only advances for each player while they are logged in unless use.time.progress.time.while.logged.off is set to true
    # Also note: use.hunger.restored.for.food.history.length must be false for this config option to take effect
    B:use.time.for.food.history.length=false

    # If true, food history time will still progress for each player while that player is logged out.
    # NOTE: use.time.for.food.history.length must be true for this to have any affect
    B:use.time.progress.time.while.logged.off=false
}

Вот к примеру, я хочу реализовать одну фичу с помощью этого мода:
Игрок питается только жаренной свининой. С каждым разом он теряет для себя по 1 единице питательности от последней. Если он возьмёт другое мясо (Группы будут созданы), то для жаренной свинины питательность восстановится на 1. Если он возьмёт еду из другой группы, от от неё питательность жаренной свинины будет восстановлена на 2
Можно ли реализовать такую фичу с помощью SoL? И если возможно, можно придумать что-нибудь поинтереснее?
ЮПД: скажу более прямолинейно: я не могу понять, за что какая функция в конфиге отвечает, и прошу помочь разобраться с ним
 
Последнее редактирование:
2,932
44
598
1. Если он возьмёт еду из другой группы, от от неё питательность жаренной свинины будет восстановлена на 2
А разве оно именно так и не работает?
И если возможно, можно придумать что-нибудь поинтереснее?
Всё зависит от твоей фантазии :D
 
3,005
192
592
Не можешь настроить - напиши свое.
 
Сверху