aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-11 02:59:02 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-11 02:59:02 +1000
commit3b7cff8412af5afbf99bfd40fee1193a6cd8c400 (patch)
tree2212e7359109d8c424848cae5ae2f9bbc43f83f6 /src/Java/gtPlusPlus/core/util
parent761a3c8b0c0eb02bd2897359a575126aae1af20f (diff)
downloadGT5-Unofficial-3b7cff8412af5afbf99bfd40fee1193a6cd8c400.tar.gz
GT5-Unofficial-3b7cff8412af5afbf99bfd40fee1193a6cd8c400.tar.bz2
GT5-Unofficial-3b7cff8412af5afbf99bfd40fee1193a6cd8c400.zip
+ Added some new Monster Killer Baubles. Kill nearby mobs for power, power cost scales with HP total, left and other EntityLiving stats.
+ Added new constructors for AutoMaps. + Added a Wrapper (AABB) for AxisAlignedBB. $ Fixed Hot Titanium Ingot recipe.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java48
1 files changed, 38 insertions, 10 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
index 844bb0bcaf..8c5a9f6581 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
@@ -3,26 +3,28 @@ package gtPlusPlus.core.util.minecraft;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import cpw.mods.fml.common.registry.EntityRegistry;
-import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.minecraft.AABB;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import ic2.core.IC2Potion;
+import ic2.core.item.armor.ItemArmorHazmat;
import net.minecraft.block.Block;
-import net.minecraft.entity.*;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
-import gregtech.api.util.GT_Utility;
-
-import gtPlusPlus.api.objects.minecraft.BlockPos;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
-import ic2.core.IC2Potion;
-import ic2.core.item.armor.ItemArmorHazmat;
-
public class EntityUtils {
public static void setEntityOnFire(final Entity entity, final int length){
@@ -158,5 +160,31 @@ public class EntityUtils {
}
return false;
}
+
+ public static double getDistance(Entity p1, Entity p2) {
+ return Math.sqrt( Math.pow(p1.posX - p2.posX, 2) + Math.pow(p1.posY - p2.posY, 2) + Math.pow(p1.posZ - p2.posZ, 2));
+ }
+
+ public static AutoMap<Entity> getEntitiesWithinBoundingBoxExcluding(Entity aExclusion, AABB aBoundingBox){
+
+ if (aExclusion == null) {
+ return new AutoMap<Entity>();
+ }
+ else {
+ List<Entity> aEntities = aBoundingBox.world().getEntitiesWithinAABBExcludingEntity(aExclusion, aBoundingBox.get());
+ return new AutoMap<Entity>(aEntities);
+ }
+ }
+
+ public static AutoMap<Entity> getEntitiesWithinBoundingBox(Class aEntityType, AABB aBoundingBox){
+
+ if (aEntityType == null) {
+ return new AutoMap<Entity>();
+ }
+ else {
+ List<Entity> aEntities = aBoundingBox.world().getEntitiesWithinAABB(aEntityType, aBoundingBox.get());
+ return new AutoMap<Entity>(aEntities);
+ }
+ }
}