java中setage方法,Java Ageable.setAgeLock方法代码示例

import org.bukkit.entity.Ageable; //导入方法依赖的package包/类

@Override

public boolean spawn() {

// check if our current old entity is still valid:

if (this.isActive()) return true;

if (entity != null) {

// clean up metadata before replacing the currently stored entity with a new one:

this.removeShopkeeperMetadata(entity);

}

// prepare location:

World world = Bukkit.getWorld(shopkeeper.getWorldName());

Location location = new Location(world, shopkeeper.getX() + 0.5D, shopkeeper.getY() + 0.5D, shopkeeper.getZ() + 0.5D);

// find old shopkeeper entity, else spawn a new one:

if (!this.searchOldEntity(location)) {

// TODO check if the block is passable before spawning there?

// try to bypass entity-spawn blocking plugins:

EntityType entityType = this.getEntityType();

ShopkeepersPlugin.getInstance().forceCreatureSpawn(location, entityType);

entity = (LivingEntity) world.spawnEntity(location, entityType);

uuid = entity.getUniqueId().toString();

}

if (this.isActive()) {

// assign metadata for easy identification by other plugins:

this.assignShopkeeperMetadata(entity);

this.setName(shopkeeper.getName());

// configure some entity attributes:

entity.eject(); // some entities might automatically mount on nearby entities (like baby zombies on chicken)

entity.setRemoveWhenFarAway(false);

entity.setCanPickupItems(false);

// disable breeding:

if (entity instanceof Ageable) {

Ageable ageable = ((Ageable) entity);

ageable.setBreed(false);

ageable.setAgeLock(true);

}

// remove potion effects:

for (PotionEffect potionEffect : entity.getActivePotionEffects()) {

entity.removePotionEffect(potionEffect.getType());

}

// overwrite AI:

this.overwriteAI();

// apply sub type:

this.applySubType();

// success:

return true;

} else {

// failure:

entity = null;

return false;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值