Пользователь
- Статус
- Оффлайн
- Регистрация
- 23 Апр 2019
- Сообщения
- 473
- Реакции
- 133
- Выберите загрузчик игры
- Fabric
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Side indicators:
package hex.amethyst.module
import hex.amethyst.render.Renderer
import hex.amethyst.render.font.Fonts
import hex.amethyst.render.utility.Color
import net.minecraft.client.MinecraftClient
object Indicators {
private const val SPACING = 4.5f
private const val TEXT_OFFSET = 24
private const val VERTICAL_PADDING = 8
private const val HORIZONTAL_OFFSET = 6
// (расстояние от низа экрана)
private var featureSliderValue = 350
data class IndicatorData(
val text: String,
val color: Color,
var offset: Float = 0f,
var textSize: Float = 0f
)
private val drawQueue = mutableListOf<IndicatorData>()
fun render() {
val mc = MinecraftClient.getInstance()
if (mc.world == null) return
clearDrawQueue()
updateIndicators()
drawIndicators()
}
private fun clearDrawQueue() {
drawQueue.clear()
}
private fun addIndicator(color: Color, text: String) {
val textWidth = Fonts.measureText(Fonts.INDICATORS, text)
val mc = MinecraftClient.getInstance()
val screenHeight = mc.window.height
val zone = screenHeight - featureSliderValue
val textHeight = Fonts.INDICATORS.lineHeight + VERTICAL_PADDING * 2
val offset = if (drawQueue.isEmpty()) {
zone.toFloat()
} else {
drawQueue.last().offset - SPACING - textHeight
}
val indicator = IndicatorData(
text = text,
color = color,
offset = offset,
textSize = textWidth
)
drawQueue.add(indicator)
}
private fun updateIndicators() {
addIndicator(Color(255, 255, 255, 200), "STEALER")
addIndicator(Color(255, 255, 255, 200), "INVENTORY")
addIndicator(Color(255, 255, 255, 200), "SCAFFOLD")
if (EntityESP.isEnabled()) {
addIndicator(Color(255, 255, 255, 200), "AURA")
}
}
private fun drawShadow(posX: Int, posY: Int, width: Int, height: Int) {
val centerX = posX + width / 2
val colBegin = Color(0, 0, 0, 0)
val colFinish = Color(0, 0, 0, 50)
// левый градиент
Renderer.gradient(
posX, posY,
centerX - posX, height,
colBegin, colFinish, colBegin, colFinish
)
// правый градиент
Renderer.gradient(
centerX, posY,
posX + width - centerX, height,
colFinish, colBegin, colFinish, colBegin
)
}
private fun drawIndicators() {
for (data in drawQueue) {
val textX = HORIZONTAL_OFFSET + TEXT_OFFSET
val textY = data.offset.toInt() + VERTICAL_PADDING + 18
val textWidth = data.textSize.toInt()
val textHeight = Fonts.INDICATORS.lineHeight + VERTICAL_PADDING * 2
val totalWidth = textWidth + 50
drawShadow(HORIZONTAL_OFFSET, data.offset.toInt(), totalWidth, textHeight)
Renderer.text(
Fonts.INDICATORS,
textX,
textY,
data.color,
data.text,
""
)
}
}
}
шрифт: INDICATORS = createFont("/assets/amethyst/fonts/calibrib.ttf", Vec3(25f, 23.5f, 0f), "d") (d - drop shadow)
цвет для drop shadow: 0,0,0,128