Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Визуальная часть BlockOverlay | Zenith Recode 1.21.4

  • Автор темы Автор темы FR1ZIT
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
17 Дек 2025
Сообщения
55
Реакции
1
Выберите загрузчик игры
  1. Fabric
Перенес со своих сурсов в зенит рекод вот такой блок оверлей

что быть добнуть в гуи эту функцию заходим в zenith.zov - client - modules - impl - render создаем там джава файл с названием BlockOverlay
когда добнули нажимаем CTRL + SHIFT + N ищем modulemanager ищем 74 строку и к ней добаем это
registerModule(BlockOverlay.INSTANCE); вроде все объяснил

1767186711943.png
1767186735024.png


Код:
Expand Collapse Copy
package zenith.zov.client.modules.impl.render;

import com.darkmagician6.eventapi.EventTarget;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;
import zenith.zov.Zenith;
import zenith.zov.base.events.impl.render.EventRender3D;
import zenith.zov.client.modules.api.Category;
import zenith.zov.client.modules.api.Module;
import zenith.zov.client.modules.api.ModuleAnnotation;
import zenith.zov.client.modules.api.setting.impl.BooleanSetting;
import zenith.zov.client.modules.api.setting.impl.NumberSetting;
import zenith.zov.utility.render.level.Render3DUtil;

@ModuleAnnotation(name = "BlockOverlay", category = Category.RENDER, description = "Подсветка блока, на который вы смотрите")
public final class BlockOverlay extends Module {
public static final BlockOverlay INSTANCE = new BlockOverlay();
private final BooleanSetting fill = new BooleanSetting("Заполнение", true);
private final BooleanSetting outline = new BooleanSetting("Контур", true);
private final NumberSetting lineWidth = new NumberSetting("Толщина линий", 2.0f, 0.5f, 5.0f, 0.1f);

private BlockOverlay() {
    }

@EventTarget
    public void onRender3D(EventRender3D event) {
if (mc.crosshairTarget instanceof BlockHitResult result && result.getType() == HitResult.Type.BLOCK) {
            BlockPos pos = result.getBlockPos();
if (mc.world == null) return;
VoxelShape shape = mc.world.getBlockState(pos).getOutlineShape(mc.world, pos);
int color = Zenith.getInstance().getThemeManager().getCurrentTheme().getColor().getRGB();
Render3DUtil.drawShapeAlternative(
                    pos,
                    shape,
                    color,
 lineWidth.getCurrent(),
 outline.isEnabled(),
 fill.isEnabled()
            );
        }
    }
}
 
Назад
Сверху Снизу