From 404afbfeb4f7af1f924fece9f919c22bc8271cd6 Mon Sep 17 00:00:00 2001 From: Malfuryent Date: Tue, 13 Nov 2018 10:16:50 +0100 Subject: [PATCH] Expose ItemStatChangesService from ItemStats plugin Signed-off-by: Tomas Slusny --- .../plugins/itemstats/ItemStatChanges.java | 2 - .../itemstats/ItemStatChangesService.java | 35 ++++++++++++++ .../itemstats/ItemStatChangesServiceImpl.java | 46 +++++++++++++++++++ .../plugins/itemstats/ItemStatPlugin.java | 7 +++ 4 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesService.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesServiceImpl.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChanges.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChanges.java index c08d02973e..f28bb335e5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChanges.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChanges.java @@ -43,7 +43,6 @@ import static net.runelite.client.plugins.itemstats.stats.Stats.*; @Slf4j public class ItemStatChanges { - ItemStatChanges() { init(); @@ -210,5 +209,4 @@ public class ItemStatChanges { return effects.get(id); } - } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesService.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesService.java new file mode 100644 index 0000000000..1189b83be1 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesService.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018, Jos + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.itemstats; + +public interface ItemStatChangesService +{ + /** + * Get the item stat value + * + * @return ItemStatChanges + */ + Effect getItemStatChanges(int id); +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesServiceImpl.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesServiceImpl.java new file mode 100644 index 0000000000..80ce669e6c --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatChangesServiceImpl.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2018, Jos + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.itemstats; + +import javax.inject.Inject; +import javax.inject.Singleton; + +@Singleton +class ItemStatChangesServiceImpl implements ItemStatChangesService +{ + private final ItemStatChanges itemstatchanges; + + @Inject + private ItemStatChangesServiceImpl(ItemStatChanges itemstatchanges) + { + this.itemstatchanges = itemstatchanges; + } + + @Override + public Effect getItemStatChanges(int id) + { + return itemstatchanges.get(id); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index e00bf2b931..250a6410cd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.itemstats; +import com.google.inject.Binder; import com.google.inject.Inject; import com.google.inject.Provides; import net.runelite.client.config.ConfigManager; @@ -50,6 +51,12 @@ public class ItemStatPlugin extends Plugin return configManager.getConfig(ItemStatConfig.class); } + @Override + public void configure(Binder binder) + { + binder.bind(ItemStatChangesService.class).to(ItemStatChangesServiceImpl.class); + } + @Override protected void startUp() throws Exception {