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 com.google.common.collect.ImmutableMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import static net.runelite.api.ItemID.AIR_RUNE;
|
import static net.runelite.api.ItemID.AIR_RUNE;
|
||||||
import static net.runelite.api.ItemID.BLOOD_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 static net.runelite.api.ItemID.WATER_RUNE;
|
||||||
import net.runelite.api.ObjectID;
|
import net.runelite.api.ObjectID;
|
||||||
|
|
||||||
public enum AbyssRifts
|
@AllArgsConstructor
|
||||||
|
enum AbyssRifts
|
||||||
{
|
{
|
||||||
AIR_RIFT(ObjectID.AIR_RIFT, AIR_RUNE),
|
AIR_RIFT(ObjectID.AIR_RIFT, AIR_RUNE, RunecraftConfig::showAir),
|
||||||
BLOOD_RIFT(ObjectID.BLOOD_RIFT, BLOOD_RUNE),
|
BLOOD_RIFT(ObjectID.BLOOD_RIFT, BLOOD_RUNE, RunecraftConfig::showBlood),
|
||||||
BODY_RIFT(ObjectID.BODY_RIFT, BODY_RUNE),
|
BODY_RIFT(ObjectID.BODY_RIFT, BODY_RUNE, RunecraftConfig::showBody),
|
||||||
CHAOS_RIFT(ObjectID.CHAOS_RIFT, CHAOS_RUNE),
|
CHAOS_RIFT(ObjectID.CHAOS_RIFT, CHAOS_RUNE, RunecraftConfig::showChaos),
|
||||||
COSMIC_RIFT(ObjectID.COSMIC_RIFT, COSMIC_RUNE),
|
COSMIC_RIFT(ObjectID.COSMIC_RIFT, COSMIC_RUNE, RunecraftConfig::showCosmic),
|
||||||
DEATH_RIFT(ObjectID.DEATH_RIFT, DEATH_RUNE),
|
DEATH_RIFT(ObjectID.DEATH_RIFT, DEATH_RUNE, RunecraftConfig::showDeath),
|
||||||
EARTH_RIFT(ObjectID.EARTH_RIFT, EARTH_RUNE),
|
EARTH_RIFT(ObjectID.EARTH_RIFT, EARTH_RUNE, RunecraftConfig::showEarth),
|
||||||
FIRE_RIFT(ObjectID.FIRE_RIFT, FIRE_RUNE),
|
FIRE_RIFT(ObjectID.FIRE_RIFT, FIRE_RUNE, RunecraftConfig::showFire),
|
||||||
LAW_RIFT(ObjectID.LAW_RIFT, LAW_RUNE),
|
LAW_RIFT(ObjectID.LAW_RIFT, LAW_RUNE, RunecraftConfig::showLaw),
|
||||||
MIND_RIFT(ObjectID.MIND_RIFT, MIND_RUNE),
|
MIND_RIFT(ObjectID.MIND_RIFT, MIND_RUNE, RunecraftConfig::showMind),
|
||||||
NATURE_RIFT(ObjectID.NATURE_RIFT, NATURE_RUNE),
|
NATURE_RIFT(ObjectID.NATURE_RIFT, NATURE_RUNE, RunecraftConfig::showNature),
|
||||||
SOUL_RIFT(ObjectID.SOUL_RIFT, SOUL_RUNE),
|
SOUL_RIFT(ObjectID.SOUL_RIFT, SOUL_RUNE, RunecraftConfig::showSoul),
|
||||||
WATER_RIFT(ObjectID.WATER_RIFT, WATER_RUNE);
|
WATER_RIFT(ObjectID.WATER_RIFT, WATER_RUNE, RunecraftConfig::showWater);
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final int objectId;
|
private final int objectId;
|
||||||
@@ -64,6 +67,9 @@ public enum AbyssRifts
|
|||||||
@Getter
|
@Getter
|
||||||
private final int itemId;
|
private final int itemId;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final Predicate<RunecraftConfig> configEnabled;
|
||||||
|
|
||||||
private static final Map<Integer, AbyssRifts> rifts;
|
private static final Map<Integer, AbyssRifts> rifts;
|
||||||
|
|
||||||
static
|
static
|
||||||
@@ -78,13 +84,7 @@ public enum AbyssRifts
|
|||||||
rifts = builder.build();
|
rifts = builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
AbyssRifts(int objectId, int itemId)
|
static AbyssRifts getRift(int id)
|
||||||
{
|
|
||||||
this.objectId = objectId;
|
|
||||||
this.itemId = itemId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AbyssRifts getRift(int id)
|
|
||||||
{
|
{
|
||||||
return rifts.get(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.ConfigItem;
|
||||||
import net.runelite.client.config.ConfigSection;
|
import net.runelite.client.config.ConfigSection;
|
||||||
|
|
||||||
@ConfigGroup("runecraft")
|
@ConfigGroup(RunecraftConfig.GROUP)
|
||||||
public interface RunecraftConfig extends Config
|
public interface RunecraftConfig extends Config
|
||||||
{
|
{
|
||||||
|
String GROUP = "runecraft";
|
||||||
|
|
||||||
@ConfigSection(
|
@ConfigSection(
|
||||||
name = "Rift Settings",
|
name = "Rift Settings",
|
||||||
description = "Abyss rift overlay 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.common.collect.ImmutableList;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -34,7 +35,6 @@ import javax.inject.Inject;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
import net.runelite.api.Client;
|
|
||||||
import net.runelite.api.DecorativeObject;
|
import net.runelite.api.DecorativeObject;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.InventoryID;
|
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.events.ConfigChanged;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
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;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
@@ -97,9 +84,6 @@ public class RunecraftPlugin extends Plugin
|
|||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private NPC darkMage;
|
private NPC darkMage;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private Client client;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayManager overlayManager;
|
private OverlayManager overlayManager;
|
||||||
|
|
||||||
@@ -142,7 +126,7 @@ public class RunecraftPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onConfigChanged(ConfigChanged event)
|
public void onConfigChanged(ConfigChanged event)
|
||||||
{
|
{
|
||||||
if (event.getGroup().equals("runecraft"))
|
if (event.getGroup().equals(RunecraftConfig.GROUP))
|
||||||
{
|
{
|
||||||
updateRifts();
|
updateRifts();
|
||||||
}
|
}
|
||||||
@@ -234,57 +218,8 @@ public class RunecraftPlugin extends Plugin
|
|||||||
private void updateRifts()
|
private void updateRifts()
|
||||||
{
|
{
|
||||||
rifts.clear();
|
rifts.clear();
|
||||||
if (config.showAir())
|
Arrays.stream(AbyssRifts.values())
|
||||||
{
|
.filter(r -> r.getConfigEnabled().test(config))
|
||||||
rifts.add(AIR_RIFT);
|
.forEach(rifts::add);
|
||||||
}
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user