From 0d8870e7dac60157b4d11cf5f51149e75bab5f99 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Fri, 29 Dec 2017 17:34:36 +0100 Subject: [PATCH] Remove unnecessary null checks for game client Remove unnecessary null checks for game client from plugins, as now client is always not null in all of them, since in the case of it being null the plugins are not even started. Signed-off-by: Tomas Slusny --- .../AttackIndicatorPlugin.java | 6 +++--- .../chatcommands/ChatCommandsPlugin.java | 2 -- .../plugins/clanchat/ClanChatPlugin.java | 2 -- .../plugins/cluescrolls/ClueScrollPlugin.java | 2 -- .../combatlevel/CombatLevelPlugin.java | 4 +--- .../plugins/fightcave/FightCaveOverlay.java | 2 +- .../plugins/fightcave/FightCavePlugin.java | 4 +--- .../idlenotifier/IdleNotifierPlugin.java | 2 -- .../RememberUsernamePlugin.java | 2 -- .../client/plugins/slayer/SlayerPlugin.java | 6 ++---- .../plugins/teamcapes/TeamCapesPlugin.java | 21 ++++++++----------- .../volcanicmine/VolcanicMineOverlay.java | 2 +- .../volcanicmine/VolcanicMinePlugin.java | 2 -- .../plugins/xpglobes/XpGlobesPlugin.java | 2 -- .../client/plugins/xptracker/XpPanel.java | 10 ++++----- .../plugins/xptracker/XpTrackerPlugin.java | 2 -- .../client/plugins/xtea/XteaPlugin.java | 2 -- .../client/plugins/zulrah/ZulrahPlugin.java | 4 +--- .../zulrah/overlays/ZulrahPrayerOverlay.java | 2 +- .../ui/overlay/components/PanelComponent.java | 2 -- .../src/main/java/ExamplePlugin.java | 1 - 21 files changed, 24 insertions(+), 58 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/attackindicator/AttackIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/attackindicator/AttackIndicatorPlugin.java index d96c8c8eec..13dc6d4ae6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/attackindicator/AttackIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/attackindicator/AttackIndicatorPlugin.java @@ -24,6 +24,9 @@ */ package net.runelite.client.plugins.attackindicator; +import static net.runelite.client.plugins.attackindicator.AttackStyle.CASTING; +import static net.runelite.client.plugins.attackindicator.AttackStyle.DEFENSIVE_CASTING; +import static net.runelite.client.plugins.attackindicator.AttackStyle.OTHER; import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table; import com.google.common.eventbus.Subscribe; @@ -32,7 +35,6 @@ import com.google.inject.Provides; import java.time.temporal.ChronoUnit; import java.util.HashSet; import java.util.Set; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -45,7 +47,6 @@ import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.VarbitChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import static net.runelite.client.plugins.attackindicator.AttackStyle.*; import net.runelite.client.task.Schedule; @PluginDescriptor( @@ -63,7 +64,6 @@ public class AttackIndicatorPlugin extends Plugin private final Table widgetsToHide = HashBasedTable.create(); @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 1df341b824..d6bbcf1aee 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -31,7 +31,6 @@ import java.io.IOException; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; @@ -69,7 +68,6 @@ public class ChatCommandsPlugin extends Plugin private final HiscoreClient hiscoreClient = new HiscoreClient(); @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index d2df2413e0..e15a4ba922 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -39,7 +39,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import javax.annotation.Nullable; import javax.imageio.ImageIO; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; @@ -77,7 +76,6 @@ public class ClanChatPlugin extends Plugin private int modIconsLength; @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index 0845bec979..b864e635e5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -30,7 +30,6 @@ import com.google.inject.Binder; import com.google.inject.Provides; import java.time.Instant; import java.time.temporal.ChronoUnit; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -47,7 +46,6 @@ import net.runelite.client.task.Schedule; public class ClueScrollPlugin extends Plugin { @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java index b5d9a31e19..cd74d357e9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins.combatlevel; import com.google.inject.Provides; import java.text.DecimalFormat; import java.time.temporal.ChronoUnit; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.Experience; @@ -48,7 +47,6 @@ public class CombatLevelPlugin extends Plugin private final DecimalFormat decimalFormat = new DecimalFormat("#.###"); @Inject - @Nullable Client client; @Inject @@ -66,7 +64,7 @@ public class CombatLevelPlugin extends Plugin ) public void updateCombatLevel() { - if (client == null || client.getGameState() != GameState.LOGGED_IN) + if (client.getGameState() != GameState.LOGGED_IN) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCaveOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCaveOverlay.java index c7f0b3ef00..c226d16447 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCaveOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCaveOverlay.java @@ -63,7 +63,7 @@ public class FightCaveOverlay extends Overlay public Dimension render(Graphics2D graphics, Point parent) { JadAttack attack = plugin.getAttack(); - if (attack == null || client == null || client.isPrayerActive(attack.getPrayer())) + if (attack == null || client.isPrayerActive(attack.getPrayer())) { return null; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java index c0b82d8a3d..7894751caf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins.fightcave; import com.google.inject.Binder; import com.google.inject.Provides; import java.time.temporal.ChronoUnit; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -47,7 +46,6 @@ import net.runelite.client.util.QueryRunner; public class FightCavePlugin extends Plugin { @Inject - @Nullable Client client; @Inject @@ -85,7 +83,7 @@ public class FightCavePlugin extends Plugin ) public void update() { - if (!config.enabled() || client == null || client.getGameState() != GameState.LOGGED_IN) + if (!config.enabled() || client.getGameState() != GameState.LOGGED_IN) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java index a46da04775..c91b8b6f72 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java @@ -93,7 +93,6 @@ import com.google.inject.Provides; import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Actor; import net.runelite.api.Client; @@ -121,7 +120,6 @@ public class IdleNotifierPlugin extends Plugin ClientUI gui; @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/rememberusername/RememberUsernamePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/rememberusername/RememberUsernamePlugin.java index e69f062734..47930aacf9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/rememberusername/RememberUsernamePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/rememberusername/RememberUsernamePlugin.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.rememberusername; import com.google.common.eventbus.Subscribe; import com.google.inject.Provides; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -41,7 +40,6 @@ import net.runelite.client.plugins.PluginDescriptor; public class RememberUsernamePlugin extends Plugin { @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 1c38efa676..d7629dd926 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.slayer; +import static net.runelite.api.Skill.SLAYER; import com.google.common.eventbus.Subscribe; import com.google.inject.Binder; import com.google.inject.Provides; @@ -33,13 +34,11 @@ import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.ItemID; -import static net.runelite.api.Skill.SLAYER; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; @@ -73,7 +72,6 @@ public class SlayerPlugin extends Plugin private static final Pattern REWARD_POINTS = Pattern.compile("Reward points: (\\d*)"); @Inject - @Nullable Client client; @Inject @@ -146,7 +144,7 @@ public class SlayerPlugin extends Plugin ) public void scheduledChecks() { - if (!config.enabled() || client == null) + if (!config.enabled()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesPlugin.java index 1fd0bee92b..632cc25211 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/teamcapes/TeamCapesPlugin.java @@ -26,6 +26,14 @@ package net.runelite.client.plugins.teamcapes; import com.google.inject.Binder; import com.google.inject.Provides; +import java.time.temporal.ChronoUnit; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; @@ -35,23 +43,12 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; import net.runelite.client.ui.overlay.Overlay; -import javax.annotation.Nullable; -import javax.inject.Inject; -import java.time.temporal.ChronoUnit; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - @PluginDescriptor( name = "Team capes plugin" ) public class TeamCapesPlugin extends Plugin { @Inject - @Nullable Client client; @Inject @@ -86,7 +83,7 @@ public class TeamCapesPlugin extends Plugin ) public void update() { - if (!config.enabled() || client == null || client.getGameState() != GameState.LOGGED_IN) + if (!config.enabled() || client.getGameState() != GameState.LOGGED_IN) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMineOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMineOverlay.java index 66336260ab..e84c6e1dda 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMineOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMineOverlay.java @@ -79,7 +79,7 @@ public class VolcanicMineOverlay extends Overlay @Override public Dimension render(Graphics2D graphics, java.awt.Point point) { - if (client == null || !plugin.getInside() || !config.enabled()) + if (!plugin.getInside() || !config.enabled()) { return null; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMinePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMinePlugin.java index 294b3f0484..5165935a27 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMinePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/volcanicmine/VolcanicMinePlugin.java @@ -39,7 +39,6 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; @@ -83,7 +82,6 @@ public class VolcanicMinePlugin extends Plugin private static final Pattern coltagPattern = Pattern.compile("(()|(<\\/col>))"); @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java index 1a32f7cdd8..94f7fde0b9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java @@ -31,7 +31,6 @@ import java.time.Instant; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.Experience; @@ -55,7 +54,6 @@ public class XpGlobesPlugin extends Plugin private final List xpGlobes = new ArrayList<>(); @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java index da8cff7e50..aa542e83c5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java @@ -24,10 +24,6 @@ */ package net.runelite.client.plugins.xptracker; -import net.runelite.api.Client; -import net.runelite.api.Skill; -import net.runelite.client.ui.PluginPanel; -import javax.imageio.ImageIO; import java.awt.BorderLayout; import java.awt.Dimension; import java.io.IOException; @@ -35,13 +31,16 @@ import java.text.NumberFormat; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nullable; +import javax.imageio.ImageIO; import javax.inject.Inject; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Client; +import net.runelite.api.Skill; +import net.runelite.client.ui.PluginPanel; @Slf4j public class XpPanel extends PluginPanel @@ -50,7 +49,6 @@ public class XpPanel extends PluginPanel private final XpTrackerPlugin xpTracker; @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 398e3cc4a8..bf6ebe8ac6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -35,7 +35,6 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; import java.time.temporal.ChronoUnit; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -51,7 +50,6 @@ public class XpTrackerPlugin extends Plugin ClientUI ui; @Inject - @Nullable Client client; private NavigationButton navButton; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java index ed14da97e7..253d459a33 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -29,7 +29,6 @@ import java.io.IOException; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -50,7 +49,6 @@ public class XteaPlugin extends Plugin private final Set sentRegions = new HashSet<>(); @Inject - @Nullable Client client; @Inject diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java index 31dea9c204..8cf72ae2ea 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java @@ -31,7 +31,6 @@ import com.google.inject.Provides; import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.Collection; -import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -66,7 +65,6 @@ public class ZulrahPlugin extends Plugin QueryRunner queryRunner; @Inject - @Nullable Client client; @Inject @@ -118,7 +116,7 @@ public class ZulrahPlugin extends Plugin ) public void update() { - if (!config.enabled() || client == null || client.getGameState() != GameState.LOGGED_IN) + if (!config.enabled() || client.getGameState() != GameState.LOGGED_IN) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/overlays/ZulrahPrayerOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/overlays/ZulrahPrayerOverlay.java index a1f7fb3353..7c1df40cfc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/overlays/ZulrahPrayerOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/overlays/ZulrahPrayerOverlay.java @@ -60,7 +60,7 @@ public class ZulrahPrayerOverlay extends Overlay { ZulrahInstance instance = plugin.getInstance(); - if (client == null || instance == null) + if (instance == null) { return null; } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/PanelComponent.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/PanelComponent.java index dcd28a3916..42d446fc82 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/PanelComponent.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/PanelComponent.java @@ -33,7 +33,6 @@ import java.awt.Point; import java.awt.Rectangle; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; @@ -61,7 +60,6 @@ public class PanelComponent implements RenderableEntity } @Setter - @Nullable private String title; @Setter diff --git a/runelite-plugin-archetype/src/main/resources/archetype-resources/src/main/java/ExamplePlugin.java b/runelite-plugin-archetype/src/main/resources/archetype-resources/src/main/java/ExamplePlugin.java index b047e16751..ba63ebb5dd 100644 --- a/runelite-plugin-archetype/src/main/resources/archetype-resources/src/main/java/ExamplePlugin.java +++ b/runelite-plugin-archetype/src/main/resources/archetype-resources/src/main/java/ExamplePlugin.java @@ -27,7 +27,6 @@ public class ExamplePlugin extends Plugin private static final Logger logger = LoggerFactory.getLogger(ExamplePlugin.class); @Inject - @Nullable Client client; @Inject