Adding in WoS blacklist (credit: SoundLogic)

This commit is contained in:
WayofTime 2014-08-10 14:50:38 -04:00
parent aa123cf616
commit 64ccc50698
6 changed files with 236 additions and 20 deletions

View file

@ -5,6 +5,7 @@ import java.io.FileOutputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
@ -204,6 +205,8 @@ public class AlchemicalWizardry
public static boolean wimpySettings;
public static boolean respawnWithDebuff;
public static boolean lockdownAltar;
public static List<Class> wellBlacklist;
public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic")
{
@ -934,7 +937,9 @@ public class AlchemicalWizardry
}else
{
this.isForestryLoaded = false;
}
}
BloodMagicConfiguration.loadBlacklist();
}
public static void initAlchemyPotionRecipes()

View file

@ -1,7 +1,12 @@
package WayofTime.alchemicalWizardry;
import java.io.File;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Map.Entry;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLivingBase;
import net.minecraftforge.common.config.Configuration;
import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorParadigm;
@ -96,5 +101,25 @@ public class BloodMagicConfiguration
}
public static void loadBlacklist()
{
AlchemicalWizardry.wellBlacklist=new ArrayList<Class>();
for( Object o : EntityList.stringToClassMapping.entrySet())
{
Entry entry=(Entry) o;
Class curClass=(Class)entry.getValue();
boolean valid=EntityLivingBase.class.isAssignableFrom(curClass) && !Modifier.isAbstract(curClass.getModifiers());
if(valid)
{
boolean blacklisted=config.get("wellOfSufferingBlackList", entry.getKey().toString(), false).getBoolean();
if(blacklisted)
AlchemicalWizardry.wellBlacklist.add(curClass);
}
}
config.save();
}
}

View file

@ -12,6 +12,7 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
@ -110,7 +111,7 @@ public class RitualEffectWellOfSuffering extends RitualEffect
{
entity = (EntityLivingBase) iterator2.next();
if (entity instanceof EntityPlayer)
if (entity instanceof EntityPlayer || AlchemicalWizardry.wellBlacklist.contains(entity.getClass()))
{
continue;
}