Executions can now be cancelled, Properly implemented gripping progress bar, recovery timer is paused while getting carried, some bug fixes

This commit is contained in:
IM23a-spirgif
2025-04-27 22:03:13 +02:00
parent 9e6b1af77e
commit f803d277e0
4 changed files with 33 additions and 13 deletions
@@ -10,7 +10,6 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.event.entity.EntityMountEvent;
import net.minecraft.network.protocol.game.ClientboundSetPassengersPacket;
import net.minecraftforge.network.PacketDistributor;
import java.util.*;
@@ -61,17 +60,13 @@ public class CarryManager {
private static void stopCarry(Player knocked, ServerPlayer carrier) {
knocked.stopRiding();
carrying.remove(knocked.getUUID());
ClientboundSetPassengersPacket dismount = new ClientboundSetPassengersPacket(carrier);
NetworkHandler.CHANNEL.send(
PacketDistributor.TRACKING_ENTITY.with(() -> carrier),
dismount
);
NetworkHandler.CHANNEL.send(
PacketDistributor.PLAYER.with(() -> carrier),
dismount
);
knocked.stopRiding();
ClientboundSetPassengersPacket dismountPacket = new ClientboundSetPassengersPacket(carrier);
carrier.connection.send(dismountPacket);
if (knocked instanceof ServerPlayer spKnocked) {
spKnocked.connection.send(dismountPacket);
}
carrier.sendSystemMessage(Component.literal("Dropped " + knocked.getName().getString()));
knocked.sendSystemMessage(Component.literal("You have been dropped"));
}