Skip to content

Commit

Permalink
LEGACY: Fixed UI & Added Custom Scoreboard Server IP (CCBlueX#2781)
Browse files Browse the repository at this point in the history
- Added CLIENT_WEBSITE val.
- Added Rounded Rectangle to Inventory.
- Added Custom Server IP to Scoreboard.
- Fixed Inventory Rectangle Elements.
  • Loading branch information
EclipsesDev committed Apr 12, 2024
1 parent d4380c5 commit 1bd5100
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 5 deletions.
1 change: 1 addition & 0 deletions src/main/java/net/ccbluex/liquidbounce/LiquidBounce.kt
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ object LiquidBounce {
const val IN_DEV = true
const val CLIENT_CREATOR = "CCBlueX"
const val MINECRAFT_VERSION = "1.8.9"
const val CLIENT_WEBSITE = "liquidbounce.net"
const val CLIENT_CLOUD = "https://cloud.liquidbounce.net/LiquidBounce"

val clientTitle = CLIENT_NAME + " " + clientVersionText + " " + clientCommit + " | " + MINECRAFT_VERSION + if (IN_DEV) " | DEVELOPMENT BUILD" else ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@
*/
package net.ccbluex.liquidbounce.injection.forge.mixins.gui;

import net.ccbluex.liquidbounce.LiquidBounce;
import net.ccbluex.liquidbounce.event.EventManager;
import net.ccbluex.liquidbounce.event.Render2DEvent;
import net.ccbluex.liquidbounce.features.module.modules.render.AntiBlind;
import net.ccbluex.liquidbounce.features.module.modules.render.HUD;
import net.ccbluex.liquidbounce.features.module.modules.render.NoScoreboard;
import net.ccbluex.liquidbounce.ui.font.AWTFontRenderer;
import net.ccbluex.liquidbounce.utils.ClassUtils;
import net.ccbluex.liquidbounce.utils.render.RenderUtils;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.RenderHelper;
Expand Down Expand Up @@ -52,8 +54,8 @@ private void renderTooltip(ScaledResolution sr, float partialTicks, CallbackInfo
int middleScreen = sr.getScaledWidth() / 2;

color(1f, 1f, 1f, 1f);
GuiIngame.drawRect(middleScreen - 91, sr.getScaledHeight() - 24, middleScreen + 90, sr.getScaledHeight(), Integer.MIN_VALUE);
GuiIngame.drawRect(middleScreen - 91 - 1 + entityPlayer.inventory.currentItem * 20 + 1, sr.getScaledHeight() - 24, middleScreen - 91 - 1 + entityPlayer.inventory.currentItem * 20 + 22, sr.getScaledHeight() - 22 - 1 + 24, Integer.MAX_VALUE);
RenderUtils.INSTANCE.drawRoundedRectInt(middleScreen - 91, sr.getScaledHeight() - 24, middleScreen + 90, sr.getScaledHeight(), Integer.MIN_VALUE, 4f);
RenderUtils.INSTANCE.drawRoundedRectInt(middleScreen - 91 - 1 + entityPlayer.inventory.currentItem * 20 + 1, sr.getScaledHeight() - 24, middleScreen - 91 - 1 + entityPlayer.inventory.currentItem * 20 + 22, sr.getScaledHeight() - 22 - 1 + 24, Integer.MAX_VALUE, 4f);

enableRescaleNormal();
glEnable(GL_BLEND);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package net.ccbluex.liquidbounce.ui.client

import net.ccbluex.liquidbounce.LiquidBounce.CLIENT_NAME
import net.ccbluex.liquidbounce.LiquidBounce.CLIENT_WEBSITE
import net.ccbluex.liquidbounce.LiquidBounce.clientVersionText
import net.ccbluex.liquidbounce.api.messageOfTheDay
import net.ccbluex.liquidbounce.lang.translationMenu
Expand Down Expand Up @@ -87,7 +88,7 @@ class GuiMainMenu : GuiScreen() {

if (mouseX >= motdWidth && mouseX <= width / 2f + 115 && mouseY >= motdHeight && mouseY <= motdHeightEnd) {
// Open liquidbounce website
MiscUtils.showURL("https://liquidbounce.net")
MiscUtils.showURL("https://$CLIENT_WEBSITE")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import net.ccbluex.liquidbounce.ui.font.Fonts
import net.ccbluex.liquidbounce.utils.render.ColorUtils

import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawBorder
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRectNew2
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRoundedRect2
import net.ccbluex.liquidbounce.value.*
import net.minecraft.client.gui.FontRenderer
Expand Down Expand Up @@ -56,7 +57,7 @@ class Inventory : Element(300.0, 50.0) {
drawRoundedRect2(0F, startY, width, height, Color(0,0,0, backgroundAlpha), roundedRectRadius)
if (borderValue) {
drawBorder(0f, startY, width, height, 3f, borderColor.rgb)
drawRoundedRect2(0F, 0f, width, 1f, borderColor, roundedRectRadius)
drawRectNew2(0F, 0f, width, 1f, borderColor)
}
// Reset color
resetColor()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,24 @@
*/
package net.ccbluex.liquidbounce.ui.client.hud.element.elements

import net.ccbluex.liquidbounce.LiquidBounce.CLIENT_NAME
import net.ccbluex.liquidbounce.LiquidBounce.CLIENT_WEBSITE
import net.ccbluex.liquidbounce.features.module.modules.render.NoScoreboard
import net.ccbluex.liquidbounce.script.api.global.Chat
import net.ccbluex.liquidbounce.ui.client.hud.element.Border
import net.ccbluex.liquidbounce.ui.client.hud.element.Element
import net.ccbluex.liquidbounce.ui.client.hud.element.ElementInfo
import net.ccbluex.liquidbounce.ui.client.hud.element.Side
import net.ccbluex.liquidbounce.ui.font.Fonts
import net.ccbluex.liquidbounce.utils.ClientUtils.LOGGER
import net.ccbluex.liquidbounce.utils.render.ColorUtils
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRoundedRect
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRoundedRectInt
import net.ccbluex.liquidbounce.value.*
import net.minecraft.scoreboard.ScoreObjective
import net.minecraft.scoreboard.ScorePlayerTeam
import net.minecraft.util.EnumChatFormatting
import org.apache.commons.lang3.StringUtils
import org.lwjgl.opengl.GL11.glColor4f
import java.awt.Color

Expand Down Expand Up @@ -48,6 +53,7 @@ class ScoreboardElement(x: Double = 5.0, y: Double = 0.0, scale: Float = 1F,
private val rectColorBlue by IntegerValue("Rect-B", 255, 0..255) { rect && rectColorMode == "Custom"}
private val rectColorAlpha by IntegerValue("Rect-Alpha", 255, 0..255) { rect && rectColorMode == "Custom"}

private val serverIp by ListValue("ServerIP", arrayOf("Normal", "None", "Client", "Website"), "Normal")
private val shadow by BoolValue("Shadow", false)
private val font by FontValue("Font", Fonts.minecraftFont)

Expand Down Expand Up @@ -103,14 +109,36 @@ class ScoreboardElement(x: Double = 5.0, y: Double = 0.0, scale: Float = 1F,
scoreCollection.forEachIndexed { index, score ->
val team = scoreboard.getPlayersTeam(score.playerName)

val name = ScorePlayerTeam.formatPlayerName(team, score.playerName)
var name = ScorePlayerTeam.formatPlayerName(team, score.playerName)
val scorePoints = "${EnumChatFormatting.RED}${score.scorePoints}"

val width = 5 - if (rect) 4 else 0
val height = maxHeight - index * fontRenderer.FONT_HEIGHT.toFloat()

glColor4f(1f, 1f, 1f, 1f)

if (serverIp != "Normal") {
runCatching {
val nameWithoutFormatting = name?.replace(EnumChatFormatting.RESET.toString(), "")?.replace(Regex("\u00a7[0-9a-fk-r]"), "")
val trimmedServerIP = mc.currentServerData?.serverIP?.trim()?.lowercase()

runCatching {
if (nameWithoutFormatting == trimmedServerIP) {
name = when (serverIp.lowercase()) {
"none" -> ""
"client" -> "§9§l$CLIENT_NAME"
"website" -> "§9§l$CLIENT_WEBSITE"
else -> return null
}
}
}.onFailure {
LOGGER.error("Error while changing Scoreboard Server IP: ${it.message}")
}
}.onFailure {
LOGGER.error("Failed to run: ${it.message}")
}
}

fontRenderer.drawString(name, l1.toFloat(), height, textColor, shadow)
fontRenderer.drawString(scorePoints, (width - fontRenderer.getStringWidth(scorePoints)).toFloat(), height, textColor, shadow)

Expand Down

0 comments on commit 1bd5100

Please sign in to comment.