diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index 180451f99..e408463d2 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -22,6 +22,7 @@ import ru.dbotthepony.mc.otm.client.EventHandler; import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel; import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel; import ru.dbotthepony.mc.otm.compat.mekanism.QIOKt; +import ru.dbotthepony.mc.otm.compat.mekanism.TooltipsKt; import ru.dbotthepony.mc.otm.core.ImpreciseFraction; import ru.dbotthepony.mc.otm.item.weapon.AbstractWeaponItem; import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem; @@ -99,6 +100,7 @@ public final class OverdriveThatMatters { if (ModList.get().isLoaded("mekanism")) { MinecraftForge.EVENT_BUS.register(QIOKt.class); + MinecraftForge.EVENT_BUS.register(TooltipsKt.class); } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Tooltips.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Tooltips.kt new file mode 100644 index 000000000..2604b7f91 --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Tooltips.kt @@ -0,0 +1,22 @@ +package ru.dbotthepony.mc.otm.compat.mekanism + +import mekanism.common.registries.MekanismItems +import net.minecraft.ChatFormatting +import net.minecraft.network.chat.TranslatableComponent +import net.minecraftforge.event.entity.player.ItemTooltipEvent +import net.minecraftforge.eventbus.api.SubscribeEvent +import ru.dbotthepony.mc.otm.capability.isMekanismLoaded + +private val BLACKHOLE_IMMUNITY = TranslatableComponent("otm.item.blackhole_immunity").withStyle(ChatFormatting.DARK_GRAY) + +@SubscribeEvent +@Suppress("unused") +fun tooltipEvent(event: ItemTooltipEvent) { + if (!isMekanismLoaded) { + throw IllegalStateException("Mekanism is not loaded!") + } + + if (event.itemStack.`is`(MekanismItems.MODULE_GRAVITATIONAL_MODULATING.get())) { + event.toolTip.add(BLACKHOLE_IMMUNITY) + } +} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableGravitationStabilizerItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableGravitationStabilizerItem.kt index 3d9775798..a2c9cad26 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableGravitationStabilizerItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableGravitationStabilizerItem.kt @@ -1,11 +1,15 @@ package ru.dbotthepony.mc.otm.item +import net.minecraft.ChatFormatting import net.minecraft.client.model.HumanoidModel +import net.minecraft.network.chat.Component +import net.minecraft.network.chat.TranslatableComponent import net.minecraft.sounds.SoundEvent import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.LivingEntity import net.minecraft.world.item.* import net.minecraft.world.item.crafting.Ingredient +import net.minecraft.world.level.Level import net.minecraftforge.client.IItemRenderProperties import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel @@ -41,4 +45,19 @@ class ItemPortableGravitationStabilizer : ArmorItem(GravitationStabilizerArmorMa super.initializeClient(consumer) consumer.accept(GravitationStabilizerArmorRenderProperties) } + + override fun appendHoverText( + p_41421_: ItemStack, + p_41422_: Level?, + p_41423_: MutableList, + p_41424_: TooltipFlag + ) { + super.appendHoverText(p_41421_, p_41422_, p_41423_, p_41424_) + + p_41423_.add(DESCRIPTION) + } + + companion object { + private val DESCRIPTION = TranslatableComponent("otm.item.blackhole_immunity").withStyle(ChatFormatting.DARK_GRAY) + } } diff --git a/src/main/resources/assets/overdrive_that_matters/lang/en_us.json b/src/main/resources/assets/overdrive_that_matters/lang/en_us.json index 206bf628e..f9838cf77 100644 --- a/src/main/resources/assets/overdrive_that_matters/lang/en_us.json +++ b/src/main/resources/assets/overdrive_that_matters/lang/en_us.json @@ -5,6 +5,8 @@ "itemGroup.otm": "Overdrive That Matters", + "otm.item.blackhole_immunity": "Negates gravitational effects of singularities", + "otm.pill.warning": "WARNING: This will INSTANTLY decommission you upon ingestion!", "otm.pill.android": "Take this pill and lose what is holding you back.",