From db52d53d063197d6ee8f48cdd7a1d59a969d92ab Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 25 Dec 2022 19:37:04 +0100 Subject: [PATCH] Fixed entities jumping back to their original position when being dropped by a pegasus --- .../com/minelittlepony/unicopia/ability/CarryAbility.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/CarryAbility.java b/src/main/java/com/minelittlepony/unicopia/ability/CarryAbility.java index f567f378..822cab12 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/CarryAbility.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/CarryAbility.java @@ -1,11 +1,15 @@ package com.minelittlepony.unicopia.ability; +import java.util.List; +import java.util.stream.StreamSupport; + import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.ability.data.Hit; import com.minelittlepony.unicopia.entity.Living; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.util.TraceHelper; +import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.world.World; @@ -68,7 +72,11 @@ public class CarryAbility implements Ability { LivingEntity rider = findRider(player, iplayer.asWorld()); if (player.hasPassengers()) { + List passengers = StreamSupport.stream(player.getPassengersDeep().spliterator(), false).toList(); player.removeAllPassengers(); + for (Entity passenger : passengers) { + passenger.refreshPositionAfterTeleport(player.getPos()); + } } if (rider != null) {