Allow sendData of multiple data
This commit is contained in:
parent
9e4ad0ba8e
commit
bff21ab039
@ -229,23 +229,27 @@ public class FlagWatcher {
|
||||
}
|
||||
}
|
||||
|
||||
protected void sendData(int data) {
|
||||
protected void sendData(int... dataValues) {
|
||||
if (!DisguiseAPI.isDisguiseInUse(getDisguise()))
|
||||
return;
|
||||
if (!entityValues.containsKey(data) || entityValues.get(data) == null)
|
||||
return;
|
||||
Object value = entityValues.get(data);
|
||||
List<WrappedWatchableObject> list = new ArrayList<WrappedWatchableObject>();
|
||||
list.add(new WrappedWatchableObject(data, value));
|
||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
||||
StructureModifier<Object> mods = packet.getModifier();
|
||||
mods.write(0, getDisguise().getEntity().getEntityId());
|
||||
packet.getWatchableCollectionModifier().write(0, list);
|
||||
for (Player player : DisguiseUtilities.getPerverts(getDisguise())) {
|
||||
try {
|
||||
ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet);
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
for (int data : dataValues) {
|
||||
if (!entityValues.containsKey(data) || entityValues.get(data) == null)
|
||||
continue;
|
||||
Object value = entityValues.get(data);
|
||||
list.add(new WrappedWatchableObject(data, value));
|
||||
}
|
||||
if (!list.isEmpty()) {
|
||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
||||
StructureModifier<Object> mods = packet.getModifier();
|
||||
mods.write(0, getDisguise().getEntity().getEntityId());
|
||||
packet.getWatchableCollectionModifier().write(0, list);
|
||||
for (Player player : DisguiseUtilities.getPerverts(getDisguise())) {
|
||||
try {
|
||||
ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet);
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -42,8 +42,8 @@ public class TameableWatcher extends AgeableWatcher {
|
||||
@Override
|
||||
public void setHealth(float newHealth) {
|
||||
setValue(18, newHealth);
|
||||
sendData(18);
|
||||
super.setHealth(newHealth);
|
||||
setValue(6, newHealth);
|
||||
sendData(6, 18);
|
||||
}
|
||||
|
||||
public void setOwner(String owner) {
|
||||
|
Loading…
Reference in New Issue
Block a user