blob: f13707cd332c05593f2c6611d9a49e5089f6bcdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package moe.nea.firmament.features.items.recipes
import me.shedaniel.math.Dimension
import me.shedaniel.math.Point
import me.shedaniel.math.Rectangle
import net.minecraft.client.gui.components.Renderable
import net.minecraft.client.gui.components.events.GuiEventListener
import net.minecraft.client.gui.narration.NarratableEntry
import net.minecraft.client.gui.narration.NarrationElementOutput
import net.minecraft.client.gui.navigation.ScreenRectangle
import moe.nea.firmament.util.mc.asScreenRectangle
abstract class RecipeWidget : GuiEventListener, Renderable, NarratableEntry {
override fun narrationPriority(): NarratableEntry.NarrationPriority? {
return NarratableEntry.NarrationPriority.NONE// I am so sorry
}
override fun updateNarration(narrationElementOutput: NarrationElementOutput) {
}
open fun tick() {}
private var _focused = false
abstract var position: Point
abstract val size: Dimension
open val rect: Rectangle get() = Rectangle(position, size)
override fun setFocused(focused: Boolean) {
this._focused = focused
}
override fun isFocused(): Boolean {
return this._focused
}
override fun isMouseOver(mouseX: Double, mouseY: Double): Boolean {
return rect.contains(mouseX, mouseY)
}
}
|