From cfb60cc8d6329be7b284c5ccbedac8519f15dc52 Mon Sep 17 00:00:00 2001 From: Salmonllama Date: Wed, 9 Sep 2020 23:09:11 -0400 Subject: [PATCH] Slot enums with matcher for command use --- .../scapefashion/ScapeFashionSlotOSRS.java | 42 +++++++++++++++++ .../scapefashion/ScapeFashionSlotRs3.java | 45 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotOSRS.java create mode 100644 src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotRs3.java diff --git a/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotOSRS.java b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotOSRS.java new file mode 100644 index 0000000..7a15895 --- /dev/null +++ b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotOSRS.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2020. Aleksei Gryczewski + * All rights reserved. + */ + +package dev.salmonllama.fsbot.endpoints.scapefashion; + +import java.util.Optional; + +// Source: https://github.com/ncpierson/fashionscape/blob/master/api/data/tools/slot.js +public enum ScapeFashionSlotOSRS { + AMMUNITION("ammunition"), + BODY("body"), + CAPE("cape"), + FEET("feet"), + HAND("hand"), + HEAD("head"), + LEG("leg"), + NECK("neck"), + RING("ring"), + SHIELD("shield"), + WEAPON("weapon"); + + private final String value; + + ScapeFashionSlotOSRS(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static Optional matches(String s) { + try { + var slot = ScapeFashionSlotOSRS.valueOf(s); + return Optional.of(slot); + } catch (IllegalArgumentException e) { + return Optional.empty(); + } + } +} diff --git a/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotRs3.java b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotRs3.java new file mode 100644 index 0000000..d99cbe1 --- /dev/null +++ b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionSlotRs3.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2020. Aleksei Gryczewski + * All rights reserved. + */ + +package dev.salmonllama.fsbot.endpoints.scapefashion; + +import java.util.Optional; + +// Source: https://github.com/ncpierson/fashionscape/blob/master/api/data/tools/slot.js +public enum ScapeFashionSlotRs3 { + AMMUNITION("ammunition"), + BACK("back"), + FEET("feet"), + HAND("hand"), + HEAD("head"), + LEG("leg"), + MAIN_HAND("main_hand"), + NECK("neck"), + OFF_HAND("off-hand"), + POCKET("pocket"), + RING("ring"), + SIGIL("sigil"), + TORSO("torso"), + TWO_HANDED("two-handed"); + + private final String value; + + ScapeFashionSlotRs3(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static Optional matches(String s) { + try { + var slot = ScapeFashionSlotRs3.valueOf(s); + return Optional.of(slot); + } catch (IllegalArgumentException e) { + return Optional.empty(); + } + } +}