Часть функционала CustomCape Forge 1.16.5 Ready

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Дек 2024
Сообщения
10
Реакции
0
Выберите загрузчик игры
  1. Forge

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Java:
Expand Collapse Copy
package netro.client.modules;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerModelPart;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import netro.client.Wrapper;

public class CustomCape implements Wrapper {
private float crouchAnim = 0.75f;
private float runAnim = 0.1f;
private boolean wasCrouch = false;

@SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event) {
if (mc.player == null) return;
MatrixStack matrixStack = event.getMatrixStack();
IRenderTypeBuffer buffer = event.getBuffers();
int packedLight = event.getLight();
AbstractClientPlayerEntity player = (AbstractClientPlayerEntity) event.getPlayer();
float partialTicks = event.getPartialRenderTick();
if (player == mc.player) {
if (!player.isInvisible() && player.isModelPartShown(PlayerModelPart.CAPE)) {
ItemStack itemstack = player.getItemBySlot(EquipmentSlotType.CHEST);
if (itemstack.getItem() != Items.ELYTRA) {
matrixStack.pushPose();
float f = player.yBodyRotO + (player.yBodyRot - player.yBodyRotO) * partialTicks;
float rotationRadians = f * 0.017453292F;
double offsetX = Math.sin((double)rotationRadians) * 0.1;
double offsetZ = -Math.cos((double)rotationRadians) * 0.1;
boolean isCrouching = player.isCrouching();
if (isCrouching != this.wasCrouch) {
this.wasCrouch = isCrouching;
}
crouchAnim = isCrouching ? 0.3F : 0.0F;
float crouchOffset = this.crouchAnim;
boolean isRunning = player.isSprinting();
runAnim = isRunning ? 0.1F : 0.0F;
float runOffset = this.runAnim;
float yOffset = player.getBbHeight() - 0.4F + crouchOffset;
matrixStack.translate(offsetX, (double)yOffset, offsetZ);
matrixStack.mulPose(Vector3f.YP.rotationDegrees(180.0F - f));
double d0 = MathHelper.lerp((double)partialTicks, player.xCloakO, player.xCloak) - MathHelper.lerp((double)partialTicks, player.xo, player.getX());
double d1 = MathHelper.lerp((double)partialTicks, player.yCloakO, player.yCloak) - MathHelper.lerp((double)partialTicks, player.yo, player.getY());
double d2 = MathHelper.lerp((double)partialTicks, player.zCloakO, player.zCloak) - MathHelper.lerp((double)partialTicks, player.zo, player.getZ());
double d3 = (double)MathHelper.sin(rotationRadians);
double d4 = (double)(-MathHelper.cos(rotationRadians));
float f1 = (float)d1 * 10.0F;
f1 = MathHelper.clamp(f1, -6.0F, 32.0F);
float f2 = (float)(d0 * d3 + d2 * d4) * 100.0F;
f2 = MathHelper.clamp(f2, 0.0F, 150.0F);
float f3 = (float)(d0 * d4 - d2 * d3) * 100.0F;
f3 = MathHelper.clamp(f3, -20.0F, 20.0F);
if (f2 < 0.0F) {
f2 = 0.0F;
}
float f4 = MathHelper.lerp(partialTicks, player.oBob, player.bob);
f1 += MathHelper.sin(MathHelper.lerp(partialTicks, player.walkDistO, player.walkDist) * 6.0F) * 32.0F * f4;
float xRotation = -(6.0F + f2 / 2.0F + f1);
xRotation -= crouchOffset * 100.0F;
xRotation -= runOffset * 50.0F;
matrixStack.mulPose(Vector3f.XP.rotationDegrees(xRotation));
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(-(f3 / 2.0F)));
matrixStack.mulPose(Vector3f.YP.rotationDegrees(-180.0F));
float crouchWave;
if (isRunning) {
crouchWave = MathHelper.sin((float)player.tickCount * 0.5F) * runOffset * 5.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
if (isCrouching) {
crouchWave = (float)Math.sin((double)player.tickCount * 0.2) * crouchOffset * 3.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
matrixStack.scale(-1.0F, -1.0F, 1.0F);
// Сюда текстурку пон???
IVertexBuilder ivertexbuilder = buffer.getBuffer(RenderType.entitySolid(new net.minecraft.util.ResourceLocation("optifine", "textures/cape.png")));
event.getRenderer().getModel().renderCloak(matrixStack, ivertexbuilder, packedLight, OverlayTexture.NO_OVERLAY);
matrixStack.popPose();
}
}
}
}
}

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Java:
Expand Collapse Copy
package netro.client.modules;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerModelPart;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import netro.client.Wrapper;

