--- a/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java
+++ b/net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket.java
@@ -58,6 +58,11 @@
         );
     }
 
+    // Paper start - Multiple Entries with Scoreboards
+    public static ClientboundSetPlayerTeamPacket createMultiplePlayerPacket(PlayerTeam team, Collection<String> players, ClientboundSetPlayerTeamPacket.Action operation) {
+        return new ClientboundSetPlayerTeamPacket(team.getName(), operation == ClientboundSetPlayerTeamPacket.Action.ADD ? 3 : 4, Optional.empty(), players);
+    }
+    // Paper end - Multiple Entries with Scoreboards
     private ClientboundSetPlayerTeamPacket(RegistryFriendlyByteBuf buf) {
         this.name = buf.readUtf();
         this.method = buf.readByte();
@@ -200,7 +205,7 @@
             ComponentSerialization.TRUSTED_STREAM_CODEC.encode(buf, this.displayName);
             buf.writeByte(this.options);
             buf.writeUtf(this.nametagVisibility);
-            buf.writeUtf(this.collisionRule);
+            buf.writeUtf(!io.papermc.paper.configuration.GlobalConfiguration.get().collisions.enablePlayerCollisions ? "never" : this.collisionRule); // Paper - Configurable player collision
             buf.writeEnum(this.color);
             ComponentSerialization.TRUSTED_STREAM_CODEC.encode(buf, this.playerPrefix);
             ComponentSerialization.TRUSTED_STREAM_CODEC.encode(buf, this.playerSuffix);
