Skip to content

Commit 7657a59

Browse files
authored
Add step_height and version dependent interaction range 1.20.5 attributes (ViaVersion#4741)
1 parent f95ec49 commit 7657a59

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

common/src/main/java/com/viaversion/viaversion/protocols/v1_20_3to1_20_5/rewriter/EntityPacketRewriter1_20_5.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.viaversion.viaversion.api.minecraft.item.StructuredItem;
3636
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
3737
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
38+
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
3839
import com.viaversion.viaversion.api.type.Types;
3940
import com.viaversion.viaversion.api.type.types.version.Types1_20_3;
4041
import com.viaversion.viaversion.api.type.types.version.VersionedTypes;
@@ -408,9 +409,18 @@ private void replaceNullValues(final RegistryEntry[] entries) {
408409
private void sendRangeAttributes(final UserConnection connection, final boolean creativeMode) {
409410
final PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_20_5.UPDATE_ATTRIBUTES, connection);
410411
wrapper.write(Types.VAR_INT, tracker(connection).clientEntityId());
411-
wrapper.write(Types.VAR_INT, 2); // Number of attributes
412-
writeAttribute(wrapper, "player.block_interaction_range", 4.5, creativeMode ? CREATIVE_BLOCK_INTERACTION_RANGE : null, 0.5);
413-
writeAttribute(wrapper, "player.entity_interaction_range", 3.0, creativeMode ? CREATIVE_ENTITY_INTERACTION_RANGE : null, 2.0);
412+
if (connection.getProtocolInfo().serverProtocolVersion().olderThanOrEqualTo(ProtocolVersion.v1_7_6)) {
413+
wrapper.write(Types.VAR_INT, 3); // Number of attributes
414+
this.writeAttribute(wrapper, "generic.step_height", 0.5D, null, 0D);
415+
} else {
416+
wrapper.write(Types.VAR_INT, 2); // Number of attributes
417+
}
418+
this.writeAttribute(wrapper, "player.block_interaction_range", 4.5D, creativeMode ? CREATIVE_BLOCK_INTERACTION_RANGE : null, 0.5D);
419+
if (connection.getProtocolInfo().serverProtocolVersion().olderThanOrEqualTo(ProtocolVersion.v1_13_2)) {
420+
this.writeAttribute(wrapper, "player.entity_interaction_range", 3D, creativeMode ? CREATIVE_ENTITY_INTERACTION_RANGE : null, 1D);
421+
} else {
422+
this.writeAttribute(wrapper, "player.entity_interaction_range", 3D, creativeMode ? CREATIVE_ENTITY_INTERACTION_RANGE : null, 2D);
423+
}
414424
wrapper.scheduleSend(Protocol1_20_3To1_20_5.class);
415425
}
416426

0 commit comments

Comments
 (0)