api: update 178

This commit is contained in:
Adam
2019-03-07 07:06:06 -05:00
parent d51c36a983
commit c5ebc9547c
5 changed files with 35 additions and 51 deletions

View File

@@ -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));
}
}

View File

@@ -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();
}
}