From dbf0f38f28cf8b0a2c5b1306f3c7e10fc362a843 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 29 Jun 2018 21:36:46 -0400 Subject: [PATCH 1/2] Revert "Add ironman status and AccountType to API" This reverts commit 865bae6c2d30a7d9a0d94e76cd86175308b829c5. --- .../java/net/runelite/api/AccountType.java | 120 ------------------ .../main/java/net/runelite/api/Varbits.java | 5 - 2 files changed, 125 deletions(-) delete mode 100644 runelite-api/src/main/java/net/runelite/api/AccountType.java diff --git a/runelite-api/src/main/java/net/runelite/api/AccountType.java b/runelite-api/src/main/java/net/runelite/api/AccountType.java deleted file mode 100644 index 1cf354ea05..0000000000 --- a/runelite-api/src/main/java/net/runelite/api/AccountType.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (c) 2018, Tomas Slusny - * 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.api; - -import java.util.HashMap; -import java.util.Map; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -/** - * Account type of target player. - */ -@Getter -@RequiredArgsConstructor -public enum AccountType -{ - /** - * Normal account type. - */ - NORMAL(0, null), - /** - * Ironman account type. - */ - IRONMAN(1, 2), - /** - * Ultimate ironman account type. - */ - ULTIMATE_IRONMAN(2, 3), - /** - * Hardcore ironman account type. - */ - HARDCORE_IRONMAN(3, 10); - - private static final Map FROM_VARBIT = new HashMap<>(); - private static final Map FROM_ICON = new HashMap<>(); - - static - { - for (AccountType accountType : AccountType.values()) - { - FROM_VARBIT.put(accountType.getVarbit(), accountType); - - if (accountType.getIcon() != null) - { - FROM_ICON.put(accountType.getIcon(), accountType); - } - } - } - - private final int varbit; - private final Integer icon; - - /** - * Gets account type from IRONMAN_STATUS varbit value. - * - * @param varbitVal the varbit val - * @return the account type - */ - public static AccountType fromVarbit(final int varbitVal) - { - return FROM_VARBIT.get(varbitVal); - } - - /** - * Gets account type from un-sanitized player name. - * - * @param name the name - * @return the account type - */ - public static AccountType fromName(final String name) - { - if (name == null || !name.contains("")) - { - return accountType; - } - } - - return NORMAL; - } - - /** - * Gets account type from modicon. - * - * @param icon the icon - * @return the account type - */ - public static AccountType fromIcon(final int icon) - { - return FROM_ICON.get(icon); - } -} diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 69a0504bd0..41fdef2104 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -57,11 +57,6 @@ public enum Varbits RUNE_POUCH_AMOUNT2(1625), RUNE_POUCH_AMOUNT3(1626), - /** - * Ironman status. See {@link AccountType} - */ - IRONMAN_STATUS(1777), - /** * Prayers */ From 10a1babd90f9fbb19a9f2fa62ffc6cf47151ee22 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 29 Jun 2018 21:45:50 -0400 Subject: [PATCH 2/2] chat commands: fix to use exiting accounttype api --- .../chatcommands/ChatCommandsPlugin.java | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) 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 824c199e57..5baddacf6e 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 @@ -33,14 +33,13 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; -import net.runelite.api.AccountType; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.ItemComposition; import net.runelite.api.MessageNode; -import net.runelite.api.Varbits; import net.runelite.api.events.SetMessage; +import net.runelite.api.vars.AccountType; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; @@ -51,8 +50,8 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.StackFormatter; import net.runelite.http.api.hiscore.HiscoreClient; -import net.runelite.http.api.hiscore.HiscoreResult; import net.runelite.http.api.hiscore.HiscoreEndpoint; +import net.runelite.http.api.hiscore.HiscoreResult; import net.runelite.http.api.hiscore.HiscoreSkill; import net.runelite.http.api.hiscore.SingleHiscoreSkillResult; import net.runelite.http.api.hiscore.Skill; @@ -253,7 +252,7 @@ public class ChatCommandsPlugin extends Plugin if (type.equals(ChatMessageType.PRIVATE_MESSAGE_SENT)) { player = client.getLocalPlayer().getName(); - ironmanStatus = getIronmanStatusByVarbit(); + ironmanStatus = getHiscoreEndpointType(); } else { @@ -261,13 +260,13 @@ public class ChatCommandsPlugin extends Plugin if (player.equals(client.getLocalPlayer().getName())) { - // Get ironman btw status from varbit - ironmanStatus = getIronmanStatusByVarbit(); + // Get ironman status from for the local player + ironmanStatus = getHiscoreEndpointType(); } else { - // Get ironman btw status from their icon in chat - ironmanStatus = getIronmanStatusByName(setMessage.getName()); + // Get ironman status from their icon in chat + ironmanStatus = getHiscoreEndpointByName(setMessage.getName()); } } @@ -432,9 +431,9 @@ public class ChatCommandsPlugin extends Plugin * Looks up the ironman status of the local player. Does NOT work on other players. * @return hiscore endpoint */ - private HiscoreEndpoint getIronmanStatusByVarbit() + private HiscoreEndpoint getHiscoreEndpointType() { - return toEndPoint(AccountType.fromVarbit(client.getVarbitValue(client.getVarps(), Varbits.IRONMAN_STATUS.getId()))); + return toEndPoint(client.getAccountType()); } /** @@ -442,9 +441,24 @@ public class ChatCommandsPlugin extends Plugin * @param name player name * @return hiscore endpoint */ - private static HiscoreEndpoint getIronmanStatusByName(final String name) + private static HiscoreEndpoint getHiscoreEndpointByName(final String name) { - return toEndPoint(AccountType.fromName(name)); + if (name.contains("")) + { + return toEndPoint(AccountType.IRONMAN); + } + else if (name.contains("")) + { + return toEndPoint(AccountType.ULTIMATE_IRONMAN); + } + else if (name.contains("")) + { + return toEndPoint(AccountType.HARDCORE_IRONMAN); + } + else + { + return toEndPoint(AccountType.NORMAL); + } } /**