本文整理汇总了Java中net.minecraft.entity.passive.EntityAnimal.isBreedingItem方法的典型用法代码示例。如果您正苦于以下问题:Java EntityAnimal.isBreedingItem方法的具体用法?Java EntityAnimal.isBreedingItem怎么用?Java EntityAnimal.isBreedingItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.entity.passive.EntityAnimal
的用法示例。
在下文中一共展示了EntityAnimal.isBreedingItem方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: callMethod
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
@Override
public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException {
if (!Config.enableFeederTurtle)
throw new LuaException("Feeder Turtles have been disabled");
if (method == 0) {
ItemStack curItem = turtle.getInventory().getStackInSlot(turtle.getSelectedSlot());
if (curItem == null || curItem.stackSize <= 0)
return new Object[] {false};
ChunkCoordinates pos = turtle.getPosition();
for (EntityAnimal animal : (List<EntityAnimal>)turtle.getWorld().getEntitiesWithinAABB(EntityAnimal.class, AxisAlignedBB.getBoundingBox(pos.posX - 1.5D, pos.posY - 1.5D, pos.posZ - 1.5D, pos.posX + 1.5D, pos.posY + 1.5D, pos.posZ + 1.5D))) {
if (animal.getGrowingAge() == 0 && !animal.isInLove() && animal.isBreedingItem(curItem)) {
animal.setTarget(null);
animal.func_146082_f(null);//setting inLove to 600
curItem.stackSize--;
if (curItem.stackSize <= 0)
turtle.getInventory().setInventorySlotContents(turtle.getSelectedSlot(), null);
else
turtle.getInventory().setInventorySlotContents(turtle.getSelectedSlot(), curItem);
return new Object[]{true};
}
}
return new Object[]{false};
}
return new Object[0];
}
示例2: attackEntity
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
@Override
protected ArrayList<ItemStack> attackEntity(ITurtleAccess turtle, Entity entity) throws TurtleFailureAttack {
final IInventory inv = turtle.getInventory();
final int selected = turtle.getSelectedSlot();
final ItemStack currStack = inv.getStackInSlot(selected);
if (currStack == null || currStack.stackSize <= 0) {
throw new TurtleFailureAttack("selected slot empty");
}
final EntityAnimal animal = (EntityAnimal) entity;
if (animal.getGrowingAge() == 0 && !animal.isInLove() && animal.isBreedingItem(currStack)) {
animal.setTarget(null); // remove anything they're following
animal.func_146082_f(null); // set it in love
--currStack.stackSize;
if (currStack.stackSize == 0) {
inv.setInventorySlotContents(selected, null);
}
}
return null;
}
示例3: findAnimalToFeed
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
protected EntityAnimal findAnimalToFeed(int n) {
Point3I point = getPoint(n);
boundCheck = new AxisAlignedBB(point.getX(), point.getY()-1, point.getZ(),
point.getX()+1, point.getY()+2, point.getZ()+1);
List<EntityAnimal> entities = world.getEntitiesWithinAABB(EntityAnimal.class, boundCheck);
if (!entities.isEmpty()) {
for (EntityAnimal animal: entities) {
if ( (!slots[SLOT_FOOD].isEmpty()) && (animal.isBreedingItem(slots[SLOT_FOOD])) ) {
if (animal.getGrowingAge() == 0 && !animal.isInLove()) {
return animal;
}
}
}
}
return null;
}
示例4: isFoodItem
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
private boolean isFoodItem(EntityAnimal animal, ItemStack food) {
if (animal.isBreedingItem(food))
return true;
else if (animal instanceof EntityPig && food.getItem() == ModItems.beetroot && EtFuturum.enableBeetroot)
return true;
else if (animal instanceof EntityChicken && food.getItem() == ModItems.beetroot_seeds && EtFuturum.enableBeetroot)
return true;
else
return false;
}
示例5: hasBreedingItem
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
public boolean hasBreedingItem(EntityAnimal animal) {
for (int i = 0; i < this.inventory.getSizeInventory(); i++) {
if (this.inventory.getStackInSlot(i) != null
&& animal.isBreedingItem(this.inventory.getStackInSlot(i)))
return true;
}
return false;
}
示例6: getBreedingItem
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
public ItemStack getBreedingItem(EntityAnimal animal) {
for (int i = 0; i < this.inventory.getSizeInventory(); i++) {
if (ItemStackTools.isValid(this.inventory.getStackInSlot(i))
&& animal.isBreedingItem(this.inventory.getStackInSlot(i)))
return this.inventory.getStackInSlot(i).copy();
}
return ItemStackTools.getEmptyStack();
}
示例7: itemInteractionForEntity
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
@Override
public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase target) {
if (player.worldObj.isRemote || player.isSneaking() ||
!(target instanceof EntityAnimal))
return false;
InventoryPouch pouch = InventoryPouch.getOrCreate(player, player.inventory.currentItem);
ItemStack item = getNextItem(pouch, null);
if ((item == null) || !PouchAPI.getEntry(item).isFood ||
!((EntityAnimal)target).isBreedingItem(item))
return false;
boolean used = false;
AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(
target.posX - 2, target.posY - 1, target.posZ - 2,
target.posX + 2, target.posY + 1, target.posZ + 2);
List<EntityAnimal> entities = target.worldObj.getEntitiesWithinAABB(target.getClass(), aabb);
for (EntityAnimal entity : entities) {
if ((item = getNextItem(pouch, item)) == null) break;
if ((entity.getGrowingAge() == 0) && !entity.isInLove() &&
entity.isBreedingItem(item)) {
entity.func_146082_f(player);
item.stackSize--;
item = setLastPouchItem(pouch, item);
used = true;
}
}
return used;
}
示例8: getFirstBreedingItem
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
public ItemStack getFirstBreedingItem(EntityAnimal animal) {
for (int i = 0; i < inFeedItems.getSlots(); ++i) {
if (animal.isBreedingItem(inFeedItems.getStackInSlot(i))) return inFeedItems.getStackInSlot(i);
}
return ItemStack.EMPTY;
}
示例9: onBreedingUse
import net.minecraft.entity.passive.EntityAnimal; //导入方法依赖的package包/类
private boolean onBreedingUse( final ItemStack stack, final World world ) {
final ArrayList animals = getAnimals( world );
if ( animals == null ) {
return false;
}
int count = 0;
for ( int i = 0; i < animals.size() && count < 3 && stack.stackSize > 0; i++ ) {
final EntityAnimal entity = (EntityAnimal) animals.get( i );
int isBreedingCounter = ReflectionHelper.getPrivateValue(EntityAnimal.class, entity, MCP_BREEDING);
// skip unbreedable animals
if (!entity.isBreedingItem(stack) // can't breed with this item
|| entity.getGrowingAge() != 0 // is juvenile (negative) or recently proceated (positive)
|| isBreedingCounter != 0 // literally breeding now.
) {
continue;}
triedBreeding = true;
if ( fairy.getDistanceToEntity( entity ) < 3F ) {
ReflectionHelper.setPrivateValue(EntityAnimal.class, entity, 600, MCP_INLOVE);
count++;
stack.stackSize--;
}
}
if ( count > 0 ) {
fairy.armSwing( !fairy.didSwing );
fairy.setTempItem( stack.getItem() );
fairy.attackTime = 1;
fairy.setHearts( !fairy.didHearts );
if ( fairy.flymode() && fairy.getFlyTime() > 0 ) {
fairy.setFlyTime( 0 );
}
return true;
}
return false;
}