forked from RepoMirrors/kami-blue
render
This commit is contained in:
parent
abb4d793bf
commit
a663ee842e
|
@ -45,13 +45,13 @@ public class MixinEntityRenderer {
|
|||
|
||||
@Inject(method = "setupFog", at = @At(value = "HEAD"), cancellable = true)
|
||||
public void setupFog(int startCoords, float partialTicks, CallbackInfo callbackInfo) {
|
||||
if (AntiFog.enabled() && AntiFog.mode == AntiFog.VisionMode.NOFOG)
|
||||
if (AntiFog.enabled() && AntiFog.mode.getValue() == AntiFog.VisionMode.NOFOG)
|
||||
callbackInfo.cancel();
|
||||
}
|
||||
|
||||
@Redirect(method = "setupFog", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/ActiveRenderInfo;getBlockStateAtEntityViewpoint(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;F)Lnet/minecraft/block/state/IBlockState;"))
|
||||
public IBlockState getBlockStateAtEntityViewpoint(World worldIn, Entity entityIn, float p_186703_2_) {
|
||||
if (AntiFog.enabled() && AntiFog.mode == AntiFog.VisionMode.AIR) return Blocks.AIR.defaultBlockState;
|
||||
if (AntiFog.enabled() && AntiFog.mode.getValue() == AntiFog.VisionMode.AIR) return Blocks.AIR.defaultBlockState;
|
||||
return ActiveRenderInfo.getBlockStateAtEntityViewpoint(worldIn, entityIn, p_186703_2_);
|
||||
}
|
||||
|
||||
|
|
|
@ -188,6 +188,12 @@ public class Module {
|
|||
}
|
||||
}
|
||||
|
||||
protected void registerAll(Setting... settings) {
|
||||
for (Setting setting : settings) {
|
||||
register(setting);
|
||||
}
|
||||
}
|
||||
|
||||
protected <T> Setting<T> register(Setting<T> setting) {
|
||||
return SettingBuilder.register(setting, "modules." + name);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package me.zeroeightsix.kami.module.modules.render;
|
||||
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
/**
|
||||
* Created by 086 on 9/04/2018.
|
||||
|
@ -9,11 +10,12 @@ import me.zeroeightsix.kami.setting.ISetting;
|
|||
@Module.Info(name = "AntiFog", description = "Disables or reduces fog", category = Module.Category.RENDER)
|
||||
public class AntiFog extends Module {
|
||||
|
||||
@ISetting(name = "Mode") public static VisionMode mode = VisionMode.NOFOG;
|
||||
public static Setting<VisionMode> mode = Settings.e("Mode", VisionMode.NOFOG);
|
||||
private static AntiFog INSTANCE = new AntiFog();
|
||||
|
||||
public AntiFog() {
|
||||
INSTANCE = this;
|
||||
register(mode);
|
||||
}
|
||||
|
||||
public static boolean enabled() {
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package me.zeroeightsix.kami.module.modules.render;
|
||||
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.ColourHolder;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
|
@ -18,7 +19,7 @@ public class ArmorHUD extends Module {
|
|||
private static RenderItem itemRender = Minecraft.getMinecraft()
|
||||
.getRenderItem();
|
||||
|
||||
@ISetting(name = "Damage") private boolean damage = false;
|
||||
private Setting<Boolean> damage = register(Settings.b("Damage", false));
|
||||
|
||||
@Override
|
||||
public void onRender() {
|
||||
|
@ -27,11 +28,11 @@ public class ArmorHUD extends Module {
|
|||
ScaledResolution resolution = new ScaledResolution(mc);
|
||||
int i = resolution.getScaledWidth() / 2;
|
||||
int iteration = 0;
|
||||
int y = resolution.getScaledHeight()-55;
|
||||
for (ItemStack is : mc.player.inventory.armorInventory){
|
||||
int y = resolution.getScaledHeight() - 55;
|
||||
for (ItemStack is : mc.player.inventory.armorInventory) {
|
||||
iteration++;
|
||||
if (is.isEmpty()) continue;
|
||||
int x = i - 90 + (9-iteration) * 20 + 2;
|
||||
int x = i - 90 + (9 - iteration) * 20 + 2;
|
||||
GlStateManager.enableDepth();
|
||||
|
||||
itemRender.zLevel = 200F;
|
||||
|
@ -44,13 +45,13 @@ public class ArmorHUD extends Module {
|
|||
GlStateManager.disableDepth();
|
||||
|
||||
String s = is.getCount() > 1 ? is.getCount() + "" : "";
|
||||
mc.fontRenderer.drawStringWithShadow(s, x + 19 - 2 - mc.fontRenderer.getStringWidth(s), y+9, 0xffffff);
|
||||
mc.fontRenderer.drawStringWithShadow(s, x + 19 - 2 - mc.fontRenderer.getStringWidth(s), y + 9, 0xffffff);
|
||||
|
||||
if (damage){
|
||||
if (damage.getValue()) {
|
||||
float green = ((float) is.getMaxDamage() - (float) is.getItemDamage()) / (float) is.getMaxDamage();
|
||||
float red = 1-green;
|
||||
int dmg = 100 - (int) (red*100);
|
||||
mc.fontRenderer.drawStringWithShadow(dmg + "", x+8 - mc.fontRenderer.getStringWidth(dmg + "")/2, y-11, ColourHolder.toHex((int) (red*255), (int) (green*255), 0));
|
||||
float red = 1 - green;
|
||||
int dmg = 100 - (int) (red * 100);
|
||||
mc.fontRenderer.drawStringWithShadow(dmg + "", x + 8 - mc.fontRenderer.getStringWidth(dmg + "") / 2, y - 11, ColourHolder.toHex((int) (red * 255), (int) (green * 255), 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package me.zeroeightsix.kami.module.modules.render;
|
||||
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -12,12 +13,16 @@ import net.minecraft.entity.player.EntityPlayer;
|
|||
@Module.Info(name = "Chams", category = Module.Category.RENDER, description = "See entities through walls")
|
||||
public class Chams extends Module {
|
||||
|
||||
@ISetting(name = "Players") private static boolean players = true;
|
||||
@ISetting(name = "Animals") private static boolean animals = false;
|
||||
@ISetting(name = "Mobs") private static boolean mobs = false;
|
||||
private static Setting<Boolean> players = Settings.b("Players", true);
|
||||
private static Setting<Boolean> animals = Settings.b("Animals", false);
|
||||
private static Setting<Boolean> mobs = Settings.b("Mobs", false);
|
||||
|
||||
public Chams() {
|
||||
registerAll(players, animals, mobs);
|
||||
}
|
||||
|
||||
public static boolean renderChams(Entity entity) {
|
||||
return (entity instanceof EntityPlayer ? players : (EntityUtil.isPassive(entity) ? animals : mobs));
|
||||
return (entity instanceof EntityPlayer ? players.getValue() : (EntityUtil.isPassive(entity) ? animals.getValue() : mobs.getValue()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,7 +5,8 @@ import me.zero.alpine.listener.Listener;
|
|||
import me.zeroeightsix.kami.event.events.ChunkEvent;
|
||||
import me.zeroeightsix.kami.event.events.RenderEvent;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
|
@ -19,8 +20,8 @@ import static org.lwjgl.opengl.GL11.*;
|
|||
@Module.Info(name = "ChunkFinder", description = "Highlights newly generated chunks", category = Module.Category.RENDER)
|
||||
public class ChunkFinder extends Module {
|
||||
|
||||
@ISetting(name = "Y Offset", integer = true) private int yOffset = 0;
|
||||
@ISetting(name = "Relative") private boolean relative = true;
|
||||
private Setting<Integer> yOffset = register(Settings.i("Y Offset", 0));
|
||||
private Setting<Boolean> relative = register(Settings.b("Relative", true));
|
||||
|
||||
static ArrayList<Chunk> chunks = new ArrayList<>();
|
||||
|
||||
|
@ -68,11 +69,11 @@ public class ChunkFinder extends Module {
|
|||
}
|
||||
|
||||
double x = mc.getRenderManager().renderPosX;
|
||||
double y = relative ? 0 : -mc.getRenderManager().renderPosY;
|
||||
double y = relative.getValue() ? 0 : -mc.getRenderManager().renderPosY;
|
||||
double z = mc.getRenderManager().renderPosZ;
|
||||
GL11.glTranslated(-x, y+yOffset, -z);
|
||||
GL11.glTranslated(-x, y + yOffset.getValue(), -z);
|
||||
GL11.glCallList(list);
|
||||
GL11.glTranslated(x, -(y+yOffset), z);
|
||||
GL11.glTranslated(x, -(y + yOffset.getValue()), z);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
|
|
@ -2,7 +2,8 @@ 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.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
|
@ -19,11 +20,10 @@ import static org.lwjgl.opengl.GL11.*;
|
|||
@Module.Info(name = "ESP", category = Module.Category.RENDER)
|
||||
public class ESP extends Module {
|
||||
|
||||
@ISetting(name = "Mode")
|
||||
private ESPMode mode = ESPMode.RECTANGLE;
|
||||
@ISetting(name = "Players") private boolean players = true;
|
||||
@ISetting(name = "Animals") private boolean animals = false;
|
||||
@ISetting(name = "Mobs") private boolean mobs = false;
|
||||
private Setting<ESPMode> mode = register(Settings.e("Mode", ESPMode.RECTANGLE));
|
||||
private Setting<Boolean> players = register(Settings.b("Players", true));
|
||||
private Setting<Boolean> animals = register(Settings.b("Animals", false));
|
||||
private Setting<Boolean> mobs = register(Settings.b("Mobs", false));
|
||||
|
||||
public enum ESPMode {
|
||||
RECTANGLE
|
||||
|
@ -32,7 +32,7 @@ public class ESP extends Module {
|
|||
@Override
|
||||
public void onWorldRender(RenderEvent event) {
|
||||
if (Wrapper.getMinecraft().getRenderManager().options == null) return;
|
||||
switch (mode) {
|
||||
switch (mode.getValue()) {
|
||||
case RECTANGLE:
|
||||
boolean isThirdPersonFrontal = Wrapper.getMinecraft().getRenderManager().options.thirdPersonView == 2;
|
||||
float viewerYaw = Wrapper.getMinecraft().getRenderManager().playerViewY;
|
||||
|
@ -42,7 +42,7 @@ public class ESP extends Module {
|
|||
.filter(entity -> mc.player != entity)
|
||||
.map(entity -> (EntityLivingBase) entity)
|
||||
.filter(entityLivingBase -> !entityLivingBase.isDead)
|
||||
.filter(entity -> (players && entity instanceof EntityPlayer) || (EntityUtil.isPassive(entity) ? animals : mobs))
|
||||
.filter(entity -> (players.getValue() && entity instanceof EntityPlayer) || (EntityUtil.isPassive(entity) ? animals.getValue() : mobs.getValue()))
|
||||
.forEach(e -> {
|
||||
GlStateManager.pushMatrix();
|
||||
Vec3d pos = EntityUtil.getInterpolatedPos(e, event.getPartialTicks());
|
||||
|
|
|
@ -2,7 +2,8 @@ package me.zeroeightsix.kami.module.modules.render;
|
|||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.Friends;
|
||||
import net.minecraft.client.network.NetworkPlayerInfo;
|
||||
import net.minecraft.scoreboard.ScorePlayerTeam;
|
||||
|
@ -13,7 +14,7 @@ import net.minecraft.scoreboard.ScorePlayerTeam;
|
|||
@Module.Info(name = "ExtraTab", description = "Expands the player tab menu", category = Module.Category.RENDER)
|
||||
public class ExtraTab extends Module {
|
||||
|
||||
@ISetting(name = "Players", min = 1, integer = true) public int tabSize = 80;
|
||||
private Setting<Integer> tabSize = register(Settings.integerBuilder("Players").withMinimum(1).withValue(80).build());
|
||||
|
||||
public static ExtraTab INSTANCE;
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@ 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.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import me.zeroeightsix.kami.util.GeometryMasks;
|
||||
import me.zeroeightsix.kami.util.KamiTessellator;
|
||||
|
@ -21,9 +22,9 @@ import org.lwjgl.opengl.GL11;
|
|||
@Module.Info(name = "EyeFinder", description = "Draw lines from entity's heads to where they are looking", category = Module.Category.RENDER)
|
||||
public class EyeFinder extends Module {
|
||||
|
||||
@ISetting(name = "Players") private boolean players = true;
|
||||
@ISetting(name = "Mobs") private boolean mobs = false;
|
||||
@ISetting(name = "Animals") private boolean animals = false;
|
||||
private Setting<Boolean> players = register(Settings.b("Players", true));
|
||||
private Setting<Boolean> mobs = register(Settings.b("Mobs", false));
|
||||
private Setting<Boolean> animals = register(Settings.b("Animals", false));
|
||||
|
||||
@Override
|
||||
public void onWorldRender(RenderEvent event) {
|
||||
|
@ -32,7 +33,7 @@ public class EyeFinder extends Module {
|
|||
.filter(entity -> mc.player != entity)
|
||||
.map(entity -> (EntityLivingBase) entity)
|
||||
.filter(entityLivingBase -> !entityLivingBase.isDead)
|
||||
.filter(entity -> (players && entity instanceof EntityPlayer) || (EntityUtil.isPassive(entity) ? animals : mobs))
|
||||
.filter(entity -> (players.getValue() && entity instanceof EntityPlayer) || (EntityUtil.isPassive(entity) ? animals.getValue() : mobs.getValue()))
|
||||
.forEach(this::drawLine);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@ package me.zeroeightsix.kami.module.modules.render;
|
|||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.event.events.RenderEvent;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import me.zeroeightsix.kami.util.Friends;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
@ -32,11 +33,11 @@ import static org.lwjgl.opengl.GL11.*;
|
|||
@Module.Info(name = "Nametags", description = "Draws descriptive nametags above entities", category = Module.Category.RENDER)
|
||||
public class Nametags extends Module {
|
||||
|
||||
@ISetting(name = "Players") private boolean players = true;
|
||||
@ISetting(name = "Animals") private boolean animals = false;
|
||||
@ISetting(name = "Mobs") private boolean mobs = false;
|
||||
@ISetting(name = "Range") private double range = 200;
|
||||
@ISetting(name = "Health") private boolean health = true;
|
||||
private Setting<Boolean> players = register(Settings.b("Players", true));
|
||||
private Setting<Boolean> animals = register(Settings.b("Animals", false));
|
||||
private Setting<Boolean> mobs = register(Settings.b("Mobs", false));
|
||||
private Setting<Double> range = register(Settings.d("Range", 200));
|
||||
private Setting<Boolean> health = register(Settings.b("Health", true));
|
||||
|
||||
RenderItem itemRenderer = mc.getRenderItem();
|
||||
|
||||
|
@ -50,8 +51,8 @@ public class Nametags extends Module {
|
|||
Minecraft.getMinecraft().world.loadedEntityList.stream()
|
||||
.filter(EntityUtil::isLiving)
|
||||
.filter(entity -> !EntityUtil.isFakeLocalPlayer(entity))
|
||||
.filter(entity -> (entity instanceof EntityPlayer ? players && mc.player!=entity : (EntityUtil.isPassive(entity) ? animals : mobs)))
|
||||
.filter(entity -> mc.player.getDistance(entity)<range)
|
||||
.filter(entity -> (entity instanceof EntityPlayer ? players.getValue() && mc.player != entity : (EntityUtil.isPassive(entity) ? animals.getValue() : mobs.getValue())))
|
||||
.filter(entity -> mc.player.getDistance(entity) < range.getValue())
|
||||
.sorted(Comparator.comparing(entity -> -mc.player.getDistance(entity)))
|
||||
.forEach(this::drawNametag);
|
||||
GlStateManager.disableTexture2D();
|
||||
|
@ -66,24 +67,24 @@ public class Nametags extends Module {
|
|||
Vec3d interp = EntityUtil.getInterpolatedRenderPos(entityIn, mc.getRenderPartialTicks());
|
||||
float yAdd = entityIn.height + 0.5F - (entityIn.isSneaking() ? 0.25F : 0.0F);
|
||||
double x = interp.x;
|
||||
double y = interp.y+yAdd;
|
||||
double y = interp.y + yAdd;
|
||||
double z = interp.z;
|
||||
|
||||
float viewerYaw = mc.getRenderManager().playerViewY;
|
||||
float viewerPitch = mc.getRenderManager().playerViewX;
|
||||
boolean isThirdPersonFrontal = mc.getRenderManager().options.thirdPersonView == 2;
|
||||
GlStateManager.translate(x,y,z);
|
||||
GlStateManager.translate(x, y, z);
|
||||
GlStateManager.rotate(-viewerYaw, 0.0F, 1.0F, 0.0F);
|
||||
GlStateManager.rotate((float)(isThirdPersonFrontal ? -1 : 1) * viewerPitch, 1.0F, 0.0F, 0.0F);
|
||||
GlStateManager.rotate((float) (isThirdPersonFrontal ? -1 : 1) * viewerPitch, 1.0F, 0.0F, 0.0F);
|
||||
|
||||
float f = mc.player.getDistance(entityIn);
|
||||
float m = f/8f;
|
||||
GlStateManager.scale(m,m,m);
|
||||
float m = f / 8f;
|
||||
GlStateManager.scale(m, m, m);
|
||||
|
||||
FontRenderer fontRendererIn = mc.fontRenderer;
|
||||
GlStateManager.scale(-0.025F, -0.025F, 0.025F);
|
||||
|
||||
String str = entityIn.getName() + (health ? " " + Command.SECTIONSIGN() + "c" + Math.round(((EntityLivingBase) entityIn).getHealth()+(entityIn instanceof EntityPlayer ? ((EntityPlayer) entityIn).getAbsorptionAmount() : 0)) : "");
|
||||
String str = entityIn.getName() + (health.getValue() ? " " + Command.SECTIONSIGN() + "c" + Math.round(((EntityLivingBase) entityIn).getHealth() + (entityIn instanceof EntityPlayer ? ((EntityPlayer) entityIn).getAbsorptionAmount() : 0)) : "");
|
||||
int i = fontRendererIn.getStringWidth(str) / 2;
|
||||
GlStateManager.enableBlend();
|
||||
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
|
||||
|
@ -92,7 +93,7 @@ public class Nametags extends Module {
|
|||
|
||||
BufferBuilder bufferbuilder = tessellator.getBuffer();
|
||||
|
||||
glTranslatef(0,-20,0);
|
||||
glTranslatef(0, -20, 0);
|
||||
bufferbuilder.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
|
||||
bufferbuilder.pos(-i - 1, 8, 0.0D).color(0.0F, 0.0F, 0.0F, 0.5F).endVertex();
|
||||
bufferbuilder.pos(-i - 1, 19, 0.0D).color(0.0F, 0.0F, 0.0F, 0.5F).endVertex();
|
||||
|
@ -110,38 +111,41 @@ public class Nametags extends Module {
|
|||
GlStateManager.enableTexture2D();
|
||||
|
||||
GlStateManager.glNormal3f(0.0F, 1.0F, 0.0F);
|
||||
fontRendererIn.drawString(str, -i,10, entityIn instanceof EntityPlayer ? Friends.isFriend(entityIn.getName()) ? 0x11ee11 : 0xffffff : 0xffffff);
|
||||
fontRendererIn.drawString(str, -i, 10, entityIn instanceof EntityPlayer ? Friends.isFriend(entityIn.getName()) ? 0x11ee11 : 0xffffff : 0xffffff);
|
||||
GlStateManager.glNormal3f(0.0F, 0.0F, 0.0F);
|
||||
glTranslatef(0,20,0);
|
||||
glTranslatef(0, 20, 0);
|
||||
|
||||
GlStateManager.scale(-40, -40, 40);
|
||||
|
||||
ArrayList<ItemStack> equipment = new ArrayList<>();
|
||||
entityIn.getHeldEquipment().forEach(itemStack -> {
|
||||
if (itemStack!=null) equipment.add(itemStack);
|
||||
if (itemStack != null) equipment.add(itemStack);
|
||||
});
|
||||
ArrayList<ItemStack> armour = new ArrayList<>();
|
||||
entityIn.getArmorInventoryList().forEach(itemStack -> {
|
||||
if (itemStack!=null) armour.add(itemStack);
|
||||
if (itemStack != null) armour.add(itemStack);
|
||||
});
|
||||
Collections.reverse(armour);
|
||||
equipment.addAll(armour);
|
||||
if (equipment.size() == 0) { GlStateManager.popMatrix(); return; }
|
||||
if (equipment.size() == 0) {
|
||||
GlStateManager.popMatrix();
|
||||
return;
|
||||
}
|
||||
|
||||
Collection<ItemStack> a = equipment.stream().filter(itemStack -> !itemStack.isEmpty()).collect(Collectors.toList());
|
||||
GlStateManager.translate(((a.size()-1)/2f)*.5f,.6,0);
|
||||
GlStateManager.translate(((a.size() - 1) / 2f) * .5f, .6, 0);
|
||||
|
||||
a.forEach(itemStack -> {
|
||||
GlStateManager.pushAttrib();
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
GlStateManager.scale(.5,.5,0);
|
||||
GlStateManager.scale(.5, .5, 0);
|
||||
GlStateManager.disableLighting();
|
||||
this.itemRenderer.zLevel = -5;
|
||||
this.itemRenderer.renderItem(itemStack, itemStack.getItem()== Items.SHIELD ? ItemCameraTransforms.TransformType.FIXED : ItemCameraTransforms.TransformType.NONE);
|
||||
this.itemRenderer.renderItem(itemStack, itemStack.getItem() == Items.SHIELD ? ItemCameraTransforms.TransformType.FIXED : ItemCameraTransforms.TransformType.NONE);
|
||||
this.itemRenderer.zLevel = 0;
|
||||
GlStateManager.scale(2,2,0);
|
||||
GlStateManager.scale(2, 2, 0);
|
||||
GlStateManager.popAttrib();
|
||||
GlStateManager.translate(-.5f,0,0);
|
||||
GlStateManager.translate(-.5f, 0, 0);
|
||||
});
|
||||
|
||||
GlStateManager.popMatrix();
|
||||
|
|
|
@ -5,7 +5,8 @@ import me.zero.alpine.listener.Listener;
|
|||
import me.zeroeightsix.kami.event.events.ChunkEvent;
|
||||
import me.zeroeightsix.kami.event.events.RenderEvent;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import net.minecraft.block.BlockPortal;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
|
@ -19,15 +20,14 @@ import java.util.ArrayList;
|
|||
@Module.Info(name = "PortalTracers", category = Module.Category.RENDER)
|
||||
public class PortalTracers extends Module {
|
||||
|
||||
@ISetting(name = "Range") private int range = 5000;
|
||||
|
||||
private Setting<Integer> range = register(Settings.i("Range", 5000));
|
||||
private ArrayList<BlockPos> portals = new ArrayList<>();
|
||||
|
||||
@EventHandler
|
||||
private Listener<ChunkEvent> loadListener = new Listener<>(event -> {
|
||||
Chunk chunk = event.getChunk();
|
||||
// Remove already registered portals from this chunk, allowing removed portals to vanish from tracers and no duplicates to be made
|
||||
portals.removeIf(blockPos -> blockPos.getX()/16 == chunk.x && blockPos.getZ()/16 == chunk.z);
|
||||
portals.removeIf(blockPos -> blockPos.getX() / 16 == chunk.x && blockPos.getZ() / 16 == chunk.z);
|
||||
|
||||
for (ExtendedBlockStorage storage : chunk.getBlockStorageArray()) {
|
||||
if (storage != null) {
|
||||
|
@ -39,7 +39,7 @@ public class PortalTracers extends Module {
|
|||
int py = storage.yBase + y;
|
||||
int pz = chunk.z * 16 + z;
|
||||
portals.add(new BlockPos(px, py, pz));
|
||||
y+=6;
|
||||
y += 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ public class PortalTracers extends Module {
|
|||
|
||||
@Override
|
||||
public void onWorldRender(RenderEvent event) {
|
||||
portals.stream().filter(blockPos -> mc.player.getDistance(blockPos.x,blockPos.y,blockPos.z)<=range)
|
||||
.forEach(blockPos -> Tracers.drawLine(blockPos.x-mc.getRenderManager().renderPosX, blockPos.y-mc.getRenderManager().renderPosY, blockPos.z-mc.getRenderManager().renderPosZ, 0,0.6f, 0.3f, 0.8f,1));
|
||||
portals.stream().filter(blockPos -> mc.player.getDistance(blockPos.x, blockPos.y, blockPos.z) <= range.getValue())
|
||||
.forEach(blockPos -> Tracers.drawLine(blockPos.x - mc.getRenderManager().renderPosX, blockPos.y - mc.getRenderManager().renderPosY, blockPos.z - mc.getRenderManager().renderPosZ, 0, 0.6f, 0.3f, 0.8f, 1));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@ import me.zeroeightsix.kami.module.Module;
|
|||
|
||||
/**
|
||||
* Created by 086 on 24/12/2017.
|
||||
* @see me.zeroeightsix.kami.mixin.client.MixinGuiScreen
|
||||
*/
|
||||
@Module.Info(name = "ShulkerPreview", category = Module.Category.RENDER)
|
||||
public class ShulkerPreview extends Module {
|
||||
// this just has to exist. see MixinGuiScreen
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@ 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.ISetting;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.ColourUtils;
|
||||
import me.zeroeightsix.kami.util.EntityUtil;
|
||||
import me.zeroeightsix.kami.util.Friends;
|
||||
|
@ -20,12 +21,12 @@ import org.lwjgl.opengl.GL11;
|
|||
@Module.Info(name = "Tracers", description = "Draws lines to other living entities", category = Module.Category.RENDER)
|
||||
public class Tracers extends Module {
|
||||
|
||||
@ISetting(name = "Players") private boolean players = true;
|
||||
@ISetting(name = "Friends") private boolean friends = true;
|
||||
@ISetting(name = "Animals") private boolean animals = false;
|
||||
@ISetting(name = "Mobs") private boolean mobs = false;
|
||||
@ISetting(name = "Range") private double range = 200;
|
||||
@ISetting(name = "Opacity", min = 0, max = 1) private float opacity = 1f;
|
||||
private Setting<Boolean> players = register(Settings.b("Players", true));
|
||||
private Setting<Boolean> friends = register(Settings.b("Friends", true));
|
||||
private Setting<Boolean> animals = register(Settings.b("Animals", false));
|
||||
private Setting<Boolean> mobs = register(Settings.b("Mobs", false));
|
||||
private Setting<Double> range = register(Settings.d("Range", 200));
|
||||
private Setting<Float> opacity = register(Settings.floatBuilder("Opacity").withRange(0f, 1f).withValue(1f));
|
||||
|
||||
HueCycler cycler = new HueCycler(3600);
|
||||
|
||||
|
@ -35,18 +36,18 @@ public class Tracers extends Module {
|
|||
Minecraft.getMinecraft().world.loadedEntityList.stream()
|
||||
.filter(EntityUtil::isLiving)
|
||||
.filter(entity -> !EntityUtil.isFakeLocalPlayer(entity))
|
||||
.filter(entity -> (entity instanceof EntityPlayer ? players && mc.player!=entity : (EntityUtil.isPassive(entity) ? animals : mobs)))
|
||||
.filter(entity -> mc.player.getDistance(entity)<range)
|
||||
.filter(entity -> (entity instanceof EntityPlayer ? players.getValue() && mc.player!=entity : (EntityUtil.isPassive(entity) ? animals.getValue() : mobs.getValue())))
|
||||
.filter(entity -> mc.player.getDistance(entity)<range.getValue())
|
||||
.forEach(entity -> {
|
||||
int colour = getColour(entity);
|
||||
if (colour == ColourUtils.Colors.RAINBOW) {
|
||||
if (!friends) return;
|
||||
if (!friends.getValue()) return;
|
||||
colour = cycler.current();
|
||||
}
|
||||
final float r = ((colour >>> 16) & 0xFF)/255f;
|
||||
final float g = ((colour >>> 8) & 0xFF)/255f;
|
||||
final float b = (colour & 0xFF)/255f;
|
||||
drawLineToEntity(entity, r, g, b, opacity);
|
||||
drawLineToEntity(entity, r, g, b, opacity.getValue());
|
||||
});
|
||||
GlStateManager.popMatrix();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue