banktags, cooking, xpdrop, fishing, friendnotes

This commit is contained in:
therealunull
2020-12-16 14:49:04 -05:00
parent 3be6ba5cc0
commit fc1c0799bd
60 changed files with 5217 additions and 112 deletions

View File

@@ -39,7 +39,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.inject.Named;
import net.runelite.api.ChatMessageType;
import net.runelite.api.EnumDefinition;
import net.runelite.api.EnumComposition;
import net.runelite.api.Friend;
import net.runelite.api.GameState;
import net.runelite.api.GrandExchangeOffer;
@@ -124,7 +124,7 @@ import net.runelite.api.widgets.WidgetType;
import net.runelite.rs.api.RSAbstractArchive;
import net.runelite.rs.api.RSChatChannel;
import net.runelite.rs.api.RSClient;
import net.runelite.rs.api.RSEnumDefinition;
import net.runelite.rs.api.RSEnumComposition;
import net.runelite.rs.api.RSFriendSystem;
import net.runelite.rs.api.RSIndexedSprite;
import net.runelite.rs.api.RSItemContainer;
@@ -206,7 +206,7 @@ public abstract class RSClientMixin implements RSClient
static int skyboxColor;
@Inject
private final Cache<Integer, RSEnumDefinition> enumCache = CacheBuilder.newBuilder()
private final Cache<Integer, RSEnumComposition> enumCache = CacheBuilder.newBuilder()
.maximumSize(64)
.build();
@@ -594,13 +594,7 @@ public abstract class RSClientMixin implements RSClient
@Override
public Widget getWidget(int id)
{
for (WidgetInfo widgetInfo : WidgetInfo.values())
{
if (widgetInfo.getId() == id)
return getWidget(widgetInfo);
}
return null;
return getWidget(WidgetInfo.getGroupFromID(id), WidgetInfo.getChildFromID(id));
}
@Inject
@@ -1747,11 +1741,11 @@ public abstract class RSClientMixin implements RSClient
@Inject
@Override
public EnumDefinition getEnum(int id)
public EnumComposition getEnum(int id)
{
assert isClientThread() : "getEnum must be called on client thread";
RSEnumDefinition rsEnumDefinition = enumCache.getIfPresent(id);
RSEnumComposition rsEnumDefinition = enumCache.getIfPresent(id);
if (rsEnumDefinition != null)
{
return rsEnumDefinition;

View File

@@ -2,10 +2,10 @@ package net.runelite.mixins;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin;
import net.runelite.rs.api.RSEnumDefinition;
import net.runelite.rs.api.RSEnumComposition;
@Mixin(RSEnumDefinition.class)
public abstract class RSEnumDefinitionMixin implements RSEnumDefinition
@Mixin(RSEnumComposition.class)
public abstract class RSEnumCompositionMixin implements RSEnumComposition
{
@Inject
@Override

View File

@@ -1,7 +1,7 @@
package net.runelite.mixins;
import net.runelite.api.events.FriendAdded;
import net.runelite.api.events.FriendRemoved;
import net.runelite.api.events.RemovedFriend;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.MethodHook;
import net.runelite.api.mixins.Mixin;
@@ -19,8 +19,8 @@ public abstract class RSFriendSystemMixin implements RSFriendSystem
@Inject
public void rl$removeFriend(String friendName)
{
FriendRemoved friendRemoved = new FriendRemoved(friendName);
client.getCallbacks().post(friendRemoved);
RemovedFriend removedFriend = new RemovedFriend(friendName);
client.getCallbacks().post(removedFriend);
}
@MethodHook("addFriend")

View File

@@ -50,8 +50,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import static net.runelite.api.widgets.WidgetInfo.getChildFromID;
import static net.runelite.api.widgets.WidgetInfo.getGroupFromID;
@Mixin(RSWidget.class)
public abstract class RSWidgetMixin implements RSWidget
@@ -107,7 +107,7 @@ public abstract class RSWidgetMixin implements RSWidget
return null;
}
return client.getWidget(TO_GROUP(id), TO_CHILD(id));
return client.getWidget(getGroupFromID(id), getChildFromID(id));
}
@Inject
@@ -123,7 +123,7 @@ public abstract class RSWidgetMixin implements RSWidget
}
final int id = getId();
if (TO_GROUP(id) == client.getWidgetRoot())
if (getGroupFromID(id) == client.getWidgetRoot())
{
// this is a root widget
return -1;
@@ -140,7 +140,7 @@ public abstract class RSWidgetMixin implements RSWidget
// check the parent in the component table
@SuppressWarnings("unchecked") HashTable<WidgetNode> componentTable = client.getComponentTable();
WidgetNode widgetNode = componentTable.get(parentId);
if (widgetNode == null || widgetNode.getId() != TO_GROUP(id))
if (widgetNode == null || widgetNode.getId() != getGroupFromID(id))
{
// invalidate parent
rl$parentId = -1;
@@ -152,7 +152,7 @@ public abstract class RSWidgetMixin implements RSWidget
}
// also the widget may not have been drawn, yet
int groupId = TO_GROUP(getId());
int groupId = getGroupFromID(getId());
RSNodeHashTable componentTable = client.getComponentTable();
RSNode[] buckets = componentTable.getBuckets();
for (RSNode node : buckets)
@@ -220,7 +220,7 @@ public abstract class RSWidgetMixin implements RSWidget
// If the parent is hidden, this widget is also hidden.
// Widget has no parent and is not the root widget (which is always visible),
// so it's not visible.
return parent == null ? TO_GROUP(getId()) != client.getWidgetRoot() : parent.isHidden();
return parent == null ? getGroupFromID(getId()) != client.getWidgetRoot() : parent.isHidden();
}
@Inject
@@ -360,7 +360,7 @@ public abstract class RSWidgetMixin implements RSWidget
}
List<Widget> widgets = new ArrayList<Widget>();
for (RSWidget widget : client.getGroup(TO_GROUP(getId())))
for (RSWidget widget : client.getGroup(getGroupFromID(getId())))
{
if (widget != null && widget.getRSParentId() == getId())
{
@@ -475,7 +475,7 @@ public abstract class RSWidgetMixin implements RSWidget
return;
}
}
else if (TO_GROUP(id) != client.getWidgetRoot())
else if (getGroupFromID(id) != client.getWidgetRoot())
{
return;
}
@@ -576,7 +576,7 @@ public abstract class RSWidgetMixin implements RSWidget
assert client.isClientThread();
client.revalidateWidget(this);
client.revalidateWidgetScroll(client.getWidgets()[TO_GROUP(this.getId())], this, false);
client.revalidateWidgetScroll(client.getWidgets()[getGroupFromID(this.getId())], this, false);
}
@Inject