mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-03 14:24:42 +01:00
Fixed the Cardboard Armor's crouch behavior not respecting the player's scale attribute
This commit is contained in:
parent
e0f7030d46
commit
f906e91242
2 changed files with 18 additions and 3 deletions
|
@ -34,7 +34,14 @@ public class CardboardArmorHandler {
|
|||
if (!testForStealth(entity))
|
||||
return;
|
||||
|
||||
event.setNewSize(EntityDimensions.fixed(0.6F, 0.8F).withEyeHeight(0.6F));
|
||||
float scale;
|
||||
if(entity instanceof LivingEntity le) {
|
||||
scale = le.getScale();
|
||||
} else {
|
||||
scale = 1.0F;
|
||||
}
|
||||
|
||||
event.setNewSize(EntityDimensions.fixed(0.6F * scale, 0.8F * scale).withEyeHeight(0.6F * scale));
|
||||
|
||||
if (!entity.level()
|
||||
.isClientSide() && entity instanceof Player p)
|
||||
|
|
|
@ -13,9 +13,12 @@ import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
|||
import net.createmod.catnip.animation.AnimationTickHolder;
|
||||
import net.minecraft.client.CameraType;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.bus.api.EventPriority;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
|
@ -54,7 +57,9 @@ public class CardboardArmorHandlerClient {
|
|||
|
||||
PoseStack ms = event.getPoseStack();
|
||||
ms.pushPose();
|
||||
ms.translate(0, 2 / 16f, 0);
|
||||
|
||||
Vec3 renderOffset = event.getRenderer().getRenderOffset((AbstractClientPlayer)player, event.getPartialTick());
|
||||
ms.translate(0, -renderOffset.y, 0);
|
||||
|
||||
float movement = (float) player.position()
|
||||
.subtract(player.xo, player.yo, player.zo)
|
||||
|
@ -62,11 +67,14 @@ public class CardboardArmorHandlerClient {
|
|||
|
||||
if (player.onGround())
|
||||
ms.translate(0,
|
||||
Math.min(Math.abs(Mth.cos((AnimationTickHolder.getRenderTime() % 256) / 2.0f)) * 2 / 16f, movement * 5),
|
||||
Math.min(Math.abs(Mth.cos((AnimationTickHolder.getRenderTime() % 256) / 2.0f)) * -renderOffset.y, movement * 5),
|
||||
0);
|
||||
|
||||
float interpolatedYaw = Mth.lerp(event.getPartialTick(), player.yRotO, player.getYRot());
|
||||
|
||||
float scale = player.getScale();
|
||||
ms.scale(scale, scale, scale);
|
||||
|
||||
try {
|
||||
PartialModel model = AllPartialModels.PACKAGES_TO_HIDE_AS.get(getCurrentBoxIndex(player));
|
||||
PackageRenderer.renderBox(player, interpolatedYaw, ms, event.getMultiBufferSource(),
|
||||
|
|
Loading…
Add table
Reference in a new issue