From beaaef421c523a68a5e8e83dd8f0de5d07c0431b Mon Sep 17 00:00:00 2001 From: SashegDev Date: Sun, 28 Jun 2026 08:04:09 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=95=D0=96=D0=98=D0=98=D0=98=D0=98?= =?UTF-8?q?=D0=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ellie/EllieEntity.java | 10 ++---- .../entity/ellie/EllieRenderer.java | 31 +++++++------------ .../animations/ellie.animation.json | 8 ----- 3 files changed, 14 insertions(+), 35 deletions(-) diff --git a/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieEntity.java b/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieEntity.java index 92709a1..f8b43b6 100644 --- a/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieEntity.java +++ b/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieEntity.java @@ -229,12 +229,11 @@ public class EllieEntity extends Animal implements GeoEntity { updateDebugBrainString(); if (!level().isClientSide) { List wps = getPathWaypoints(); - String brain = entityData.get(DATA_DEBUG_BRAIN); for (Player player : level().players()) { if (player.distanceToSqr(this) < 64 * 64) { ModNetworking.CHANNEL.send( PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), - new DebugSyncPacket(this.getId(), wps, brain)); + new DebugSyncPacket(this.getId(), wps)); } } } @@ -424,12 +423,9 @@ public class EllieEntity extends Animal implements GeoEntity { : pos.relative(facing); setPose(Pose.SLEEPING); - BlockPos footPos = headPos.relative(facing.getOpposite()); - double footX = footPos.getX() + 0.5 - facing.getStepX() * 0.5; - double footZ = footPos.getZ() + 0.5 - facing.getStepZ() * 0.5; - setPos(footX, footPos.getY() + 1.0625, footZ); + setPos(headPos.getX() + 0.5, pos.getY() + 0.6875, headPos.getZ() + 0.5); setSleepingPos(headPos); - float yRot = facing.getOpposite().toYRot(); + float yRot = facing.toYRot(); setYRot(yRot); yRotO = yRot; setYHeadRot(yRot); diff --git a/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieRenderer.java b/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieRenderer.java index 7de663e..ff755a0 100644 --- a/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieRenderer.java +++ b/src/main/java/me/sashegdev/fabled_hearts/entity/ellie/EllieRenderer.java @@ -8,12 +8,9 @@ import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Pose; -import net.minecraft.world.level.block.BedBlock; -import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; import software.bernie.geckolib.renderer.GeoEntityRenderer; @@ -27,24 +24,18 @@ public class EllieRenderer extends GeoEntityRenderer { @Override protected void applyRotations(EllieEntity entity, PoseStack poseStack, float tick, float yRot, float partialTick) { if (entity.getPose() == Pose.SLEEPING) { - BlockPos bedPos = entity.getBedPos(); - if (bedPos != null) { - BlockState state = entity.level().getBlockState(bedPos); - if (state.getBlock() instanceof BedBlock) { - Direction facing = state.getValue(BedBlock.FACING); - float angle = switch (facing) { - case SOUTH -> 90; - case WEST -> 0; - case NORTH -> 270; - case EAST -> 180; - default -> 180; - }; - poseStack.mulPose(Axis.YP.rotationDegrees(angle)); - poseStack.mulPose(Axis.ZP.rotationDegrees(90)); - poseStack.mulPose(Axis.YP.rotationDegrees(270)); - return; - } + Direction bedDir = entity.getBedOrientation(); + if (bedDir != null) { + poseStack.translate( + -bedDir.getStepX() * 1.847, + 0.0F, + -bedDir.getStepZ() * 1.847 + ); + poseStack.mulPose(Axis.YP.rotationDegrees(bedDir.toYRot())); + poseStack.mulPose(Axis.XP.rotationDegrees(90.0F)); + poseStack.mulPose(Axis.ZP.rotationDegrees(180.0F)); } + return; } super.applyRotations(entity, poseStack, tick, yRot, partialTick); } diff --git a/src/main/resources/assets/fabled_hearts/animations/ellie.animation.json b/src/main/resources/assets/fabled_hearts/animations/ellie.animation.json index 753ea21..0b65711 100644 --- a/src/main/resources/assets/fabled_hearts/animations/ellie.animation.json +++ b/src/main/resources/assets/fabled_hearts/animations/ellie.animation.json @@ -13897,14 +13897,6 @@ "loop": true, "animation_length": 2.25, "bones": { - "root": { - "rotation": { - "vector": [90, 0, -180] - }, - "position": { - "vector": [0, 9.1, 9] - } - }, "torso": { "rotation": { "0.0833": {