Skip to content

Commit

Permalink
fix: ByteBuffer flip calls causing issues on non Java 8 versions.
Browse files Browse the repository at this point in the history
  • Loading branch information
opZywl committed Feb 1, 2025
1 parent 4b4c136 commit 1160798
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* FDPClient Hacked Client
* A free open source mixin-based injection hacked client for Minecraft using Minecraft Forge.
* https://github.com/SkidderMC/FDPClient/
*/
package net.ccbluex.liquidbounce.utils.io

import java.nio.Buffer
import java.nio.ByteBuffer

/**
* Prevents crashes when flip() is called from higher Java versions.
*/
fun ByteBuffer.flipSafely() {
try {
flip()
} catch (ex: Exception) {
try {
(this as Buffer).flip()
} catch (any: Exception) {
any.printStackTrace()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ package net.ccbluex.liquidbounce.utils.render

import net.ccbluex.liquidbounce.FDPClient.CLIENT_NAME
import net.ccbluex.liquidbounce.utils.client.ClientUtils
import net.ccbluex.liquidbounce.utils.io.flipSafely
import net.minecraftforge.fml.relauncher.Side
import net.minecraftforge.fml.relauncher.SideOnly
import java.io.IOException
Expand All @@ -33,7 +34,7 @@ object IconUtils {
val byteBuffer = ByteBuffer.allocate(4 * rgb.size)
for (i in rgb)
byteBuffer.putInt(i shl 8 or (i shr 24 and 255))
byteBuffer.flip()
byteBuffer.flipSafely()
return byteBuffer
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import net.ccbluex.liquidbounce.utils.block.toVec
import net.ccbluex.liquidbounce.utils.client.ClientThemesUtils.getColor
import net.ccbluex.liquidbounce.utils.client.MinecraftInstance
import net.ccbluex.liquidbounce.utils.extensions.*
import net.ccbluex.liquidbounce.utils.io.flipSafely
import net.ccbluex.liquidbounce.utils.render.ColorUtils.setColour
import net.ccbluex.liquidbounce.utils.render.animation.AnimationUtil
import net.ccbluex.liquidbounce.utils.render.animation.AnimationUtil.easeInOutQuadX
Expand Down Expand Up @@ -2623,7 +2624,7 @@ object RenderUtils : MinecraftInstance {
buffer.put(((pixel shr 24) and 0xFF).toByte())
}

buffer.flip()
buffer.flipSafely()

val textureID = glGenTextures()

Expand Down

0 comments on commit 1160798

Please sign in to comment.