update version number
This commit is contained in:
@@ -13,6 +13,7 @@ import net.minecraft.world.phys.AABB;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.network.PacketDistributor;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -36,6 +37,9 @@ public final class NpcHelpUpHandler {
|
||||
if (attempt != null) {
|
||||
Mob helper = findMob(attempt.helperId);
|
||||
if (helper != null) helper.getNavigation().stop();
|
||||
ServerPlayer player = NetworkHandlerHelper.getPlayerByUuid(
|
||||
net.minecraftforge.server.ServerLifecycleHooks.getCurrentServer(), playerId);
|
||||
if (player != null) clearProgress(player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +79,9 @@ public final class NpcHelpUpHandler {
|
||||
} else {
|
||||
helper.getNavigation().stop();
|
||||
helper.getLookControl().setLookAt(player, 30.0F, 30.0F);
|
||||
if (--attempt.timeLeft <= 0) complete(playerId, player, helper);
|
||||
attempt.timeLeft--;
|
||||
sendProgress(player, attempt.timeLeft);
|
||||
if (attempt.timeLeft <= 0) complete(playerId, player, helper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,11 +91,27 @@ public final class NpcHelpUpHandler {
|
||||
private static void complete(UUID playerId, ServerPlayer player, Mob helper) {
|
||||
ATTEMPTS.remove(playerId);
|
||||
helper.getNavigation().stop();
|
||||
clearProgress(player);
|
||||
KnockedManager.removeKnockedState(player);
|
||||
player.heal(Config.COMMON.npcHelpUpHealAmount.get().floatValue());
|
||||
KnockedbackAdvancements.recordNpcRescue(player, helper);
|
||||
}
|
||||
|
||||
private static void sendProgress(ServerPlayer player, int timeLeft) {
|
||||
NetworkHandler.CHANNEL.send(
|
||||
PacketDistributor.PLAYER.with(() -> player),
|
||||
new ExecutionProgressPacket(timeLeft, Config.COMMON.npcHelpUpTime.get(),
|
||||
ExecutionProgressPacket.Action.HELP_UP, "", null)
|
||||
);
|
||||
}
|
||||
|
||||
private static void clearProgress(ServerPlayer player) {
|
||||
NetworkHandler.CHANNEL.send(
|
||||
PacketDistributor.PLAYER.with(() -> player),
|
||||
new ExecutionProgressPacket(0, 1, ExecutionProgressPacket.Action.NONE, "", null)
|
||||
);
|
||||
}
|
||||
|
||||
private static Mob findHelper(ServerPlayer player) {
|
||||
double range = Config.COMMON.npcHelpUpSearchRange.get();
|
||||
return ((ServerLevel) player.level()).getEntitiesOfClass(Mob.class,
|
||||
|
||||
Reference in New Issue
Block a user