Commitment

This commit is contained in:
WayofTime 2014-12-13 19:17:38 -05:00
parent ef82b68a16
commit d8f267b7e3
8 changed files with 353 additions and 190 deletions

View file

@ -1,5 +1,5 @@
# #
#Thu Dec 11 19:56:39 EST 2014 #Fri Dec 12 19:27:09 EST 2014
mod_name=BloodMagic mod_name=BloodMagic
forge_version=10.13.2.1232 forge_version=10.13.2.1232
ccc_version=1.0.4.29 ccc_version=1.0.4.29
@ -8,5 +8,5 @@ nei_version=1.0.3.64
package_group=com.wayoftime.bloodmagic package_group=com.wayoftime.bloodmagic
mod_version=1.3.0Beta mod_version=1.3.0Beta
minetweaker_version=Dev-1.7.10-3.0.9B minetweaker_version=Dev-1.7.10-3.0.9B
build_number=5 build_number=7
mc_version=1.7.10 mc_version=1.7.10

View file

@ -1,14 +1,21 @@
package WayofTime.alchemicalWizardry; package WayofTime.alchemicalWizardry;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Modifier; import java.lang.reflect.Modifier;
import java.util.List; import java.util.List;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
import net.minecraft.client.Minecraft;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; 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.network.NetworkRegistry;
import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry; 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") @Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.0Beta", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory")
@ -1146,6 +1155,8 @@ public class AlchemicalWizardry
// if(parseTextFiles) // if(parseTextFiles)
// this.parseTextFile(); // this.parseTextFile();
this.createItemTextureFiles();
} }
public static void initAlchemyPotionRecipes() public static void initAlchemyPotionRecipes()
@ -1377,164 +1388,233 @@ public class AlchemicalWizardry
CompressionRegistry.registerItemThreshold(new ItemStack(Blocks.cobblestone), 64); CompressionRegistry.registerItemThreshold(new ItemStack(Blocks.cobblestone), 64);
} }
// @SideOnly(Side.CLIENT) public void createItemTextureFiles()
// public void parseTextFile() {
// { File textFiles = new File("config/BloodMagic/itemJsonFiles");
// File textFiles = new File("config/BloodMagic/bookDocs");
// //if(textFiles.exists()) File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryJsonFiles");
// { if(!bmDirectory.exists())
// try { {
// System.out.println("I am in an island of files!"); bmDirectory.mkdirs();
// }
// InputStream input = AlchemicalWizardry.class.getResourceAsStream("/assets/alchemicalwizardryBooks/books/book.txt");
// String[] itemStrings = new String[]{"apple", "apple"};
// Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(true);
// String prefix = "alchemicalwizardry:items/";
// if(input != null)
// { try
// DataInputStream in = new DataInputStream(input); {
// BufferedReader br = new BufferedReader(new InputStreamReader(in)); for(int i=0; i<itemStrings.length; i+=2)
// String strLine; {
// //Read File Line By Line if(i+1 < itemStrings.length)
// {
// int maxWidth = 25; File file = new File(bmDirectory, itemStrings[i] + ".json");
// int maxLines = 16; {
// String[] strings = getGeneratedStrings(prefix + itemStrings[i + 1]);
// int currentPage = 0; PrintWriter writer = new PrintWriter(file);
// for(String stri : strings)
// int pageIndex = 1; {
// writer.println(stri);
// String currentTitle = "aw.entry.Magnus"; }
// writer.close();
// String[] strings = new String[1]; }
// strings[0] = ""; }
//
// while ((strLine = br.readLine()) != null) }
// {
// if(strLine.trim().isEmpty()) } catch (FileNotFoundException e) {
// { // TODO Auto-generated catch block
// continue; e.printStackTrace();
// } }
//
// 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++)
// { public String[] getGeneratedStrings(String itemName)
// newStrings[i] = strings[i]; {
// } String[] strings = new String[18];
//
// currentPage++; strings[0] = "{";
// newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1]; strings[1] = " \"parent\": \"builtin/generated\",";
// newStrings[currentPage] = ""; strings[2] = " \"textures\": {";
// strings = newStrings; strings[3] = " \"layer0\": \"" + itemName + "\"";
// strings[4] = " },";
// pageIndex = 1; strings[5] = " \"display\": {";
// strings[6] = " \"thirdperson\": {";
// String title = strLine.replaceFirst("//TITLE ", " ").trim(); strings[7] = " \"rotation\": [ -90, 0, 0 ],";
// currentTitle = "aw.entry." + title; strings[8] = " \"translation\": [ 0, 1, -3 ],";
// strings[9] = " \"scale\": [ 0.55, 0.55, 0.55 ]";
// continue; strings[10] = " },";
// } strings[11] = " \"firstperson\": {";
// strings[12] = " \"rotation\": [ 0, -135, 25 ],";
// strLine = strLine.replace('”', '"').replace('“','"'); strings[13] = " \"translation\": [ 0, 4, 2 ],";
// strings[14] = " \"scale\": [ 1.7, 1.7, 1.7 ]";
// if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null) strings[15] = " }";
// { strings[16] = " }";
// List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strLine, 110); strings[17] = "}";
// if(list != null)
// { return strings;
// System.out.println("Number of lines: " + list.size()); }
// }
// } @SideOnly(Side.CLIENT)
// public void parseTextFile()
// String[] cutStrings = strLine.split(" "); {
// File textFiles = new File("config/BloodMagic/bookDocs");
// for(String word : cutStrings) //if(textFiles.exists())
// { {
// boolean changePage = false; try {
// int length = word.length(); System.out.println("I am in an island of files!");
// word = word.replace('\t', ' ');
// List list = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " " + word, 110); InputStream input = AlchemicalWizardry.class.getResourceAsStream("/assets/alchemicalwizardryBooks/books/book.txt");
//
//// if(currentWidth != 0 && currentWidth + length + 1 > maxWidth) Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(true);
//// {
//// currentLine++; if(input != null)
//// currentWidth = 0; {
//// } DataInputStream in = new DataInputStream(input);
// //if(currentLine > maxLines) BufferedReader br = new BufferedReader(new InputStreamReader(in));
// if(list.size() > maxLines) 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) //if(currentLine > maxLines)
// { if(list.size() > maxLines)
// String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing {
// for(int i=0; i<strings.length; i++) changePage = true;
// { }
// newStrings[i] = strings[i]; if(changePage)
// } {
// String[] newStrings = new String[currentPage + 1 + 1]; //Just to show that it is increasing
// currentPage++; for(int i=0; i<strings.length; i++)
// {
// newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1]; newStrings[i] = strings[i];
// newStrings[currentPage] = word; }
// strings = newStrings;
// currentPage++;
// pageIndex++;
// newStrings[currentPage - 1] = currentTitle + "." + pageIndex + "=" + newStrings[currentPage - 1];
// changePage = false; newStrings[currentPage] = word;
// }else strings = newStrings;
// {
// strings[currentPage] = strings[currentPage] + " " + word; pageIndex++;
// }
// } changePage = false;
// }else
// int currentLines = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage], 110).size(); {
// while(Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " ", 110).size() <= currentLines) strings[currentPage] = strings[currentPage] + " " + word;
// { }
// { }
// strings[currentPage] = strings[currentPage] + " ";
// } int currentLines = Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage], 110).size();
// } while(Minecraft.getMinecraft().fontRenderer.listFormattedStringToWidth(strings[currentPage] + " ", 110).size() <= currentLines)
// {
// System.out.println("" + strLine); {
// } strings[currentPage] = strings[currentPage] + " ";
// }
// strings[currentPage] = currentTitle + "." + pageIndex + "=" + strings[currentPage]; }
//
// File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryBooks"); System.out.println("" + strLine);
// if(!bmDirectory.exists()) }
// {
// bmDirectory.mkdirs(); strings[currentPage] = currentTitle + "." + pageIndex + "=" + strings[currentPage];
// }
// File bmDirectory = new File("src/main/resources/assets/alchemicalwizardryBooks");
// File file = new File(bmDirectory, "books.txt"); if(!bmDirectory.exists())
//// if (file.exists() && file.length() > 3L) {
//// { bmDirectory.mkdirs();
//// }
//// }else
File file = new File(bmDirectory, "books.txt");
// if (file.exists() && file.length() > 3L)
// { // {
// PrintWriter writer = new PrintWriter(file); //
// for(String stri : strings) // }else
// { {
// writer.println(stri); PrintWriter writer = new PrintWriter(file);
// } for(String stri : strings)
// writer.close(); {
// } writer.println(stri);
}
writer.close();
}
// //
//// }
// }
// Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(false);
// Minecraft.getMinecraft().fontRenderer.setUnicodeFlag(false);
// } catch (FileNotFoundException e) {
// } catch (FileNotFoundException e) { // TODO Auto-generated catch block
// // TODO Auto-generated catch block e.printStackTrace();
// e.printStackTrace(); } catch (IOException e) {
// } catch (IOException e) { // TODO Auto-generated catch block
// // TODO Auto-generated catch block e.printStackTrace();
// e.printStackTrace(); }
// } }
// } }
// }
} }

