Fixed movement speed not being set in attributes
This commit is contained in:
parent
b65bbb6340
commit
5f98e57316
@ -27,18 +27,21 @@ public class PacketHandlerAttributes implements IPacketHandler {
|
||||
@Override
|
||||
public void handle(Disguise disguise, PacketContainer sentPacket, LibsPackets packets, Player observer,
|
||||
Entity entity) {
|
||||
if (disguise.isMiscDisguise()) {
|
||||
packets.clear();
|
||||
} else {
|
||||
|
||||
if (!disguise.isMiscDisguise()) {
|
||||
packets.clear();
|
||||
|
||||
List<WrappedAttribute> attributes = new ArrayList<>();
|
||||
PacketContainer updateAttributes = new PacketContainer(PacketType.Play.Server.UPDATE_ATTRIBUTES);
|
||||
|
||||
for (WrappedAttribute attribute : sentPacket.getAttributeCollectionModifier().read(0)) {
|
||||
if (attribute.getAttributeKey().equals("generic.maxHealth")) {
|
||||
packets.clear();
|
||||
|
||||
PacketContainer updateAttributes = new PacketContainer(PacketType.Play.Server.UPDATE_ATTRIBUTES);
|
||||
packets.addPacket(updateAttributes);
|
||||
if (attribute.getAttributeKey().equals("generic.movementSpeed")) {
|
||||
WrappedAttribute.Builder builder = WrappedAttribute.newBuilder(attribute);
|
||||
builder.packet(updateAttributes);
|
||||
|
||||
attributes.add(builder.build());
|
||||
} else if (attribute.getAttributeKey().equals("generic.maxHealth")) {
|
||||
WrappedAttribute.Builder builder;
|
||||
|
||||
if (((LivingWatcher) disguise.getWatcher()).isMaxHealthSet()) {
|
||||
@ -56,15 +59,14 @@ public class PacketHandlerAttributes implements IPacketHandler {
|
||||
builder.packet(updateAttributes);
|
||||
|
||||
attributes.add(builder.build());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!attributes.isEmpty()) {
|
||||
packets.getPackets().get(0).getIntegers().write(0, entity.getEntityId());
|
||||
packets.getPackets().get(0).getAttributeCollectionModifier().write(0, attributes);
|
||||
} else {
|
||||
packets.clear();
|
||||
|
||||
packets.addPacket(updateAttributes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user