playermanager: add. (#1952)

* playermanager: add.
playerscouter: update to use new player manager.
playerscouter: add minify option.

* playermanager: use concurrent maps over standard hash maps.

* playermanager: add attackStyleChanged event.

* playermanager: add all attacking method.

* prayagainst: completely rework it to use playerManager.
playermanager: add friend/clan methods.

* playermanager: utilize new event rather than gametick.

* playermanager: remove gam tick update.

* playermanager: remove gametick method reference.

* hideunder: use playermanager.

* equipmentinspector: use playermanager.

* events: add new docs.

* playermanager: add combat stats sub-class.

* playermanager: add timeout to updateStats

* playermanager: gamepack update.

* playermanager: remove debugging.

* playerscouter: remove unused import
This commit is contained in:
Ganom
2019-12-01 01:09:27 -05:00
committed by GitHub
parent 00ce4ee51c
commit 129ccd2de9
21 changed files with 1048 additions and 1574 deletions

View File

@@ -45,12 +45,14 @@ import static net.runelite.api.SkullIcon.DEAD_MAN_TWO;
import static net.runelite.api.SkullIcon.SKULL;
import static net.runelite.api.SkullIcon.SKULL_FIGHT_PIT;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.PlayerAppearanceChanged;
import net.runelite.api.mixins.Copy;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.MethodHook;
import net.runelite.api.mixins.Mixin;
import net.runelite.api.mixins.Replace;
import net.runelite.api.mixins.Shadow;
import net.runelite.rs.api.RSBuffer;
import net.runelite.rs.api.RSClient;
import net.runelite.rs.api.RSModel;
import net.runelite.rs.api.RSPlayer;
@@ -236,4 +238,20 @@ public abstract class RSPlayerMixin implements RSPlayer
{
friended = client.getFriendManager().isFriended(getRsName(), false);
}
@Copy("read")
public abstract void rs$read(RSBuffer buffer);
@Replace("read")
public void rl$read(RSBuffer buffer)
{
final long appearanceHash = getPlayerAppearance() == null ? 0 : getPlayerAppearance().getHash();
rs$read(buffer);
if (getPlayerAppearance().getHash() != appearanceHash)
{
client.getCallbacks().post(PlayerAppearanceChanged.class, new PlayerAppearanceChanged(this));
}
}
}