diff --git a/src/generated/resources/assets/gtceu/lang/en_ud.json b/src/generated/resources/assets/gtceu/lang/en_ud.json index fc1454a337..d77c0d3658 100644 --- a/src/generated/resources/assets/gtceu/lang/en_ud.json +++ b/src/generated/resources/assets/gtceu/lang/en_ud.json @@ -3947,7 +3947,7 @@ "gtceu.tooltip.fluid_pipe_hold_shift": "oɟuI ʇuǝɯuıɐʇuoƆ pınןℲ ʍoɥs oʇ ⟘ℲIHS pןoHㄥ§", "gtceu.tooltip.hold_ctrl": "oɟuı ǝɹoɯ ɹoɟ Ꞁᴚ⟘Ɔ pןoHㄥ§", "gtceu.tooltip.hold_shift": "oɟuı ǝɹoɯ ɹoɟ ⟘ℲIHS pןoHㄥ§", - "gtceu.tooltip.potion.each": "buıuǝddɐɥ ɟo ǝɔuɐɥɔ ɹ§%s%%ɐ§ ɐ ɥʇıʍ sʞɔıʇ ɹ§%sɔ§ ɹoɟ ɹ§%s %sǝ§ ", + "gtceu.tooltip.potion.each": "ɹ§buıuǝddɐɥ ɟo ǝɔuɐɥɔㄥ§ %s%% ɹ§ɐ ɥʇıʍ sʞɔıʇㄥ§ %s ɹ§ɹoɟㄥ§ %s %s", "gtceu.tooltip.potion.header": ":sʇɔǝɟɟǝ suıɐʇuoƆ9§", "gtceu.tooltip.proxy_bind": "%s %s %s ʇɐ ɹǝɟɟnᗺ uɹǝʇʇɐԀ ɐ oʇ buıpuıᗺɟ§", "gtceu.tooltip.tool_fluid_hold_shift": "oɟuI ןoo⟘ puɐ ʇuǝɯuıɐʇuoƆ pınןℲ ʍoɥs oʇ ⟘ℲIHS pןoHㄥ§", diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 287c6693db..d567afb38d 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -3947,7 +3947,7 @@ "gtceu.tooltip.fluid_pipe_hold_shift": "§7Hold SHIFT to show Fluid Containment Info", "gtceu.tooltip.hold_ctrl": "§7Hold CTRL for more info", "gtceu.tooltip.hold_shift": "§7Hold SHIFT for more info", - "gtceu.tooltip.potion.each": " §e%s %s§r for §c%s§r ticks with a §a%s%%§r chance of happening", + "gtceu.tooltip.potion.each": "%s %s §7for§r %s §7ticks with a§r %s%% §7chance of happening§r", "gtceu.tooltip.potion.header": "§6Contains effects:", "gtceu.tooltip.proxy_bind": "§fBinding to a Pattern Buffer at %s %s %s", "gtceu.tooltip.tool_fluid_hold_shift": "§7Hold SHIFT to show Fluid Containment and Tool Info", diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/FoodStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/FoodStats.java index f6e0a1af5b..0bedb592ba 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/FoodStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/FoodStats.java @@ -28,16 +28,28 @@ public class FoodStats implements IEdibleItem, IInteractionItem, IAddInformation protected final FoodProperties properties; protected final boolean isDrink; - @Nullable protected final Supplier containerItem; + public FoodStats(FoodProperties properties, boolean isDrink, boolean hasPotionEffects, + @Nullable Supplier containerItem) { + this.properties = properties; + this.isDrink = isDrink; + this.containerItem = containerItem; + } + public FoodStats(FoodProperties properties, boolean isDrink, @Nullable Supplier containerItem) { this.properties = properties; this.isDrink = isDrink; this.containerItem = containerItem; } + public FoodStats(FoodProperties properties) { + this.properties = properties; + this.isDrink = false; + this.containerItem = null; + } + @Override public FoodProperties getFoodProperties(ItemStack stack, @Nullable LivingEntity entity) { return properties; diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java index d38329c665..f7438218ee 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTItems.java @@ -2376,8 +2376,7 @@ public Component getItemName(ItemStack stack) { new FoodProperties.Builder().nutrition(1) .effect(() -> new MobEffectInstance(MobEffects.HUNGER, 400), .40f) .effect(() -> new MobEffectInstance(MobEffects.POISON, 100), .05f) - .build(), - false, null))) + .build()))) .tag(CustomTags.DOUGHS) .register(); public static ItemEntry PLANT_BALL = REGISTRATE.item("plant_ball", ComponentItem::create) diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 1474c4940a..84b76d583f 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -1345,7 +1345,7 @@ public static void init(RegistrateLangProvider provider) { provider.add("effect.gtceu.weak_poison", "Weak Poison"); provider.add("gtceu.tooltip.potion.header", "§6Contains effects:"); - provider.add("gtceu.tooltip.potion.each", " §e%s %s§r for §c%s§r ticks with a §a%s%%§r chance of happening"); + provider.add("gtceu.tooltip.potion.each", "%s %s §7for§r %s §7ticks with a§r %s%% §7chance of happening§r"); } /** diff --git a/src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java b/src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java index 4921fb4965..eb431860bb 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java @@ -14,6 +14,7 @@ import com.lowdragmc.lowdraglib.side.fluid.FluidHelper; import com.lowdragmc.lowdraglib.side.fluid.FluidStack; +import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -24,6 +25,7 @@ import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BiomeTags; import net.minecraft.util.RandomSource; @@ -496,15 +498,21 @@ public static Tuple getMaintenanceText(byte flag) { } public static void addPotionTooltip(List> effects, List list) { - list.add(Component.translatable("gtceu.tooltip.potion.header")); + if (!effects.isEmpty()) { + list.add(Component.translatable("gtceu.tooltip.potion.header")); + } effects.forEach(pair -> { var effect = pair.getFirst(); float probability = pair.getSecond(); list.add(Component.translatable("gtceu.tooltip.potion.each", - Component.translatable(effect.getDescriptionId()), - Component.translatable("enchantment.level." + (effect.getAmplifier() + 1)), - effect.getDuration(), - 100 * probability)); + Component.translatable(effect.getDescriptionId()) + .setStyle(Style.EMPTY.withColor(ChatFormatting.YELLOW)), + Component.translatable("enchantment.level." + (effect.getAmplifier() + 1)) + .setStyle(Style.EMPTY.withColor(ChatFormatting.YELLOW)), + Component.literal(String.valueOf(effect.getDuration())) + .setStyle(Style.EMPTY.withColor(ChatFormatting.RED)), + Component.literal(String.valueOf(100 * probability)) + .setStyle(Style.EMPTY.withColor(ChatFormatting.GREEN)))); }); } }