aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java')
-rw-r--r--src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java b/src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java
new file mode 100644
index 0000000..af34df4
--- /dev/null
+++ b/src/main/java/org/chrisoft/trashyaddon/misc/AddonEntityOutlineShader.java
@@ -0,0 +1,41 @@
+package org.chrisoft.trashyaddon.misc;
+
+import meteordevelopment.meteorclient.systems.modules.Modules;
+import meteordevelopment.meteorclient.systems.modules.render.ESP;
+import meteordevelopment.meteorclient.utils.render.postprocess.EntityShader;
+import net.minecraft.entity.Entity;
+import org.chrisoft.trashyaddon.commands.EntityHighlightCommand;
+
+public class AddonEntityOutlineShader extends EntityShader {
+ private static ESP esp;
+
+ public AddonEntityOutlineShader() {
+ init("outline");
+ }
+
+ @Override
+ protected boolean shouldDraw() {
+ if (esp == null) esp = Modules.get().get(ESP.class);
+ //return esp.isShader();
+ return true;
+ }
+
+ @Override
+ public void endRender() {
+ super.endRender();
+ }
+
+ @Override
+ public boolean shouldDraw(Entity entity) {
+ if (!shouldDraw()) return false;
+ return EntityHighlightCommand.getEntityColor(entity) != null;
+ }
+
+ @Override
+ protected void setUniforms() {
+ shader.set("u_Width", esp.outlineWidth.get());
+ shader.set("u_FillOpacity", esp.fillOpacity.get());
+ shader.set("u_ShapeMode", esp.shapeMode.get().ordinal());
+ shader.set("u_GlowMultiplier", esp.glowMultiplier.get());
+ }
+}