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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/src/main/java/vice/sol_valheim/ModConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ public static final class Common implements ConfigData {
public float speedBoost = 0.20f;

@ConfigEntry.Gui.Tooltip() @Comment("Number of hearts to start with")
public int startingHealth = 3;
public int startingHealth = 5;

@ConfigEntry.Gui.Tooltip() @Comment("Number of food slots (range 2-5, default 3)")
public int maxSlots = 3;
Expand Down
22 changes: 14 additions & 8 deletions common/src/main/java/vice/sol_valheim/SOLValheim.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import dev.architectury.registry.registries.DeferredRegister;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.MutableComponent;

#if PRE_CURRENT_MC_1_19_2
import dev.architectury.registry.registries.Registries;
Expand Down Expand Up @@ -89,7 +90,7 @@ public static void addTooltip(ItemStack item, TooltipFlag flag, List<Component>
{
var food = item.getItem();
if (food == Items.ROTTEN_FLESH) {
list.add(Component.literal("☠ Empties Your Stomach!").withStyle(ChatFormatting.GREEN));
list.add(Component.translatable("tooltip.sol_valheim.empty_stomach").withStyle(ChatFormatting.GREEN));
return;
}

Expand All @@ -98,24 +99,29 @@ public static void addTooltip(ItemStack item, TooltipFlag flag, List<Component>
return;

var hearts = config.getHearts() % 2 == 0 ? config.getHearts() / 2 : String.format("%.1f", (float) config.getHearts() / 2f);
list.add(Component.literal("❤ " + hearts + " Heart" + (config.getHearts() / 2f > 1 ? "s" : "")).withStyle(ChatFormatting.RED));
list.add(Component.literal("☀ " + String.format("%.1f", config.getHealthRegen()) + " Regen").withStyle(ChatFormatting.DARK_RED));
String heartKey = config.getHearts() / 2f <= 1 ? "tooltip.sol_valheim.hearts" : "tooltip.sol_valheim.hearts_plural";
list.add(Component.translatable(heartKey, hearts).withStyle(ChatFormatting.RED));

list.add(Component.translatable("tooltip.sol_valheim.regen", String.format("%.1f", config.getHealthRegen()))
.withStyle(ChatFormatting.DARK_RED));

var minutes = (float) config.getTime() / (20 * 60);

list.add(Component.literal("⌚ " + String.format("%.0f", minutes) + " Minute" + (minutes > 1 ? "s" : "")).withStyle(ChatFormatting.GOLD));
String durationKey = minutes <= 1 ? "tooltip.sol_valheim.duration" : "tooltip.sol_valheim.duration_plural";
list.add(Component.translatable(durationKey, String.format("%.0f", minutes))
.withStyle(ChatFormatting.GOLD));

for (var effect : config.extraEffects) {
var eff = effect.getEffect();
if (eff == null)
continue;

list.add(Component.literal("★ " + eff.getDisplayName().getString() + (effect.amplifier > 1 ? " " + effect.amplifier : "")).withStyle(ChatFormatting.GREEN));
MutableComponent effectText = Component.translatable("tooltip.sol_valheim.effect",
eff.getDisplayName().getString() + (effect.amplifier > 1 ? " " + effect.amplifier : ""));
list.add(effectText.withStyle(ChatFormatting.GREEN));
}

if (item.getUseAnimation() == UseAnim.DRINK) {
list.add(Component.literal("❄ Refreshing!").withStyle(ChatFormatting.AQUA));

list.add(Component.translatable("tooltip.sol_valheim.refreshing").withStyle(ChatFormatting.AQUA));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ private void onTick(CallbackInfo info) {
sol_valheim$trackData();
}

float maxhp = Math.min(40, (SOLValheim.Config.common.startingHealth * 2) + sol_valheim$food_data.getTotalFoodNutrition());
// 在这里修改最大血量,按照游戏里的设定,最大的食物是10心,20点,能容纳三个就是60点,还有饮料最大3心6点,加上原版的3心6点,就是66点,我们限制在60点
//默认是SOLValheim.Config.common.startingHealth 我先硬编码到5心
float maxhp = Math.min(80, (5 * 2) + sol_valheim$food_data.getTotalFoodNutrition());

Player player = (Player) (LivingEntity) this;
player.getFoodData().setSaturation(0);
Expand Down
10 changes: 10 additions & 0 deletions common/src/main/resources/assets/sol_valheim/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"tooltip.sol_valheim.refreshing": "❄ Refreshing!",
"tooltip.sol_valheim.empty_stomach": "☠ Empties Your Stomach!",
"tooltip.sol_valheim.hearts": "❤ %s Heart",
"tooltip.sol_valheim.hearts_plural": "❤ %s Hearts",
"tooltip.sol_valheim.regen": "☀ %s Regen",
"tooltip.sol_valheim.duration": "⌚ %s Minute",
"tooltip.sol_valheim.duration_plural": "⌚ %s Minutes",
"tooltip.sol_valheim.effect": "★ %s"
}
10 changes: 10 additions & 0 deletions common/src/main/resources/assets/sol_valheim/lang/zh_cn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"tooltip.sol_valheim.refreshing": "❄ 清爽提神!",
"tooltip.sol_valheim.empty_stomach": "☠ 喷射一把!",
"tooltip.sol_valheim.hearts": "❤ %s 颗心",
"tooltip.sol_valheim.hearts_plural": "❤ %s 颗心",
"tooltip.sol_valheim.regen": "☀ %s 生命恢复",
"tooltip.sol_valheim.duration": "⌚ %s 分钟",
"tooltip.sol_valheim.duration_plural": "⌚ %s 分钟",
"tooltip.sol_valheim.effect": "★ %s"
}