Начинающий
- Статус
- Оффлайн
- Регистрация
- 3 Сен 2023
- Сообщения
- 332
- Реакции
- 5
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
ребята хочу простую подсветку диа сделать для себя но незнаю какк отключить глубину шоб у меня через стенки рендер был вот код если он необходим
Java:
package fun.rebuild;
import fun.rebuild.gui.Interface;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
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.math.ColorHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.block.BlockState;
import net.minecraft.block.CocoaBlock;
import org.joml.Matrix3f;
import org.joml.Matrix4f;
import org.joml.Vector3f;
import org.lwjgl.glfw.GLFW;
import java.util.ArrayList;
import java.util.List;
public class SodiumRebuildClient implements ClientModInitializer {
private Interface iinterface;
private static KeyBinding openGuiKey;
private final List<BlockPos> diamondOrePositions = new ArrayList<>();
private boolean renderO = false;
@Override
public void onInitializeClient() {
iinterface = new Interface();
openGuiKey = KeyBindingHelper.registerKeyBinding(new KeyBinding(
"Переключить статус",
InputUtil.Type.KEYSYM,
GLFW.GLFW_KEY_RIGHT_CONTROL,
"SodiumRebuild"
));
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (openGuiKey.wasPressed()) {
renderO = !renderO;
if (renderO) {
scanForDiamondOres();
}
}
if (renderO && client.world != null) {
scanForDiamondOres();
}
});
WorldRenderEvents.AFTER_TRANSLUCENT.register((context) -> {
if (renderO) {
renderDia(context);
}
});
}
private void scanForDiamondOres() {
diamondOrePositions.clear();
MinecraftClient client = MinecraftClient.getInstance();
if (client.player == null || client.world == null) return;
int r = 15;
for (int x = -r; x <= r; x++) {
for (int y = -r; y <= r; y++) {
for (int z = -r; z <= r; z++) {
BlockPos pos = client.player.getBlockPos().add(x, y, z);
BlockState state = client.world.getBlockState(pos);
if (state.getBlock() == Blocks.DIAMOND_ORE) {
diamondOrePositions.add(pos);
}
}
}
}
}
private void renderDia(WorldRenderContext context) {
MinecraftClient client = MinecraftClient.getInstance();
if (client.player == null || diamondOrePositions.isEmpty()) return;
Vec3d cameraPos = context.camera().getPos();
MatrixStack matrices = context.matrixStack();
float r = 0.0f;
float gr = 0.5f;
float b= 1.0f;
float a = 0.8f;
int color = ColorHelper.getArgb((int)(a * 255), (int)(r * 255), (int)(gr * 255), (int)(b * 255));
matrices.push();
matrices.translate(-cameraPos.x, -cameraPos.y, -cameraPos.z);
VertexConsumer vertexConsumer = context.consumers().getBuffer(RenderLayer.getLines());
MatrixStack.Entry matrixEntry = matrices.peek();
Matrix4f positionMatrix = matrixEntry.getPositionMatrix();
MatrixStack.Entry normalMatrix = matrixEntry;
for (BlockPos pos : diamondOrePositions) {
Box box = new Box(pos);
renderbox(vertexConsumer, positionMatrix, normalMatrix, box, color);
}
matrices.pop();
}
private void renderbox(VertexConsumer vertexConsumer, Matrix4f positionMatrix, MatrixStack.Entry normalMatrix, Box box, int color) {
Vector3f normal = new Vector3f(0, 1, 0);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.minZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.maxX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.minY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
vertexConsumer.vertex(positionMatrix, (float)box.minX, (float)box.maxY, (float)box.maxZ).color(color).normal(normalMatrix, normal.x, normal.y, normal.z);
}
}