From 866659e653d6d97844843ef53b8e197fb532a041 Mon Sep 17 00:00:00 2001 From: benjaminlgur Date: Sat, 2 Nov 2019 01:57:06 -0400 Subject: [PATCH 1/4] woodcutting: added gpearned for woodcutting --- .../woodcutting/WoodcuttingConfig.java | 11 ++++ .../woodcutting/WoodcuttingOverlay.java | 8 +++ .../woodcutting/WoodcuttingPlugin.java | 61 +++++++++++++++++++ 3 files changed, 80 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingConfig.java index 55cb5e3637..4c58fe4369 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingConfig.java @@ -74,4 +74,15 @@ public interface WoodcuttingConfig extends Config { return true; } + + @ConfigItem( + position = 5, + keyName = "showGPEarned", + name = "Show GP earned", + description = "Configures whether to show amount of gp earned by chopping trees" + ) + default boolean showGPEarned() + { + return false; + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java index 9bb29e9824..a7408d5ea3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java @@ -42,6 +42,7 @@ import net.runelite.client.ui.overlay.components.TitleComponent; import net.runelite.client.ui.overlay.components.table.TableAlignment; import net.runelite.client.ui.overlay.components.table.TableComponent; + @Singleton class WoodcuttingOverlay extends Overlay { @@ -50,6 +51,7 @@ class WoodcuttingOverlay extends Overlay private final XpTrackerService xpTrackerService; private final PanelComponent panelComponent = new PanelComponent(); + @Inject private WoodcuttingOverlay(final Client client, final WoodcuttingPlugin plugin, final XpTrackerService xpTrackerService) { @@ -101,6 +103,11 @@ class WoodcuttingOverlay extends Overlay { tableComponent.addRow("Logs cut:", Integer.toString(actions)); + if (plugin.isShowGPEarned()) + { + tableComponent.addRow("GP earned", Integer.toString((plugin.getGpEarned()))); + } + if (actions > 2) { tableComponent.addRow("Logs/hr:", Integer.toString(xpTrackerService.getActionsHr(Skill.WOODCUTTING))); @@ -112,4 +119,5 @@ class WoodcuttingOverlay extends Overlay return panelComponent.render(graphics); } + } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index 7bc066283c..3ad7a7fe84 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -37,6 +37,8 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.GameState; +import net.runelite.api.Item; +import net.runelite.api.ItemID; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; @@ -49,6 +51,7 @@ import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -82,6 +85,9 @@ public class WoodcuttingPlugin extends Plugin @Inject private WoodcuttingConfig config; + @Inject + private ItemManager itemManager; + @Inject private EventBus eventBus; @@ -100,6 +106,12 @@ public class WoodcuttingPlugin extends Plugin private boolean showWoodcuttingStats; @Getter(AccessLevel.PACKAGE) private boolean showRedwoodTrees; + @Getter(AccessLevel.PACKAGE) + private boolean showGPEarned; + + private int treeTypeID; + @Getter(AccessLevel.PACKAGE) + private int gpEarned; @Provides WoodcuttingConfig getConfig(ConfigManager configManager) @@ -167,9 +179,13 @@ public class WoodcuttingPlugin extends Plugin if (session == null) { session = new WoodcuttingSession(); + gpEarned = 0; } session.setLastLogCut(); + + typeOfLogCut(event); + gpEarned = gpEarned + itemManager.getItemPrice(treeTypeID); } if (event.getMessage().contains("A bird's nest falls out of the tree") && this.showNestNotification) @@ -179,6 +195,50 @@ public class WoodcuttingPlugin extends Plugin } } + private void typeOfLogCut(ChatMessage event) + { + if (event.getMessage().contains("mushrooms.")) + { + return; //TO DO Add valuation for scullicep mushroom cutting. + } + else if (event.getMessage().contains("oak")) + { + treeTypeID = ItemID.OAK_LOGS; + } + else if (event.getMessage().contains("willow")) + { + treeTypeID = ItemID.WILLOW_LOGS; + } + else if (event.getMessage().contains("yew")) + { + treeTypeID = ItemID.YEW_LOGS; + } + else if (event.getMessage().contains("redwood")) + { + treeTypeID = ItemID.REDWOOD_LOGS; + } + else if (event.getMessage().contains("magic")) + { + treeTypeID = ItemID.MAGIC_LOGS; + } + else if (event.getMessage().contains("teak")) + { + treeTypeID = ItemID.TEAK_LOGS; + } + else if (event.getMessage().contains("mahogany")) + { + treeTypeID = ItemID.MAHOGANY_LOGS; + } + else if (event.getMessage().contains("maple")) + { + treeTypeID = ItemID.MAPLE_LOGS; + } + else + { + treeTypeID = ItemID.LOGS; + } + } + private void onGameObjectSpawned(final GameObjectSpawned event) { GameObject gameObject = event.getGameObject(); @@ -241,5 +301,6 @@ public class WoodcuttingPlugin extends Plugin this.showNestNotification = config.showNestNotification(); this.showWoodcuttingStats = config.showWoodcuttingStats(); this.showRedwoodTrees = config.showRedwoodTrees(); + this.showGPEarned = config.showGPEarned(); } } \ No newline at end of file From 13e280e6ae7bd1989941005c519a2d4f3c9b56c4 Mon Sep 17 00:00:00 2001 From: benjaminlgur Date: Sat, 2 Nov 2019 02:08:23 -0400 Subject: [PATCH 2/4] checkstyle fix --- .../runelite/client/plugins/woodcutting/WoodcuttingPlugin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index 3ad7a7fe84..e9bd610e38 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -37,7 +37,6 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.GameState; -import net.runelite.api.Item; import net.runelite.api.ItemID; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; From c1c546cb9aa27ee4a56532bb67fea6449c0fcdfe Mon Sep 17 00:00:00 2001 From: benjaminlgur Date: Sat, 2 Nov 2019 16:43:43 -0400 Subject: [PATCH 3/4] added colon for consistancy --- .../runelite/client/plugins/woodcutting/WoodcuttingOverlay.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java index a7408d5ea3..697f82d6ac 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java @@ -105,7 +105,7 @@ class WoodcuttingOverlay extends Overlay if (plugin.isShowGPEarned()) { - tableComponent.addRow("GP earned", Integer.toString((plugin.getGpEarned()))); + tableComponent.addRow("GP earned:", Integer.toString((plugin.getGpEarned()))); } if (actions > 2) From 68943b823a87c72c63bf71b20b27b273a467c93b Mon Sep 17 00:00:00 2001 From: benjaminlgur Date: Sat, 2 Nov 2019 16:48:18 -0400 Subject: [PATCH 4/4] Made requested changes --- .../woodcutting/WoodcuttingPlugin.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index e9bd610e38..5fa67a2d65 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -183,8 +183,8 @@ public class WoodcuttingPlugin extends Plugin session.setLastLogCut(); - typeOfLogCut(event); - gpEarned = gpEarned + itemManager.getItemPrice(treeTypeID); + typeOfLogCut(event.getMessage()); + gpEarned += itemManager.getItemPrice(treeTypeID); } if (event.getMessage().contains("A bird's nest falls out of the tree") && this.showNestNotification) @@ -194,41 +194,41 @@ public class WoodcuttingPlugin extends Plugin } } - private void typeOfLogCut(ChatMessage event) + private void typeOfLogCut(String message) { - if (event.getMessage().contains("mushrooms.")) + if (message.contains("mushrooms.")) { return; //TO DO Add valuation for scullicep mushroom cutting. } - else if (event.getMessage().contains("oak")) + else if (message.contains("oak")) { treeTypeID = ItemID.OAK_LOGS; } - else if (event.getMessage().contains("willow")) + else if (message.contains("willow")) { treeTypeID = ItemID.WILLOW_LOGS; } - else if (event.getMessage().contains("yew")) + else if (message.contains("yew")) { treeTypeID = ItemID.YEW_LOGS; } - else if (event.getMessage().contains("redwood")) + else if (message.contains("redwood")) { treeTypeID = ItemID.REDWOOD_LOGS; } - else if (event.getMessage().contains("magic")) + else if (message.contains("magic")) { treeTypeID = ItemID.MAGIC_LOGS; } - else if (event.getMessage().contains("teak")) + else if (message.contains("teak")) { treeTypeID = ItemID.TEAK_LOGS; } - else if (event.getMessage().contains("mahogany")) + else if (message.contains("mahogany")) { treeTypeID = ItemID.MAHOGANY_LOGS; } - else if (event.getMessage().contains("maple")) + else if (message.contains("maple")) { treeTypeID = ItemID.MAPLE_LOGS; }