forked from RepoMirrors/kami-blue
parent
6216841893
commit
721bc7ad8c
|
@ -0,0 +1,37 @@
|
|||
package me.zeroeightsix.kami.mixin.client;
|
||||
|
||||
import me.zeroeightsix.kami.module.ModuleManager;
|
||||
import me.zeroeightsix.kami.module.modules.render.Chams;
|
||||
import net.minecraft.client.renderer.entity.RenderLiving;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
/**
|
||||
* @author 086
|
||||
*/
|
||||
@Mixin(RenderLiving.class)
|
||||
public class MixinRenderLiving {
|
||||
|
||||
@Inject(method = "doRender", at = @At("HEAD"))
|
||||
private void injectChamsPre(EntityLiving entity, double x, double y, double z, float entityYaw, float partialTicks, CallbackInfo info) {
|
||||
if (ModuleManager.isModuleEnabled("Chams") && Chams.renderChams(entity)) {
|
||||
GL11.glEnable(32823);
|
||||
GL11.glPolygonOffset(1.0f, -1000000.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "doRender", at = @At("RETURN"))
|
||||
private <S extends EntityLivingBase> void injectChamsPost(EntityLiving entity, double x, double y, double z, float entityYaw, float partialTicks, CallbackInfo info) {
|
||||
if (ModuleManager.isModuleEnabled("Chams") && Chams.renderChams(entity)) {
|
||||
GL11.glPolygonOffset(1.0f, 1000000.0f);
|
||||
GL11.glDisable(32823);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -2,66 +2,28 @@ package me.zeroeightsix.kami.module.modules.render;
|
|||
|
||||
import me.zeroeightsix.kami.event.events.RenderEvent;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
/**
|
||||
* Created by 086 on 12/12/2017.
|
||||
*/
|
||||
@Module.Info(name = "Chams", category = Module.Category.RENDER)
|
||||
@Module.Info(name = "Chams", category = Module.Category.RENDER, description = "See entities through walls")
|
||||
public class Chams extends Module {
|
||||
|
||||
// static Framebuffer entityFBO;
|
||||
@Setting(name = "Players") private static boolean players = true;
|
||||
@Setting(name = "Animals") private static boolean animals = false;
|
||||
@Setting(name = "Mobs") private static boolean mobs = false;
|
||||
|
||||
|
||||
public Chams() {
|
||||
// entityFBO = new Framebuffer(mc.displayWidth, mc.displayHeight, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWorldRender(RenderEvent event) {
|
||||
// entityFBO.setFramebufferColor(0,0,0,0);
|
||||
// entityFBO.framebufferClear();
|
||||
|
||||
// entityFBO.bindFramebuffer(false);
|
||||
// GlStateManager.enableBlend();
|
||||
// GlStateManager.blendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlStateManager.pushMatrix();
|
||||
mc.world.playerEntities.stream().filter(entityPlayer -> entityPlayer != mc.player).forEach(Chams::drawEntityOutline);
|
||||
mc.world.loadedEntityList.stream().filter(entity -> EntityUtil.isLiving(entity) && entity != mc.player).forEach(Chams::drawEntityOutline);
|
||||
// entityFBO.unbindFramebuffer();
|
||||
GlStateManager.popMatrix();
|
||||
// mc.getFramebuffer().bindFramebuffer(true);
|
||||
|
||||
// entityFBO.framebufferRenderExt(mc.displayWidth, mc.displayHeight, false);
|
||||
|
||||
GlStateManager.color(1,1,1);
|
||||
GlStateManager.enableBlend();
|
||||
}
|
||||
|
||||
/*
|
||||
@EventHandler
|
||||
public Listener<DisplaySizeChangedEvent> listener = new Listener<>(event -> {
|
||||
try {
|
||||
if (GLContext.getCapabilities() == null) return;
|
||||
}catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
entityFBO = new Framebuffer(mc.displayWidth, mc.displayHeight, false);
|
||||
});*/
|
||||
|
||||
static void drawEntityOutline(Entity e) {
|
||||
Render render = Wrapper.getMinecraft().getRenderManager().getEntityRenderObject(e);
|
||||
|
||||
Vec3d interp = EntityUtil.getInterpolatedPos(e, Wrapper.getMinecraft().getRenderPartialTicks());
|
||||
interp = interp.subtract(mc.getRenderManager().renderPosX,mc.getRenderManager().renderPosY,mc.getRenderManager().renderPosZ);
|
||||
GlStateManager.enableBlend();
|
||||
GlStateManager.enableTexture2D();
|
||||
render.doRender(e, interp.x, interp.y, interp.z, e.rotationYaw, Wrapper.getMinecraft().getRenderPartialTicks());
|
||||
public static boolean renderChams(Entity entity) {
|
||||
return (entity instanceof EntityPlayer ? players : (EntityUtil.isPassive(entity) ? animals : mobs));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
"MixinRenderPlayer",
|
||||
"MixinGuiPlayerTabOverlay",
|
||||
"MixinC00Handshake",
|
||||
"MixinNetHandlerPlayClient"
|
||||
"MixinNetHandlerPlayClient",
|
||||
"MixinRenderLiving"
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue