Начинающий
- Статус
- Оффлайн
- Регистрация
- 6 Июн 2024
- Сообщения
- 39
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
BlockHighLight:
package killse.dest.client.features.modules.render;
import killse.dest.api.utils.render.display.BoxRender;
import lombok.Getter;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.shape.VoxelShape;
import killse.dest.api.event.EventListener;
import killse.dest.api.event.Listener;
import killse.dest.api.event.events.render.Render3DEvent;
import killse.dest.api.module.Module;
import killse.dest.api.module.ModuleRegister;
import killse.dest.api.module.Category;
import killse.dest.api.module.setting.ModeSetting;
import killse.dest.api.module.setting.BooleanSetting;
import killse.dest.api.utils.render.RenderUtil;
import killse.dest.api.utils.color.UIColors;
import java.awt.*;
@ModuleRegister(name = "BlockHighLight", category = Category.RENDER)
public class BlockHighLight extends Module {
@Getter private static final BlockHighLight instance = new BlockHighLight();
private final ModeSetting colorMode = new ModeSetting("Цвет").value("Тема").values("Тема");
private final BooleanSetting filled = new BooleanSetting("Заливка").value(true);
public BlockHighLight() {
addSettings(colorMode, filled);
}
@Override
public void onEvent() {
EventListener render3DEvent = Render3DEvent.getInstance().subscribe(new Listener<>(event -> {
if (!(mc.crosshairTarget instanceof BlockHitResult result)) return;
if (result.getType() != HitResult.Type.BLOCK) return;
BlockPos pos = result.getBlockPos();
if (pos == null) return;
Color awtColor;
if (colorMode.getValue().equals("Тема")) {
awtColor = UIColors.primary();
} else {
awtColor = Color.BLACK;
}
VoxelShape shape = mc.world.getBlockState(pos).getOutlineShape(mc.world, pos);
Box box = shape.isEmpty() ? new Box(pos) : shape.getBoundingBox().offset(pos);
if (filled.getValue()) {
Color fillColor = new Color(awtColor.getRed(), awtColor.getGreen(), awtColor.getBlue(), 50);
RenderUtil.BOX.drawBox((float) box.minX, (float) box.minY, (float) box.minZ, (float) box.maxX, (float) box.maxY, (float) box.maxZ, 1.5f, fillColor, BoxRender.Render.FILL, 0.0f);
float topEpsilon = 0.002f;
float topThickness = 0.035f;
float topMinY = (float) box.maxY + topEpsilon;
float topMaxY = topMinY + topThickness;
Color topFillColor = new Color(awtColor.getRed(), awtColor.getGreen(), awtColor.getBlue(), 220);
RenderUtil.BOX.drawBox((float) box.minX, topMinY, (float) box.minZ, (float) box.maxX, topMaxY, (float) box.maxZ, 1.0f, topFillColor, BoxRender.Render.FILL, 0.0f);
RenderUtil.BOX.drawBox((float) box.minX, (float) box.minY, (float) box.minZ, (float) box.maxX, (float) box.maxY, (float) box.maxZ, 1.5f, awtColor, BoxRender.Render.OUTLINE, 0.0f);
} else {
RenderUtil.BOX.drawBox((float) box.minX, (float) box.minY, (float) box.minZ, (float) box.maxX, (float) box.maxY, (float) box.maxZ, 1.5f, awtColor, BoxRender.Render.OUTLINE, 0.0f);
}
}));
addEvents(render3DEvent);
}
public static BlockHighLight getInstance() {
return instance;
}
}
BoxRender:
// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available
package killse.dest.api.utils.render.display;
public class BoxRender implements killse.dest.api.system.interfaces.QuickImports {
private final java.util.List<killse.dest.api.utils.render.display.BoxRender.OutlinedBox> outlinedBoxes;
private final java.util.List<killse.dest.api.utils.render.display.BoxRender.FilledBox> filledBoxes;
private final java.util.List<killse.dest.api.utils.render.display.BoxRender.StripedBox> stripedBoxes;
public BoxRender() { /* compiled code */ }
public void setup3DRender(net.minecraft.client.util.math.MatrixStack matrixStack) { /* compiled code */ }
private void renderFilledBoxes(java.util.List<killse.dest.api.utils.render.display.BoxRender.FilledBox> boxes, net.minecraft.client.render.Frustum frustum) { /* compiled code */ }
private void renderStripedBoxes(java.util.List<killse.dest.api.utils.render.display.BoxRender.StripedBox> boxes, net.minecraft.client.render.Frustum frustum) { /* compiled code */ }
private void renderOutlinedBoxes(java.util.List<killse.dest.api.utils.render.display.BoxRender.OutlinedBox> boxes, net.minecraft.client.render.Frustum frustum) { /* compiled code */ }
private void renderFilled(java.util.List<killse.dest.api.utils.render.display.BoxRender.FilledBox> boxes, net.minecraft.client.render.Frustum frustum) { /* compiled code */ }
private void renderOutlined(java.util.List<killse.dest.api.utils.render.display.BoxRender.OutlinedBox> boxes, net.minecraft.client.render.Frustum frustum) { /* compiled code */ }
private void renderDashedOutlinedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.BufferBuilder buffer, java.awt.Color color, float gapDistance) { /* compiled code */ }
private void renderDashedLine(net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.BufferBuilder buffer, java.awt.Color color, float x1, float y1, float z1, float x2, float y2, float z2, float dashLength, float gapDistance) { /* compiled code */ }
private void renderFilledBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.BufferBuilder buffer, java.awt.Color color) { /* compiled code */ }
private void renderOutlinedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.BufferBuilder buffer, java.awt.Color color) { /* compiled code */ }
private void vertexLine(net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.VertexConsumer buffer, float x1, float y1, float z1, float x2, float y2, float z2, java.awt.Color lineColor) { /* compiled code */ }
private org.joml.Vector3f getNormalVec(float x1, float y1, float z1, float x2, float y2, float z2) { /* compiled code */ }
private net.minecraft.client.util.math.MatrixStack matrixFrom(double x, double y, double z) { /* compiled code */ }
private void vertexQuad(net.minecraft.client.util.math.MatrixStack matrices, net.minecraft.client.render.BufferBuilder buffer, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4, java.awt.Color color) { /* compiled code */ }
public void drawBox(float x1, float y1, float z1, float x2, float y2, float z2, float lineWidth, java.awt.Color color, killse.dest.api.utils.render.display.BoxRender.Render renderMode, float gapDistance) { /* compiled code */ }
public static final record StripedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, float lineWidth, java.awt.Color color, float gapDistance) {
public StripedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, float lineWidth, java.awt.Color color, float gapDistance) { /* compiled code */ }
public net.minecraft.util.math.Vec3d pos() { /* compiled code */ }
public net.minecraft.util.math.Vec3d params() { /* compiled code */ }
public float lineWidth() { /* compiled code */ }
public java.awt.Color color() { /* compiled code */ }
public float gapDistance() { /* compiled code */ }
}
public static final record FilledBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, java.awt.Color color) {
public FilledBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, java.awt.Color color) { /* compiled code */ }
public net.minecraft.util.math.Vec3d pos() { /* compiled code */ }
public net.minecraft.util.math.Vec3d params() { /* compiled code */ }
public java.awt.Color color() { /* compiled code */ }
}
public static final record OutlinedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, float lineWidth, java.awt.Color color) {
public OutlinedBox(net.minecraft.util.math.Vec3d pos, net.minecraft.util.math.Vec3d params, float lineWidth, java.awt.Color color) { /* compiled code */ }
public net.minecraft.util.math.Vec3d pos() { /* compiled code */ }
public net.minecraft.util.math.Vec3d params() { /* compiled code */ }
public float lineWidth() { /* compiled code */ }
public java.awt.Color color() { /* compiled code */ }
}
public static enum Render {
FILL, OUTLINE, STRIPED;
private Render() { /* compiled code */ }
}
}
Вложения
Последнее редактирование: