update version number

This commit is contained in:
2026-07-21 19:19:51 +02:00
parent c8554ce8d1
commit b82489f9d3
2 changed files with 24 additions and 1 deletions
+1
View File
@@ -5,6 +5,7 @@ All notable changes since version 1.0.0 are documented in this file.
## Unreleased
### Added
- Added the help-up progress bar when a friendly NPC is reviving the player.
- Added achievements for being rescued by an NPC, owned pet, friendly villager, or iron golem.
- Added separate configuration for mob execution time, executor movement, and knocked-player movement.
- Added configurable NPC help-up behavior for owned pets, friendly villagers, golems, and allowlisted modded NPCs.
@@ -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,