Fixed typo in InsentientWatcher, self disguises crashing on metachange

This commit is contained in:
libraryaddict 2016-07-12 00:36:47 +12:00
parent 22faedb8a4
commit c239116c9d
5 changed files with 14 additions and 6 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>LibsDisguises</groupId>
<artifactId>LibsDisguises</artifactId>
<version>9.0.8</version>
<version>9.0.8-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>

View File

@ -457,7 +457,17 @@ public class FlagWatcher
{
try
{
ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet);
if (player == getDisguise().getEntity())
{
PacketContainer temp = packet.shallowClone();
temp.getIntegers().write(0, DisguiseAPI.getSelfDisguiseId());
ProtocolLibrary.getProtocolManager().sendServerPacket(player, temp);
}
else
{
ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet);
}
}
catch (InvocationTargetException e)
{

View File

@ -5,7 +5,6 @@ import me.libraryaddict.disguise.disguisetypes.FlagType;
public class AgeableWatcher extends InsentientWatcher
{
public AgeableWatcher(Disguise disguise)
{
super(disguise);
@ -36,5 +35,4 @@ public class AgeableWatcher extends InsentientWatcher
setValue(FlagType.AGEABLE_BABY, isBaby);
sendData(FlagType.AGEABLE_BABY);
}
}

View File

@ -50,6 +50,6 @@ public class InsentientWatcher extends LivingWatcher
private boolean getInsentientFlag(int i)
{
return ((byte) getValue(FlagType.PLAYER_SKIN) & 1 << i) != 0;
return ((byte) getValue(FlagType.INSENTIENT_META) & 1 << i) != 0;
}
}

View File

@ -894,7 +894,7 @@ public class PacketsManager
List<WrappedWatchableObject> watchableObjects = disguise.getWatcher()
.convert(packets[0].getWatchableCollectionModifier().read(0));
packets[0] = new PacketContainer(sentPacket.getType());
packets[0] = new PacketContainer(Server.ENTITY_METADATA);
StructureModifier<Object> newMods = packets[0].getModifier();