31 lines
1.3 KiB
Kotlin
31 lines
1.3 KiB
Kotlin
package fr.username404.snowygui.gui
|
|
|
|
import com.mojang.blaze3d.systems.RenderSystem
|
|
import com.mojang.blaze3d.vertex.DefaultVertexFormat
|
|
import com.mojang.blaze3d.vertex.PoseStack
|
|
import net.minecraft.client.Minecraft
|
|
import net.minecraft.network.chat.TranslatableComponent
|
|
import org.lwjgl.opengl.GL20
|
|
|
|
class ClickBox(x: Double, y: Double, private val name: TranslatableComponent? = null): ColoredElement(x, y, 80, 10, 0x6C9E9D) {
|
|
var opacity = 0.5F
|
|
override fun render(poseStack: PoseStack?) {
|
|
RenderSystem.disableTexture()
|
|
RenderSystem.enableBlend()
|
|
RenderSystem.defaultBlendFunc()
|
|
with(buffer) {
|
|
begin(GL20.GL_POLYGON, DefaultVertexFormat.POSITION_COLOR)
|
|
vertex(x, y + height, 0.0).colorIt(color, opacity).endVertex()
|
|
vertex(x + width, y + height, 0.0).colorIt(color, opacity).endVertex()
|
|
vertex(x + width, y, 0.0).colorIt(color, opacity).endVertex()
|
|
vertex(x, y, 0.0).colorIt(color, opacity).endVertex()
|
|
tessellator.end()
|
|
}
|
|
RenderSystem.enableTexture()
|
|
RenderSystem.disableBlend()
|
|
|
|
if ((name != null) && (poseStack != null)) {
|
|
Minecraft.getInstance().font.draw(poseStack, name.string, x.toFloat() + 2, y.toFloat() + 1.5F, TransparentColor)
|
|
}
|
|
}
|
|
} |