-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Код:
package dF.Wirent.functions.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;
@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {
public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?
public GlassHand(){
addSettings(type);
}
@Subscribe
public void onRender(EventDisplay e) {
if (e.getType() != EventDisplay.Type.HIGH) {
return;
}
if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
GlStateManager.pushMatrix();
GlStateManager.enableBlend();
GlStateManager.enableAlphaTest();
if (type.get().equals("Размытие")) {
KawaseBlur.blur.updateBlur(3, 4);
ColorUtils.setColor(ColorUtils.getColor(0));
KawaseBlur.blur.render(() -> {
hands.draw();
});
} else if (type.get().equals("Обводка")) {
renderOutline();
hands.draw();
}
GlStateManager.disableAlphaTest();
GlStateManager.popMatrix();
}
}
private void renderOutline() {
GL11.glEnable(GL11.GL_STENCIL_TEST);
GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);
GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
GlStateManager.pushMatrix();
ColorUtils.setColor(0xFFFFFFFF);
hands.draw();
GlStateManager.popMatrix();
GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);
GlStateManager.enableBlend();
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
final float offset = 1.0f;
for (float i = -2; i <= 2; i++) {
for (float j = -2; j <= 2; j++) {
GlStateManager.pushMatrix();
GlStateManager.translatef(i * offset, j * offset, 0.0f);
ColorUtils.setColor(0xFFFFFFFF);
hands.draw();
GlStateManager.popMatrix();
}
}
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GlStateManager.disableBlend();
GL11.glDisable(GL11.GL_STENCIL_TEST);
}
public static void setSaturation(float saturation) {
float[] saturationMatrix = {
0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
0, 0, 0, 1, 0
};
GL11.glLoadMatrixf(saturationMatrix);
}
@Override
protected float[] rotations(PlayerEntity var1) {
return new float[0];
}
}