diff --git a/src/api b/src/api index 538c4393d..d2601e5d5 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 538c4393d1115614e4ea61cecfd9e19727dafdfc +Subproject commit d2601e5d572f79f9ee54d724b203520be783f54a diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java b/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java index 00111dca4..a28b88b9d 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java @@ -6,6 +6,7 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.player.EntityPlayer; @@ -779,6 +780,39 @@ public class ScriptEntity implements IEntity { return entity.isCollided; } + public boolean hasCollidedVertically() { + return entity.isCollidedVertically; + } + + public boolean hasCollidedHorizontally() { + return entity.isCollidedHorizontally; + } + + public boolean capturesDrops() { + return entity.captureDrops; + } + + public void setCapturesDrops(boolean capture) { + entity.captureDrops = capture; + } + + public void setCapturedDrops(IEntity[] capturedDrops) { + entity.capturedDrops.clear(); + for (IEntity iEntity : capturedDrops) { + if (iEntity.getMCEntity() instanceof EntityItem) { + entity.capturedDrops.add((EntityItem) iEntity.getMCEntity()); + } + } + } + + public IEntity[] getCapturedDrops() { + ArrayList> iEntityList = new ArrayList<>(); + for (EntityItem entityItem : entity.capturedDrops) { + iEntityList.add(NpcAPI.Instance().getIEntity(entityItem)); + } + return iEntityList.toArray(new IEntity[0]); + } + /** * @since 1.7.10c * @return Returns whether or not this entity is sneaking