public class CustomCape implements Wrapper {
private float crouchAnim = 0.75f;
private float runAnim = 0.1f;
private boolean wasCrouch = false;

@SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event) {
if (mc.player == null) return;
MatrixStack matrixStack = event.getMatrixStack();
IRenderTypeBuffer buffer = event.getBuffers();
int packedLight = event.getLight();
AbstractClientPlayerEntity player = (AbstractClientPlayerEntity) event.getPlayer();
float partialTicks = event.getPartialRenderTick();
if (player == mc.player) {
if (!player.isInvisible() && player.isModelPartShown(PlayerModelPart.CAPE)) {
ItemStack itemstack = player.getItemBySlot(EquipmentSlotType.CHEST);
if (itemstack.getItem() != Items.ELYTRA) {
matrixStack.pushPose();
float f = player.yBodyRotO + (player.yBodyRot - player.yBodyRotO) * partialTicks;
float rotationRadians = f * 0.017453292F;
double offsetX = Math.sin((double)rotationRadians) * 0.1;
double offsetZ = -Math.cos((double)rotationRadians) * 0.1;
boolean isCrouching = player.isCrouching();
if (isCrouching != this.wasCrouch) {
this.wasCrouch = isCrouching;
}
crouchAnim = isCrouching ? 0.3F : 0.0F;
float crouchOffset = this.crouchAnim;
boolean isRunning = player.isSprinting();
runAnim = isRunning ? 0.1F : 0.0F;
float runOffset = this.runAnim;
float yOffset = player.getBbHeight() - 0.4F + crouchOffset;
matrixStack.translate(offsetX, (double)yOffset, offsetZ);
matrixStack.mulPose(Vector3f.YP.rotationDegrees(180.0F - f));
double d0 = MathHelper.lerp((double)partialTicks, player.xCloakO, player.xCloak) - MathHelper.lerp((double)partialTicks, player.xo, player.getX());
double d1 = MathHelper.lerp((double)partialTicks, player.yCloakO, player.yCloak) - MathHelper.lerp((double)partialTicks, player.yo, player.getY());
double d2 = MathHelper.lerp((double)partialTicks, player.zCloakO, player.zCloak) - MathHelper.lerp((double)partialTicks, player.zo, player.getZ());
double d3 = (double)MathHelper.sin(rotationRadians);
double d4 = (double)(-MathHelper.cos(rotationRadians));
float f1 = (float)d1 * 10.0F;
f1 = MathHelper.clamp(f1, -6.0F, 32.0F);
float f2 = (float)(d0 * d3 + d2 * d4) * 100.0F;
f2 = MathHelper.clamp(f2, 0.0F, 150.0F);
float f3 = (float)(d0 * d4 - d2 * d3) * 100.0F;
f3 = MathHelper.clamp(f3, -20.0F, 20.0F);
if (f2 < 0.0F) {
f2 = 0.0F;
}
float f4 = MathHelper.lerp(partialTicks, player.oBob, player.bob);
f1 += MathHelper.sin(MathHelper.lerp(partialTicks, player.walkDistO, player.walkDist) * 6.0F) * 32.0F * f4;
float xRotation = -(6.0F + f2 / 2.0F + f1);
xRotation -= crouchOffset * 100.0F;
xRotation -= runOffset * 50.0F;
matrixStack.mulPose(Vector3f.XP.rotationDegrees(xRotation));
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(-(f3 / 2.0F)));
matrixStack.mulPose(Vector3f.YP.rotationDegrees(-180.0F));
float crouchWave;
if (isRunning) {
crouchWave = MathHelper.sin((float)player.tickCount * 0.5F) * runOffset * 5.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
if (isCrouching) {
crouchWave = (float)Math.sin((double)player.tickCount * 0.2) * crouchOffset * 3.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
matrixStack.scale(-1.0F, -1.0F, 1.0F);
// Сюда текстурку пон???
IVertexBuilder ivertexbuilder = buffer.getBuffer(RenderType.entitySolid(new net.minecraft.util.ResourceLocation("optifine", "textures/cape.png")));
event.getRenderer().getModel().renderCloak(matrixStack, ivertexbuilder, packedLight, OverlayTexture.NO_OVERLAY);
matrixStack.popPose();
}
}
}
}
}

Пожалуйста, авторизуйтесь для просмотра ссылки.
А не проще через миксин сделать?
 
Java:
Expand Collapse Copy
package netro.client.modules;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerModelPart;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import netro.client.Wrapper;

