2015-11-02 12:39:44 -08:00
|
|
|
package WayofTime.bloodmagic.registry;
|
2015-10-29 20:22:14 -07:00
|
|
|
|
2015-12-27 19:38:12 -05:00
|
|
|
import WayofTime.bloodmagic.api.Constants;
|
|
|
|
import WayofTime.bloodmagic.potion.PotionBloodMagic;
|
|
|
|
import WayofTime.bloodmagic.potion.PotionEventHandlers;
|
|
|
|
import net.minecraft.potion.Potion;
|
|
|
|
import net.minecraft.util.ResourceLocation;
|
|
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
import java.lang.reflect.Modifier;
|
|
|
|
|
2015-10-29 20:22:14 -07:00
|
|
|
public class ModPotions {
|
|
|
|
|
2015-12-27 19:38:12 -05:00
|
|
|
public static Potion drowning;
|
|
|
|
public static Potion boost;
|
|
|
|
public static Potion heavyHeart;
|
|
|
|
|
2015-10-29 20:22:14 -07:00
|
|
|
public static void init() {
|
2015-12-27 19:38:12 -05:00
|
|
|
if (Potion.potionTypes.length < 256) extendPortionArray();
|
|
|
|
|
|
|
|
new PotionEventHandlers();
|
|
|
|
|
|
|
|
//TODO FUTURE MAKE POTION TEXTURES
|
|
|
|
|
|
|
|
// final String resourceLocation = Constants.Mod.MODID + ":textures/potions/";
|
|
|
|
|
|
|
|
// drowning = new PotionBloodMagic("Drowning", new ResourceLocation(resourceLocation + drowning.getName().toLowerCase()), true, 0, 0, 0);
|
|
|
|
boost = new PotionBloodMagic("Boost", new ResourceLocation("Minecraft:textures/gui/container/inventory.png")
|
|
|
|
// new ResourceLocation(resourceLocation + boost.getName().toLowerCase())
|
|
|
|
, false, 0, 0, 0);
|
|
|
|
// heavyHeart = new PotionBloodMagic("Heavy Heart", new ResourceLocation(resourceLocation + heavyHeart.getName().toLowerCase()), true, 0, 0, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void extendPortionArray() {
|
|
|
|
Potion[] potionTypes;
|
|
|
|
|
|
|
|
for (Field f : Potion.class.getDeclaredFields()) {
|
|
|
|
f.setAccessible(true);
|
|
|
|
try {
|
|
|
|
if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) {
|
|
|
|
Field field = Field.class.getDeclaredField("modifiers");
|
|
|
|
field.setAccessible(true);
|
|
|
|
field.setInt(f, f.getModifiers() & ~Modifier.FINAL);
|
2015-10-29 20:22:14 -07:00
|
|
|
|
2015-12-27 19:38:12 -05:00
|
|
|
potionTypes = (Potion[]) f.get(null);
|
|
|
|
final Potion[] newPotionTypes = new Potion[256];
|
|
|
|
System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length);
|
|
|
|
f.set(null, newPotionTypes);
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
System.err.println(e);
|
|
|
|
}
|
|
|
|
}
|
2015-10-29 20:22:14 -07:00
|
|
|
}
|
|
|
|
}
|