http-api: add world region to World
Add a WorldRegion to convert from location id to region Co-authored-by: melkypie <melkypie@users.noreply.github.com>
This commit is contained in:
@@ -38,4 +38,9 @@ public class World
|
|||||||
private String activity;
|
private String activity;
|
||||||
private int location;
|
private int location;
|
||||||
private int players;
|
private int players;
|
||||||
|
|
||||||
|
public WorldRegion getRegion()
|
||||||
|
{
|
||||||
|
return WorldRegion.valueOf(location);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020, melky <https://github.com/melkypie>
|
||||||
|
* 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.http.api.worlds;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Holds the data for each world's region (location)
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Getter
|
||||||
|
public enum WorldRegion
|
||||||
|
{
|
||||||
|
UNITED_STATES_OF_AMERICA("US", "USA"),
|
||||||
|
UNITED_KINGDOM("GB", "GBR"),
|
||||||
|
AUSTRALIA("AU", "AUS"),
|
||||||
|
GERMANY("DE", "DEU");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ISO-3166-1 alpha-2 country code
|
||||||
|
*/
|
||||||
|
private final String alpha2;
|
||||||
|
/**
|
||||||
|
* ISO-3166-1 alpha-3 country code
|
||||||
|
*/
|
||||||
|
private final String alpha3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the region using the location id
|
||||||
|
* {@link WorldRegion} value.
|
||||||
|
*
|
||||||
|
* @param locationId the location id of world
|
||||||
|
* @return WorldRegion the region of the world
|
||||||
|
*/
|
||||||
|
public static WorldRegion valueOf(int locationId)
|
||||||
|
{
|
||||||
|
switch (locationId)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return UNITED_STATES_OF_AMERICA;
|
||||||
|
case 1:
|
||||||
|
return UNITED_KINGDOM;
|
||||||
|
case 3:
|
||||||
|
return AUSTRALIA;
|
||||||
|
case 7:
|
||||||
|
return GERMANY;
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -77,6 +77,11 @@ public class WorldsServiceTest
|
|||||||
World world = worldResult.findWorld(385);
|
World world = worldResult.findWorld(385);
|
||||||
assertNotNull(world);
|
assertNotNull(world);
|
||||||
assertTrue(world.getTypes().contains(WorldType.SKILL_TOTAL));
|
assertTrue(world.getTypes().contains(WorldType.SKILL_TOTAL));
|
||||||
|
|
||||||
|
for (World testWorld : worldResult.getWorlds())
|
||||||
|
{
|
||||||
|
assertNotNull("Missing a region in WorldRegion enum", testWorld.getRegion());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import lombok.Getter;
|
|||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.http.api.worlds.World;
|
import net.runelite.http.api.worlds.World;
|
||||||
|
import net.runelite.http.api.worlds.WorldRegion;
|
||||||
import net.runelite.http.api.worlds.WorldType;
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
|
|
||||||
class WorldTableRow extends JPanel
|
class WorldTableRow extends JPanel
|
||||||
@@ -57,7 +58,6 @@ class WorldTableRow extends JPanel
|
|||||||
private static final int PING_COLUMN_WIDTH = 35;
|
private static final int PING_COLUMN_WIDTH = 35;
|
||||||
|
|
||||||
private static final Color CURRENT_WORLD = new Color(66, 227, 17);
|
private static final Color CURRENT_WORLD = new Color(66, 227, 17);
|
||||||
private static final Color UNAVAILABLE_WORLD = Color.GRAY.darker().darker();
|
|
||||||
private static final Color DANGEROUS_WORLD = new Color(251, 62, 62);
|
private static final Color DANGEROUS_WORLD = new Color(251, 62, 62);
|
||||||
private static final Color TOURNAMENT_WORLD = new Color(79, 145, 255);
|
private static final Color TOURNAMENT_WORLD = new Color(79, 145, 255);
|
||||||
private static final Color MEMBERS_WORLD = new Color(210, 193, 53);
|
private static final Color MEMBERS_WORLD = new Color(210, 193, 53);
|
||||||
@@ -326,26 +326,36 @@ class WorldTableRow extends JPanel
|
|||||||
|
|
||||||
worldField = new JLabel(world.getId() + "");
|
worldField = new JLabel(world.getId() + "");
|
||||||
|
|
||||||
JLabel flag = new JLabel(getFlag(world.getLocation()));
|
ImageIcon flagIcon = getFlag(world.getRegion());
|
||||||
|
if (flagIcon != null)
|
||||||
column.add(flag, BorderLayout.WEST);
|
{
|
||||||
|
JLabel flag = new JLabel(flagIcon);
|
||||||
|
column.add(flag, BorderLayout.WEST);
|
||||||
|
}
|
||||||
column.add(worldField, BorderLayout.CENTER);
|
column.add(worldField, BorderLayout.CENTER);
|
||||||
|
|
||||||
return column;
|
return column;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ImageIcon getFlag(int locationId)
|
private static ImageIcon getFlag(WorldRegion region)
|
||||||
{
|
{
|
||||||
switch (locationId)
|
if (region == null)
|
||||||
{
|
{
|
||||||
case 0:
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (region)
|
||||||
|
{
|
||||||
|
case UNITED_STATES_OF_AMERICA:
|
||||||
return FLAG_US;
|
return FLAG_US;
|
||||||
case 1:
|
case UNITED_KINGDOM:
|
||||||
return FLAG_UK;
|
return FLAG_UK;
|
||||||
case 3:
|
case AUSTRALIA:
|
||||||
return FLAG_AUS;
|
return FLAG_AUS;
|
||||||
default:
|
case GERMANY:
|
||||||
return FLAG_GER;
|
return FLAG_GER;
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user