diff options
| author | Lorenz <lo.scherf@gmail.com> | 2022-08-26 21:05:20 +0200 |
|---|---|---|
| committer | Lorenz <lo.scherf@gmail.com> | 2022-08-26 21:05:20 +0200 |
| commit | 9cd969dc06ee91e2d93b6ef656bcc35e5b574c12 (patch) | |
| tree | 1e5f4dc18170060d204164373f2261b14f0f8e8d /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | f5971ea6e7d4fea8f442c92f5ece7812892e844d (diff) | |
| download | SkyHanni-9cd969dc06ee91e2d93b6ef656bcc35e5b574c12.tar.gz SkyHanni-9cd969dc06ee91e2d93b6ef656bcc35e5b574c12.tar.bz2 SkyHanni-9cd969dc06ee91e2d93b6ef656bcc35e5b574c12.zip | |
added summoning mob features
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
3 files changed, 60 insertions, 40 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt index acfcd86d4..143ba4ca1 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt @@ -4,43 +4,42 @@ import net.minecraft.entity.EntityLiving import net.minecraft.entity.item.EntityArmorStand import net.minecraft.util.AxisAlignedBB -class EntityUtils { -} +object EntityUtils { -//TODO move into utils method -fun EntityLiving.hasNameTagWith( - y: Int, - contains: String, - debugRightEntity: Boolean = false, - inaccuracy: Double = 1.6, - debugWrongEntity: Boolean = false, -): Boolean { - return getNameTagWith(y, contains, debugRightEntity, inaccuracy, debugWrongEntity) != null -} + fun EntityLiving.hasNameTagWith( + y: Int, + contains: String, + debugRightEntity: Boolean = false, + inaccuracy: Double = 1.6, + debugWrongEntity: Boolean = false, + ): Boolean { + return getNameTagWith(y, contains, debugRightEntity, inaccuracy, debugWrongEntity) != null + } -fun EntityLiving.getNameTagWith( - y: Int, - contains: String, - debugRightEntity: Boolean = false, - inaccuracy: Double = 1.6, - debugWrongEntity: Boolean = false, -): EntityArmorStand? { - val center = getLorenzVec().add(0, y, 0) - val a = center.add(-inaccuracy, -inaccuracy - 3, -inaccuracy).toBlocPos() - val b = center.add(inaccuracy, inaccuracy + 3, inaccuracy).toBlocPos() - val alignedBB = AxisAlignedBB(a, b) - val clazz = EntityArmorStand::class.java - val found = worldObj.getEntitiesWithinAABB(clazz, alignedBB) - return found.find { - val result = it.name.contains(contains) - if (debugWrongEntity && !result) { - println("wrong entity in aabb: '" + it.name + "'") - } - if (debugRightEntity && result) { - println("mob: " + center.printWithAccuracy(2)) - println("nametag: " + it.getLorenzVec().printWithAccuracy(2)) - println("accuracy: " + it.getLorenzVec().subtract(center).printWithAccuracy(3)) + fun EntityLiving.getNameTagWith( + y: Int, + contains: String, + debugRightEntity: Boolean = false, + inaccuracy: Double = 1.6, + debugWrongEntity: Boolean = false, + ): EntityArmorStand? { + val center = getLorenzVec().add(0, y, 0) + val a = center.add(-inaccuracy, -inaccuracy - 3, -inaccuracy).toBlocPos() + val b = center.add(inaccuracy, inaccuracy + 3, inaccuracy).toBlocPos() + val alignedBB = AxisAlignedBB(a, b) + val clazz = EntityArmorStand::class.java + val found = worldObj.getEntitiesWithinAABB(clazz, alignedBB) + return found.find { + val result = it.name.contains(contains) + if (debugWrongEntity && !result) { + println("wrong entity in aabb: '" + it.name + "'") + } + if (debugRightEntity && result) { + println("mob: " + center.printWithAccuracy(2)) + println("nametag: " + it.getLorenzVec().printWithAccuracy(2)) + println("accuracy: " + it.getLorenzVec().subtract(center).printWithAccuracy(3)) + } + result } - result } }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/NumberUtil.kt b/src/main/java/at/hannibal2/skyhanni/utils/NumberUtil.kt index 1d4701397..afc35b3ec 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/NumberUtil.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/NumberUtil.kt @@ -156,4 +156,18 @@ object NumberUtil { fun String.isInt(): Boolean { return isNotEmpty() && pattern.matcher(this).matches() } + + fun percentageColor( + have: Int, + max: Int, + ): LorenzColor { + val percentage = have.toDouble() / max.toDouble() + return when { + percentage > 0.9 -> LorenzColor.DARK_GREEN + percentage > 0.75 -> LorenzColor.GREEN + percentage > 0.5 -> LorenzColor.YELLOW + percentage > 0.25 -> LorenzColor.GOLD + else -> LorenzColor.RED + } + } }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt index 9de886f37..39c7217f6 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt @@ -409,7 +409,7 @@ object RenderUtils { return lastValue + (currentValue - lastValue) * multiplier } - fun Position.renderString(string: String) { + fun Position.renderString(string: String, offsetY: Int = 0) { if (string == "") return val textToRender = "§f$string" @@ -421,14 +421,21 @@ object RenderUtils { val offsetX = (200 - renderer.getStringWidth(textToRender.removeColor())) / 2 val x = getAbsX(resolution, 200) + offsetX - val y = getAbsY(resolution, 16) - - + val y = getAbsY(resolution, 16) + offsetY GlStateManager.translate(x + 1.0, y + 1.0, 0.0) renderer.drawStringWithShadow(textToRender, 0f, 0f, 0) - GlStateManager.popMatrix() } + + fun Position.renderStrings(list: List<String>) { + if (list.isEmpty()) return + + var offsetY = 0 + for (s in list) { + renderString(s, offsetY) + offsetY += 14 + } + } }
\ No newline at end of file |
