project: Mixins

This commit is contained in:
Owain van Brakel
2022-01-06 00:52:57 +01:00
parent c780009a99
commit bdbcfbe416
7 changed files with 81 additions and 16 deletions

View File

@@ -121,7 +121,7 @@ public abstract class RSGameObjectMixin implements RSGameObject
public Angle getOrientation()
{
int orientation = getModelOrientation();
int rotation = (getFlags() >> 6) & 3;
int rotation = (getConfig() >> 6) & 3;
return new Angle(rotation * 512 + orientation);
}

View File

@@ -1,10 +1,6 @@
package net.runelite.mixins;
import net.runelite.api.HeadIcon;
import static net.runelite.api.HeadIcon.MAGIC;
import static net.runelite.api.HeadIcon.MELEE;
import static net.runelite.api.HeadIcon.RANGED;
import static net.runelite.api.HeadIcon.RANGE_MAGE;
import net.runelite.api.events.NpcActionChanged;
import net.runelite.api.mixins.FieldHook;
import net.runelite.api.mixins.Inject;
@@ -26,13 +22,35 @@ public abstract class RSNPCCompositionMixin implements RSNPCComposition
switch (getRsOverheadIcon())
{
case 0:
return MELEE;
return HeadIcon.MELEE;
case 1:
return RANGED;
return HeadIcon.RANGED;
case 2:
return MAGIC;
return HeadIcon.MAGIC;
case 3:
return HeadIcon.RETRIBUTION;
case 4:
return HeadIcon.SMITE;
case 5:
return HeadIcon.REDEMPTION;
case 6:
return RANGE_MAGE;
return HeadIcon.RANGE_MAGE;
case 7:
return HeadIcon.RANGE_MELEE;
case 8:
return HeadIcon.MAGE_MELEE;
case 9:
return HeadIcon.RANGE_MAGE_MELEE;
case 10:
return HeadIcon.WRATH;
case 11:
return HeadIcon.SOUL_SPLIT;
case 12:
return HeadIcon.DEFLECT_MELEE;
case 13:
return HeadIcon.DEFLECT_RANGE;
case 14:
return HeadIcon.DEFLECT_MAGE;
default:
return null;
}

View File

@@ -31,7 +31,13 @@ import net.runelite.api.HeadIcon;
import net.runelite.api.Model;
import net.runelite.api.Perspective;
import net.runelite.api.SkullIcon;
import static net.runelite.api.SkullIcon.*;
import static net.runelite.api.SkullIcon.DEAD_MAN_FIVE;
import static net.runelite.api.SkullIcon.DEAD_MAN_FOUR;
import static net.runelite.api.SkullIcon.DEAD_MAN_ONE;
import static net.runelite.api.SkullIcon.DEAD_MAN_THREE;
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.OverheadPrayerChanged;
import net.runelite.api.events.PlayerChanged;
@@ -129,12 +135,41 @@ public abstract class RSPlayerMixin implements RSPlayer
@Inject
private HeadIcon getHeadIcon(int overheadIcon)
{
if (overheadIcon == -1)
switch (overheadIcon)
{
return null;
case 0:
return HeadIcon.MELEE;
case 1:
return HeadIcon.RANGED;
case 2:
return HeadIcon.MAGIC;
case 3:
return HeadIcon.RETRIBUTION;
case 4:
return HeadIcon.SMITE;
case 5:
return HeadIcon.REDEMPTION;
case 6:
return HeadIcon.RANGE_MAGE;
case 7:
return HeadIcon.RANGE_MELEE;
case 8:
return HeadIcon.MAGE_MELEE;
case 9:
return HeadIcon.RANGE_MAGE_MELEE;
case 10:
return HeadIcon.WRATH;
case 11:
return HeadIcon.SOUL_SPLIT;
case 12:
return HeadIcon.DEFLECT_MELEE;
case 13:
return HeadIcon.DEFLECT_RANGE;
case 14:
return HeadIcon.DEFLECT_MAGE;
default:
return null;
}
return HeadIcon.values()[overheadIcon];
}
@Inject
@@ -269,7 +304,7 @@ public abstract class RSPlayerMixin implements RSPlayer
{
client.getCallbacks().post(new PlayerChanged(this));
}
@Copy("read")
@Replace("read")
@SuppressWarnings("InfiniteRecursion")

View File

@@ -20,4 +20,8 @@ public interface RSFloorDecoration extends GroundObject
RSRenderable getRenderable();
void setPlane(int plane);
@Import("flags")
@Override
int getConfig();
}

View File

@@ -39,7 +39,8 @@ public interface RSGameObject extends GameObject
long getHash();
@Import("flags")
int getFlags();
@Override
int getConfig();
int getPlane();

View File

@@ -55,6 +55,9 @@ public interface RSScriptEvent extends ScriptEvent
@Import("mouseX")
int getMouseX();
@Import("mouseY")
int getMouseY();
@Import("keyTyped")
// shit name
int getTypedKeyCode();

View File

@@ -33,4 +33,8 @@ public interface RSWallDecoration extends DecorativeObject
RSRenderable getRenderable2();
void setPlane(int plane);
@Import("flags")
@Override
int getConfig();
}