diff options
5 files changed, 83 insertions, 40 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index a85a48d47..ce8312e65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ - Added hiding the flame particles when using the Fire Veil Wand ability - Added circle around the player when having the Fire Veil Wand ability running +### Small Changes +- Changed the ashfang gravity orb highlight from square to cylinder + ### Fixes - Fixed enchanted books in bazaar diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java b/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java index 909649633..4ddae7a05 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java @@ -40,7 +40,7 @@ public class Ashfang { desc = "Color of the Ashfang Gravity Orbs" ) @ConfigEditorColour - public String gravityOrbsColor = "0:245:255:85:85"; + public String gravityOrbsColor = "0:120:255:85:85"; @Expose @ConfigOption(name = "Ashfang Blazing Souls", desc = "Showing the Blazing Souls more clearly") diff --git a/src/main/java/at/hannibal2/skyhanni/features/FireVeilWandParticles.kt b/src/main/java/at/hannibal2/skyhanni/features/FireVeilWandParticles.kt index ff4c80d69..d7af6d6c3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/FireVeilWandParticles.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/FireVeilWandParticles.kt @@ -8,12 +8,10 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.RenderUtils import at.hannibal2.skyhanni.utils.SpecialColour import net.minecraft.client.Minecraft -import net.minecraft.client.renderer.GlStateManager import net.minecraft.network.play.server.S2APacketParticles import net.minecraft.util.EnumParticleTypes import net.minecraftforge.client.event.RenderWorldLastEvent import net.minecraftforge.fml.common.eventhandler.SubscribeEvent -import org.lwjgl.opengl.GL11 import java.awt.Color class FireVeilWandParticles { @@ -58,33 +56,9 @@ class FireVeilWandParticles { if (SkyHanniMod.feature.abilities.fireVeilWandDisplay != 1) return if (System.currentTimeMillis() > lastClick + 5_500) return - val color = Color(SpecialColour.specialToChromaRGB(SkyHanniMod.feature.abilities.fireVeilWandDisplayColor), true) + val color = + Color(SpecialColour.specialToChromaRGB(SkyHanniMod.feature.abilities.fireVeilWandDisplayColor), true) - GlStateManager.pushMatrix() - GL11.glNormal3f(0.0f, 1.0f, 0.0f) - - GlStateManager.enableDepth() - GlStateManager.enableBlend() - GlStateManager.depthFunc(GL11.GL_LEQUAL) - GlStateManager.disableCull() - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) - GlStateManager.enableAlpha() - GlStateManager.disableTexture2D() - - GlStateManager.disableDepth() - RenderUtils.drawCircle( - Minecraft.getMinecraft().thePlayer, - event.partialTicks, - 3.5, - color - ) - GlStateManager.enableDepth() - - GlStateManager.enableCull() - GlStateManager.enableTexture2D() - GlStateManager.enableDepth() - GlStateManager.disableBlend() - GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f) - GlStateManager.popMatrix() + RenderUtils.drawCircle(Minecraft.getMinecraft().thePlayer, event.partialTicks, 3.5, color) } }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/ashfang/AshfangGravityOrbs.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/ashfang/AshfangGravityOrbs.kt index f9ca75f59..c0dbe3108 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/nether/ashfang/AshfangGravityOrbs.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/nether/ashfang/AshfangGravityOrbs.kt @@ -3,13 +3,9 @@ package at.hannibal2.skyhanni.features.nether.ashfang import at.hannibal2.skyhanni.SkyHanniMod import at.hannibal2.skyhanni.features.damageindicator.BossType import at.hannibal2.skyhanni.features.damageindicator.DamageIndicatorManager -import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled +import at.hannibal2.skyhanni.utils.* import at.hannibal2.skyhanni.utils.ItemUtils.getSkullTexture -import at.hannibal2.skyhanni.utils.LocationUtils -import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.RenderUtils.drawString -import at.hannibal2.skyhanni.utils.SpecialColour -import at.hannibal2.skyhanni.utils.getLorenzVec import net.minecraft.client.Minecraft import net.minecraft.entity.item.EntityArmorStand import net.minecraftforge.client.event.RenderWorldLastEvent @@ -39,15 +35,14 @@ class AshfangGravityOrbs { fun onRenderWorld(event: RenderWorldLastEvent) { if (!isEnabled()) return - val special = SkyHanniMod.feature.ashfang.gravityOrbsColor - - val color = Color(SpecialColour.specialToChromaRGB(special), true) - + val color = Color(SpecialColour.specialToChromaRGB(SkyHanniMod.feature.ashfang.gravityOrbsColor), true) val playerLocation = LocationUtils.playerLocation() for (orb in orbs) { if (orb.isDead) continue val orbLocation = orb.getLorenzVec() - event.drawWaypointFilled(orbLocation.add(-0.5, 1.25, -0.5), color, extraSize = 1.0) + val center = orbLocation.add(-0.5, -2.0, -0.5) + RenderUtils.drawCylinderInWorld(color, center.x, center.y, center.z, 3.5f, 4.5f, event.partialTicks) + if (orbLocation.distance(playerLocation) < 15) { //TODO find way to dynamically change color event.drawString(orbLocation.add(0.0, 2.5, 0.0), "§cGravity Orb") diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt index 0be20057f..58de5dcff 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt @@ -447,6 +447,19 @@ object RenderUtils { // totally not modified Autumn Client's TargetStrafe fun drawCircle(entity: Entity, partialTicks: Float, rad: Double, color: Color) { + GlStateManager.pushMatrix() + GL11.glNormal3f(0.0f, 1.0f, 0.0f) + + GlStateManager.enableDepth() + GlStateManager.enableBlend() + GlStateManager.depthFunc(GL11.GL_LEQUAL) + GlStateManager.disableCull() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + GlStateManager.enableAlpha() + GlStateManager.disableTexture2D() + + GlStateManager.disableDepth() + var il = 0.0 val tessellator = Tessellator.getInstance() val worldRenderer = tessellator.worldRenderer @@ -472,6 +485,64 @@ object RenderUtils { GlStateManager.popMatrix() il += 0.0006 } + + GlStateManager.enableDepth() + + GlStateManager.enableCull() + GlStateManager.enableTexture2D() + GlStateManager.enableDepth() + GlStateManager.disableBlend() + GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f) + GlStateManager.popMatrix() + } + fun drawCylinderInWorld(color: Color,x: Double, y: Double, z: Double, radius: Float, height: Float, partialTicks: Float) { + GlStateManager.pushMatrix() + GL11.glNormal3f(0.0f, 1.0f, 0.0f) + + GlStateManager.enableDepth() + GlStateManager.enableBlend() + GlStateManager.depthFunc(GL11.GL_LEQUAL) + GlStateManager.disableCull() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + GlStateManager.enableAlpha() + GlStateManager.disableTexture2D() + color.bindColor() + + var x1 = x + var y1 = y + var z1 = z + val renderViewEntity = Minecraft.getMinecraft().renderViewEntity + val viewX = + renderViewEntity.prevPosX + (renderViewEntity.posX - renderViewEntity.prevPosX) * partialTicks.toDouble() + val viewY = + renderViewEntity.prevPosY + (renderViewEntity.posY - renderViewEntity.prevPosY) * partialTicks.toDouble() + val viewZ = + renderViewEntity.prevPosZ + (renderViewEntity.posZ - renderViewEntity.prevPosZ) * partialTicks.toDouble() + x1 -= viewX + y1 -= viewY + z1 -= viewZ + val tessellator = Tessellator.getInstance() + val worldrenderer = tessellator.worldRenderer + worldrenderer.begin(GL11.GL_QUAD_STRIP, DefaultVertexFormats.POSITION) + var currentAngle = 0f + val angleStep = 0.1f + while (currentAngle < 2 * Math.PI) { + val xOffset = radius * cos(currentAngle.toDouble()).toFloat() + val zOffset = radius * sin(currentAngle.toDouble()).toFloat() + worldrenderer.pos(x1 + xOffset, y1 + height, z1 + zOffset).endVertex() + worldrenderer.pos(x1 + xOffset, y1 + 0, z1 + zOffset).endVertex() + currentAngle += angleStep + } + worldrenderer.pos(x1 + radius, y1 + height, z1).endVertex() + worldrenderer.pos(x1 + radius, y1 + 0.0, z1).endVertex() + tessellator.draw() + + GlStateManager.enableCull() + GlStateManager.enableTexture2D() + GlStateManager.enableDepth() + GlStateManager.disableBlend() + GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f) + GlStateManager.popMatrix() } private fun Color.bindColor() = GlStateManager.color(this.red / 255f, this.green / 255f, this.blue / 255f, this.alpha / 255f) |