diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt index 71f858864..8a54ddce1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt @@ -58,6 +58,7 @@ object Widgets18 { val EQUIPMENT_BATTERY_SLOT_BACKGROUND = slotBgGrid.next() val PATTERN_SLOT_BACKGROUND = slotBgGrid.next() val MATTER_CAPACITOR_SLOT_BACKGROUND = slotBgGrid.next() + val CHARGE_SLOT_BACKGROUND = slotBgGrid.next() private val controlsGrid = WidgetLocation.SIDE_CONTROLS.grid(rows = 8, columns = 9) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt index 31aaa3131..f3e494f47 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt @@ -218,7 +218,10 @@ class ExoPackInventoryScreen(menu: ExoPackInventoryMenu) : MatteryScreen> @JvmOverloads constru y: Float = 0f, width: Float = SIZE, height: Float = SIZE, - open val noItemIcon: IGUIRenderable? = null + open var noItemIcon: IGUIRenderable? = null ) : EditablePanel(screen, parent, x, y, width, height), IItemStackPanel { + open var slotBackground: IGUIRenderable? = null + protected open fun renderSlotBackground(graphics: GuiGraphics, mouseX: Float, mouseY: Float, partialTick: Float) { SLOT_BACKGROUND.render(graphics, width = width, height = height) + slotBackground?.render(graphics, 0f, 0f, width, height) } protected open fun renderRegular(graphics: GuiGraphics, itemstack: ItemStack, countOverride: String? = null) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/InventorySlotPanel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/InventorySlotPanel.kt index eefd83760..afbb6d4b1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/InventorySlotPanel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/InventorySlotPanel.kt @@ -24,11 +24,9 @@ open class InventorySlotPanel, out T : MatteryMenu.Inve get() = slot.filter?.get() set(value) { slot.filter?.accept(value) } - override fun renderSlotBackground(graphics: GuiGraphics, mouseX: Float, mouseY: Float, partialTick: Float) { - super.renderSlotBackground(graphics, mouseX, mouseY, partialTick) - + override fun renderBackgroundBeforeFilter(graphics: GuiGraphics, mouseX: Float, mouseY: Float, partialTick: Float) { if (slot.chargeFlag?.get() == true) { - Widgets18.BATTERY_SLOT_BACKGROUND.render(graphics, 0f, 0f, width, height) + Widgets18.CHARGE_SLOT_BACKGROUND.render(graphics, 0f, 0f, width, height) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/UserFilteredSlotPanel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/UserFilteredSlotPanel.kt index d38a4f77e..2c23eb01d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/UserFilteredSlotPanel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/slot/UserFilteredSlotPanel.kt @@ -36,9 +36,13 @@ abstract class UserFilteredSlotPanel, out T : Slot>( ) : SlotPanel(screen, parent, slot, x, y, width, height, noItemIcon) { abstract var slotFilter: Item? + protected open fun renderBackgroundBeforeFilter(graphics: GuiGraphics, mouseX: Float, mouseY: Float, partialTick: Float) {} + override fun renderSlotBackground(graphics: GuiGraphics, mouseX: Float, mouseY: Float, partialTick: Float) { super.renderSlotBackground(graphics, mouseX, mouseY, partialTick) + renderBackgroundBeforeFilter(graphics, mouseX, mouseY, partialTick) + if (slotFilter != null) { if (slotFilter !== Items.AIR) { val itemStack = ItemStack(slotFilter!!, 1) diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.png b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.png index 33348815c..38f3005c6 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.png and b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.xcf b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.xcf index bbaeefede..df69ada02 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.xcf and b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/slot_backgrounds.xcf differ