From 1ff23a1571b7c4209189c3e5d4f8fd2731d116b5 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Mon, 27 Apr 2026 15:05:17 +0100 Subject: [PATCH 1/4] fix: force-refresh player name on login if nickname is set Change in 26.1 wrt 1.21? Seems like PlayerEvent.NameFormat gets fired before PlayerEvent.PlayerLoggedInEvent now? --- .../mods/ftbessentials/FTBEEventHandler.java | 5 +++++ .../ftbessentials/util/FTBEPlayerData.java | 22 +++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/dev/ftb/mods/ftbessentials/FTBEEventHandler.java b/common/src/main/java/dev/ftb/mods/ftbessentials/FTBEEventHandler.java index ddababd..923ed56 100644 --- a/common/src/main/java/dev/ftb/mods/ftbessentials/FTBEEventHandler.java +++ b/common/src/main/java/dev/ftb/mods/ftbessentials/FTBEEventHandler.java @@ -10,6 +10,7 @@ import dev.ftb.mods.ftbessentials.util.FTBEWorldData; import dev.ftb.mods.ftbessentials.util.TeleportPos; import dev.ftb.mods.ftbessentials.util.WarmupCooldownTeleporter; +import dev.ftb.mods.ftblibrary.platform.Platform; import dev.ftb.mods.ftblibrary.util.TimeUtils; import dev.ftb.mods.ftblibrary.util.result.Outcome; import net.minecraft.ChatFormatting; @@ -56,6 +57,10 @@ public void playerLoggedIn(ServerPlayer serverPlayer) { data.setLastSeenPos(new TeleportPos(serverPlayer)); data.markDirty(); + if (!data.getNick().isEmpty()) { + Platform.get().misc().refreshDisplayName(serverPlayer); + } + FTBEPlayerData.sendPlayerTabs(serverPlayer); KitManager.getInstance().allKits().forEach((kitName, kit) -> { diff --git a/common/src/main/java/dev/ftb/mods/ftbessentials/util/FTBEPlayerData.java b/common/src/main/java/dev/ftb/mods/ftbessentials/util/FTBEPlayerData.java index 06a0716..eb60876 100644 --- a/common/src/main/java/dev/ftb/mods/ftbessentials/util/FTBEPlayerData.java +++ b/common/src/main/java/dev/ftb/mods/ftbessentials/util/FTBEPlayerData.java @@ -216,25 +216,25 @@ public void markDirty() { } public Json5Object toJson() { - Json5Object nbt = new Json5Object(); - nbt.addProperty("muted", muted); - nbt.addProperty("fly", canFly); - nbt.addProperty("god", god); - nbt.addProperty("nick", nick); - if (lastSeenPos != null) nbt.add("last_seen", lastSeenPos.toJson()); - nbt.addProperty("recording", recording.getId()); + Json5Object json = new Json5Object(); + json.addProperty("muted", muted); + json.addProperty("fly", canFly); + json.addProperty("god", god); + json.addProperty("nick", nick); + if (lastSeenPos != null) json.add("last_seen", lastSeenPos.toJson()); + json.addProperty("recording", recording.getId()); Json5Array tph = new Json5Array(); for (TeleportPos pos : teleportHistory) { tph.add(pos.toJson()); } - nbt.add("teleport_history", tph); + json.add("teleport_history", tph); - nbt.add("homes", homes.toJson()); + json.add("homes", homes.toJson()); - nbt.add("kit_use_times", Util.make(new Json5Object(), tag -> kitUseTimes.forEach(tag::addProperty))); + json.add("kit_use_times", Util.make(new Json5Object(), tag -> kitUseTimes.forEach(tag::addProperty))); - return nbt; + return json; } public void readJson(Json5Object json) { From 4db6b6cce4578ca9fea7abc497a221c95ba5f2a9 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Mon, 27 Apr 2026 15:06:21 +0100 Subject: [PATCH 2/4] build: version -> 26.1.2.4, changelog updated --- CHANGELOG.md | 5 +++++ gradle.properties | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2c1400..2db74c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [26.1.2.4-beta] + +### Fixed +* Fixed player nickname not being shown after player logs in again (or after server restart) + ## [26.1.2.3-beta] ### Fixed diff --git a/gradle.properties b/gradle.properties index 011094b..ed1fb42 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ supported_minecraft_versions=26.1,26.1.1,26.1.2 minecraft_version_range_maven=[26.1,27) minecraft_version_range_semver=>=26.1.0 -mod_version=3 +mod_version=4 mod_author=FTB Team # Deps From 473d782fdc91094b7b212863aba19375292bb9b0 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Tue, 2 Jun 2026 16:21:40 +0100 Subject: [PATCH 3/4] fix: neoforge 26.1.2.70 API break for living damage event --- gradle.properties | 4 ++-- .../mods/ftbessentials/neoforge/FTBEssentialsNeoForge.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index ed1fb42..69cc611 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,8 +14,8 @@ mod_version=4 mod_author=FTB Team # Deps -neoforge_version=26.1.2.7-beta -neoforge_version_range=[26.1.0.19-beta,27) +neoforge_version=26.1.2.71 +neoforge_version_range=[26.1.0.71,27) neoforge_loader_version=4 fabric_loader_version=0.18.4 diff --git a/neoforge/src/main/java/dev/ftb/mods/ftbessentials/neoforge/FTBEssentialsNeoForge.java b/neoforge/src/main/java/dev/ftb/mods/ftbessentials/neoforge/FTBEssentialsNeoForge.java index 35cd397..a3d7f47 100644 --- a/neoforge/src/main/java/dev/ftb/mods/ftbessentials/neoforge/FTBEssentialsNeoForge.java +++ b/neoforge/src/main/java/dev/ftb/mods/ftbessentials/neoforge/FTBEssentialsNeoForge.java @@ -53,7 +53,7 @@ public FTBEssentialsNeoForge() { essentials.eventHandler.onPlayerDeath((ServerPlayer) event.getOriginal(), (ServerPlayer) event.getEntity(), !event.isWasDeath()) ); bus.addListener(LivingDamageEvent.Post.class, event -> - essentials.eventHandler.onPlayerHurt(event.getEntity(), event.getNewDamage(), event.getNewDamage() > 0f) + essentials.eventHandler.onPlayerHurt(event.getEntity(), event.getInflictedDamage(), event.getBlockedDamage() > 0f) ); bus.addListener(EventPriority.HIGHEST, ServerChatEvent.class, event -> { if (essentials.eventHandler.allowChat(event.getPlayer()).isFail()) { From e6ec0d4a7a41a6ac3cda57ff0a156331c1676447 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Tue, 2 Jun 2026 16:23:42 +0100 Subject: [PATCH 4/4] chore: changelog updated --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2db74c0..80da753 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [26.1.2.4-beta] +### Changed +* NeoForge 26.1.2.71 required + * Previous versions of FTB Essentials will not work with NeoForge 26.1.2.70+ due to NeoForge API break + ### Fixed * Fixed player nickname not being shown after player logs in again (or after server restart)