Skip to content

Commit 79647db

Browse files
committed
attempt to fix server crash on forced disconnection
1 parent 46f38d7 commit 79647db

3 files changed

Lines changed: 16 additions & 4 deletions

File tree

cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/ComponentKey.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import net.minecraft.network.PacketCallbacks;
2828
import net.minecraft.network.RegistryByteBuf;
2929
import net.minecraft.network.packet.CustomPayload;
30+
import net.minecraft.server.ServerTask;
3031
import net.minecraft.server.network.ServerPlayerEntity;
3132
import net.minecraft.text.Text;
3233
import net.minecraft.util.Identifier;
@@ -208,7 +209,11 @@ public void syncWith(ServerPlayerEntity player, ComponentProvider provider, Comp
208209
ServerPlayNetworking.getSender(player).sendPacket(payload, PacketCallbacks.always(buf::release));
209210
} else {
210211
if (predicate.isRequiredOnClient()) {
211-
player.networkHandler.disconnect(Text.literal("This server requires Cardinal Components API (unhandled packet: " + payload.getId().id() + ")" + ComponentsInternals.getClientOptionalModAdvice()));
212+
player.getEntityWorld().getServer().execute(new ServerTask(0, () ->
213+
player.networkHandler.disconnect(Text.literal(
214+
"This server requires Cardinal Components API (unhandled packet: " + payload.getId().id() + ")"
215+
+ ComponentsInternals.getClientOptionalModAdvice()))
216+
));
212217
}
213218
buf.release();
214219
}

changelog.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
------------------------------------------------------
2+
Version 6.1.3
3+
------------------------------------------------------
4+
**Fixes**
5+
- Fixed rare ConcurrentModificationException during sync
6+
- Fixed
7+
18
------------------------------------------------------
29
Version 6.1.2
310
------------------------------------------------------

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ fabric_api_version=0.100.7+1.21
1313
elmendorf_version=0.13.0
1414

1515
#Publishing
16-
mod_version = 6.1.2
16+
mod_version = 6.1.3
1717
curseforge_id = 318449
1818
modrinth_id = K01OU20C
19-
curseforge_versions = 1.21
20-
modrinth_versions = 1.21
19+
curseforge_versions = 1.21; 1.21.1
20+
modrinth_versions = 1.21; 1.21.1
2121
release_type = release
2222
display_name = Cardinal-Components-API
2323
owners = Ladysnake

0 commit comments

Comments
 (0)