View file

@ -78,11 +78,14 @@ public class RenderHelper
// renderTestHUD(mc, reagentStack, maxAmount); // renderTestHUD(mc, reagentStack, maxAmount);
} }
int max = APISpellHelper.getPlayerMaxLPTag(player); if(SpellHelper.canPlayerSeeLPBar(player))
if(max > 1)
{ {
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 x = (lpBarX - xSize / 2) * 8;
int y = (lpBarY - ySize / 2) * 8; int y = (lpBarY - ySize / 2) * 8;
ResourceLocation test2 = new ResourceLocation("alchemicalwizardry", "textures/gui/container1.png"); ResourceLocation test2 = new ResourceLocation("alchemicalwizardry", "textures/gui/container1.png");
GL11.glColor4f(1, 0, 0, 1.0F); GL11.glColor4f(1, 0, 0, 1.0F);
mc.getTextureManager().bindTexture(test2); mc.getTextureManager().bindTexture(test2);

View file

@ -5,13 +5,10 @@ import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile; 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.EntityCreeper;
import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -25,7 +22,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraftforge.client.event.FOVUpdateEvent;
import net.minecraftforge.event.AnvilUpdateEvent; import net.minecraftforge.event.AnvilUpdateEvent;
import net.minecraftforge.event.entity.living.EnderTeleportEvent; import net.minecraftforge.event.entity.living.EnderTeleportEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingAttackEvent;
@ -185,7 +181,7 @@ public class AlchemicalWizardryEventHooks
@SubscribeEvent @SubscribeEvent
public void onLivingJumpEvent(LivingJumpEvent event) 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)); //event.entityLiving.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(new UUID(493295, 1), "HealthModifier", 2, 0));
if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionBoost)) if (event.entityLiving.isPotionActive(AlchemicalWizardry.customPotionBoost))
@ -240,12 +236,12 @@ public class AlchemicalWizardryEventHooks
} }
} }
@SubscribeEvent
public void onFOVUpdate(FOVUpdateEvent event) // @SubscribeEvent
{ // public void onFOVUpdate(FOVUpdateEvent event)
event.setResult(Result.DENY); // {
} // event.setResult(Result.DENY);
// }
// @SubscribeEvent // @SubscribeEvent
// public void onPlayerTickEnd(PlayerTickEvent event) // public void onPlayerTickEnd(PlayerTickEvent event)
// { // {

