public Entity spawnEntity(Location loc, EntityType entityType) { // Cauldron start - handle custom entity spawns from plugins if (EntityRegistry.entityClassMap.get(entityType.getName()) != null) { net.minecraft.entity.Entity entity = null; entity = getEntity(EntityRegistry.entityClassMap.get(entityType.getName()), world); if (entity != null) { entity.setLocationAndAngles(loc.getX(), loc.getY(), loc.getZ(), 0, 0); world.addEntity(entity, SpawnReason.CUSTOM); return entity.getBukkitEntity(); } } // Cauldron end return spawn(loc, entityType.getEntityClass()); }
@Override public void spawn(Location location) { NMSRegistry.accessWorldGuardSpawn(location); final net.minecraft.server.v1_8_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("NoBasePlate", true); this.a(compound); this.slime = new CustomRabbit(location.getWorld(), true, this); this.slime.spawn(location); this.getSpigotEntity().setHeadPose(new EulerAngle(0, 0, 0)); this.getSpigotEntity().setBodyPose(new EulerAngle(0, 0, 2778)); this.getSpigotEntity().setRightArmPose(new EulerAngle(2778, 0, 0)); NMSRegistry.rollbackWorldGuardSpawn(location); }
@Override public void spawn(Location location) { NMSRegistry.accessWorldGuardSpawn(location); final World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("NoBasePlate", true); this.a(compound); this.slime = new CustomRabbit(location.getWorld(), true, this); this.slime.spawn(location); this.getSpigotEntity().setHeadPose(new EulerAngle(0, 0, 0)); this.getSpigotEntity().setBodyPose(new EulerAngle(0, 0, 2778)); this.getSpigotEntity().setRightArmPose(new EulerAngle(2778, 0, 0)); NMSRegistry.rollbackWorldGuardSpawn(location); }
@Override public void spawn(Location location) { NMSRegistry.accessWorldGuardSpawn(location); final net.minecraft.server.v1_8_R3.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("NoBasePlate", true); this.a(compound); this.slime = new CustomRabbit(location.getWorld(), this); this.slime.spawn(location); this.getSpigotEntity().setHeadPose(new EulerAngle(0, 0, 0)); this.getSpigotEntity().setBodyPose(new EulerAngle(0, 0, 2778)); this.getSpigotEntity().setRightArmPose(new EulerAngle(2778, 0, 0)); NMSRegistry.rollbackWorldGuardSpawn(location); }
@Override public void spawn(Location location) { NMSRegistry.accessWorldGuardSpawn(location); final net.minecraft.server.v1_8_R2.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("NoBasePlate", true); this.a(compound); this.slime = new CustomRabbit(location.getWorld(), true, this); this.slime.spawn(location); this.getSpigotEntity().setHeadPose(new EulerAngle(0, 0, 0)); this.getSpigotEntity().setBodyPose(new EulerAngle(0, 0, 2778)); this.getSpigotEntity().setRightArmPose(new EulerAngle(2778, 0, 0)); NMSRegistry.rollbackWorldGuardSpawn(location); }
@EventHandler public void onSpawn(CreatureSpawnEvent event) { if (getConfig().getBoolean("Config.Mode.BlockPayEntitiesSpawnedBySpawnerEggs") == true) { if (event.getSpawnReason() == SpawnReason.SPAWNER_EGG) { this.DisabledEntitiesHashMap.put(event.getEntity().getUniqueId(), true); } } if (getConfig().getBoolean("Config.Mode.BlockPayEntitiesSpawnedBySpawners") == true) { if (event.getSpawnReason() == SpawnReason.SPAWNER) { this.DisabledEntitiesHashMap.put(event.getEntity().getUniqueId(), true); } } if (getConfig().getBoolean("Config.Mode.BlockPayEntitiesSpawnedBySummonCommand") == true) { if (event.getSpawnReason() == SpawnReason.DEFAULT) { this.DisabledEntitiesHashMap.put(event.getEntity().getUniqueId(), true); } if (event.getSpawnReason() == SpawnReason.CUSTOM) { this.DisabledEntitiesHashMap.put(event.getEntity().getUniqueId(), true); } } }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onEntitySpawn(CreatureSpawnEvent event) { LivingEntity entity = event.getEntity(); if(!this.isMonster(entity)) return; SpawnReason reason = event.getSpawnReason(); if(reason == SpawnReason.SPAWNER || reason == SpawnReason.SPAWNER_EGG) { entity.setMetadata(this.ALLOW_TARGET_TAG, new FixedMetadataValue(GPFlags.instance, new Boolean(true))); return; } Flag flag = this.GetFlagInstanceAtLocation(event.getLocation(), null); if(flag == null) return; event.setCancelled(true); }
@EventHandler(priority = EventPriority.LOWEST) public void onEntitySpawn(CreatureSpawnEvent event) { if(!(event.getEntity() instanceof LivingEntity)) return; if(event.getLocation() == null) return; EntityType type = event.getEntityType(); if(type == EntityType.PLAYER) return; if(type == EntityType.ARMOR_STAND) return; SpawnReason reason = event.getSpawnReason(); if(reason == SpawnReason.SPAWNER || reason == SpawnReason.SPAWNER_EGG) return; Flag flag = this.GetFlagInstanceAtLocation(event.getLocation(), null); if(flag == null) return; event.setCancelled(true); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onCreatureSpawn(CreatureSpawnEvent event) { if (event.getSpawnReason() != SpawnReason.NATURAL) { //TODO: Should check for Custom instead of checking against natural? return; } EntityType type = event.getEntityType(); World world = event.getLocation().getWorld(); PluginConfig worldConfig = plugin.getConfig(world); if (plugin.isActive(world) && plugin.isFeatureEnabled(world, Feature.MORE_SPAWNING) && worldConfig.getStringList(Config.FEATURE_MORE_SPAWNING_MOBS).contains(type.getName().toUpperCase())) { for (int i = 0; i < Math.max(worldConfig.getInt(Config.FEATURE_MORE_SPAWNING_MULTIPLIER), 1); ++i) { for (BloodMoonEntityType bloodMoonEntity : BloodMoonEntityType.values()) { if (type == bloodMoonEntity.getEntityType()) { bloodMoonEntity.spawnEntity(event.getLocation().add((random.nextDouble() * 3) - 1.5, (random.nextDouble() * 3) - 1.5, (random.nextDouble() * 3) - 1.5)); return; } } } } }
@EventHandler(priority = EventPriority.LOWEST) public void onEntitySpawn(CreatureSpawnEvent event) { //these rules apply only to creative worlds if(!GriefPrevention.instance.creativeRulesApply(event.getLocation())) return; //chicken eggs and breeding could potentially make a mess in the wilderness, once griefers get involved SpawnReason reason = event.getSpawnReason(); if(reason != SpawnReason.SPAWNER_EGG && reason != SpawnReason.BUILD_IRONGOLEM && reason != SpawnReason.BUILD_SNOWMAN) { event.setCancelled(true); return; } //otherwise, just apply the limit on total entities per claim (and no spawning in the wilderness!) Claim claim = this.dataStore.getClaimAt(event.getLocation(), false, null); if(claim == null || claim.allowMoreEntities() != null) { event.setCancelled(true); return; } }
public static Entity spawn(Location loc, ICustomMob iCustom, String name) { CraftWorld world = (CraftWorld) loc.getWorld(); World mcWorld = world.getHandle(); MobBaseZombie zombie = new MobBaseZombie(mcWorld, iCustom); if (name != null) { zombie.setCustomName(name); zombie.setCustomNameVisible(true); } iCustom.setEntity(zombie); zombie.setPosition(loc.getX(), loc.getY(), loc.getZ()); mcWorld.addEntity(zombie, SpawnReason.CUSTOM); return zombie; }
@EventHandler public void onCreatureSpawn(CreatureSpawnEvent event) { Entity entity = event.getEntity(); Location location = event.getLocation(); Point pos = new Point(location.getBlockX(), location.getBlockZ()); ZoneWorld world = plugin.getWorld(entity.getWorld()); Zone zone = world.findZone(pos); if (zone == null || zone.hasHostiles()) { return; } if (!allowedMobs.contains(event.getEntityType()) && event.getSpawnReason() == SpawnReason.NATURAL) { event.setCancelled(true); } }
/** * - Prevents natural spawn of EnderDragon * - Prevents too many Dragons in the End world * - Handle custom health and take care of this new Dragon * * @param event a CreatureSpawnEvent */ @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onEnderDragonSpawn(final CreatureSpawnEvent event) { if (event.getEntityType() == EntityType.ENDER_DRAGON) { final EndWorldHandler handler = this.plugin.getHandler(StringUtil.toLowerCamelCase(event.getLocation().getWorld().getName())); if (handler != null) { if (handler.getNumberOfAliveEnderDragons() >= handler.getConfig().getRespawnNumber()) { event.setCancelled(true); } else { if (event.getSpawnReason() != SpawnReason.CUSTOM && event.getSpawnReason() != SpawnReason.SPAWNER_EGG) { event.setCancelled(true); } else { if (!handler.getDragons().containsKey(event.getEntity().getUniqueId())) { handler.getDragons().put(event.getEntity().getUniqueId(), new HashMap<String, Double>()); event.getEntity().setMaxHealth(handler.getConfig().getEdHealth()); event.getEntity().setHealth(event.getEntity().getMaxHealth()); } handler.getLoadedDragons().add(event.getEntity().getUniqueId()); } } } } }
public FallingBlock spawnFallingBlock(Location location, org.bukkit.Material material, byte data) throws IllegalArgumentException { Validate.notNull(location, "Location cannot be null"); Validate.notNull(material, "Material cannot be null"); Validate.isTrue(material.isBlock(), "Material must be a block"); double x = location.getBlockX() + 0.5; double y = location.getBlockY() + 0.5; double z = location.getBlockZ() + 0.5; net.minecraft.entity.item.EntityFallingBlock entity = new net.minecraft.entity.item.EntityFallingBlock(world, x, y, z, net.minecraft.block.Block.getBlockById(material.getId()), data); entity.field_145812_b = 1; // ticksLived world.addEntity(entity, SpawnReason.CUSTOM); return (FallingBlock) entity.getBukkitEntity(); }
public static void logEntitySpawn(World world, Entity entity, SpawnReason spawnReason) { if (MinecraftServer.cauldronConfig.entitySpawnLogging.getValue()) { logInfo("Dim: {0} Spawning ({1}): {2}", world.provider.dimensionId, spawnReason, entity); logInfo("Dim: {0} Entities Last Tick: {1}", world.provider.dimensionId, world.entitiesTicked); logInfo("Dim: {0} Tiles Last Tick: {1}", world.provider.dimensionId, world.tilesTicked); //logInfo("Chunk Is Active: {0}", world.inActiveChunk(entity)); logStack(); } }
@EventHandler public void onCreatureSpawn(CreatureSpawnEvent event) { if (event.getSpawnReason() != SpawnReason.CUSTOM) { event.getEntity().setHealth(0); event.getEntity().remove(); } }
public void castSpell(final LivingEntity caster, final MobData md, Player target) { for (Entity p : RMath.getNearbyEntitiesCylinder(md.entity.getLocation(), md.ai.rangeDistance, 9)) { if (p instanceof Player && Spell.canDamage(p, false)) { EntityLiving e = (EntityLiving) ((CraftEntity) caster).getHandle(); EntityArrow entityarrow = new EntityTippedArrow(e.world, e); EntityLiving etarget = (EntityLiving) (((CraftPlayer) p).getHandle()); double d0 = etarget.locX - e.locX; double d1 = etarget.getBoundingBox().b + etarget.length / 3.0F - entityarrow.locY; double d2 = etarget.locZ - e.locZ; double d3 = MathHelper.sqrt(d0 * d0 + d2 * d2); entityarrow.shoot(d0, d1 + d3 * 0.2D, d2, md.ai.rangePower, 10); e.world.addEntity(entityarrow, SpawnReason.CUSTOM); } } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_8_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }
public void spawn(Location location) { final PetBlockSpawnEvent event = new PetBlockSpawnEvent(this); Bukkit.getPluginManager().callEvent(event); if (!event.isCanceled()) { NMSRegistry.accessWorldGuardSpawn(location); this.rabbit.spawn(location); final net.minecraft.server.v1_8_R1.World mcWorld = ((org.bukkit.craftbukkit.v1_8_R1.CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final net.minecraft.server.v1_8_R1.NBTTagCompound compound = new net.minecraft.server.v1_8_R1.NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("ShowArms", true); compound.setBoolean("NoBasePlate", true); this.a(compound); ((ArmorStand)this.getArmorStand()).setBodyPose(new EulerAngle(0, 0, 2878)); ((ArmorStand)this.getArmorStand()).setLeftArmPose(new EulerAngle(2878, 0, 0)); ((ArmorStand)this.getArmorStand()).setMetadata("keep", this.getKeepField()); NMSRegistry.rollbackWorldGuardSpawn(location); ((ArmorStand)this.getArmorStand()).setCustomNameVisible(true); ((ArmorStand)this.getArmorStand()).setCustomName(this.petMeta.getPetDisplayName()); ((ArmorStand)this.getArmorStand()).setRemoveWhenFarAway(false); ((LivingEntity) this.rabbit.getEntity()).setRemoveWhenFarAway(false); this.health = ConfigPet.getInstance().getCombat_health(); if (this.petMeta == null) return; PetBlockHelper.setItemConsideringAge(this); } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_9_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }
public void spawn(Location location) { final PetBlockSpawnEvent event = new PetBlockSpawnEvent(this); Bukkit.getPluginManager().callEvent(event); if (!event.isCanceled()) { NMSRegistry.accessWorldGuardSpawn(location); this.rabbit.spawn(location); final net.minecraft.server.v1_9_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("ShowArms", true); compound.setBoolean("NoBasePlate", true); this.a(compound); ((ArmorStand)this.getArmorStand()).setBodyPose(new EulerAngle(0, 0, 2878)); ((ArmorStand)this.getArmorStand()).setLeftArmPose(new EulerAngle(2878, 0, 0)); ((ArmorStand)this.getArmorStand()).setMetadata("keep", this.getKeepField()); NMSRegistry.rollbackWorldGuardSpawn(location); ((ArmorStand)this.getArmorStand()).setCustomNameVisible(true); ((ArmorStand)this.getArmorStand()).setCustomName(this.petMeta.getPetDisplayName()); ((ArmorStand)this.getArmorStand()).setRemoveWhenFarAway(false); ((LivingEntity) this.getEngineEntity()).setRemoveWhenFarAway(false); this.health = ConfigPet.getInstance().getCombat_health(); if (this.petMeta == null) return; PetBlockHelper.setItemConsideringAge(this); } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_9_R2.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }
public void spawn(Location location) { final PetBlockSpawnEvent event = new PetBlockSpawnEvent(this); Bukkit.getPluginManager().callEvent(event); if (!event.isCanceled()) { NMSRegistry.accessWorldGuardSpawn(location); this.rabbit.spawn(location); final net.minecraft.server.v1_9_R2.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("ShowArms", true); compound.setBoolean("NoBasePlate", true); this.a(compound); ((ArmorStand)this.getArmorStand()).setBodyPose(new EulerAngle(0, 0, 2878)); ((ArmorStand)this.getArmorStand()).setLeftArmPose(new EulerAngle(2878, 0, 0)); ((ArmorStand)this.getArmorStand()).setMetadata("keep", this.getKeepField()); NMSRegistry.rollbackWorldGuardSpawn(location); ((ArmorStand)this.getArmorStand()).setCustomNameVisible(true); ((ArmorStand)this.getArmorStand()).setCustomName(this.petMeta.getPetDisplayName()); ((ArmorStand)this.getArmorStand()).setRemoveWhenFarAway(false); ((LivingEntity) this.getEngineEntity()).setRemoveWhenFarAway(false); this.health = ConfigPet.getInstance().getCombat_health(); if (this.petMeta == null) return; PetBlockHelper.setItemConsideringAge(this); } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_10_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }
public void spawn(Location location) { final PetBlockSpawnEvent event = new PetBlockSpawnEvent(this); Bukkit.getPluginManager().callEvent(event); if (!event.isCanceled()) { NMSRegistry.accessWorldGuardSpawn(location); this.rabbit.spawn(location); final World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("ShowArms", true); compound.setBoolean("NoBasePlate", true); this.a(compound); ((ArmorStand)this.getArmorStand()).setBodyPose(new EulerAngle(0, 0, 2878)); ((ArmorStand)this.getArmorStand()).setLeftArmPose(new EulerAngle(2878, 0, 0)); ((ArmorStand)this.getArmorStand()).setMetadata("keep", this.getKeepField()); NMSRegistry.rollbackWorldGuardSpawn(location); ((ArmorStand)this.getArmorStand()).setCustomNameVisible(true); ((ArmorStand)this.getArmorStand()).setCustomName(this.petMeta.getPetDisplayName()); ((ArmorStand)this.getArmorStand()).setRemoveWhenFarAway(false); ((LivingEntity) this.getEngineEntity()).setRemoveWhenFarAway(false); this.health = ConfigPet.getInstance().getCombat_health(); if (this.petMeta == null) return; PetBlockHelper.setItemConsideringAge(this); } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_12_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }
public void spawn(Location location) { final PetBlockSpawnEvent event = new PetBlockSpawnEvent(this); Bukkit.getPluginManager().callEvent(event); if (!event.isCanceled()) { NMSRegistry.accessWorldGuardSpawn(location); this.rabbit.spawn(location); final World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); final NBTTagCompound compound = new NBTTagCompound(); compound.setBoolean("invulnerable", true); compound.setBoolean("Invisible", true); compound.setBoolean("PersistenceRequired", true); compound.setBoolean("ShowArms", true); compound.setBoolean("NoBasePlate", true); this.a(compound); ((ArmorStand) this.getArmorStand()).setBodyPose(new EulerAngle(0, 0, 2878)); ((ArmorStand) this.getArmorStand()).setLeftArmPose(new EulerAngle(2878, 0, 0)); ((ArmorStand) this.getArmorStand()).setMetadata("keep", this.getKeepField()); NMSRegistry.rollbackWorldGuardSpawn(location); ((ArmorStand) this.getArmorStand()).setCustomNameVisible(true); ((ArmorStand) this.getArmorStand()).setCustomName(this.petMeta.getPetDisplayName()); ((ArmorStand) this.getArmorStand()).setRemoveWhenFarAway(false); ((LivingEntity) this.getEngineEntity()).setRemoveWhenFarAway(false); this.health = ConfigPet.getInstance().getCombat_health(); if (this.petMeta == null) return; PetBlockHelper.setItemConsideringAge(this); } }
/** * Spawns the entity at the given location * * @param mLocation location */ @Override public void spawn(Object mLocation) { final Location location = (Location) mLocation; final LivingEntity entity = (LivingEntity) this.getEntity(); final net.minecraft.server.v1_11_R1.World mcWorld = ((CraftWorld) location.getWorld()).getHandle(); this.setPosition(location.getX(), location.getY(), location.getZ()); mcWorld.addEntity(this, SpawnReason.CUSTOM); entity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 9999999, 1)); entity.setMetadata("keep", this.getKeepField()); entity.setCustomNameVisible(false); entity.setCustomName("PetBlockIdentifier"); }