diff --git a/enderio-conduits/src/generated/resources/assets/enderio/lang/en_us.json b/enderio-conduits/src/generated/resources/assets/enderio/lang/en_us.json index 51d5747048..e18c6dddc0 100644 --- a/enderio-conduits/src/generated/resources/assets/enderio/lang/en_us.json +++ b/enderio-conduits/src/generated/resources/assets/enderio/lang/en_us.json @@ -38,5 +38,7 @@ "tooltip.enderio.conduit.fluid.multi": "Allows multiple fluids to be transported on the same line", "tooltip.enderio.conduit.fluid.raw_rate": "Rate: %s mB/graph tick", "tooltip.enderio.conduit.item.effective_rate": "Effective Rate: %s Items/sec", - "tooltip.enderio.conduit.item.raw_rate": "Rate: %s Items/graph tick" + "tooltip.enderio.conduit.item.raw_rate": "Rate: %s Items/graph tick", + "tooltip.enderio.conduit_facade.blast_resist": "Hardened: Resists breaking and explosions", + "tooltip.enderio.conduit_facade.transparent": "Transparent: Hides conduits when painted with a translucent block" } \ No newline at end of file diff --git a/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/facades/FacadeTooltipHandler.java b/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/facades/FacadeTooltipHandler.java new file mode 100644 index 0000000000..48cb334e15 --- /dev/null +++ b/enderio-conduits/src/main/java/com/enderio/conduits/common/conduit/facades/FacadeTooltipHandler.java @@ -0,0 +1,29 @@ +package com.enderio.conduits.common.conduit.facades; + +import com.enderio.conduits.EnderIOConduits; +import com.enderio.conduits.common.init.ConduitCapabilities; +import com.enderio.conduits.common.init.ConduitLang; +import com.enderio.core.common.util.TooltipUtil; +import net.minecraft.world.item.ItemStack; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; + +@EventBusSubscriber(modid = EnderIOConduits.MODULE_MOD_ID, bus = EventBusSubscriber.Bus.GAME) +public class FacadeTooltipHandler { + @SubscribeEvent + public static void addTooltip(ItemTooltipEvent event) { + ItemStack stack = event.getItemStack(); + var facade = stack.getCapability(ConduitCapabilities.ConduitFacade.ITEM); + + if (facade != null) { + if (facade.type().doesHideConduits()) { + event.getToolTip().add(TooltipUtil.style(ConduitLang.TRANSPARENT_FACADE_TOOLTIP)); + } + + if (facade.type().isBlastResistant()) { + event.getToolTip().add(TooltipUtil.style(ConduitLang.BLAST_RESIST_FACADE_TOOLTIP)); + } + } + } +} diff --git a/enderio-conduits/src/main/java/com/enderio/conduits/common/init/ConduitLang.java b/enderio-conduits/src/main/java/com/enderio/conduits/common/init/ConduitLang.java index 4dbe8b0226..6ff10d568e 100644 --- a/enderio-conduits/src/main/java/com/enderio/conduits/common/init/ConduitLang.java +++ b/enderio-conduits/src/main/java/com/enderio/conduits/common/init/ConduitLang.java @@ -41,6 +41,9 @@ public class ConduitLang { public static final Component CONDUIT_INSERT = addTranslation("gui", EnderIOBase.loc("conduit.insert"), "Insert"); public static final Component CONDUIT_EXTRACT = addTranslation("gui", EnderIOBase.loc("conduit.extract"), "Extract"); + public static final MutableComponent TRANSPARENT_FACADE_TOOLTIP = addTranslation("tooltip", EnderIOBase.loc("conduit_facade.transparent"), "Transparent: Hides conduits when painted with a translucent block"); + public static final MutableComponent BLAST_RESIST_FACADE_TOOLTIP = addTranslation("tooltip", EnderIOBase.loc("conduit_facade.blast_resist"), "Hardened: Resists breaking and explosions"); + private static MutableComponent addTranslation(String prefix, ResourceLocation id, String translation) { return EnderIOConduits.REGILITE.addTranslation(prefix, id, translation); }