runecraft: cleanup, refactor AbyssRifts, updateRifts()

This commit is contained in:
Matthew C
2020-09-13 16:26:09 +09:00
committed by Adam
parent ca8f78281d
commit cd8a40807d
3 changed files with 29 additions and 92 deletions

View File

@@ -26,6 +26,8 @@ package net.runelite.client.plugins.runecraft;
import com.google.common.collect.ImmutableMap;
import java.util.Map;
import java.util.function.Predicate;
import lombok.AllArgsConstructor;
import lombok.Getter;
import static net.runelite.api.ItemID.AIR_RUNE;
import static net.runelite.api.ItemID.BLOOD_RUNE;
@@ -42,21 +44,22 @@ import static net.runelite.api.ItemID.SOUL_RUNE;
import static net.runelite.api.ItemID.WATER_RUNE;
import net.runelite.api.ObjectID;
public enum AbyssRifts
@AllArgsConstructor
enum AbyssRifts
{
AIR_RIFT(ObjectID.AIR_RIFT, AIR_RUNE),
BLOOD_RIFT(ObjectID.BLOOD_RIFT, BLOOD_RUNE),
BODY_RIFT(ObjectID.BODY_RIFT, BODY_RUNE),
CHAOS_RIFT(ObjectID.CHAOS_RIFT, CHAOS_RUNE),
COSMIC_RIFT(ObjectID.COSMIC_RIFT, COSMIC_RUNE),
DEATH_RIFT(ObjectID.DEATH_RIFT, DEATH_RUNE),
EARTH_RIFT(ObjectID.EARTH_RIFT, EARTH_RUNE),
FIRE_RIFT(ObjectID.FIRE_RIFT, FIRE_RUNE),
LAW_RIFT(ObjectID.LAW_RIFT, LAW_RUNE),
MIND_RIFT(ObjectID.MIND_RIFT, MIND_RUNE),
NATURE_RIFT(ObjectID.NATURE_RIFT, NATURE_RUNE),
SOUL_RIFT(ObjectID.SOUL_RIFT, SOUL_RUNE),
WATER_RIFT(ObjectID.WATER_RIFT, WATER_RUNE);
AIR_RIFT(ObjectID.AIR_RIFT, AIR_RUNE, RunecraftConfig::showAir),
BLOOD_RIFT(ObjectID.BLOOD_RIFT, BLOOD_RUNE, RunecraftConfig::showBlood),
BODY_RIFT(ObjectID.BODY_RIFT, BODY_RUNE, RunecraftConfig::showBody),
CHAOS_RIFT(ObjectID.CHAOS_RIFT, CHAOS_RUNE, RunecraftConfig::showChaos),
COSMIC_RIFT(ObjectID.COSMIC_RIFT, COSMIC_RUNE, RunecraftConfig::showCosmic),
DEATH_RIFT(ObjectID.DEATH_RIFT, DEATH_RUNE, RunecraftConfig::showDeath),
EARTH_RIFT(ObjectID.EARTH_RIFT, EARTH_RUNE, RunecraftConfig::showEarth),
FIRE_RIFT(ObjectID.FIRE_RIFT, FIRE_RUNE, RunecraftConfig::showFire),
LAW_RIFT(ObjectID.LAW_RIFT, LAW_RUNE, RunecraftConfig::showLaw),
MIND_RIFT(ObjectID.MIND_RIFT, MIND_RUNE, RunecraftConfig::showMind),
NATURE_RIFT(ObjectID.NATURE_RIFT, NATURE_RUNE, RunecraftConfig::showNature),
SOUL_RIFT(ObjectID.SOUL_RIFT, SOUL_RUNE, RunecraftConfig::showSoul),
WATER_RIFT(ObjectID.WATER_RIFT, WATER_RUNE, RunecraftConfig::showWater);
@Getter
private final int objectId;
@@ -64,6 +67,9 @@ public enum AbyssRifts
@Getter
private final int itemId;
@Getter
private final Predicate<RunecraftConfig> configEnabled;
private static final Map<Integer, AbyssRifts> rifts;
static
@@ -78,13 +84,7 @@ public enum AbyssRifts
rifts = builder.build();
}
AbyssRifts(int objectId, int itemId)
{
this.objectId = objectId;
this.itemId = itemId;
}
public static AbyssRifts getRift(int id)
static AbyssRifts getRift(int id)
{
return rifts.get(id);
}

View File

@@ -30,9 +30,11 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigSection;
@ConfigGroup("runecraft")
@ConfigGroup(RunecraftConfig.GROUP)
public interface RunecraftConfig extends Config
{
String GROUP = "runecraft";
@ConfigSection(
name = "Rift Settings",
description = "Abyss rift overlay settings",

View File

@@ -26,6 +26,7 @@ package net.runelite.client.plugins.runecraft;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -34,7 +35,6 @@ import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.DecorativeObject;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
@@ -55,19 +55,6 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.plugins.runecraft.AbyssRifts.AIR_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.BLOOD_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.BODY_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.CHAOS_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.COSMIC_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.DEATH_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.EARTH_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.FIRE_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.LAW_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.MIND_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.NATURE_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.SOUL_RIFT;
import static net.runelite.client.plugins.runecraft.AbyssRifts.WATER_RIFT;
import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor(
@@ -97,9 +84,6 @@ public class RunecraftPlugin extends Plugin
@Getter(AccessLevel.PACKAGE)
private NPC darkMage;
@Inject
private Client client;
@Inject
private OverlayManager overlayManager;
@@ -142,7 +126,7 @@ public class RunecraftPlugin extends Plugin
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("runecraft"))
if (event.getGroup().equals(RunecraftConfig.GROUP))
{
updateRifts();
}
@@ -234,57 +218,8 @@ public class RunecraftPlugin extends Plugin
private void updateRifts()
{
rifts.clear();
if (config.showAir())
{
rifts.add(AIR_RIFT);
}
if (config.showBlood())
{
rifts.add(BLOOD_RIFT);
}
if (config.showBody())
{
rifts.add(BODY_RIFT);
}
if (config.showChaos())
{
rifts.add(CHAOS_RIFT);
}
if (config.showCosmic())
{
rifts.add(COSMIC_RIFT);
}
if (config.showDeath())
{
rifts.add(DEATH_RIFT);
}
if (config.showEarth())
{
rifts.add(EARTH_RIFT);
}
if (config.showFire())
{
rifts.add(FIRE_RIFT);
}
if (config.showLaw())
{
rifts.add(LAW_RIFT);
}
if (config.showMind())
{
rifts.add(MIND_RIFT);
}
if (config.showNature())
{
rifts.add(NATURE_RIFT);
}
if (config.showSoul())
{
rifts.add(SOUL_RIFT);
}
if (config.showWater())
{
rifts.add(WATER_RIFT);
}
Arrays.stream(AbyssRifts.values())
.filter(r -> r.getConfigEnabled().test(config))
.forEach(rifts::add);
}
}