-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Крч сливаю как оно мне не нужно спасибо Sertyo
Для пастеров тут стоит протект можно сказать вам только исправить этот код
теперь как добавить эго в свой супер пупер мейн меню
добавляете
и да удалите backmenu.png в коде своем
потом когда вы добавили ShaderMainMenu
зайдите в Initilization
и вписываете в init
думаю вы исправете ошыбки
ShaderMain:
package ru.shield.util.render.shadermain;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.ARBShaderObjects;
import org.lwjgl.opengl.GL20;
import ru.shield.util.IMinecraft;
import ru.shield.util.glu.Util;
import ru.shield.util.misc.FileUtil;
import java.io.ByteArrayInputStream;
public class ShaderUtil2 extends Util implements IMinecraft {
public static ShaderUtil2 MAIN_MENU;
private final int shaderID = GL20.glCreateProgram();
public ShaderUtil2(String string) {
GL20.glAttachShader(this.shaderID, this.createShader(string));
GL20.glLinkProgram(this.shaderID);
}
public static void drawQuads(float x, float y, float width, float height) {
buffer.begin(9, DefaultVertexFormats.POSITION_TEX);
double z = 0.0; // Устанавливаем значение z как 0
buffer.pos(x, y, z).tex(0.0f, 0.0f).endVertex();
buffer.pos(x, y + height, z).tex(0.0f, 1.0f).endVertex();
buffer.pos(x + width, y + height, z).tex(1.0f, 1.0f).endVertex();
buffer.pos(x + width, y,z).tex(1.0f, 0.0f).endVertex();
tessellator.draw();
}
public static void init() {
MAIN_MENU = new ShaderUtil2("#ifdef GL_ES\n" +
"precision highp float;\n" +
"#endif\n" +
"\n" +
"#extension GL_OES_standard_derivatives : enable\n" +
"\n" +
"#define NUM_OCTAVES 6\n" +
"\n" +
"uniform float time;\n" +
"uniform vec2 resolution;\n" +
"\n" +
"mat3 rotX(float a) {\n" +
" float c = cos(a);\n" +
" float s = sin(a);\n" +
" return mat3(\n" +
" 1, 0, 0,\n" +
" 0, c, -s,\n" +
" 0, s, c\n" +
" );\n" +
"}\n" +
"\n" +
"mat3 rotY(float a) {\n" +
" float c = cos(a);\n" +
" float s = sin(a);\n" +
" return mat3(\n" +
" c, 0, -s,\n" +
" 0, 1, 0,\n" +
" s, 0, c\n" +
" );\n" +
"}\n" +
"\n" +
"float random(vec2 pos) {\n" +
" return fract(sin(dot(pos.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n" +
"}\n" +
"\n" +
"float noise(vec2 pos) {\n" +
" vec2 i = floor(pos);\n" +
" vec2 f = fract(pos);\n" +
" float a = random(i + vec2(0.0, 0.0));\n" +
" float b = random(i + vec2(1.0, 0.0));\n" +
" float c = random(i + vec2(0.0, 1.0));\n" +
" float d = random(i + vec2(1.0, 1.0));\n" +
" vec2 u = f * f * (3.0 - 2.0 * f);\n" +
" return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n" +
"}\n" +
"\n" +
"float fbm(vec2 pos) {\n" +
" float v = 0.0;\n" +
" float a = 0.5;\n" +
" vec2 shift = vec2(100.0);\n" +
" mat2 rot = mat2(cos(15.5), sin(0.5), -sin(0.5), cos(0.5));\n" +
" for (int i = 0; i < NUM_OCTAVES; i++) {\n" +
" float dir = mod(float(i), 2.0) > 0.5 ? 1.0 : -1.0;\n" +
" v += a * noise(pos - 0.05 * dir * time);\n" +
"\n" +
" pos = rot * pos * 2.0 + shift;\n" +
" a *= 0.5;\n" +
" }\n" +
" return v;\n" +
"}\n" +
"\n" +
"void main(void) {\n" +
" vec2 p = (gl_FragCoord.xy * 2.0 - resolution.xy) / min(resolution.x, resolution.y);\n" +
" p -= vec2(12.0, 0.0);\n" +
"\n" +
" float t = 0.0, d;\n" +
"\n" +
" float time2 = 1.0;\n" +
"\n" +
" vec2 q = vec2(0.0);\n" +
" q.x = fbm(p + 0.00 * time2);\n" +
" q.y = fbm(p + vec2(1.0));\n" +
" vec2 r = vec2(0.0);\n" +
" r.x = fbm(p + 1.0 * q + vec2(1.7, 9.2) + 0.15 * time2);\n" +
" r.y = fbm(p + 1.0 * q + vec2(8.3, 2.8) + 0.126 * time2);\n" +
" float f = fbm(p + r);\n" +
" \n" +
" // hornidev\n" +
" vec3 color = mix(\n" +
" vec3(0.3, 0.3, 0.6),\n" +
" vec3(0.7, 0.7, 0.7),\n" +
" clamp((f * f) * 4.0, 0.0, 1.0)\n" +
" );\n" +
"\n" +
" color = mix(\n" +
" color,\n" +
" vec3(0.7, 0.7, 0.7),\n" +
" clamp(length(q), 0.0, 1.0)\n" +
" );\n" +
"\n" +
" color = mix(\n" +
" color,\n" +
" vec3(0.4, 0.4, 0.4),\n" +
" clamp(length(r.x), 0.0, 1.0)\n" +
" );\n" +
"\n" +
" color = (f * f * f + 0.9 * f * f + 0.8 * f) * color;\n" +
"\n" +
" gl_FragColor = vec4(color * 0.7, color.r);\n" +
"}\n");
}
public void begin() {
GL20.glUseProgram(this.shaderID);
}
public static void end() {
GL20.glUseProgram(0);
}
public void setUniform(String string, float... fArray) {
int n = GL20.glGetUniformLocation(this.shaderID, string);
switch (fArray.length) {
case 1: {
ARBShaderObjects.glUniform1fARB(n, fArray[0]);
break;
}
case 2: {
ARBShaderObjects.glUniform2fARB(n, fArray[0], fArray[1]);
break;
}
case 3: {
ARBShaderObjects.glUniform3fARB(n, fArray[0], fArray[1], fArray[2]);
break;
}
case 4: {
ARBShaderObjects.glUniform4fARB(n, fArray[0], fArray[1], fArray[2], fArray[3]);
}
}
}
private int createShader(String string) {
int gled = GL20.glCreateShader(35632);
GL20.glShaderSource(gled, (CharSequence) FileUtil.readInputStream(new ByteArrayInputStream(string.getBytes())));
GL20.glCompileShader(gled);
return gled;
}
}
теперь как добавить эго в свой супер пупер мейн меню
добавляете
MainMenuScreen:
ShaderUtil2.MAIN_MENU.begin();
ShaderUtil2.MAIN_MENU.setUniform("time", mc.timer.getPartialTicks(1) / 20.0F);
ShaderUtil2.MAIN_MENU.setUniform("resolution", mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
ShaderUtil2.MAIN_MENU.drawQuads(0,0, mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
ShaderUtil2.MAIN_MENU.end();
потом когда вы добавили ShaderMainMenu
зайдите в Initilization
и вписываете в init
ShaderUtil2.init();
думаю вы исправете ошыбки
Пожалуйста, авторизуйтесь для просмотра ссылки.