Merge branch 'master' into dps
This commit is contained in:
@@ -34,5 +34,6 @@ import net.runelite.http.api.ws.WebsocketMessage;
|
|||||||
public class UserJoin extends WebsocketMessage
|
public class UserJoin extends WebsocketMessage
|
||||||
{
|
{
|
||||||
private final UUID memberId;
|
private final UUID memberId;
|
||||||
|
private final UUID partyId;
|
||||||
private final String name;
|
private final String name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -548,8 +548,14 @@ public class ChatMessageManager
|
|||||||
{
|
{
|
||||||
if (!queuedMessages.isEmpty())
|
if (!queuedMessages.isEmpty())
|
||||||
{
|
{
|
||||||
queuedMessages.forEach(this::add);
|
try
|
||||||
queuedMessages.clear();
|
{
|
||||||
|
queuedMessages.forEach(this::add);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
queuedMessages.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,12 +26,14 @@ package net.runelite.client.chat;
|
|||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NonNull;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
public class QueuedMessage
|
public class QueuedMessage
|
||||||
{
|
{
|
||||||
|
@NonNull
|
||||||
private final ChatMessageType type;
|
private final ChatMessageType type;
|
||||||
private final String value;
|
private final String value;
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Named;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
@@ -48,6 +49,7 @@ import net.runelite.api.Skill;
|
|||||||
import net.runelite.api.SoundEffectID;
|
import net.runelite.api.SoundEffectID;
|
||||||
import net.runelite.api.Tile;
|
import net.runelite.api.Tile;
|
||||||
import net.runelite.api.coords.WorldPoint;
|
import net.runelite.api.coords.WorldPoint;
|
||||||
|
import net.runelite.api.events.CommandExecuted;
|
||||||
import net.runelite.api.events.FocusChanged;
|
import net.runelite.api.events.FocusChanged;
|
||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
@@ -120,6 +122,10 @@ public class PartyPlugin extends Plugin implements KeyListener
|
|||||||
@Inject
|
@Inject
|
||||||
private ChatMessageManager chatMessageManager;
|
private ChatMessageManager chatMessageManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Named("developerMode")
|
||||||
|
boolean developerMode;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final Map<UUID, PartyData> partyDataMap = Collections.synchronizedMap(new HashMap<>());
|
private final Map<UUID, PartyData> partyDataMap = Collections.synchronizedMap(new HashMap<>());
|
||||||
|
|
||||||
@@ -448,6 +454,23 @@ public class PartyPlugin extends Plugin implements KeyListener
|
|||||||
worldMapManager.removeIf(PartyWorldMapPoint.class::isInstance);
|
worldMapManager.removeIf(PartyWorldMapPoint.class::isInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onCommandExecuted(CommandExecuted commandExecuted)
|
||||||
|
{
|
||||||
|
if (!developerMode || !commandExecuted.getCommand().equals("partyinfo"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
chatMessageManager.queue(QueuedMessage.builder().type(ChatMessageType.GAMEMESSAGE).value("Party " + party.getPartyId()).build());
|
||||||
|
chatMessageManager.queue(QueuedMessage.builder().type(ChatMessageType.GAMEMESSAGE).value("Local Party " + party.getLocalPartyId()).build());
|
||||||
|
chatMessageManager.queue(QueuedMessage.builder().type(ChatMessageType.GAMEMESSAGE).value("Local ID " + party.getLocalMember().getMemberId()).build());
|
||||||
|
for (PartyMember partyMember : party.getMembers())
|
||||||
|
{
|
||||||
|
chatMessageManager.queue(QueuedMessage.builder().type(ChatMessageType.GAMEMESSAGE).value(" " + partyMember.getName() + " " + partyMember.getMemberId()).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
PartyData getPartyData(final UUID uuid)
|
PartyData getPartyData(final UUID uuid)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -114,6 +114,13 @@ public class PartyService
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onUserJoin(final UserJoin message)
|
public void onUserJoin(final UserJoin message)
|
||||||
{
|
{
|
||||||
|
if (!partyId.equals(message.getPartyId()))
|
||||||
|
{
|
||||||
|
// This can happen when a session is resumed server side after the client party
|
||||||
|
// changes when disconnected.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final PartyMember partyMember = new PartyMember(message.getMemberId(), message.getName());
|
final PartyMember partyMember = new PartyMember(message.getMemberId(), message.getName());
|
||||||
members.add(partyMember);
|
members.add(partyMember);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user