Начинающий
- Статус
- Оффлайн
- Регистрация
- 6 Авг 2024
- Сообщения
- 104
- Реакции
- 0
SS -
Код:
package dev.excellent.client.module.impl.render;
import dev.excellent.api.event.impl.render.Render3DLastPostEvent;
import dev.excellent.api.interfaces.event.Listener;
import dev.excellent.client.module.api.Category;
import dev.excellent.client.module.api.Module;
import dev.excellent.client.module.api.ModuleInfo;
import dev.excellent.impl.util.render.RenderUtil;
import dev.excellent.impl.value.impl.BooleanValue;
import dev.excellent.impl.value.impl.ColorValue;
import dev.excellent.impl.value.impl.MultiBooleanValue;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.OreBlock;
import net.minecraft.util.math.BlockPos;
import net.mojang.blaze3d.matrix.MatrixStack;
import java.awt.*;
@ModuleInfo(name = "Xray", description = "Подсвечивает руды.", category = Category.MISC)
public class Xray extends Module {
public final MultiBooleanValue ores = new MultiBooleanValue("Руды", this)
.add(new BooleanValue("Алмазная руда", true),
new BooleanValue("Железная руда", true),
new BooleanValue("Золотая руда", true),
new BooleanValue("Древний обломок", true),
new BooleanValue("Лазуритовая руда", true),
new BooleanValue("Редстоуновая руда", true),
new BooleanValue("Угольная руда", true));
private final ColorValue diamondColor = new ColorValue("Цвет Алмазной Руды", this, Color.white, () -> !ores.get("Алмазная руда").getValue());
private final ColorValue ironColor = new ColorValue("Цвет Железной Руды", this, Color.white, () -> !ores.get("Железная руда").getValue());
private final ColorValue goldColor = new ColorValue("Цвет Золотой Руды", this, Color.white, () -> !ores.get("Золотая руда").getValue());
private final ColorValue ancientDebrisColor = new ColorValue("Цвет Древнего Обломка", this, Color.white, () -> !ores.get("Древний обломок").getValue());
private final ColorValue lapisColor = new ColorValue("Цвет Лазуритовой Руды", this, Color.white, () -> !ores.get("Лазуритовая руда").getValue());
private final ColorValue redstoneColor = new ColorValue("Цвет Редстоуновой Руды", this, Color.white, () -> !ores.get("Редстоуновая руда").getValue());
private final ColorValue coalColor = new ColorValue("Цвет Угольной Руды", this, Color.white, () -> !ores.get("Угольная руда").getValue());
private final Listener<Render3DLastPostEvent> onRender = event -> {
MatrixStack matrixStack = event.getMatrix();
BlockPos playerPos = mc.player.getPosition();
for (int x = playerPos.getX() - 25; x <= playerPos.getX() + 25; x++) {
for (int y = playerPos.getY() - 25; y <= playerPos.getY() + 25; y++) {
for (int z = playerPos.getZ() - 25; z <= playerPos.getZ() + 25; z++) {
BlockPos pos = new BlockPos(x, y, z);
BlockState state = mc.world.getBlockState(pos);
if (state.getBlock() instanceof OreBlock) {
int color = getColor(state.getBlock());
if (color != -1) {
RenderUtil.Render3D.drawBlockBox(matrixStack, pos, color);
}
}
}
}
}
};
private int getColor(Block block) {
if (block == Blocks.DIAMOND_ORE && ores.get("Алмазная руда").getValue()) {
return diamondColor.getValue().getRGB();
}
if (block == Blocks.IRON_ORE && ores.get("Железная руда").getValue()) {
return ironColor.getValue().getRGB();
}
if (block == Blocks.GOLD_ORE && ores.get("Золотая руда").getValue()) {
return goldColor.getValue().getRGB();
}
if (block == Blocks.ANCIENT_DEBRIS && ores.get("Древний обломок").getValue()) {
return ancientDebrisColor.getValue().getRGB();
}
if (block == Blocks.LAPIS_ORE && ores.get("Лазуритовая руда").getValue()) {
return lapisColor.getValue().getRGB();
}
if (block == Blocks.REDSTONE_ORE && ores.get("Редстоуновая руда").getValue()) {
return redstoneColor.getValue().getRGB();
}
if (block == Blocks.COAL_ORE && ores.get("Угольная руда").getValue()) {
return coalColor.getValue().getRGB();
}
return -1;
}
}