mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-07 08:39:07 +00:00
Enum replacer (#617)
* Constants * Update Enchanting.java * Update Beverages.java * Create ConstantReplacer.java
This commit is contained in:
@@ -5,6 +5,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import com.rs2.Constants;
|
import com.rs2.Constants;
|
||||||
import com.rs2.game.players.Player;
|
import com.rs2.game.players.Player;
|
||||||
|
import static com.rs2.game.content.StaticItemList.*;
|
||||||
|
|
||||||
public class Enchanting {
|
public class Enchanting {
|
||||||
|
|
||||||
@@ -16,28 +17,26 @@ public class Enchanting {
|
|||||||
|
|
||||||
public enum Enchant {
|
public enum Enchant {
|
||||||
|
|
||||||
SAPPHIRERING(1637, 2550, 1),
|
SAPPHIRERING(SAPPHIRE_RING, RING_OF_RECOIL, 1),
|
||||||
SAPPHIREAMULET(1694, 1727, 1),
|
SAPPHIREAMULET(SAPPHIRE_AMULET_1694, AMULET_OF_MAGIC, 1),
|
||||||
SAPPHIRENECKLACE(1656, 3853, 1),
|
SAPPHIRENECKLACE(SAPPHIRE_NECKLACE, GAMES_NECKLACE8, 1),
|
||||||
|
EMERALDRING(EMERALD_RING, RING_OF_DUELING8, 2),
|
||||||
EMERALDRING(1639, 2552, 2),
|
EMERALDAMULET(EMERALD_AMULET_1696, AMULET_OF_DEFENCE, 2),
|
||||||
EMERALDAMULET(1696, 1729, 2),
|
EMERALDNECKLACE(EMERALD_NECKLACE, BINDING_NECKLACE, 2),
|
||||||
EMERALDNECKLACE(1658, 5521, 2),
|
RUBYRING(RUBY_RING, RING_OF_FORGING, 3),
|
||||||
|
RUBYAMULET(RUBY_AMULET_1698, AMULET_OF_STRENGTH, 3),
|
||||||
RUBYRING(1641, 2568, 3),
|
|
||||||
RUBYAMULET(1698, 1725, 3),
|
|
||||||
// RUBYNECKLACE(1660, 11194, 47, 59, 720, 115, 3),
|
// RUBYNECKLACE(1660, 11194, 47, 59, 720, 115, 3),
|
||||||
|
|
||||||
DIAMONDRING(1643, 2570, 4),
|
DIAMONDRING(DIAMOND_RING, RING_OF_LIFE, 4),
|
||||||
DIAMONDAMULET(1700, 1731, 4),
|
DIAMONDAMULET(DIAMOND_AMULET_1700, AMULET_OF_POWER, 4),
|
||||||
// DIAMONDNECKLACE(1662, 11090, 57, 67, 720, 115, 4),
|
// DIAMONDNECKLACE(1662, 11090, 57, 67, 720, 115, 4),
|
||||||
|
|
||||||
DRAGONSTONERING(1645, 2572, 5),
|
DRAGONSTONERING(DRAGONSTONE_RING, RING_OF_WEALTH, 5),
|
||||||
DRAGONSTONEAMULET(1702, 1704, 5),
|
DRAGONSTONEAMULET(DRAGONSTONE_AMMY_1702, AMULET_OF_GLORY, 5),
|
||||||
// DRAGONSTONENECKLACE(1664, 11105, 68, 78, 721, 116, 5),
|
// DRAGONSTONENECKLACE(1664, 11105, 68, 78, 721, 116, 5),
|
||||||
|
|
||||||
ONYXRING(6575, 6583, 6),
|
ONYXRING(ONYX_RING_6575, RING_OF_STONE, 6),
|
||||||
ONYXAMULET(6581, 6585, 6);
|
ONYXAMULET(ONYX_AMULET_6581, AMULET_OF_FURY, 6);
|
||||||
// ONYXNECKLACE(6577, 11128, 87, 97, 721, 452, 6)
|
// ONYXNECKLACE(6577, 11128, 87, 97, 721, 452, 6)
|
||||||
|
|
||||||
int unenchanted, enchanted, reqEnchantmentLevel;
|
int unenchanted, enchanted, reqEnchantmentLevel;
|
||||||
@@ -74,18 +73,12 @@ public class Enchanting {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static enum EnchantSpell {
|
public static enum EnchantSpell {
|
||||||
SAPPHIRE(1155, 7, 18, 719, 114, 1,
|
SAPPHIRE(1155, 7, 18, 719, 114, 1, WATER_RUNE, 1, COSMIC_RUNE, 1, -1, 0),
|
||||||
555, 1, 564, 1, -1, 0),
|
EMERALD(1165, 27, 37, 719, 114, 2, AIR_RUNE, 3, COSMIC_RUNE, 1, -1, 0),
|
||||||
EMERALD(1165, 27, 37, 719, 114, 2,
|
RUBY(1176, 47, 59, 720, 115, 3, FIRE_RUNE, 5, COSMIC_RUNE, 1, -1, 0),
|
||||||
556, 3, 564, 1, -1, 0),
|
DIAMOND(1180, 57, 67, 720, 115, 4, EARTH_RUNE, 10, COSMIC_RUNE, 1, -1, 0),
|
||||||
RUBY(1176, 47, 59, 720, 115, 3,
|
DRAGONSTONE(1187, 68, 78, 721, 116, 5, WATER_RUNE, 15, EARTH_RUNE, 15, COSMIC_RUNE, 1),
|
||||||
554, 5, 564, 1, -1, 0),
|
ONYX(6003, 87, 97, 721, 452, 6, EARTH_RUNE, 20, FIRE_RUNE, 20, COSMIC_RUNE, 1);
|
||||||
DIAMOND(1180, 57, 67, 720, 115, 4,
|
|
||||||
557, 10, 564, 1, -1, 0),
|
|
||||||
DRAGONSTONE(1187, 68, 78, 721, 116, 5,
|
|
||||||
555, 15, 557, 15, 564, 1),
|
|
||||||
ONYX(6003, 87, 97, 721, 452, 6,
|
|
||||||
557, 20, 554, 20, 564, 1);
|
|
||||||
|
|
||||||
int spell, levelReq, xp, anim, gfx, enchantmentLevel;
|
int spell, levelReq, xp, anim, gfx, enchantmentLevel;
|
||||||
int reqRune1, reqAmtRune1, reqRune2, reqAmtRune2, reqRune3, reqAmtRune3;
|
int reqRune1, reqAmtRune1, reqRune2, reqAmtRune2, reqRune3, reqAmtRune3;
|
||||||
|
|||||||
@@ -4,25 +4,23 @@ import com.rs2.Constants;
|
|||||||
import com.rs2.event.*;
|
import com.rs2.event.*;
|
||||||
import com.rs2.game.players.Player;
|
import com.rs2.game.players.Player;
|
||||||
import com.rs2.util.Misc;
|
import com.rs2.util.Misc;
|
||||||
|
import static com.rs2.game.content.StaticItemList.*;
|
||||||
public class Beverages {
|
public class Beverages {
|
||||||
|
|
||||||
private static final int BEER_GLASS = 1919;
|
|
||||||
|
|
||||||
public static enum beverageData {
|
public static enum beverageData {
|
||||||
BEER(1917, BEER_GLASS, 829, true, false, false, false),
|
BEER_(BEER, BEER_GLASS, 829, true, false, false, false),
|
||||||
BEER1(7740, BEER_GLASS, 829, true, false, false, false),
|
BEER1_(BEER_7740, BEER_GLASS, 829, true, false, false, false),
|
||||||
GROG(1915, BEER_GLASS, 829, true, false, false, false),
|
GROG_(GROG, BEER_GLASS, 829, true, false, false, false),
|
||||||
BANDITS_BREW(4627, BEER_GLASS, 829, true, false, false, false),
|
BANDITS_BREW_(BANDITS_BREW, BEER_GLASS, 829, true, false, false, false),
|
||||||
DRAGON_BITTER(1911, BEER_GLASS, 829, true, false, false, false),
|
DRAGON_BITTER_(DRAGON_BITTER, BEER_GLASS, 829, true, false, false, false),
|
||||||
CIDER(7752,BEER_GLASS, 829, true, false, false, false),
|
CIDER_(CIDER_7752, BEER_GLASS, 829, true, false, false, false),
|
||||||
MATURE_CIDER(5765, BEER_GLASS, 829, true, false, false, false),
|
MATURE_CIDER_(MATURE_CIDER, BEER_GLASS, 829, true, false, false, false),
|
||||||
MOONLIGHT_MEAD(7750, BEER_GLASS, 829, true, false, false, false),
|
MOONLIGHT_MEAD_(MOONLIGHT_MEAD_7750, BEER_GLASS, 829, true, false, false, false),
|
||||||
DWARVEN_STOUT(1913, BEER_GLASS, 829, true, false, false, false),
|
DWARVEN_STOUT_(DWARVEN_STOUT, BEER_GLASS, 829, true, false, false, false),
|
||||||
GREENMANS_ALE(1909, BEER_GLASS, 829, true, false, false, false),
|
GREENMANS_ALE_(GREENMANS_ALE, BEER_GLASS, 829, true, false, false, false),
|
||||||
CHEFS_DELIGHT(7754, BEER_GLASS, 829, true, false, false, false),
|
CHEFS_DELIGHT_(CHEFS_DELIGHT_7754, BEER_GLASS, 829, true, false, false, false),
|
||||||
ASGARNIAN_ALE(1905, BEER_GLASS, 829, true, false, false, false),
|
ASGARNIAN_ALE_(ASGARNIAN_ALE, BEER_GLASS, 829, true, false, false, false),
|
||||||
WIZARDS_MIND_BOMB(1907, BEER_GLASS, 829, true, false, false, false);
|
WIZARDS_MIND_BOMB_(WIZARDS_MIND_BOMB, BEER_GLASS, 829, true, false, false, false);
|
||||||
|
|
||||||
private int bevId, replacement, bevAnim;
|
private int bevId, replacement, bevAnim;
|
||||||
private boolean effect1, effect2, effect3, effect4;
|
private boolean effect1, effect2, effect3, effect4;
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
package com.rs2.util;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.Modifier;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.rs2.game.content.StaticItemList;
|
||||||
|
import com.rs2.game.content.StaticNpcList;
|
||||||
|
import com.rs2.game.content.StaticObjectList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Introduces constants into an enum.
|
||||||
|
*
|
||||||
|
* @author Advocatus
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ConstantReplacer {
|
||||||
|
|
||||||
|
private static String [] skipped = { "bevAnim", "effect1", "effect2", "effect3", "effect4" };
|
||||||
|
private static String enum_clazz = "com.rs2.game.content.consumables.Beverages$beverageData";
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
Map<Integer, String> items = buildNameMap(StaticItemList.class);
|
||||||
|
Map<Integer, String> npcs = buildNameMap(StaticNpcList.class);
|
||||||
|
Map<Integer, String> objects = buildNameMap(StaticObjectList.class);
|
||||||
|
|
||||||
|
Class<?> c = Class.forName(enum_clazz);
|
||||||
|
if (!c.isEnum()) {
|
||||||
|
System.err.println(enum_clazz + " is not an an enum.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(skipped == null)
|
||||||
|
buildSkipped(c);
|
||||||
|
Field enumfield = c.getDeclaredField("ENUM$VALUES");
|
||||||
|
enumfield.setAccessible(true);
|
||||||
|
|
||||||
|
Enum[] values = (Enum[]) enumfield.get(null);
|
||||||
|
|
||||||
|
Field[] flds = c.getDeclaredFields();
|
||||||
|
List<Field> vars = new LinkedList<>();
|
||||||
|
for (Field f : flds) {
|
||||||
|
if (!f.isEnumConstant() && !Modifier.isStatic(f.getModifiers())) {
|
||||||
|
vars.add(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Enum m : values) {
|
||||||
|
String out = m.name() + "(";
|
||||||
|
for (Field f : vars) {
|
||||||
|
f.setAccessible(true);
|
||||||
|
if(f.getGenericType().getTypeName() == "int")
|
||||||
|
out += ((!skip(f.getName()) ? items.get(f.getInt(m)) : f.getInt(m)) + ", ");
|
||||||
|
else
|
||||||
|
out += f.get(m) + ", ";
|
||||||
|
}
|
||||||
|
out = out.substring(0, out.length() - 2);
|
||||||
|
out += "),";
|
||||||
|
System.out.println(out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void buildSkipped(Class<?> c) throws Exception {
|
||||||
|
Field[] flds = c.getDeclaredFields();
|
||||||
|
String out = ("private static String [] skipped = { ");
|
||||||
|
for (Field f : flds) {
|
||||||
|
if (!f.isEnumConstant() && !Modifier.isStatic(f.getModifiers())) {
|
||||||
|
out += ("\"" + f.getName() + "\", ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out = out.substring(0, out.length() - 3);
|
||||||
|
out += ("\" };");
|
||||||
|
System.out.println(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Map<Integer, String> buildNameMap(Class clazz)
|
||||||
|
throws IllegalArgumentException, IllegalAccessException {
|
||||||
|
Field[] declaredFields = clazz.getDeclaredFields();
|
||||||
|
Map<Integer, String> names = new HashMap<>();
|
||||||
|
for (Field field : declaredFields) {
|
||||||
|
if (Modifier.isStatic(field.getModifiers())) {
|
||||||
|
names.put(field.getInt(null), field.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean skip(String string) {
|
||||||
|
for (String s : skipped) {
|
||||||
|
if (string.equalsIgnoreCase(s)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user