Before I even start yes I know a version was released here: https://www.rune-server.ee/runescape...-runelite.html
But this one uses item sprites and an enum Anyways lets start
1) Add this class somewhere
Code:
package com.illerai.model;
public enum FishingSpotData {
SMALL_NET_OR_BAIT(1518, 315),
LURE_OR_BAIT(1526, 333),
CAGE_OR_HARPOON(1519, 379),
LARGE_NET_OR_HARPOON(1520, 385),
HARPOON_OR_SMALL_NET(1534, 7946),
MANTA_RAY(3019, 391),
KARAMBWAN(635, 3144),
DARK_CRAB(1536, 11936);
private final int spot_id;
private final int fish_id;
FishingSpotData(int spot_id, int fish_id) {
this.spot_id = spot_id;
this.fish_id = fish_id;
}
public int getId() {
return spot_id;
}
public int getFishId() {
return fish_id;
}
public static FishingSpotData forId(int id) {
for (FishingSpotData texture : FishingSpotData.values()) {
if (texture.getId() == id) {
return texture;
}
}
return null;
}
}
2) Look for
Code:
if (obj instanceof Npc) {
Yours may be a little different but it will look like this
Code:
if (obj instanceof Npc) {
NpcDefinition entityDef = ((Npc) obj).desc;
if (entityDef.childrenIDs != null)
entityDef = entityDef.morph();
if (entityDef == null)
continue;
}
3) Under
Code:
NpcDefinition entityDef = ((Npc) obj).desc;
Add the following
Code:
npcScreenPos((Npc) obj, ((Npc) obj).height + 15);
if(SettingRunelite.FISHING_SPRITES.toggled()) {
if (spriteDrawX > -1) {
for(FishingSpotData data : FishingSpotData.values()) {
if (entityDef.id == data.getId()) {
ItemDefinition.getSprite(data.getFishId(),0,0).drawSprite(spriteDrawX - 12, spriteDrawY - 30);
}
}
}
}
And that is it ... Let me know if you need anyhelp
Other Ideas you can add:
- Tree Spots (Logs)
- Icon on Minimap
- Farming Spots (Herbs)