Move projectileMoved to mixins
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -43,17 +43,14 @@ import net.runelite.api.Client;
|
|||||||
import net.runelite.api.GraphicsObject;
|
import net.runelite.api.GraphicsObject;
|
||||||
import net.runelite.api.MainBufferProvider;
|
import net.runelite.api.MainBufferProvider;
|
||||||
import net.runelite.api.MenuAction;
|
import net.runelite.api.MenuAction;
|
||||||
import net.runelite.api.Projectile;
|
|
||||||
import net.runelite.api.Region;
|
import net.runelite.api.Region;
|
||||||
import net.runelite.api.RenderOverview;
|
import net.runelite.api.RenderOverview;
|
||||||
import net.runelite.api.TextureProvider;
|
import net.runelite.api.TextureProvider;
|
||||||
import net.runelite.api.WorldMapManager;
|
import net.runelite.api.WorldMapManager;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.GraphicsObjectCreated;
|
import net.runelite.api.events.GraphicsObjectCreated;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.api.events.ProjectileMoved;
|
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import static net.runelite.api.widgets.WidgetInfo.WORLD_MAP_VIEW;
|
import static net.runelite.api.widgets.WidgetInfo.WORLD_MAP_VIEW;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
@@ -384,27 +381,6 @@ public class Hooks
|
|||||||
eventBus.post(chatMessage);
|
eventBus.post(chatMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when a projectile is set to move towards a point. For
|
|
||||||
* projectiles that target the ground, like AoE projectiles from
|
|
||||||
* Lizardman Shamans, this is only called once
|
|
||||||
*
|
|
||||||
* @param projectile The projectile being moved
|
|
||||||
* @param targetX X position of where the projectile is being moved to
|
|
||||||
* @param targetY Y position of where the projectile is being moved to
|
|
||||||
* @param targetZ Z position of where the projectile is being moved to
|
|
||||||
* @param cycle
|
|
||||||
*/
|
|
||||||
public static void projectileMoved(Projectile projectile, int targetX, int targetY, int targetZ, int cycle)
|
|
||||||
{
|
|
||||||
LocalPoint position = new LocalPoint(targetX, targetY);
|
|
||||||
ProjectileMoved projectileMoved = new ProjectileMoved();
|
|
||||||
projectileMoved.setProjectile(projectile);
|
|
||||||
projectileMoved.setPosition(position);
|
|
||||||
projectileMoved.setZ(targetZ);
|
|
||||||
eventBus.post(projectileMoved);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void updateNpcs()
|
public static void updateNpcs()
|
||||||
{
|
{
|
||||||
// The NPC update event seem to run every server tick,
|
// The NPC update event seem to run every server tick,
|
||||||
|
|||||||
@@ -25,9 +25,13 @@
|
|||||||
package net.runelite.mixins;
|
package net.runelite.mixins;
|
||||||
|
|
||||||
import net.runelite.api.Actor;
|
import net.runelite.api.Actor;
|
||||||
|
import net.runelite.api.coords.LocalPoint;
|
||||||
|
import net.runelite.api.events.ProjectileMoved;
|
||||||
import net.runelite.api.mixins.Inject;
|
import net.runelite.api.mixins.Inject;
|
||||||
|
import net.runelite.api.mixins.MethodHook;
|
||||||
import net.runelite.api.mixins.Mixin;
|
import net.runelite.api.mixins.Mixin;
|
||||||
import net.runelite.api.mixins.Shadow;
|
import net.runelite.api.mixins.Shadow;
|
||||||
|
import static net.runelite.client.callback.Hooks.eventBus;
|
||||||
import net.runelite.rs.api.RSClient;
|
import net.runelite.rs.api.RSClient;
|
||||||
import net.runelite.rs.api.RSNPC;
|
import net.runelite.rs.api.RSNPC;
|
||||||
import net.runelite.rs.api.RSPlayer;
|
import net.runelite.rs.api.RSPlayer;
|
||||||
@@ -77,4 +81,26 @@ public abstract class RSProjectileMixin implements RSProjectile
|
|||||||
return players[idx];
|
return players[idx];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a projectile is set to move towards a point. For
|
||||||
|
* projectiles that target the ground, like AoE projectiles from
|
||||||
|
* Lizardman Shamans, this is only called once
|
||||||
|
*
|
||||||
|
* @param targetX X position of where the projectile is being moved to
|
||||||
|
* @param targetY Y position of where the projectile is being moved to
|
||||||
|
* @param targetZ Z position of where the projectile is being moved to
|
||||||
|
* @param cycle
|
||||||
|
*/
|
||||||
|
@Inject
|
||||||
|
@MethodHook("moveProjectile")
|
||||||
|
public void projectileMoved(int targetX, int targetY, int targetZ, int cycle)
|
||||||
|
{
|
||||||
|
final LocalPoint position = new LocalPoint(targetX, targetY);
|
||||||
|
final ProjectileMoved projectileMoved = new ProjectileMoved();
|
||||||
|
projectileMoved.setProjectile(this);
|
||||||
|
projectileMoved.setPosition(position);
|
||||||
|
projectileMoved.setZ(targetZ);
|
||||||
|
eventBus.post(projectileMoved);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user