local player = require("player") local world = require("world") local creator = require("creator") local hypixel_player = require("hypixel-player") local renders = {} local offset = 0.2 local offset2 = 1.2 -- Функция для вычисления градиентного цвета local function getGradientColor(distance) local min_dist = 5 -- Дистанция для чистого зеленого цвета (и ближе) local mid_dist = 20 -- Дистанция для чистого желтого цвета local max_dist = 40 -- Дистанция для чистого красного цвета (и дальше) if distance <= min_dist then return 0, 255, 0 -- Зеленый elseif distance >= max_dist then return 255, 0, 0 -- Красный elseif distance < mid_dist then -- Интерполяция от Зеленого (0, 255, 0) к Желтому (255, 255, 0) local t = (distance - min_dist) / (mid_dist - min_dist) local r = math.floor(t * 255) return r, 255, 0 else -- Интерполяция от Желтого (255, 255, 0) к Красному (255, 0, 0) local t = (distance - mid_dist) / (max_dist - mid_dist) local g = math.floor((1 - t) * 255) return 255, g, 0 end end registerSpawnParticle(function(particle) if not player.entity then return end if hypixel_player.getLocation() == "Tangleburg" or hypixel_player.getLocation() == "Evergreen Plateau" or hypixel_player.getLocation() == "Evergreen Plateau" or hypixel_player.getLocation() == "South Reaches" or hypixel_player.getLocation() == "Moonglade's Edge" or hypixel_player.getLocation() == "West Reaches" or hypixel_player.getLocation() == "Verdant Summit" or hypixel_player.getLocation() == "North Reaches" or hypixel_player.getLocation() == "Moonglade Marsh" then local id = particle.id local pos = particle.position if id == 13 then local box = creator.createBox(pos.x - offset, pos.y - offset2, pos.z - offset, pos.x + offset, pos.y, pos.z + offset) local entities = world.getArmorStandEntitiesInBox(box) if #entities > 0 then local entity = entities[1] if entity.display_name == nil or entity.display_name == "" or entity.display_name == "Armor Stand" then renders[entity.id] = { pos = pos } end end end else renders = {} end end) registerWorldRenderer(function(ctx) for id, render in pairs(renders) do local entity = world.getEntityById(id) if not entity then renders[id] = nil else local distance = render.pos.distanceTo(player.entity.position) -- Получаем цвет на основе дистанции local r, g, b = getGradientColor(distance) ctx.renderText(render.pos.x, render.pos.y, render.pos.z, tostring("Bug"), 1.5, r, g, b, true) ctx.renderText(render.pos.x, render.pos.y - 0.4, render.pos.z, string.format("%.2f", distance), 1, r, g, b, true) ctx.renderLineFromCursor(render.pos.x, render.pos.y, render.pos.z, r, g, b, 140, 2) end end end)