Code:
public enum LunarSpellData {
LUNAR_HOME_TELEPORT(
null, 0, 0, "Lunar Home\\nTeleport", "Requires no runes - recharge time\\n30 mins. Warning: This spell takes a\\nlong time to cast and will be\\ninterrupted by combat."),
BAKE_PIE(
new int[][] {{Rune.ASTRAL.getId(), 1}, {Rune.FIRE.getId(), 5}, {Rune.WATER.getId(), 4}}, 65, 0, "Bake Pies", "Bake pies\\nwithout a stove"),
CURE_PLANT(
new int[][] {{Rune.ASTRAL.getId(), 1}, {Rune.EARTH.getId(), 8}}, 66, 0, "Cure Plant", "Cure disease on farming patch"),
MONSTER_EXAMINE(
new int[][] {{Rune.COSMIC.getId(), 1}, {Rune.ASTRAL.getId(), 1}, {Rune.MIND.getId(), 1}}, 66, 0, "Monster Examine", "Detect the combat statistics of a\\nmonster"),
NPC_CONTACT(
new int[][] {{Rune.COSMIC.getId(), 1}, {Rune.ASTRAL.getId(), 1}, {Rune.AIR.getId(), 2}}, 67, 0, "NPC Contact", "Speak with varied NPCs"),
CURE_OTHER(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.ASTRAL.getId(), 1}, {Rune.EARTH.getId(), 10}}, 68, 0, "Cure Other", "Cure poisoned players"),
HUMIDIFY(
new int[][] {{Rune.ASTRAL.getId(), 1}, {Rune.FIRE.getId(), 1}, {Rune.WATER.getId(), 3}}, 68, 0, "Humidify", "Fills certain vessels with water"),
MOONCLAN_TELEPORT(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.EARTH.getId(), 2}}, 69, 0, "Moonclan Teleport", "Teleports you to moonclan island"),
TELE_GROUP_MOONCLAN(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.EARTH.getId(), 4}}, 70, 0, "Tele Group Moonclan", "Teleports players to Moonclan\\nisland"),
OURANIA_TELEPORT(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.LAW.getId(), 2}, {Rune.LAW.getId(), 2}}, 71, 0, "Ourania Teleport", "Teleports you to ourania rune altar"),
CURE_ME(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.COSMIC.getId(), 2}, {Rune.ASTRAL.getId(), 2}}, 71, 0, "Cure Me", "Cures Poison"),
HUNTER_KIT(
new int[][] {{Rune.ASTRAL.getId(), 2}, {Rune.EARTH.getId(), 3}}, 71, 0, "Hunter Kit", "Get a kit of hunting gear"),
WATERBIRTH_TELEPORT(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.WATER.getId(), 1}}, 72, 0, "Waterbirth Teleport", "Teleports you to Waterbirth island"),
GROUP_WATERBIRTH_TELEPORT(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.WATER.getId(), 5}}, 73, 0, "Tele Group Waterbirth", "Teleports players to Waterbirth\\nisland"),
CURE_GROUP(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.COSMIC.getId(), 2}, {Rune.ASTRAL.getId(), 2}}, 74, 0, "Cure Group", "Cures Poison on players"),
BARBARIAN_TELEPORT(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.ASTRAL.getId(), 2}, {Rune.FIRE.getId(), 3}}, 75, 0, "Barbarian Teleport", "Teleports you to the Barbarian\\noutpost"),
STAT_SPY(
new int[][] {{Rune.COSMIC.getId(), 2}, {Rune.ASTRAL.getId(), 2}, {Rune.BODY.getId(), 5}}, 75, 0, "Stat Spy", "Cast on another player to see their\\nskill levels"),
TELE_GROUP_BARBARIAN(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.ASTRAL.getId(), 2}, {Rune.FIRE.getId(), 66}}, 76, 0, "Tele Group Barbarian", "Teleports players to the Barbarian\\noutpost"),
SUPERGLASS_MAKE(
new int[][] {{Rune.ASTRAL.getId(), 2}, {Rune.FIRE.getId(), 6}, {Rune.AIR.getId(), 10}}, 77, 0, "Superglass Make", "super glass\\noutpost"),
KHAZARD_TELEPORT(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.ASTRAL.getId(), 2}, {Rune.WATER.getId(), 4}}, 78, 0, "Khazard Teleport", "Teleports you to Port khazard"),
TAN_LEATHER(
new int[][] {{Rune.NATURE.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.FIRE.getId(), 5}}, 78, 0, "Tan Leather", "tans hides todo"),
TELE_GROUP_KHAZARD(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.ASTRAL.getId(), 2}, {Rune.WATER.getId(), 8}}, 79, 0, "Tele Group Khazard", "Teleports players to Port khazard"),
DREAM(
new int[][] {{Rune.COSMIC.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.BODY.getId(), 5}}, 79, 0, "Dream", "Take a rest and restore hitpoints 3\\n times faster"),
STRING_JEWELRY(
new int[][] {{Rune.ASTRAL.getId(), 2}, {Rune.EARTH.getId(), 10}, {Rune.WATER.getId(), 5}}, 80, 0, "String Jewellery", "String amulets without wool"),
STAT_RESTORE_POT_SHARE(
new int[][] {{Rune.ASTRAL.getId(), 2}, {Rune.EARTH.getId(), 10}, {Rune.WATER.getId(), 10}}, 81, 0, "Stat Restore Pot\\nShare", "Share a potion with up to 4 nearby\\nplayers"),
MAGIC_IMBUE(
new int[][] {{Rune.ASTRAL.getId(), 2}, {Rune.FIRE.getId(), 7}, {Rune.WATER.getId(), 7}}, 82, 0, "Magic Imbue", "Combine runes without a talisman"),
FERTILE_SOIL(
new int[][] {{Rune.NATURE.getId(), 2}, {Rune.ASTRAL.getId(), 3}, {Rune.EARTH.getId(), 15}}, 83, 0, "Fertile Soil", "Fertilise a farming patch with super\\ncompost"),
BOOST_POTION_SHARE(
new int[][] {{Rune.ASTRAL.getId(), 3}, {Rune.EARTH.getId(), 12}, {Rune.WATER.getId(), 10}}, 84, 0, "Boost Potion Share", "Shares a potion with up to 4 nearby\\nplayers"),
FISHING_GUILD_TELEPORT(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 10}}, 85, 0, "Fishing Guild Teleport", "Teleports you to the fishing guild"),
TELE_GROUP_FISHING_GUILD(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 15}}, 86, 0, "Tele Group Fishing\\nGuild", "Teleports players to the\\nFishing Guild"),
PLANK_MAKE(
new int[][] {{Rune.NATURE.getId(), 1}, {Rune.ASTRAL.getId(), 2}, {Rune.WATER.getId(), 15}}, 86, 0, "Plank Make", "Turn Logs into planks"),
CATHERBY_TELEPORT(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 10}}, 87, 0, "Catherby Teleport", "Teleports you to Catherby"),
TELE_GROUP_CATHERBY(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 15}}, 89, 0, "Tele Group Catherby", "Teleports players to Catherby"),
ICE_PLATEAU_TELEPORT(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 8}}, 89, 0, "Ice Plateau Teleport", "Teleports you to Ice Plateau"),
TELE_GROUP_ICE_PLATEAU(
new int[][] {{Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}, {Rune.WATER.getId(), 16}}, 90, 0, "Tele Group Ice Plateau", "Teleports players to Ice Plateau"),
ENERGY_TRANSFER(
new int[][] {{Rune.LAW.getId(), 2}, {Rune.NATURE.getId(), 1}, {Rune.ASTRAL.getId(), 3}}, 91, 0, "Energy Transfer", "Transfer your special attack\\nto another player"),
HEAL_OTHER(
new int[][] {{Rune.BLOOD.getId(), 1}, {Rune.LAW.getId(), 3}, {Rune.ASTRAL.getId(), 3}}, 92, 0, "Heal Other", "Transfer up to 75% of hitpoints\\n to another player"),
VENGEANCE_OTHER(
new int[][] {{Rune.DEATH.getId(), 2}, {Rune.ASTRAL.getId(), 3}, {Rune.EARTH.getId(), 10}}, 93, 0, "Vengeance Other", "Allows another player to rebound\\ndamage to an opponent"),
VENGEANCE(
new int[][] {{Rune.DEATH.getId(), 2}, {Rune.ASTRAL.getId(), 4}, {Rune.EARTH.getId(), 10}}, 94, 0, "Vengeance", "Rebound damage to an opponent"),
HEAL_GROUP(
new int[][] {{Rune.BLOOD.getId(), 3}, {Rune.LAW.getId(), 6}, {Rune.ASTRAL.getId(), 4}}, 95, 0, "Heal Group", "Transfer up to 75% of hitpoints\\n to a group"),
SPELLBOOK_SWAP(
new int[][] {{Rune.LAW.getId(), 1}, {Rune.COSMIC.getId(), 2}, {Rune.ASTRAL.getId(), 3}}, 96, 0, "Spellbook Swap", "Change to another spellbook for 1\\nspell cast");
private final int[][] data;
private final int level, use;
private final String name, description;
LunarSpellData(int[][] data, int level, int use, String name, String description) {
this.data = data;
this.level = level;
this.use = use;
this.name = name;
this.description = description;
}
public int getLevelRequirement() {
return level;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}
2d arrays are so dang ugly, would be so much better if this was in rsi format so you don't have to hard code everything.