-
Автор темы
- #1
всех с новым годом





вот вам говна от меня, есть баги но мало (







Пожалуйста, авторизуйтесь для просмотра ссылки.
)люби меня как розы воду, а я тебя как вор свободу
SantaHat:
package fun.astral.modules.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import fun.astral.client.events.WorldEvent;
import fun.astral.modules.api.Category;
import fun.astral.modules.api.Module;
import fun.astral.modules.api.ModuleAnnotation;
import fun.astral.desing.themes.Theme;
import fun.astral.system.math.MathUtil;
import fun.astral.system.render.color.ColorUtils;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
@ModuleAnnotation(name = "SantaHat", category = Category.Render)
public class SantaHat extends Module {
@Subscribe
private void onRender(WorldEvent e) {
if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) return;
GlStateManager.pushMatrix();
RenderSystem.translated(-mc.getRenderManager().info.getProjectedView().x, -mc.getRenderManager().info.getProjectedView().y + 0.25, -mc.getRenderManager().info.getProjectedView().z);
Vector3d interpolated = MathUtil.interpolate(mc.player.getPositionVec(), new Vector3d(mc.player.lastTickPosX, mc.player.lastTickPosY, mc.player.lastTickPosZ), e.getPartialTicks());
RenderSystem.translated(interpolated.x, interpolated.y + mc.player.getHeight(), interpolated.z);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glDepthMask(false);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glBegin(GL11.GL_TRIANGLE_STRIP);
float height = 0.4f;
float baseRadius = 0.25f;
int segments = 36;
for (int i = 0; i <= segments; i++) {
float angle = (float) (i * 2 * Math.PI / segments);
float x = (float) Math.cos(angle) * baseRadius;
float z = (float) Math.sin(angle) * baseRadius;
GL11.glColor4f(0.8f, 0.1f, 0.1f, 0.9f);
GL11.glVertex3f(x, 0, z);
GL11.glColor4f(0.9f, 0.2f, 0.2f, 0.9f);
GL11.glVertex3f(0, height, 0);
}
GL11.glEnd();
GL11.glBegin(GL11.GL_QUAD_STRIP);
float trimHeight = 0.15f;
for (int i = 0; i <= segments; i++) {
float angle = (float) (i * 2 * Math.PI / segments);
float x = (float) Math.cos(angle);
float z = (float) Math.sin(angle);
GL11.glColor4f(1.0f, 1.0f, 1.0f, 0.9f);
GL11.glVertex3f(x * (baseRadius + 0.05f), -trimHeight, z * (baseRadius + 0.05f));
GL11.glVertex3f(x * baseRadius, 0, z * baseRadius);
}
GL11.glEnd();
GL11.glTranslatef(0, height, 0);
GL11.glColor4f(1.0f, 1.0f, 1.0f, 0.9f);
float pomRadius = 0.10f;
int sphereSegments = 32;
for (int i = 0; i < sphereSegments; i++) {
float lat0 = (float) (Math.PI * (-0.5 + (double) (i) / sphereSegments));
float lat1 = (float) (Math.PI * (-0.5 + (double) (i + 1) / sphereSegments));
GL11.glBegin(GL11.GL_TRIANGLE_STRIP);
for (int j = 0; j <= sphereSegments; j++) {
float lng = (float) (2 * Math.PI * (double) (j - 1) / sphereSegments);
float x, y, z;
x = (float) (Math.cos(lat0) * Math.cos(lng));
y = (float) Math.sin(lat0);
z = (float) (Math.cos(lat0) * Math.sin(lng));
GL11.glVertex3f(x * pomRadius, y * pomRadius, z * pomRadius);
x = (float) (Math.cos(lat1) * Math.cos(lng));
y = (float) Math.sin(lat1);
z = (float) (Math.cos(lat1) * Math.sin(lng));
GL11.glVertex3f(x * pomRadius, y * pomRadius, z * pomRadius);
}
GL11.glEnd();
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_BLEND);
GlStateManager.popMatrix();
}
}