runecraft: cleanup, refactor AbyssRifts, updateRifts()
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user