mirror of
https://github.com/GTNewHorizons/ModTweaker.git
synced 2026-11-11 15:57:52 +00:00
85 lines
2.7 KiB
Java
85 lines
2.7 KiB
Java
package modtweaker.mods.thaumcraft;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
import modtweaker.helpers.ReflectionHelper;
|
|
import thaumcraft.api.ThaumcraftApi;
|
|
import thaumcraft.api.ThaumcraftApi.EntityTags;
|
|
import thaumcraft.api.aspects.Aspect;
|
|
import thaumcraft.api.aspects.AspectList;
|
|
import thaumcraft.api.research.ResearchCategories;
|
|
|
|
public class ThaumcraftHelper {
|
|
public static ArrayList recipes = null;
|
|
public static HashMap<Object, Integer> warpList;
|
|
|
|
static {
|
|
try {
|
|
recipes = ReflectionHelper.getStaticObject(ThaumcraftApi.class, "recipes");
|
|
warpList = ReflectionHelper.getStaticObject(ThaumcraftApi.class, "warpMap");
|
|
} catch (Exception e) {}
|
|
}
|
|
|
|
private ThaumcraftHelper() {}
|
|
|
|
public static AspectList parseAspects(String aspects) {
|
|
return parseAspects(new AspectList(), aspects);
|
|
}
|
|
|
|
public static AspectList parseAspects(AspectList list, String str) {
|
|
if (list == null) list = new AspectList();
|
|
if (str == null || str.equals("")) return list;
|
|
String[] aspects = str.split(",");
|
|
for (String aspect : aspects) {
|
|
if (aspect.startsWith(" ")) aspect = aspect.replaceFirst(" ", "");
|
|
String[] aspct = aspect.split("\\s+");
|
|
if (aspct.length == 2) list.add(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1]));
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
public static AspectList removeAspects(AspectList list, String str) {
|
|
String[] aspects = str.split(",");
|
|
for (String aspect : aspects) {
|
|
if (aspect.startsWith(" ")) aspect = aspect.replaceFirst(" ", "");
|
|
String[] aspct = aspect.split("\\s+");
|
|
if (aspct.length == 2) {
|
|
list.remove(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1]));
|
|
}
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
public static String getResearchTab(String key) {
|
|
for (String tab : ResearchCategories.researchCategories.keySet()) {
|
|
for (String research : ResearchCategories.researchCategories.get(tab).research.keySet()) {
|
|
if (research.equals(key)) return tab;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static AspectList getEntityAspects(String name) {
|
|
for(EntityTags tag : ThaumcraftApi.scanEntities)
|
|
{
|
|
if(tag.entityName==name && tag.nbts.length==0)
|
|
return tag.aspects;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static void removeEntityAspects(String name) {
|
|
List<EntityTags> tags = new ArrayList(ThaumcraftApi.scanEntities);
|
|
for(EntityTags tag : tags)
|
|
{
|
|
if(tag.entityName==name && tag.nbts.length==0)
|
|
ThaumcraftApi.scanEntities.remove(tag);
|
|
}
|
|
}
|
|
|
|
}
|