View file

@ -1,15 +1,7 @@
package WayofTime.alchemicalWizardry.common.items; package WayofTime.alchemicalWizardry.common.items;
import WayofTime.alchemicalWizardry.AlchemicalWizardry; import java.util.List;
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 net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@ -30,11 +22,20 @@ import net.minecraftforge.common.util.Constants;
import thaumcraft.api.IGoggles; import thaumcraft.api.IGoggles;
import thaumcraft.api.IRunicArmor; import thaumcraft.api.IRunicArmor;
import thaumcraft.api.nodes.IRevealer; import thaumcraft.api.nodes.IRevealer;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import java.util.List; 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")}) @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 int invSize = 9;
private static IIcon helmetIcon; private static IIcon helmetIcon;
@ -614,6 +615,8 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA
{ {
return false; return false;
} }
int blood = getMaxBloodShardLevel(itemStack);
for (ItemStack item : inv) for (ItemStack item : inv)
{ {
@ -621,11 +624,53 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA
{ {
continue; continue;
} }
if (item.getItem() instanceof ArmourUpgrade && blood > 0)
if (item.getItem() instanceof IGoggles)
{ {
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; return false;

View file

@ -0,0 +1,8 @@
package WayofTime.alchemicalWizardry.common.items;
import net.minecraft.item.ItemStack;
public interface ILPGauge
{
public boolean canSeeLPBar(ItemStack itemStack);
}

View file

@ -41,6 +41,8 @@ import WayofTime.alchemicalWizardry.api.items.interfaces.IReagentManipulator;
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
import WayofTime.alchemicalWizardry.api.spell.APISpellHelper; import WayofTime.alchemicalWizardry.api.spell.APISpellHelper;
import WayofTime.alchemicalWizardry.common.NewPacketHandler; import WayofTime.alchemicalWizardry.common.NewPacketHandler;
import WayofTime.alchemicalWizardry.common.items.ILPGauge;
import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
public class SpellHelper public class SpellHelper
@ -95,6 +97,35 @@ public class SpellHelper
return false; 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) public static List<Entity> getEntitiesInRange(World world, double posX, double posY, double posZ, double horizontalRadius, double verticalRadius)
{ {