diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index d54669d2f..c85458ea1 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -89,6 +89,8 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.generated(MItems.TRITANIUM_ARMOR) provider.armorWithTrims(MItems.SIMPLE_TRITANIUM_ARMOR) + provider.handheld(MItems.CHEST_UPGRADER) + provider.generatedTiered(MItems.BATTERIES, "battery_tier") provider.generated(MItems.BATTERY_CREATIVE) provider.generated(MItems.PROCEDURAL_BATTERY, modLocation("item/battery_procedural")) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index 74fe3e236..b30813a5d 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -672,6 +672,10 @@ private fun items(provider: MatteryLanguageProvider) { add(MItems.CreativeUpgrades.FAILSAFE, "Creative Failsafe Upgrade") add(MItems.CreativeUpgrades.FAILURE, "Creative Failure Upgrade") add(MItems.CreativeUpgrades.PROCESSING_ITEMS, "Creative Item Processing Upgrade") + + add(MItems.CHEST_UPGRADER, "Crate-r") + add(MItems.CHEST_UPGRADER, "desc", "Replaces placed chests and barrels with cargo crates while keeping storage contents") + add(MItems.CHEST_UPGRADER, "desc2", "Hold desired crates in the opposite hand") } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index e5b1e6621..ebb2bd9c3 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -674,6 +674,10 @@ private fun items(provider: MatteryLanguageProvider) { add(MItems.CreativeUpgrades.FAILSAFE, "Творческое улучшение отказоустойчивости") add(MItems.CreativeUpgrades.FAILURE, "Творческое улучшение краха") add(MItems.CreativeUpgrades.PROCESSING_ITEMS, "Творческое улучшение обработки") + + add(MItems.CHEST_UPGRADER, "Ящикатор") + add(MItems.CHEST_UPGRADER, "desc", "Заменяет установленные сундуки и бочки грузовыми ящиками с сохранением содержимого") + add(MItems.CHEST_UPGRADER, "desc2", "Удерживайте необходимые ящики в противоположной руке") } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt index 6c07356ab..f4aefddff 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt @@ -1,6 +1,8 @@ package ru.dbotthepony.mc.otm.item import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap +import net.minecraft.ChatFormatting +import net.minecraft.network.chat.Component import net.minecraft.server.level.ServerLevel import net.minecraft.world.Container import net.minecraft.world.InteractionHand @@ -8,15 +10,19 @@ import net.minecraft.world.InteractionResult import net.minecraft.world.item.BlockItem import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack +import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.item.context.UseOnContext +import net.minecraft.world.level.Level import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.entity.BarrelBlockEntity import net.minecraft.world.level.block.entity.ChestBlockEntity import net.minecraft.world.level.storage.loot.LootParams import net.minecraft.world.level.storage.loot.parameters.LootContextParams +import ru.dbotthepony.mc.otm.OverdriveThatMatters.MOD_ID import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock import ru.dbotthepony.mc.otm.block.entity.decorative.CargoCrateBlockEntity +import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.math.Vector class ChestUpgraderItem : Item(Properties().stacksTo(1)) { @@ -85,4 +91,16 @@ class ChestUpgraderItem : Item(Properties().stacksTo(1)) { return super.onItemUseFirst(stack, context) } + + override fun appendHoverText(pStack: ItemStack, pLevel: Level?, pTooltip: MutableList, pFlag: TooltipFlag) { + super.appendHoverText(pStack, pLevel, pTooltip, pFlag) + + pTooltip.add(DESCRIPTION) + pTooltip.add(DESCRIPTION2) + } + + companion object { + private val DESCRIPTION = TranslatableComponent("item.${MOD_ID}.chest_upgrader.desc").withStyle(ChatFormatting.DARK_GRAY) + private val DESCRIPTION2= TranslatableComponent("item.${MOD_ID}.chest_upgrader.desc2").withStyle(ChatFormatting.DARK_GRAY) + } } diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/chest_upgrader.png b/src/main/resources/assets/overdrive_that_matters/textures/item/chest_upgrader.png new file mode 100644 index 000000000..d36635b4d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/item/chest_upgrader.png differ