diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/render/StorageESP.java b/src/main/java/me/zeroeightsix/kami/module/modules/render/StorageESP.java index db187f6d..1bc63989 100644 --- a/src/main/java/me/zeroeightsix/kami/module/modules/render/StorageESP.java +++ b/src/main/java/me/zeroeightsix/kami/module/modules/render/StorageESP.java @@ -2,6 +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.Setting; +import me.zeroeightsix.kami.setting.Settings; import me.zeroeightsix.kami.util.ColourUtils; import me.zeroeightsix.kami.util.GeometryMasks; import me.zeroeightsix.kami.util.KamiTessellator; @@ -23,9 +25,21 @@ import java.util.ArrayList; @Module.Info(name = "StorageESP", description = "Draws nice little lines around storage items", category = Module.Category.RENDER) public class StorageESP extends Module { + private Setting chest = register(Settings.b("Chest", true)); + private Setting dispenser = register(Settings.b("Dispenser", true)); + private Setting shulker = register(Settings.b("Shulker", true)); + private Setting echest = register(Settings.b("Ender Chest", true)); + private Setting furnace = register(Settings.b("Furnace", true)); + private Setting hopper = register(Settings.b("Hopper", true)); + private Setting cart = register(Settings.b("Minecart", true)); + private Setting frame = register(Settings.b("Item Frame", true)); + + private int getTileEntityColor(TileEntity tileEntity) { - if (tileEntity instanceof TileEntityChest || tileEntity instanceof TileEntityDispenser || tileEntity instanceof TileEntityShulkerBox) + if (tileEntity instanceof TileEntityChest || tileEntity instanceof TileEntityDispenser) return ColourUtils.Colors.ORANGE; + else if (tileEntity instanceof TileEntityShulkerBox) + return ColourUtils.Colors.RED; else if (tileEntity instanceof TileEntityEnderChest) return ColourUtils.Colors.PURPLE; else if (tileEntity instanceof TileEntityFurnace) @@ -42,6 +56,9 @@ public class StorageESP extends Module { else if (entity instanceof EntityItemFrame && ((EntityItemFrame) entity).getDisplayedItem().getItem() instanceof ItemShulkerBox) return ColourUtils.Colors.YELLOW; + else if (entity instanceof EntityItemFrame && + (!(((EntityItemFrame) entity).getDisplayedItem().getItem() instanceof ItemShulkerBox))) + return ColourUtils.Colors.ORANGE; else return -1; } @@ -63,15 +80,17 @@ public class StorageESP extends Module { if (chest.adjacentChestZPos != null) side = ~(side & GeometryMasks.Quad.SOUTH); if (chest.adjacentChestXNeg != null) side = ~(side & GeometryMasks.Quad.WEST); } - if (color != -1) + if ((tileEntity instanceof TileEntityChest && chest.getValue()) || (tileEntity instanceof TileEntityDispenser && dispenser.getValue()) || (tileEntity instanceof TileEntityShulkerBox && shulker.getValue()) || (tileEntity instanceof TileEntityEnderChest && echest.getValue()) || (tileEntity instanceof TileEntityFurnace && furnace.getValue()) || (tileEntity instanceof TileEntityHopper && hopper.getValue())) + if (color != -1) a.add(new Triplet<>(pos, color, side)); //GeometryTessellator.drawCuboid(event.getBuffer(), pos, GeometryMasks.Line.ALL, color); } for (Entity entity : Wrapper.getWorld().loadedEntityList) { BlockPos pos = entity.getPosition(); int color = getEntityColor(entity); - if (color != -1) - a.add(new Triplet<>(entity instanceof EntityItemFrame ? pos.add(0, -1, 0) : pos, color, GeometryMasks.Quad.ALL)); //GeometryTessellator.drawCuboid(event.getBuffer(), entity instanceof EntityItemFrame ? pos.add(0, -1, 0) : pos, GeometryMasks.Line.ALL, color); + if ((entity instanceof EntityItemFrame && frame.getValue()) || (entity instanceof EntityMinecartChest && cart.getValue())) + if (color != -1) + a.add(new Triplet<>(entity instanceof EntityItemFrame ? pos.add(0, -1, 0) : pos, color, GeometryMasks.Quad.ALL)); //GeometryTessellator.drawCuboid(event.getBuffer(), entity instanceof EntityItemFrame ? pos.add(0, -1, 0) : pos, GeometryMasks.Line.ALL, color); } KamiTessellator.prepare(GL11.GL_QUADS);