Added Shaders

This commit is contained in:
Cloudburst
2021-05-24 08:34:13 +02:00
parent e38f0c2d70
commit 9625814032
4 changed files with 112 additions and 1 deletions

View File

@@ -36,6 +36,7 @@ public class MeteorRejectsAddon extends MeteorAddon {
modules.add(new NewChunks());
modules.add(new ObsidianFarm());
modules.add(new RenderInvisible());
modules.add(new Shaders());
modules.add(new SkeletonESP());
modules.add(new Sneak());
modules.add(new SoundLocator());

View File

@@ -0,0 +1,30 @@
package cloudburst.rejects.mixin;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.*;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.ShaderEffect;
import net.minecraft.client.render.GameRenderer;
import cloudburst.rejects.modules.Shaders;
import minegame159.meteorclient.systems.modules.Modules;
@Mixin(GameRenderer.class)
public class GameRendererMixin {
@Shadow @Final private MinecraftClient client;
@Redirect(method = "render", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/GameRenderer;shader:Lnet/minecraft/client/gl/ShaderEffect;", ordinal = 0))
private ShaderEffect renderShader(GameRenderer renderer, float tickDelta) {
ShaderEffect shader = Modules.get().get(Shaders.class).getShaderEffect();
if (shader != null) {
shader.setupDimensions(client.getWindow().getFramebufferWidth(), client.getWindow().getFramebufferHeight());
shader.render(tickDelta);
}
return null;
}
}

View File

@@ -0,0 +1,79 @@
package cloudburst.rejects.modules;
import java.io.IOException;
import net.minecraft.client.gl.ShaderEffect;
import net.minecraft.util.Identifier;
import cloudburst.rejects.MeteorRejectsAddon;
import minegame159.meteorclient.settings.EnumSetting;
import minegame159.meteorclient.settings.Setting;
import minegame159.meteorclient.settings.SettingGroup;
import minegame159.meteorclient.systems.modules.Module;
public class Shaders extends Module {
public enum Shader {
None,
Notch,
FXAA,
Art,
Bumpy,
Blobs,
Blobs2,
Pencil,
Vibrant,
Deconverge,
Flip,
Invert,
NTSC,
Outline,
Phosphor,
Scanline,
Sobel,
Bits,
Desaturate,
Green,
Blur,
Wobble,
Antialias,
Creeper,
Spider
}
private final SettingGroup sgGeneral = settings.getDefaultGroup();
private ShaderEffect shader = null;
public Shaders() {
super(MeteorRejectsAddon.CATEGORY, "shaders", "1.7 Super secret settings");
}
private final Setting<Shader> shaderEnum = sgGeneral.add(new EnumSetting.Builder<Shader>()
.name("shader")
.description("Select which shader to use")
.defaultValue(Shader.None)
.onChanged(this::onChanged)
.build()
);
public void onChanged(Shader s) {
String name;
if (s == Shader.Vibrant) name = "color_convolve";
else if (s == Shader.Scanline) name = "scan_pincushion";
else name = s.toString().toLowerCase();
Identifier shaderID = new Identifier(String.format("shaders/post/%s.json", name));
try {
ShaderEffect shader = new ShaderEffect(mc.getTextureManager(), mc.getResourceManager(), mc.getFramebuffer(), shaderID);
this.shader = shader;
} catch (IOException e) {
this.shader = null;
}
}
public ShaderEffect getShaderEffect() {
if (!this.isActive()) return null;
return shader;
}
}

View File

@@ -7,7 +7,8 @@
"client": [
"EntityMixin",
"ClientWorldMixin",
"StructureVoidBlockMixin"
"StructureVoidBlockMixin",
"GameRendererMixin"
],
"injectors": {
"defaultRequire": 1