api: update 178
This commit is contained in:
@@ -634,20 +634,10 @@ public interface Client extends GameEngine
|
||||
int[] getVarps();
|
||||
|
||||
/**
|
||||
* Gets an array of all integer client variables.
|
||||
*
|
||||
* @return local variables
|
||||
* Gets an array of all client variables.
|
||||
*/
|
||||
@VisibleForDevtools
|
||||
int[] getIntVarcs();
|
||||
|
||||
/**
|
||||
* Gets an array of all string client variables.
|
||||
*
|
||||
* @return local variables
|
||||
*/
|
||||
@VisibleForDevtools
|
||||
String[] getStrVarcs();
|
||||
Map<Integer, Object> getVarcMap();
|
||||
|
||||
/**
|
||||
* Gets the value corresponding to the passed player variable.
|
||||
|
||||
@@ -32,6 +32,8 @@ import java.awt.event.AdjustmentEvent;
|
||||
import java.awt.event.AdjustmentListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JButton;
|
||||
@@ -95,8 +97,7 @@ class VarInspector extends JFrame
|
||||
private int[] oldVarps2 = null;
|
||||
private int numVarbits = 10000;
|
||||
|
||||
private int[] oldIntVarcs = null;
|
||||
private String[] oldStrVarcs = null;
|
||||
private Map<Integer, Object> varcs = null;
|
||||
|
||||
@Inject
|
||||
VarInspector(Client client, EventBus eventBus, DevToolsPlugin plugin)
|
||||
@@ -279,9 +280,9 @@ class VarInspector extends JFrame
|
||||
public void onVarClientIntChanged(VarClientIntChanged e)
|
||||
{
|
||||
int idx = e.getIndex();
|
||||
int neew = client.getIntVarcs()[idx];
|
||||
int old = oldIntVarcs[idx];
|
||||
oldIntVarcs[idx] = neew;
|
||||
int neew = (Integer) client.getVarcMap().getOrDefault(idx, 0);
|
||||
int old = (Integer) varcs.getOrDefault(idx, 0);
|
||||
varcs.put(idx, neew);
|
||||
|
||||
if (old != neew)
|
||||
{
|
||||
@@ -302,9 +303,9 @@ class VarInspector extends JFrame
|
||||
public void onVarClientStrChanged(VarClientStrChanged e)
|
||||
{
|
||||
int idx = e.getIndex();
|
||||
String neew = client.getStrVarcs()[idx];
|
||||
String old = oldStrVarcs[idx];
|
||||
oldStrVarcs[idx] = neew;
|
||||
String neew = (String) client.getVarcMap().getOrDefault(idx, "");
|
||||
String old = (String) varcs.getOrDefault(idx, "");
|
||||
varcs.put(idx, neew);
|
||||
|
||||
if (!Objects.equals(old, neew))
|
||||
{
|
||||
@@ -343,14 +344,11 @@ class VarInspector extends JFrame
|
||||
{
|
||||
oldVarps = new int[client.getVarps().length];
|
||||
oldVarps2 = new int[client.getVarps().length];
|
||||
oldIntVarcs = new int[client.getIntVarcs().length];
|
||||
oldStrVarcs = new String[client.getStrVarcs().length];
|
||||
}
|
||||
|
||||
System.arraycopy(client.getVarps(), 0, oldVarps, 0, oldVarps.length);
|
||||
System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length);
|
||||
System.arraycopy(client.getIntVarcs(), 0, oldIntVarcs, 0, oldIntVarcs.length);
|
||||
System.arraycopy(client.getStrVarcs(), 0, oldStrVarcs, 0, oldStrVarcs.length);
|
||||
varcs = new HashMap<>(client.getVarcMap());
|
||||
|
||||
eventBus.register(this);
|
||||
setVisible(true);
|
||||
|
||||
@@ -2,8 +2,8 @@ package net.runelite.mixins;
|
||||
|
||||
import net.runelite.api.events.VarClientIntChanged;
|
||||
import net.runelite.api.events.VarClientStrChanged;
|
||||
import net.runelite.api.mixins.FieldHook;
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.MethodHook;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.api.mixins.Shadow;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
@@ -15,17 +15,17 @@ public abstract class RSVarcsMixin implements RSVarcs
|
||||
@Shadow("clientInstance")
|
||||
private static RSClient client;
|
||||
|
||||
@FieldHook("varCInts")
|
||||
@MethodHook(value = "putVarc", end = true)
|
||||
@Inject
|
||||
public void onVarCIntChanged(int idx)
|
||||
public void onVarCIntChanged(int id, int value)
|
||||
{
|
||||
client.getCallbacks().post(new VarClientIntChanged(idx));
|
||||
client.getCallbacks().post(new VarClientIntChanged(id));
|
||||
}
|
||||
|
||||
@FieldHook("varCStrings")
|
||||
@MethodHook(value = "putVarcStringNew", end = true)
|
||||
@Inject
|
||||
public void onVarCStrChanged(int idx)
|
||||
public void onVarCStrChanged(int id, String value)
|
||||
{
|
||||
client.getCallbacks().post(new VarClientStrChanged(idx));
|
||||
client.getCallbacks().post(new VarClientStrChanged(id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ package net.runelite.mixins;
|
||||
|
||||
import com.google.common.cache.Cache;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import java.util.Map;
|
||||
import net.runelite.api.VarClientInt;
|
||||
import net.runelite.api.VarClientStr;
|
||||
import net.runelite.api.Varbits;
|
||||
@@ -118,43 +119,40 @@ public abstract class VarbitMixin implements RSClient
|
||||
@Override
|
||||
public int getVar(VarClientInt varClientInt)
|
||||
{
|
||||
return getIntVarcs()[varClientInt.getIndex()];
|
||||
Map<Integer, Object> varcmap = getVarcMap();
|
||||
Object object = varcmap.get(varClientInt.getIndex());
|
||||
return object instanceof Integer ? (Integer) object : 0;
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public String getVar(VarClientStr varClientStr)
|
||||
{
|
||||
return getStrVarcs()[varClientStr.getIndex()];
|
||||
Map<Integer, Object> varcmap = getVarcMap();
|
||||
Object var2 = varcmap.get(varClientStr.getIndex());
|
||||
return var2 instanceof String ? (String) var2 : "";
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public void setVar(VarClientStr varClientStr, String value)
|
||||
{
|
||||
String[] vars = getStrVarcs();
|
||||
vars[varClientStr.getIndex()] = value;
|
||||
Map<Integer, Object> varcmap = getVarcMap();
|
||||
varcmap.put(varClientStr.getIndex(), value);
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public void setVar(VarClientInt varClientInt, int value)
|
||||
{
|
||||
int[] vars = getIntVarcs();
|
||||
vars[varClientInt.getIndex()] = value;
|
||||
Map<Integer, Object> varcmap = getVarcMap();
|
||||
varcmap.put(varClientInt.getIndex(), value);
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public int[] getIntVarcs()
|
||||
public Map<Integer, Object> getVarcMap()
|
||||
{
|
||||
return getVarcs().getIntVarcs();
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public String[] getStrVarcs()
|
||||
{
|
||||
return getVarcs().getStrVarcs();
|
||||
return getVarcs().getVarcMap();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,13 +24,11 @@
|
||||
*/
|
||||
package net.runelite.rs.api;
|
||||
|
||||
import java.util.Map;
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSVarcs
|
||||
{
|
||||
@Import("varCInts")
|
||||
int[] getIntVarcs();
|
||||
|
||||
@Import("varCStrings")
|
||||
String[] getStrVarcs();
|
||||
@Import("varcMap")
|
||||
Map<Integer, Object> getVarcMap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user