diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java new file mode 100644 index 00000000..910c8a6c --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java @@ -0,0 +1,34 @@ +package me.xmrvizzy.skyblocker.utils; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.GameRenderer; +import net.minecraft.client.toast.Toast; +import net.minecraft.client.toast.ToastManager; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.Text; + +@Environment(value= EnvType.CLIENT) +public class ToastBuilder implements Toast { + private final Text title; + private final Text description; + + public ToastBuilder(Text title, Text description) { + this.title = title; + this.description = description; + } + + @Override + public Toast.Visibility draw(MatrixStack matrices, ToastManager manager, long startTime) { + RenderSystem.setShader(GameRenderer::getPositionTexShader); + RenderSystem.setShaderTexture(0, TEXTURE); + RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); + + manager.drawTexture(matrices, 0, 0, 0, 0, this.getWidth(), this.getHeight()); + manager.getClient().textRenderer.draw(matrices, title, 7.0f, 7.0f, -11534256); + manager.getClient().textRenderer.draw(matrices, description, 7.0f, 18.0f, -16777216); + return startTime >= 3000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW; + } +} |