Начинающий
- Статус
- Оффлайн
- Регистрация
- 19 Дек 2023
- Сообщения
- 87
- Реакции
- 1
EventRender3D:
package omg.sticky.event.impl;
import net.minecraft.client.util.math.MatrixStack;
import omg.sticky.event.api.Event;
public class EventRender3D extends Event {
private final MatrixStack matrices;
private final float partialTicks;
public EventRender3D(MatrixStack matrices, float partialTicks) {
this.matrices = matrices;
this.partialTicks = partialTicks;
}
public MatrixStack getMatrices() {
return matrices;
}
public float getPartialTicks() {
return partialTicks;
}
}
ChinaHat:
package omg.sticky.module.impl;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.math.Vec3d;
import omg.sticky.event.impl.EventRender3D;
import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;
import org.lwjgl.opengl.GL11;
@ModuleInfo(name = "ChinaHat", desc = "Draws a square above the player's head.")
public class ChinaHat extends Module {
@Subscribe
public void onRender(EventRender3D event) {
if (mc.player == null || mc.world == null) {
System.out.println("Player or world is null");
return;
}
// Выводим информацию в консоль для диагностики
System.out.println("Rendering ChinaHat...");
Vec3d cameraPos = mc.gameRenderer.getCamera().getPos();
double x = mc.player.getX() - cameraPos.x;
double y = mc.player.getY() + mc.player.getStandingEyeHeight() + 0.5 - cameraPos.y;
double z = mc.player.getZ() - cameraPos.z;
// Включаем OpenGL для рендеринга
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glTranslated(x, y, z);
// Рендерим красный квадрат (заменяем на шляпу позже)
float size = 0.5f;
GL11.glBegin(GL11.GL_QUADS);
GL11.glColor4f(1.0f, 0.0f, 0.0f, 1.0f); // Красный цвет
GL11.glVertex3f(-size, 0, -size);
GL11.glVertex3f(size, 0, -size);
GL11.glVertex3f(size, 0, size);
GL11.glVertex3f(-size, 0, size);
GL11.glEnd();
// Восстанавливаем настройки OpenGL
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glPopMatrix();
}
}