Commitment
This commit is contained in:
parent
ef82b68a16
commit
d8f267b7e3
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
#Thu Dec 11 19:56:39 EST 2014
|
||||
#Fri Dec 12 19:27:09 EST 2014
|
||||
mod_name=BloodMagic
|
||||
forge_version=10.13.2.1232
|
||||
ccc_version=1.0.4.29
|
||||
|
@ -8,5 +8,5 @@ nei_version=1.0.3.64
|
|||
package_group=com.wayoftime.bloodmagic
|
||||
mod_version=1.3.0Beta
|
||||
minetweaker_version=Dev-1.7.10-3.0.9B
|
||||
build_number=5
|
||||
build_number=7
|
||||
mc_version=1.7.10
|
||||
|
|
|
@ -1,14 +1,21 @@
|
|||
package WayofTime.alchemicalWizardry;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipInputStream;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
|
@ -261,6 +268,8 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
|||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.0Beta", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory")
|
||||
|
||||
|
@ -1146,6 +1155,8 @@ public class AlchemicalWizardry
|
|||
|
||||
// if(parseTextFiles)
|
||||
// this.parseTextFile();
|
||||
|
||||
this.createItemTextureFiles();
|
||||
}
|
||||
|
||||
public static void initAlchemyPotionRecipes()
|
||||
|
@ -1377,164 +1388,233 @@ public class AlchemicalWizardry
|
|||
CompressionRegistry.registerItemThreshold(new ItemStack(Blocks.cobblestone), 64);
|
||||
}
|
||||
|
||||
// @SideOnly(Side.CLIENT)
|
||||
// public void parseTextFile()
|
||||
// {
|
||||
// File textFiles = new File("config/BloodMagic/bookDocs");
|
||||
// //if(textFiles.exists())
|
||||
// {
|
||||
// try {
|
||||
// System.out.println("I am in an island of files!");
|
||||
//
|
||||
// InputStream input = AlchemicalWizardry.class.getResourceAsStream("/assets/alchemicalwizardryBooks/books/book.txt");
|
||||
//
|
||||
// Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(true);
|
||||
//
|
||||
// if(input != null)
|
||||
// {
|
||||
// DataInputStream in = new DataInputStream(input);
|
||||
// BufferedReader br = new BufferedReader(new InputStreamReader(in));
|
||||
// String strLine;
|
||||
// //Read File Line By Line
|
||||
//
|
||||
// int maxWidth = 25;
|
||||
// int maxLines = 16;
|
||||
//
|
||||
// int currentPage = 0;
|
||||
//
|
||||
// int pageIndex = 1;
|
||||
//
|
||||
// String currentTitle = "aw.entry.Magnus";
|
||||
//
|
||||
// String[] strings = new String[1];
|
||||
// strings[0] = "";
|
||||
//
|
||||
// while ((strLine = br.readLine()) != null)
|
||||
// {
|
||||
// if(strLine.trim().isEmpty())
|
||||
// {
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// if(strLine.startsWith("//TITLE "))
|
||||
// {
|
||||
// String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing
|
||||
// for(int i=0; i<strings.length; i++)
|
||||
// {
|
||||
// newStrings[i] = strings[i];
|
||||
// }
|
||||
//
|
||||
// currentPage++;
|
||||
// newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1];
|
||||
// newStrings[currentPage] = "";
|
||||
// strings = newStrings;
|
||||
//
|
||||
// pageIndex = 1;
|
||||
//
|
||||
// String title = strLine.replaceFirst("//TITLE ", " ").trim();
|
||||
// currentTitle = "aw.entry." + title;
|
||||
//
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// strLine = strLine.replace('”', '"').replace('“','"');
|
||||
//
|
||||
// if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null)
|
||||
// {
|
||||
// List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strLine, 110);
|
||||
// if(list != null)
|
||||
// {
|
||||
// System.out.println("Number of lines: " + list.size());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// String[] cutStrings = strLine.split(" ");
|
||||
//
|
||||
// for(String word : cutStrings)
|
||||
// {
|
||||
// boolean changePage = false;
|
||||
// int length = word.length();
|
||||
// word = word.replace('\t', ' ');
|
||||
// List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " " + word, 110);
|
||||
//
|
||||
//// if(currentWidth != 0 && currentWidth + length + 1 > maxWidth)
|
||||
//// {
|
||||
//// currentLine++;
|
||||
//// currentWidth = 0;
|
||||
//// }
|
||||
// //if(currentLine > maxLines)
|
||||
// if(list.size() > maxLines)
|
||||
public void createItemTextureFiles()
|
||||
{
|
||||
File textFiles = new File("config/BloodMagic/itemJsonFiles");
|
||||
|
||||
File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryJsonFiles");
|
||||
if(!bmDirectory.exists())
|
||||
{
|
||||
bmDirectory.mkdirs();
|
||||
}
|
||||
|
||||
String[] itemStrings = new String[]{"apple", "apple"};
|
||||
|
||||
String prefix = "alchemicalwizardry:items/";
|
||||
|
||||
try
|
||||
{
|
||||
for(int i=0; i<itemStrings.length; i+=2)
|
||||
{
|
||||
if(i+1 < itemStrings.length)
|
||||
{
|
||||
File file = new File(bmDirectory, itemStrings[i] + ".json");
|
||||
{
|
||||
String[] strings = getGeneratedStrings(prefix + itemStrings[i + 1]);
|
||||
PrintWriter writer = new PrintWriter(file);
|
||||
for(String stri : strings)
|
||||
{
|
||||
writer.println(stri);
|
||||
}
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public String[] getGeneratedStrings(String itemName)
|
||||
{
|
||||
String[] strings = new String[18];
|
||||
|
||||
strings[0] = "{";
|
||||
strings[1] = " \"parent\": \"builtin/generated\",";
|
||||
strings[2] = " \"textures\": {";
|
||||
strings[3] = " \"layer0\": \"" + itemName + "\"";
|
||||
strings[4] = " },";
|
||||
strings[5] = " \"display\": {";
|
||||
strings[6] = " \"thirdperson\": {";
|
||||
strings[7] = " \"rotation\": [ -90, 0, 0 ],";
|
||||
strings[8] = " \"translation\": [ 0, 1, -3 ],";
|
||||
strings[9] = " \"scale\": [ 0.55, 0.55, 0.55 ]";
|
||||
strings[10] = " },";
|
||||
strings[11] = " \"firstperson\": {";
|
||||
strings[12] = " \"rotation\": [ 0, -135, 25 ],";
|
||||
strings[13] = " \"translation\": [ 0, 4, 2 ],";
|
||||
strings[14] = " \"scale\": [ 1.7, 1.7, 1.7 ]";
|
||||
strings[15] = " }";
|
||||
strings[16] = " }";
|
||||
strings[17] = "}";
|
||||
|
||||
return strings;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void parseTextFile()
|
||||
{
|
||||
File textFiles = new File("config/BloodMagic/bookDocs");
|
||||
//if(textFiles.exists())
|
||||
{
|
||||
try {
|
||||
System.out.println("I am in an island of files!");
|
||||
|
||||
InputStream input = AlchemicalWizardry.class.getResourceAsStream("/assets/alchemicalwizardryBooks/books/book.txt");
|
||||
|
||||
Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(true);
|
||||
|
||||
if(input != null)
|
||||
{
|
||||
DataInputStream in = new DataInputStream(input);
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(in));
|
||||
String strLine;
|
||||
//Read File Line By Line
|
||||
|
||||
int maxWidth = 25;
|
||||
int maxLines = 16;
|
||||
|
||||
int currentPage = 0;
|
||||
|
||||
int pageIndex = 1;
|
||||
|
||||
String currentTitle = "aw.entry.Magnus";
|
||||
|
||||
String[] strings = new String[1];
|
||||
strings[0] = "";
|
||||
|
||||
while ((strLine = br.readLine()) != null)
|
||||
{
|
||||
if(strLine.trim().isEmpty())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(strLine.startsWith("//TITLE "))
|
||||
{
|
||||
String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing
|
||||
for(int i=0; i<strings.length; i++)
|
||||
{
|
||||
newStrings[i] = strings[i];
|
||||
}
|
||||
|
||||
currentPage++;
|
||||
newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1];
|
||||
newStrings[currentPage] = "";
|
||||
strings = newStrings;
|
||||
|
||||
pageIndex = 1;
|
||||
|
||||
String title = strLine.replaceFirst("//TITLE ", " ").trim();
|
||||
currentTitle = "aw.entry." + title;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
strLine = strLine.replace('”', '"').replace('“','"');
|
||||
|
||||
if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null)
|
||||
{
|
||||
List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strLine, 110);
|
||||
if(list != null)
|
||||
{
|
||||
System.out.println("Number of lines: " + list.size());
|
||||
}
|
||||
}
|
||||
|
||||
String[] cutStrings = strLine.split(" ");
|
||||
|
||||
for(String word : cutStrings)
|
||||
{
|
||||
boolean changePage = false;
|
||||
int length = word.length();
|
||||
word = word.replace('\t', ' ');
|
||||
List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " " + word, 110);
|
||||
|
||||
// if(currentWidth != 0 && currentWidth + length + 1 > maxWidth)
|
||||
// {
|
||||
// changePage = true;
|
||||
// currentLine++;
|
||||
// currentWidth = 0;
|
||||
// }
|
||||
// if(changePage)
|
||||
// {
|
||||
// String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing
|
||||
// for(int i=0; i<strings.length; i++)
|
||||
// {
|
||||
// newStrings[i] = strings[i];
|
||||
// }
|
||||
//
|
||||
// currentPage++;
|
||||
//
|
||||
// newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1];
|
||||
// newStrings[currentPage] = word;
|
||||
// strings = newStrings;
|
||||
//
|
||||
// pageIndex++;
|
||||
//
|
||||
// changePage = false;
|
||||
// }else
|
||||
// {
|
||||
// strings[currentPage] = strings[currentPage] + " " + word;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// int currentLines = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage], 110).size();
|
||||
// while(Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " ", 110).size() <= currentLines)
|
||||
// {
|
||||
// {
|
||||
// strings[currentPage] = strings[currentPage] + " ";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// System.out.println("" + strLine);
|
||||
// }
|
||||
//
|
||||
// strings[currentPage] = currentTitle + "." + pageIndex + "=" + strings[currentPage];
|
||||
//
|
||||
// File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryBooks");
|
||||
// if(!bmDirectory.exists())
|
||||
// {
|
||||
// bmDirectory.mkdirs();
|
||||
// }
|
||||
//
|
||||
// File file = new File(bmDirectory, "books.txt");
|
||||
//// if (file.exists() && file.length() > 3L)
|
||||
//// {
|
||||
////
|
||||
//// }else
|
||||
//if(currentLine > maxLines)
|
||||
if(list.size() > maxLines)
|
||||
{
|
||||
changePage = true;
|
||||
}
|
||||
if(changePage)
|
||||
{
|
||||
String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing
|
||||
for(int i=0; i<strings.length; i++)
|
||||
{
|
||||
newStrings[i] = strings[i];
|
||||
}
|
||||
|
||||
currentPage++;
|
||||
|
||||
newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1];
|
||||
newStrings[currentPage] = word;
|
||||
strings = newStrings;
|
||||
|
||||
pageIndex++;
|
||||
|
||||
changePage = false;
|
||||
}else
|
||||
{
|
||||
strings[currentPage] = strings[currentPage] + " " + word;
|
||||
}
|
||||
}
|
||||
|
||||
int currentLines = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage], 110).size();
|
||||
while(Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " ", 110).size() <= currentLines)
|
||||
{
|
||||
{
|
||||
strings[currentPage] = strings[currentPage] + " ";
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("" + strLine);
|
||||
}
|
||||
|
||||
strings[currentPage] = currentTitle + "." + pageIndex + "=" + strings[currentPage];
|
||||
|
||||
File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryBooks");
|
||||
if(!bmDirectory.exists())
|
||||
{
|
||||
bmDirectory.mkdirs();
|
||||
}
|
||||
|
||||
File file = new File(bmDirectory, "books.txt");
|
||||
// if (file.exists() && file.length() > 3L)
|
||||
// {
|
||||
// PrintWriter writer = new PrintWriter(file);
|
||||
// for(String stri : strings)
|
||||
// {
|
||||
// writer.println(stri);
|
||||
// }
|
||||
// writer.close();
|
||||
// }
|
||||
//
|
||||
// }else
|
||||
{
|
||||
PrintWriter writer = new PrintWriter(file);
|
||||
for(String stri : strings)
|
||||
{
|
||||
writer.println(stri);
|
||||
}
|
||||
writer.close();
|
||||
}
|
||||
|
||||
//
|
||||
////
|
||||
// }
|
||||
//
|
||||
// Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(false);
|
||||
//
|
||||
// } catch (FileNotFoundException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// } catch (IOException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(false);
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,11 +78,14 @@ public class RenderHelper
|
|||
// renderTestHUD(mc, reagentStack, maxAmount);
|
||||
}
|
||||
|
||||
int max = APISpellHelper.getPlayerMaxLPTag(player);
|
||||
|
||||
if(max > 1)
|
||||
if(SpellHelper.canPlayerSeeLPBar(player))
|
||||
{
|
||||
renderLPHUD(mc, APISpellHelper.getPlayerLPTag(player), max);
|
||||
int max = APISpellHelper.getPlayerMaxLPTag(player);
|
||||
|
||||
if(max > 1)
|
||||
{
|
||||
renderLPHUD(mc, APISpellHelper.getPlayerLPTag(player), max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +102,7 @@ public class RenderHelper
|
|||
|
||||
int x = (lpBarX - xSize / 2) * 8;
|
||||
int y = (lpBarY - ySize / 2) * 8;
|
||||
|
||||
|
||||
ResourceLocation test2 = new ResourceLocation("alchemicalwizardry", "textures/gui/container1.png");
|
||||
GL11.glColor4f(1, 0, 0, 1.0F);
|
||||
mc.getTextureManager().bindTexture(test2);
|
||||
|
|
|
@ -5,13 +5,10 @@ import java.util.HashMap;
|
|||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.IProjectile;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.monster.EntityCreeper;
|
||||
import net.minecraft.entity.monster.EntityMob;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -25,7 +22,6 @@ import net.minecraft.tileentity.TileEntity;
|
|||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.client.event.FOVUpdateEvent;
|
||||
import net.minecraftforge.event.AnvilUpdateEvent;
|
||||
import net.minecraftforge.event.entity.living.EnderTeleportEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
||||
|
@ -185,7 +181,7 @@ public class AlchemicalWizardryEventHooks
|
|||
@SubscribeEvent
|
||||
public void onLivingJumpEvent(LivingJumpEvent event)
|
||||
{
|
||||
event.entityLiving.getEntityAttribute(SharedMonsterAttributes.maxHealth).removeModifier(new AttributeModifier(new UUID(493295, 1), "HealthModifier", 2, 0));
|
||||
// event.entityLiving.getEntityAttribute(SharedMonsterAttributes.maxHealth).removeModifier(new AttributeModifier(new UUID(493295, 1), "HealthModifier", 2, 0));
|
||||
//event.entityLiving.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(new UUID(493295, 1), "HealthModifier", 2, 0));
|
||||
|
||||
if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionBoost))
|
||||
|
@ -240,12 +236,12 @@ public class AlchemicalWizardryEventHooks
|
|||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onFOVUpdate(FOVUpdateEvent event)
|
||||
{
|
||||
event.setResult(Result.DENY);
|
||||
}
|
||||
|
||||
|
||||
// @SubscribeEvent
|
||||
// public void onFOVUpdate(FOVUpdateEvent event)
|
||||
// {
|
||||
// event.setResult(Result.DENY);
|
||||
// }
|
||||
// @SubscribeEvent
|
||||
// public void onPlayerTickEnd(PlayerTickEvent event)
|
||||
// {
|
||||
|
|
|
@ -1,15 +1,7 @@
|
|||
package WayofTime.alchemicalWizardry.common.items;
|
||||
|
||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||
import WayofTime.alchemicalWizardry.ModItems;
|
||||
import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles;
|
||||
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||
import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaArmour;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.common.Optional.Interface;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
@ -30,11 +22,20 @@ import net.minecraftforge.common.util.Constants;
|
|||
import thaumcraft.api.IGoggles;
|
||||
import thaumcraft.api.IRunicArmor;
|
||||
import thaumcraft.api.nodes.IRevealer;
|
||||
|
||||
import java.util.List;
|
||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||
import WayofTime.alchemicalWizardry.ModItems;
|
||||
import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles;
|
||||
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||
import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil;
|
||||
import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaArmour;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.common.Optional.Interface;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@Optional.InterfaceList(value = {@Interface(iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft"), @Interface(iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft"), @Interface(iface = "thaumcraft.api.IRunicArmor", modid = "Thaumcraft")})
|
||||
public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialArmor, IBindable, IRevealer, IGoggles, IRunicArmor
|
||||
public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialArmor, IBindable, IRevealer, IGoggles, IRunicArmor, ILPGauge
|
||||
{
|
||||
private static int invSize = 9;
|
||||
private static IIcon helmetIcon;
|
||||
|
@ -614,6 +615,8 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int blood = getMaxBloodShardLevel(itemStack);
|
||||
|
||||
for (ItemStack item : inv)
|
||||
{
|
||||
|
@ -621,11 +624,53 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA
|
|||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (item.getItem() instanceof IGoggles)
|
||||
if (item.getItem() instanceof ArmourUpgrade && blood > 0)
|
||||
{
|
||||
return true;
|
||||
if (item.getItem() instanceof IGoggles)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(((ArmourUpgrade)item.getItem()).isUpgrade())
|
||||
{
|
||||
blood--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSeeLPBar(ItemStack itemStack)
|
||||
{
|
||||
ItemStack[] inv = getInternalInventory(itemStack);
|
||||
|
||||
if (inv == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int blood = getMaxBloodShardLevel(itemStack);
|
||||
|
||||
for (ItemStack item : inv)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (item.getItem() instanceof ArmourUpgrade && blood > 0)
|
||||
{
|
||||
if (item.getItem() instanceof DivinationSigil)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(((ArmourUpgrade)item.getItem()).isUpgrade())
|
||||
{
|
||||
blood--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package WayofTime.alchemicalWizardry.common.items;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface ILPGauge
|
||||
{
|
||||
public boolean canSeeLPBar(ItemStack itemStack);
|
||||
}
|
|
@ -41,6 +41,8 @@ import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator;
|
|||
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
|
||||
import WayofTime.alchemicalWizardry.api.spell.APISpellHelper;
|
||||
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
||||
import WayofTime.alchemicalWizardry.common.items.ILPGauge;
|
||||
import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
public class SpellHelper
|
||||
|
@ -95,6 +97,35 @@ public class SpellHelper
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean canPlayerSeeLPBar(EntityPlayer player)
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
for(int i=0; i<4; i++)
|
||||
{
|
||||
ItemStack stack = player.getCurrentArmor(i);
|
||||
if (stack != null)
|
||||
{
|
||||
Item item = stack.getItem();
|
||||
if (item instanceof ILPGauge && ((ILPGauge) item).canSeeLPBar(stack))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ItemStack heldStack = player.getHeldItem();
|
||||
|
||||
if (heldStack != null && heldStack.getItem() instanceof DivinationSigil)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static List<Entity> getEntitiesInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius)
|
||||
{
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue