entity = new EntitySkeleton(world); if(world.rand.nextInt(8) == 0) { entity = new EntityWitherSkeleton(world);
@Override public void readEntityFromNBT(NBTTagCompound compound) { super.readEntityFromNBT(compound); captain = compound.getBoolean(TAG_CAPTAIN); }
@Override public void setItemStackToSlot(@Nonnull EntityEquipmentSlot slotIn, @Nonnull ItemStack stack) { super.setItemStackToSlot(slotIn, stack); setCombatTaskReal(); }
private void setSpawn(byte id) { EntitySkeleton skeleton; EntityGaiaSphinx sphinx; if (id == 0) { skeleton = new EntitySkeleton(world); skeleton.setLocationAndAngles(posX, posY, posZ, rotationYaw, 0.0F); skeleton.onInitialSpawn(world.getDifficultyForLocation(new BlockPos(skeleton)), null); skeleton.setItemStackToSlot(EntityEquipmentSlot.HEAD, new ItemStack(GaiaItems.ACCESSORY_HEADGEAR, 1, 0)); skeleton.setDropChance(EntityEquipmentSlot.MAINHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.OFFHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.FEET, 0); skeleton.setDropChance(EntityEquipmentSlot.LEGS, 0); skeleton.setDropChance(EntityEquipmentSlot.CHEST, 0); skeleton.setDropChance(EntityEquipmentSlot.HEAD, 0); world.spawnEntity(skeleton); } if (id == 1) { explode(); sphinx = new EntityGaiaSphinx(world); sphinx.setLocationAndAngles(posX, posY, posZ, rotationYaw, 0.0F); sphinx.onInitialSpawn(world.getDifficultyForLocation(new BlockPos(sphinx)), null); world.spawnEntity(sphinx); } }
@Override public void doRenderLayer(EntitySkeleton entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { boolean flag = entitylivingbaseIn.getPrimaryHand() == EnumHandSide.RIGHT; ItemStack itemstack = flag ? entitylivingbaseIn.getHeldItemOffhand() : entitylivingbaseIn.getHeldItemMainhand(); ItemStack itemstack1 = flag ? entitylivingbaseIn.getHeldItemMainhand() : entitylivingbaseIn.getHeldItemOffhand(); if(!itemstack.isEmpty() || !itemstack1.isEmpty()) { GlStateManager.pushMatrix(); if(livingEntityRenderer.getMainModel().isChild) { GlStateManager.translate(0.0F, 0.625F, 0.0F); GlStateManager.rotate(-20.0F, -1.0F, 0.0F, 0.0F); GlStateManager.scale(0.5F, 0.5F, 0.5F); } renderHeldItem(entitylivingbaseIn, itemstack1, ItemCameraTransforms.TransformType.THIRD_PERSON_RIGHT_HAND, EnumHandSide.RIGHT); // renderHeldItem(entitylivingbaseIn, itemstack, ItemCameraTransforms.TransformType.THIRD_PERSON_LEFT_HAND, EnumHandSide.LEFT); GlStateManager.popMatrix(); } } private void renderHeldItem(EntityLivingBase p_188358_1_, ItemStack p_188358_2_, ItemCameraTransforms.TransformType p_188358_3_, EnumHandSide handSide) {
@Override protected void applyEntityAttributes() { super.applyEntityAttributes(); if(captain) getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(60); }
@Override public void writeEntityToNBT(@Nonnull NBTTagCompound root) { super.writeEntityToNBT(root); root.setBoolean("canBreakDoors", canBreakDoors); }
private static String GetOverlayMessageForWitherSkeleton(EntitySkeleton witherSkeleton, float distanceFromMe) { String overlayMessage = "Wither " + witherSkeleton.getCommandSenderName(); //add distance to this wither skeleton into the message if (ShowDistanceToPlayers) { overlayMessage = EnumChatFormatting.GRAY + "[" + (int)distanceFromMe + "] " + EnumChatFormatting.RESET + overlayMessage; } return overlayMessage; }
@Override public boolean getCanSpawnHere() { return super.getCanSpawnHere() && posY < DepthMobs.upperBound; }
@Override protected void despawnEntity() { Entity mount = getRidingEntity(); super.despawnEntity(); if (isDead && mount != null) { mount.setDead(); } }
private boolean modifyAITargetTasks(EntitySkeleton entity) { cancelCurrentTargetTasks(entity); // entity.setCombatTask(); entity.targetTasks.addTask(1, new EntityAINearestAttackableTarget(entity, EntityMob.class, 10, true, false, checkSkeleton)); entity.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0); entity.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).setBaseValue(1); return true; }
private void setSpawn(byte id) { EntityZombie zombie; EntitySkeleton skeleton; if (id == 0) { zombie = new EntityZombie(world); zombie.setLocationAndAngles(posX, posY, posZ, rotationYaw, 0.0F); zombie.onInitialSpawn(world.getDifficultyForLocation(new BlockPos(zombie)), null); zombie.setItemStackToSlot(EntityEquipmentSlot.HEAD, new ItemStack(GaiaItems.ACCESSORY_HEADGEAR, 1, 1)); zombie.setDropChance(EntityEquipmentSlot.MAINHAND, 0); zombie.setDropChance(EntityEquipmentSlot.OFFHAND, 0); zombie.setDropChance(EntityEquipmentSlot.FEET, 0); zombie.setDropChance(EntityEquipmentSlot.LEGS, 0); zombie.setDropChance(EntityEquipmentSlot.CHEST, 0); zombie.setDropChance(EntityEquipmentSlot.HEAD, 0); world.spawnEntity(zombie); } if (id == 1) { skeleton = new EntitySkeleton(world); skeleton.setLocationAndAngles(posX, posY, posZ, rotationYaw, 0.0F); skeleton.onInitialSpawn(world.getDifficultyForLocation(new BlockPos(skeleton)), null); skeleton.setItemStackToSlot(EntityEquipmentSlot.HEAD, new ItemStack(GaiaItems.ACCESSORY_HEADGEAR, 1, 1)); skeleton.setDropChance(EntityEquipmentSlot.MAINHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.OFFHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.FEET, 0); skeleton.setDropChance(EntityEquipmentSlot.LEGS, 0); skeleton.setDropChance(EntityEquipmentSlot.CHEST, 0); skeleton.setDropChance(EntityEquipmentSlot.HEAD, 0); world.spawnEntity(skeleton); } }
@Override protected void applyEntityAttributes() { super.applyEntityAttributes(); getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(ZooConfig.fallenKnightFollowRange.get()); applyAttributes(this, ZooConfig.fallenKnightHealth, ZooConfig.fallenKnightAttackDamage); }
@Override public void writeEntityToNBT(NBTTagCompound compound) { super.writeEntityToNBT(compound); compound.setBoolean(TAG_CAPTAIN, captain); }
skeleton = new EntitySkeleton(world); skeleton.setLocationAndAngles(posX, posY, posZ, rotationYaw, 0.0F); skeleton.onInitialSpawn(world.getDifficultyForLocation(new BlockPos(skeleton)), null); skeleton.setItemStackToSlot(EntityEquipmentSlot.HEAD, new ItemStack(GaiaItems.ACCESSORY_HEADGEAR, 1, 0)); skeleton.setDropChance(EntityEquipmentSlot.MAINHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.OFFHAND, 0); skeleton.setDropChance(EntityEquipmentSlot.FEET, 0); skeleton.setDropChance(EntityEquipmentSlot.LEGS, 0); skeleton.setDropChance(EntityEquipmentSlot.CHEST, 0); skeleton.setDropChance(EntityEquipmentSlot.HEAD, 0); world.spawnEntity(skeleton);
if(world.rand.nextInt(10) == 0) entity = new EntityStray(world); else entity = new EntitySkeleton(world); break; case 2:
@Override public void readEntityFromNBT(@Nonnull NBTTagCompound root) { super.readEntityFromNBT(root); setCanBreakDoors(root.getBoolean("canBreakDoors")); setCombatTaskReal(); }