public class CustomCape implements Wrapper {
private float crouchAnim = 0.75f;
private float runAnim = 0.1f;
private boolean wasCrouch = false;

@SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event) {
if (mc.player == null) return;
MatrixStack matrixStack = event.getMatrixStack();
IRenderTypeBuffer buffer = event.getBuffers();
int packedLight = event.getLight();
AbstractClientPlayerEntity player = (AbstractClientPlayerEntity) event.getPlayer();
float partialTicks = event.getPartialRenderTick();
if (player == mc.player) {
if (!player.isInvisible() && player.isModelPartShown(PlayerModelPart.CAPE)) {
ItemStack itemstack = player.getItemBySlot(EquipmentSlotType.CHEST);
if (itemstack.getItem() != Items.ELYTRA) {
matrixStack.pushPose();
float f = player.yBodyRotO + (player.yBodyRot - player.yBodyRotO) * partialTicks;
float rotationRadians = f * 0.017453292F;
double offsetX = Math.sin((double)rotationRadians) * 0.1;
double offsetZ = -Math.cos((double)rotationRadians) * 0.1;
boolean isCrouching = player.isCrouching();
if (isCrouching != this.wasCrouch) {
this.wasCrouch = isCrouching;
}
crouchAnim = isCrouching ? 0.3F : 0.0F;
float crouchOffset = this.crouchAnim;
boolean isRunning = player.isSprinting();
runAnim = isRunning ? 0.1F : 0.0F;
float runOffset = this.runAnim;
float yOffset = player.getBbHeight() - 0.4F + crouchOffset;
matrixStack.translate(offsetX, (double)yOffset, offsetZ);
matrixStack.mulPose(Vector3f.YP.rotationDegrees(180.0F - f));
double d0 = MathHelper.lerp((double)partialTicks, player.xCloakO, player.xCloak) - MathHelper.lerp((double)partialTicks, player.xo, player.getX());
double d1 = MathHelper.lerp((double)partialTicks, player.yCloakO, player.yCloak) - MathHelper.lerp((double)partialTicks, player.yo, player.getY());
double d2 = MathHelper.lerp((double)partialTicks, player.zCloakO, player.zCloak) - MathHelper.lerp((double)partialTicks, player.zo, player.getZ());
double d3 = (double)MathHelper.sin(rotationRadians);
double d4 = (double)(-MathHelper.cos(rotationRadians));
float f1 = (float)d1 * 10.0F;
f1 = MathHelper.clamp(f1, -6.0F, 32.0F);
float f2 = (float)(d0 * d3 + d2 * d4) * 100.0F;
f2 = MathHelper.clamp(f2, 0.0F, 150.0F);
float f3 = (float)(d0 * d4 - d2 * d3) * 100.0F;
f3 = MathHelper.clamp(f3, -20.0F, 20.0F);
if (f2 < 0.0F) {
f2 = 0.0F;
}
float f4 = MathHelper.lerp(partialTicks, player.oBob, player.bob);
f1 += MathHelper.sin(MathHelper.lerp(partialTicks, player.walkDistO, player.walkDist) * 6.0F) * 32.0F * f4;
float xRotation = -(6.0F + f2 / 2.0F + f1);
xRotation -= crouchOffset * 100.0F;
xRotation -= runOffset * 50.0F;
matrixStack.mulPose(Vector3f.XP.rotationDegrees(xRotation));
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(-(f3 / 2.0F)));
matrixStack.mulPose(Vector3f.YP.rotationDegrees(-180.0F));
float crouchWave;
if (isRunning) {
crouchWave = MathHelper.sin((float)player.tickCount * 0.5F) * runOffset * 5.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
if (isCrouching) {
crouchWave = (float)Math.sin((double)player.tickCount * 0.2) * crouchOffset * 3.0F;
matrixStack.mulPose(Vector3f.ZP.rotationDegrees(crouchWave));
}
matrixStack.scale(-1.0F, -1.0F, 1.0F);
// Сюда текстурку пон???
IVertexBuilder ivertexbuilder = buffer.getBuffer(RenderType.entitySolid(new net.minecraft.util.ResourceLocation("optifine", "textures/cape.png")));
event.getRenderer().getModel().renderCloak(matrixStack, ivertexbuilder, packedLight, OverlayTexture.NO_OVERLAY);
matrixStack.popPose();
}
}
}
}
}

Пожалуйста, авторизуйтесь для просмотра ссылки.
блять боже авхаызщвха
 
Назад
Сверху Снизу