Java 类org.bukkit.entity.Ageable 实例源码
项目:Skellett
文件:EffBabyAdult.java
@Override
protected void execute(Event e) {
if (entity != null) {
if (marker == 1) {
if (Ageable.class.isAssignableFrom(entity.getSingle(e).getClass())) {
((Ageable)entity.getSingle(e)).setBaby();
} else if (Zombie.class.isAssignableFrom(entity.getSingle(e).getClass())) {
((Zombie)entity.getSingle(e)).setBaby(true);
}
} else {
if (Ageable.class.isAssignableFrom(entity.getSingle(e).getClass())) {
((Ageable)entity.getSingle(e)).setAdult();
} else if (Zombie.class.isAssignableFrom(entity.getSingle(e).getClass())) {
((Zombie)entity.getSingle(e)).setBaby(false);
}
}
}
}
项目:Skellett
文件:CondIsAdult.java
public boolean check(Event e) {
if (entity.getSingle(e) instanceof Ageable) {
if (((Ageable)entity.getSingle(e)).isAdult()) {
return isNegated();
} else {
return !isNegated();
}
} else if (entity.getSingle(e) instanceof Zombie) {
if (((Zombie)entity.getSingle(e)).isBaby()) {
return !isNegated();
} else {
return isNegated();
}
}
return false;
}
项目:buildinggame
文件:BabyMenu.java
/**
* {@inheritDoc}
*/
public BabyMenu(Plot plot, Entity entity) {
super(plot, entity);
ItemStack baby = new ItemStack(Material.EGG);
ItemMeta babyMeta = baby.getItemMeta();
babyMeta.setDisplayName(ChatColor.GREEN + "Change to baby/adult");
baby.setItemMeta(babyMeta);
insertItem(baby, event -> {
if (entity instanceof Ageable) {
Ageable ageable = (Ageable) entity;
if (ageable.isAdult())
ageable.setBaby();
else
ageable.setAdult();
} else if (entity instanceof Zombie) {
Zombie zombie = (Zombie) entity;
zombie.setBaby(!zombie.isBaby());
}
event.setCancelled(true);
}, 0);
}
项目:Slimefun4
文件:AnimalGrowthAccelerator.java
protected void tick(Block b) throws Exception {
for (Entity n: me.mrCookieSlime.Slimefun.holograms.AnimalGrowthAccelerator.getArmorStand(b).getNearbyEntities(3D, 3D, 3D)) {
if (n instanceof Ageable && !((Ageable) n).isAdult()) {
for (int slot: getInputSlots()) {
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
ChargableBlock.addCharge(b, -getEnergyConsumption());
BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), 1));
((Ageable) n).setAge(((Ageable) n).getAge() + 2000);
if (((Ageable) n).getAge() > 0) ((Ageable) n).setAge(0);
ParticleEffect.VILLAGER_HAPPY.display(((LivingEntity) n).getEyeLocation(), 0.2F, 0.2F, 0.2F, 0, 8);
return;
}
}
}
}
}
项目:PlotSquared
文件:PlayerEvents.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent event) {
Entity damager = event.getDamager();
Location l = BukkitUtil.getLocation(damager);
if (!PS.get().hasPlotArea(l.getWorld())) {
return;
}
Entity victim = event.getEntity();
if (!entityDamage(damager, victim)) {
if (event.isCancelled()) {
if (victim instanceof Ageable) {
Ageable ageable = (Ageable) victim;
if (ageable.getAge() == -24000) {
ageable.setAge(0);
ageable.setAdult();
}
}
}
event.setCancelled(true);
}
}
项目:MineKart
文件:AgeableMountData.java
@Override
public void applyMountData(Entity entity) {
super.applyMountData(entity);
if (!(entity instanceof Ageable)) {
return;
}
Ageable ageable = (Ageable) entity;
if (adult) {
ageable.setAdult();
} else {
ageable.setBaby();
}
ageable.setAgeLock(true);
}
项目:Slimefun4-Chinese-Version
文件:AnimalGrowthAccelerator.java
protected void tick(Block b)
throws Exception
{
for(Iterator iterator = me.mrCookieSlime.Slimefun.holograms.AnimalGrowthAccelerator.getArmorStand(b).getNearbyEntities(3D, 3D, 3D).iterator(); iterator.hasNext();)
{
Entity n = (Entity)iterator.next();
if((n instanceof Ageable) && !((Ageable)n).isAdult())
{
int ai[];
int j = (ai = getInputSlots()).length;
for(int i = 0; i < j; i++)
{
int slot = ai[i];
if(SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false))
{
if(ChargableBlock.getCharge(b) < getEnergyConsumption())
return;
ChargableBlock.addCharge(b, -getEnergyConsumption());
BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), 1));
((Ageable)n).setAge(((Ageable)n).getAge() + 2000);
if(((Ageable)n).getAge() > 0)
((Ageable)n).setAge(0);
ParticleEffect.VILLAGER_HAPPY.display(((LivingEntity)n).getEyeLocation(), 0.2F, 0.2F, 0.2F, 0.0F, 8);
return;
}
}
}
}
}
项目:mczone
文件:PetInstance.java
public void update() {
if (entity != null) {
//((CraftEntity) entity).getHandle().setEquipment(4, new net.minecraft.server.v1_5_R2.ItemStack(Item.DIAMOND_HELMET));
//Chat.server(((CraftEntity) entity).getHandle().getEquipment().toString());
Player owner = Bukkit.getPlayerExact(this.owner);
if (owner == null)
return;
entity.setCustomName(nameColor + name);
entity.setCustomNameVisible(true);
if (entity instanceof Tameable) {
tamed = true;
((Tameable) entity).setTamed(true);
((Tameable) entity).setOwner(owner);
}
if (entity instanceof Ageable && age != null) {
if (getAge() == Age.BABY)
((Ageable) entity).setBaby();
((Ageable) entity).setAgeLock(true);
}
if (entity instanceof Zombie && age != null) {
if (getAge() == Age.BABY)
((Zombie) entity).setBaby(true);
}
if (entity instanceof Sheep && color != null) {
((Sheep) entity).setColor(getColor());
}
}
}
项目:Skript
文件:EntityData.java
@SuppressWarnings("unchecked")
public final boolean isInstance(final @Nullable Entity e) {
if (e == null)
return false;
if (!baby.isUnknown() && e instanceof Ageable && ((Ageable) e).isAdult() != baby.isFalse())
return false;
return getType().isInstance(e) && match((E) e);
}
项目:CS-CoreLib
文件:Animals.java
public static boolean isFeedable(Entity n) throws Exception {
if (!(n instanceof org.bukkit.entity.Animals && ((Ageable) n).isAdult() && ((Ageable) n).canBreed())) return false;
Object handle = ReflectionUtils.getHandle(CraftObject.ANIMALS, n);
Field f = ReflectionUtils.tryField(ReflectionUtils.getClass(PackageName.NMS, "EntityAnimal"), "bv", "bw","bx");
f.setAccessible(true);
return f.getInt(handle) < 1;
}
项目:Skellett
文件:ExprAgeLock.java
@Override
@Nullable
protected Boolean[] get(Event e) {
if (entity.getSingle(e) instanceof Ageable) {
if (entity != null) {
return new Boolean[]{((Ageable)entity.getSingle(e)).getAgeLock()};
}
}
return null;
}
项目:Skellett
文件:ExprAgeLock.java
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
if (mode == ChangeMode.SET) {
if (entity.getSingle(e) instanceof Ageable) {
if (entity != null) {
((Ageable)entity.getSingle(e)).setAgeLock((Boolean)delta[0]);
}
}
}
}
项目:Skellett
文件:ExprAge.java
@Override
@Nullable
protected Number[] get(Event e) {
if (entity.getSingle(e) instanceof Ageable) {
if (entity != null) {
return new Number[]{((Ageable)entity.getSingle(e)).getAge()};
}
}
return null;
}
项目:Skellett
文件:ExprAge.java
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
if (mode == ChangeMode.SET) {
if (entity.getSingle(e) instanceof Ageable) {
if (entity != null) {
Number age = (Number)delta[0];
((Ageable)entity.getSingle(e)).setAge(age.intValue());
}
}
}
}
项目:Skellett
文件:CondCanBreed.java
public boolean check(Event e) {
if (entity.getSingle(e) instanceof Ageable) {
if (((Ageable)entity.getSingle(e)).canBreed()) {
return isNegated();
} else {
return !isNegated();
}
}
return false;
}
项目:CanaryBukkit
文件:CanaryAgeable.java
public int getAge() {
if (getHandle() instanceof net.canarymod.api.entity.living.Ageable) {
return ((net.canarymod.api.entity.living.Ageable) getHandle()).getGrowingAge();
} else {
return 0;
}
}
项目:PlotSquared-Chinese
文件:EntityWrapper.java
private void restoreAgeable(final Ageable entity) {
if (!this.aged.adult) {
entity.setBaby();
}
if (this.aged.locked) {
entity.setAgeLock(this.aged.locked);
}
entity.setAge(this.aged.age);
}
项目:PlotSquared
文件:EntityWrapper.java
private void restoreAgeable(Ageable entity) {
if (!this.aged.adult) {
entity.setBaby();
}
entity.setAgeLock(this.aged.locked);
if (this.aged.age > 0) {
entity.setAge(this.aged.age);
}
}
项目:NucleusFramework
文件:AgeableAnimal.java
public AgeableAnimal(Entity entity) {
PreCon.notNull(entity);
PreCon.isValid(entity instanceof Ageable, "org.bukkit.entity.Ageable expected.");
Ageable ageable = (Ageable)entity;
_age = ageable.getAge();
_ageLock = ageable.getAgeLock();
}
项目:NucleusFramework
文件:AgeableAnimal.java
@Override
public boolean apply(Entity entity) {
PreCon.notNull(entity);
PreCon.isValid(entity instanceof Ageable, "org.bukkit.entity.Ageable expected.");
Ageable ageable = (Ageable)entity;
ageable.setAge(_age);
ageable.setAgeLock(_ageLock);
return true;
}
项目:DiscoSheep
文件:BabyParty.java
@Override
protected Entity spawnGuest(EntityType type) {
Entity guest = super.spawnGuest(type);
if (guest instanceof Ageable && guestBabyCount > 0) {
Ageable baby = (Ageable) guest;
baby.setBaby();
--guestBabyCount;
}
return guest;
}
项目:SonarPet
文件:EntityAgeablePet.java
@Override
public Ageable getBukkitEntity() {
return (Ageable) super.getBukkitEntity();
}
项目:Skellett
文件:ExprBreedState.java
@Override
@Nullable
protected Boolean[] get(Event e) {
return new Boolean[]{((Ageable)entity.getSingle(e)).canBreed()};
}
项目:Skellett
文件:ExprBreedState.java
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
if (mode == ChangeMode.SET) {
((Ageable)entity.getSingle(e)).setBreed((Boolean)delta[0]);
}
}
项目:CanaryBukkit
文件:CanaryAgeable.java
public void setAge(int age) {
if (getHandle() instanceof net.canarymod.api.entity.living.Ageable) {
((net.canarymod.api.entity.living.Ageable) getHandle()).setGrowingAge(age);
}
}
项目:SimpleEgg
文件:LorePacker.java
/**
* Assembles an ArrayList of the properties for the specified Entity that
* is to be used for a spawn egg. All instanceof checks are done internally
* by the LorePackager, so no type checking is required prior to calling
* this method. Null Entities will throw an IllegalArgumentException. <b>The
* actual ArrayList is returned by {@link #getLore() LorePacker.getLore()}.
* </b>
* @param livingEntity - The Entity to assemble a lore for.
* @return An ArrayList of Strings
* @throws IllegalArgumentException If entity parameter is null
*/
public LorePacker(LivingEntity livingEntity) throws IllegalArgumentException {
if (livingEntity == null) {
throw new IllegalArgumentException("Can't assemble lore for a null entity!");
}
lore = new ArrayList<String>();
// This needs to always be on top of an egg's lore
lore.add("Identifier: SimpleEgg." + livingEntity.getType().getEntityClass().getSimpleName() + "." + Main.getSelf().getDescription().getVersion());
lore.addAll(livingEntity(livingEntity));
if (livingEntity instanceof Ageable) {
lore.addAll(ageable((Ageable) livingEntity));
if (livingEntity instanceof Sheep) {
lore.addAll(sheep((Sheep) livingEntity));
} else if (livingEntity instanceof Pig) {
lore.addAll(pig((Pig) livingEntity));
} else if (livingEntity instanceof Rabbit) {
lore.addAll(rabbit((Rabbit) livingEntity));
} else if (livingEntity instanceof Villager) {
lore.addAll(villager((Villager) livingEntity));
} else if (livingEntity instanceof Tameable) {
lore.addAll(tameable((Tameable) livingEntity));
if (livingEntity instanceof AbstractHorse) {
lore.addAll(abstractHorse((AbstractHorse) livingEntity));
if (livingEntity instanceof Horse) {
lore.addAll(horse((Horse) livingEntity));
} else if (livingEntity instanceof ChestedHorse) {
lore.addAll(chestedHorse((ChestedHorse) livingEntity));
if (livingEntity instanceof Llama) {
lore.addAll(llama((Llama) livingEntity));
}
}
} else if (livingEntity instanceof Sittable) {
lore.addAll(sittable((Sittable) livingEntity));
if (livingEntity instanceof Wolf) {
lore.addAll(wolf((Wolf) livingEntity));
} else if (livingEntity instanceof Ocelot) {
lore.addAll(ocelot((Ocelot) livingEntity));
} else if (livingEntity instanceof Parrot) {
lore.addAll(parrot((Parrot) livingEntity));
}
}
}
} else if (livingEntity instanceof Slime) {
lore.addAll(slime((Slime) livingEntity));
} else if (livingEntity instanceof Creeper) {
lore.addAll(creeper((Creeper) livingEntity));
} else if (livingEntity instanceof Zombie) {
lore.addAll(zombie((Zombie) livingEntity));
if (livingEntity instanceof PigZombie) {
lore.addAll(pigZombie((PigZombie) livingEntity));
} else if (livingEntity instanceof ZombieVillager) {
lore.addAll(zombieVillager((ZombieVillager) livingEntity));
}
} else if (livingEntity instanceof Spellcaster) {
lore.addAll(spellCaster((Spellcaster) livingEntity));
} else if (livingEntity instanceof IronGolem) {
lore.addAll(ironGolem((IronGolem) livingEntity));
} else if (livingEntity instanceof Snowman) {
lore.addAll(snowman((Snowman) livingEntity));
}
}
项目:PlotSquared-Chinese
文件:EntityWrapper.java
public void storeAgeable(final Ageable aged) {
this.aged = new AgeableStats();
this.aged.age = aged.getAge();
this.aged.locked = aged.getAgeLock();
this.aged.adult = aged.isAdult();
}
项目:PlotSquared
文件:EntityWrapper.java
public void storeAgeable(Ageable aged) {
this.aged = new AgeableStats();
this.aged.age = aged.getAge();
this.aged.locked = aged.getAgeLock();
this.aged.adult = aged.isAdult();
}
项目:Shopkeepers
文件:LivingEntityShop.java
@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;
}
}