Merge pull request #5267 from deathbeam/cannon-with-cannon
Show cannon spot overlay only with cannon
This commit is contained in:
@@ -38,6 +38,8 @@ import net.runelite.api.AnimationID;
|
|||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameObject;
|
import net.runelite.api.GameObject;
|
||||||
|
import net.runelite.api.InventoryID;
|
||||||
|
import net.runelite.api.Item;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import static net.runelite.api.ObjectID.CANNON_BASE;
|
import static net.runelite.api.ObjectID.CANNON_BASE;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
@@ -49,6 +51,7 @@ import net.runelite.api.events.ChatMessage;
|
|||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
import net.runelite.api.events.GameObjectSpawned;
|
import net.runelite.api.events.GameObjectSpawned;
|
||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
|
import net.runelite.api.events.ItemContainerChanged;
|
||||||
import net.runelite.api.events.ProjectileMoved;
|
import net.runelite.api.events.ProjectileMoved;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
@@ -125,7 +128,6 @@ public class CannonPlugin extends Plugin
|
|||||||
protected void startUp() throws Exception
|
protected void startUp() throws Exception
|
||||||
{
|
{
|
||||||
overlayManager.add(cannonOverlay);
|
overlayManager.add(cannonOverlay);
|
||||||
overlayManager.add(cannonSpotOverlay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -137,6 +139,65 @@ public class CannonPlugin extends Plugin
|
|||||||
cannonPosition = null;
|
cannonPosition = null;
|
||||||
cballsLeft = 0;
|
cballsLeft = 0;
|
||||||
removeCounter();
|
removeCounter();
|
||||||
|
skipProjectileCheckThisTick = false;
|
||||||
|
spotPoints.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onItemContainerChanged(ItemContainerChanged event)
|
||||||
|
{
|
||||||
|
if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean hasBase = false;
|
||||||
|
boolean hasStand = false;
|
||||||
|
boolean hasBarrels = false;
|
||||||
|
boolean hasFurnace = false;
|
||||||
|
boolean hasAll = false;
|
||||||
|
|
||||||
|
if (!cannonPlaced)
|
||||||
|
{
|
||||||
|
for (Item item : event.getItemContainer().getItems())
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (item.getId())
|
||||||
|
{
|
||||||
|
case ItemID.CANNON_BASE:
|
||||||
|
hasBase = true;
|
||||||
|
break;
|
||||||
|
case ItemID.CANNON_STAND:
|
||||||
|
hasStand = true;
|
||||||
|
break;
|
||||||
|
case ItemID.CANNON_BARRELS:
|
||||||
|
hasBarrels = true;
|
||||||
|
break;
|
||||||
|
case ItemID.CANNON_FURNACE:
|
||||||
|
hasFurnace = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasBase && hasStand && hasBarrels && hasFurnace)
|
||||||
|
{
|
||||||
|
hasAll = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasAll)
|
||||||
|
{
|
||||||
|
overlayManager.add(cannonSpotOverlay);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
overlayManager.remove(cannonSpotOverlay);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
|
|||||||
Reference in New Issue
Block a user