@SubscribeEvent public void checkSetTarget(LivingSetAttackTargetEvent event) { if (event.getTarget() == null) return; if (!(event.getTarget() instanceof EntityPlayer) || event.getTarget() instanceof FakePlayer) return; if (!(event.getEntity() instanceof EntityLiving)) return; EntityPlayer player = (EntityPlayer)event.getTarget(); EntityLiving ent = (EntityLiving)event.getEntity(); boolean flag = player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == UCItems.poncho && NBTUtils.getInt(player.inventory.armorInventory[2], ItemGeneric.TAG_UPGRADE, -1) == 10; if (flag && ent.isNonBoss() && !(ent instanceof EntityGuardian || ent instanceof EntityShulker)) { ent.setAttackTarget(null); ent.setRevengeTarget(null); } }
/** * Renders the desired {@code T} type Entity. */ public void doRender(EntityShulker entity, double x, double y, double z, float entityYaw, float partialTicks) { int i = entity.getClientTeleportInterp(); if (i > 0 && entity.isAttachedToBlock()) { BlockPos blockpos = entity.getAttachmentPos(); BlockPos blockpos1 = entity.getOldAttachPos(); double d0 = (double)((float)i - partialTicks) / 6.0D; d0 = d0 * d0; double d1 = (double)(blockpos.getX() - blockpos1.getX()) * d0; double d2 = (double)(blockpos.getY() - blockpos1.getY()) * d0; double d3 = (double)(blockpos.getZ() - blockpos1.getZ()) * d0; super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks); } else { super.doRender(entity, x, y, z, entityYaw, partialTicks); } }
public boolean shouldRender(EntityShulker livingEntity, ICamera camera, double camX, double camY, double camZ) { if (super.shouldRender(livingEntity, camera, camX, camY, camZ)) { return true; } else { if (livingEntity.getClientTeleportInterp() > 0 && livingEntity.isAttachedToBlock()) { BlockPos blockpos = livingEntity.getOldAttachPos(); BlockPos blockpos1 = livingEntity.getAttachmentPos(); Vec3d vec3d = new Vec3d((double)blockpos1.getX(), (double)blockpos1.getY(), (double)blockpos1.getZ()); Vec3d vec3d1 = new Vec3d((double)blockpos.getX(), (double)blockpos.getY(), (double)blockpos.getZ()); if (camera.isBoundingBoxInFrustum(new AxisAlignedBB(vec3d1.xCoord, vec3d1.yCoord, vec3d1.zCoord, vec3d.xCoord, vec3d.yCoord, vec3d.zCoord))) { return true; } } return false; } }
protected void handleDataMarker(String p_186175_1_, BlockPos p_186175_2_, World p_186175_3_, Random p_186175_4_, StructureBoundingBox p_186175_5_) { if (p_186175_1_.startsWith("Chest")) { BlockPos blockpos = p_186175_2_.down(); if (p_186175_5_.isVecInside(blockpos)) { TileEntity tileentity = p_186175_3_.getTileEntity(blockpos); if (tileentity instanceof TileEntityChest) { ((TileEntityChest)tileentity).setLootTable(LootTableList.CHESTS_END_CITY_TREASURE, p_186175_4_.nextLong()); } } } else if (p_186175_1_.startsWith("Sentry")) { EntityShulker entityshulker = new EntityShulker(p_186175_3_); entityshulker.setPosition((double)p_186175_2_.getX() + 0.5D, (double)p_186175_2_.getY() + 0.5D, (double)p_186175_2_.getZ() + 0.5D); entityshulker.setAttachmentPos(p_186175_2_); p_186175_3_.spawnEntityInWorld(entityshulker); } else if (p_186175_1_.startsWith("Elytra")) { EntityItemFrame entityitemframe = new EntityItemFrame(p_186175_3_, p_186175_2_, this.rotation.rotate(EnumFacing.SOUTH)); entityitemframe.setDisplayedItem(new ItemStack(Items.ELYTRA)); p_186175_3_.spawnEntityInWorld(entityitemframe); } }
protected void rotateCorpse(EntityShulker entityLiving, float p_77043_2_, float p_77043_3_, float partialTicks) { super.rotateCorpse(entityLiving, p_77043_2_, p_77043_3_, partialTicks); switch (entityLiving.getAttachmentFacing()) { case DOWN: default: break; case EAST: GlStateManager.translate(0.5F, 0.5F, 0.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); break; case WEST: GlStateManager.translate(-0.5F, 0.5F, 0.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); break; case NORTH: GlStateManager.translate(0.0F, 0.5F, -0.5F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); break; case SOUTH: GlStateManager.translate(0.0F, 0.5F, 0.5F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); break; case UP: GlStateManager.translate(0.0F, 1.0F, 0.0F); GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); } }
/** * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how * "far" arms and legs can swing at most. */ public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn) { EntityShulker entityshulker = (EntityShulker)entityIn; float f = ageInTicks - (float)entityshulker.ticksExisted; float f1 = (0.5F + entityshulker.getClientPeekAmount(f)) * (float)Math.PI; float f2 = -1.0F + MathHelper.sin(f1); float f3 = 0.0F; if (f1 > (float)Math.PI) { f3 = MathHelper.sin(ageInTicks * 0.1F) * 0.7F; } this.lid.setRotationPoint(0.0F, 16.0F + MathHelper.sin(f1) * 8.0F + f3, 0.0F); if (entityshulker.getClientPeekAmount(f) > 0.3F) { this.lid.rotateAngleY = f2 * f2 * f2 * f2 * (float)Math.PI * 0.125F; } else { this.lid.rotateAngleY = 0.0F; } this.head.rotateAngleX = headPitch * 0.017453292F; this.head.rotateAngleY = netHeadYaw * 0.017453292F; }
/** * Renders the desired {@code T} type Entity. */ public void doRender(EntityShulker entity, double x, double y, double z, float entityYaw, float partialTicks) { if (this.modelVersion != ((ModelShulker)this.mainModel).getModelVersion()) { this.mainModel = new ModelShulker(); this.modelVersion = ((ModelShulker)this.mainModel).getModelVersion(); } int i = entity.getClientTeleportInterp(); if (i > 0 && entity.isAttachedToBlock()) { BlockPos blockpos = entity.getAttachmentPos(); BlockPos blockpos1 = entity.getOldAttachPos(); double d0 = (double)((float)i - partialTicks) / 6.0D; d0 = d0 * d0; double d1 = (double)(blockpos.getX() - blockpos1.getX()) * d0; double d2 = (double)(blockpos.getY() - blockpos1.getY()) * d0; double d3 = (double)(blockpos.getZ() - blockpos1.getZ()) * d0; super.doRender(entity, x - d1, y - d2, z - d3, entityYaw, partialTicks); } else { super.doRender(entity, x, y, z, entityYaw, partialTicks); } }
@SubscribeEvent public void onEntityDrop(LivingDropsEvent event) { EntityLivingBase living = event.getEntityLiving(); if (living == null || living.world == null) return; Random rand = living.world.rand; if (living instanceof EntityShulker) { if (rand.nextFloat() < 1.0f) { event.getEntityLiving().entityDropItem(ModItems.material.getMaterial("ender_cream", 1 + rand.nextInt(2)), 0); } } }
private boolean isHostileMob(EntityLivingBase victim) { return victim instanceof EntityMob || victim instanceof EntitySlime || victim instanceof EntityMagmaCube || victim instanceof EntityGhast || victim instanceof EntityShulker; }
@Override protected void initEntityAI() { super.initEntityAI(); this.tasks.addTask(1, new MobAIRangedAttack(this, 0, 0, 15)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false, new Class[0])); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityDragon>(this, EntityDragon.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityGhast>(this, EntityGhast.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityMob>(this, EntityMob.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityShulker>(this, EntityShulker.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntitySlime>(this, EntitySlime.class, true)); }
/** * Called every time a target is constructed. Allows for capabilities to be attatched to * the target. * * @param event The forge event. */ @SubscribeEvent public void attachCapabilities (AttachCapabilitiesEvent<Entity> event) { if (event.getObject() instanceof EntityShulker) { event.addCapability(new ResourceLocation(DarkUtils.MOD_ID, "shulker_info"), new Provider()); } }
@SubscribeEvent public void onLivingDrops (LivingDropsEvent event) { if (event.getEntity() instanceof EntityShulker) { final ICustomData data = ShulkerDataHandler.getData(event.getEntity()); if (data != null && data.getCooldown() <= 0) { final Vec3d pos = event.getEntity().getPositionVector(); event.getDrops().add(new EntityItem(event.getEntity().getEntityWorld(), pos.x, pos.y, pos.z, new ItemStack(itemShulkerPearl))); data.setCooldown(this.maxCooldown); } } }
@SubscribeEvent public void onEntityInteract (EntityInteract event) { if (event.getSide().equals(Side.SERVER) && this.harvestablePearls && event.getTarget() instanceof EntityShulker) { final ICustomData data = ShulkerDataHandler.getData(event.getTarget()); if (data != null && data.getCooldown() <= 0) { event.getTarget().entityDropItem(new ItemStack(itemShulkerPearl), 0.5f); data.setCooldown(this.maxCooldown); } } }
@SubscribeEvent public void onEntityUpdate (LivingUpdateEvent event) { if (this.harvestablePearls && event.getEntity() instanceof EntityShulker) { final ICustomData data = ShulkerDataHandler.getData(event.getEntity()); final int current = data.getCooldown(); if (data != null && current > 0) { data.setCooldown(current - 1); } } }
@Override public float getHatScale(EntityLivingBase ent) { EntityShulker shulker = (EntityShulker)ent; float peek = shulker.getClientPeekAmount(1F); if(peek <= 0.0F) { return 0F; } return 0.75F; }
@Override public float getEyeScale(EntityShulker living, float partialTick, int eye) { if(living.getClientPeekAmount(partialTick) <= 0F) { return 0F; } return eyeScale; }
@Override public float[] getHeadJointOffset(EntityShulker living, float partialTick, int eye) { switch (living.getAttachmentFacing()) { case DOWN: default: break; case EAST: GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case WEST: GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(-1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case NORTH: GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, -1.0F); break; case SOUTH: GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, 1.0F); break; case UP: GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -2.0F, 0.0F); } return super.getHeadJointOffset(living, partialTick, eye); }
public ModelAdapterShulker() { super(EntityShulker.class, "shulker", 0.0F); }
void func_190935_a(CraftingManager p_190935_1_) { p_190935_1_.addRecipe(BlockShulkerBox.func_190953_b(EntityShulker.field_190771_bx), new Object[] {"-", "#", "-", '-', Items.field_190930_cZ, '#', Blocks.CHEST}); p_190935_1_.addRecipe(new ShulkerBoxRecipes.ShulkerBoxColoring()); }
/** * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. */ protected ResourceLocation getEntityTexture(EntityShulker entity) { return SHULKER_ENDERGOLEM_TEXTURE[entity.func_190769_dn().getMetadata()]; }
/** * Allows the render to do state modifications necessary before the model is rendered. */ protected void preRenderCallback(EntityShulker entitylivingbaseIn, float partialTickTime) { float f = 0.999F; GlStateManager.scale(0.999F, 0.999F, 0.999F); }
public void doRenderLayer(EntityShulker entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { GlStateManager.pushMatrix(); switch (entitylivingbaseIn.getAttachmentFacing()) { case DOWN: default: break; case EAST: GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case WEST: GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(-1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case NORTH: GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, -1.0F); break; case SOUTH: GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, 1.0F); break; case UP: GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -2.0F, 0.0F); } ModelRenderer modelrenderer = RenderShulker.this.getMainModel().head; modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F; modelrenderer.rotateAngleX = headPitch * 0.017453292F; RenderShulker.this.bindTexture(RenderShulker.SHULKER_ENDERGOLEM_TEXTURE[entitylivingbaseIn.func_190769_dn().getMetadata()]); modelrenderer.render(scale); GlStateManager.popMatrix(); }
public RenderManager(TextureManager renderEngineIn, RenderItem itemRendererIn) { this.renderEngine = renderEngineIn; this.entityRenderMap.put(EntityCaveSpider.class, new RenderCaveSpider(this)); this.entityRenderMap.put(EntitySpider.class, new RenderSpider(this)); this.entityRenderMap.put(EntityPig.class, new RenderPig(this, new ModelPig(), 0.7F)); this.entityRenderMap.put(EntitySheep.class, new RenderSheep(this, new ModelSheep2(), 0.7F)); this.entityRenderMap.put(EntityCow.class, new RenderCow(this, new ModelCow(), 0.7F)); this.entityRenderMap.put(EntityMooshroom.class, new RenderMooshroom(this, new ModelCow(), 0.7F)); this.entityRenderMap.put(EntityWolf.class, new RenderWolf(this, new ModelWolf(), 0.5F)); this.entityRenderMap.put(EntityChicken.class, new RenderChicken(this, new ModelChicken(), 0.3F)); this.entityRenderMap.put(EntityOcelot.class, new RenderOcelot(this, new ModelOcelot(), 0.4F)); this.entityRenderMap.put(EntityRabbit.class, new RenderRabbit(this, new ModelRabbit(), 0.3F)); this.entityRenderMap.put(EntitySilverfish.class, new RenderSilverfish(this)); this.entityRenderMap.put(EntityEndermite.class, new RenderEndermite(this)); this.entityRenderMap.put(EntityCreeper.class, new RenderCreeper(this)); this.entityRenderMap.put(EntityEnderman.class, new RenderEnderman(this)); this.entityRenderMap.put(EntitySnowman.class, new RenderSnowMan(this)); this.entityRenderMap.put(EntitySkeleton.class, new RenderSkeleton(this)); this.entityRenderMap.put(EntityWitch.class, new RenderWitch(this)); this.entityRenderMap.put(EntityBlaze.class, new RenderBlaze(this)); this.entityRenderMap.put(EntityPigZombie.class, new RenderPigZombie(this)); this.entityRenderMap.put(EntityZombie.class, new RenderZombie(this)); this.entityRenderMap.put(EntitySlime.class, new RenderSlime(this, new ModelSlime(16), 0.25F)); this.entityRenderMap.put(EntityMagmaCube.class, new RenderMagmaCube(this)); this.entityRenderMap.put(EntityGiantZombie.class, new RenderGiantZombie(this, new ModelZombie(), 0.5F, 6.0F)); this.entityRenderMap.put(EntityGhast.class, new RenderGhast(this)); this.entityRenderMap.put(EntitySquid.class, new RenderSquid(this, new ModelSquid(), 0.7F)); this.entityRenderMap.put(EntityVillager.class, new RenderVillager(this)); this.entityRenderMap.put(EntityIronGolem.class, new RenderIronGolem(this)); this.entityRenderMap.put(EntityBat.class, new RenderBat(this)); this.entityRenderMap.put(EntityGuardian.class, new RenderGuardian(this)); this.entityRenderMap.put(EntityShulker.class, new RenderShulker(this, new ModelShulker())); this.entityRenderMap.put(EntityPolarBear.class, new RenderPolarBear(this, new ModelPolarBear(), 0.7F)); this.entityRenderMap.put(EntityDragon.class, new RenderDragon(this)); this.entityRenderMap.put(EntityEnderCrystal.class, new RenderEnderCrystal(this)); this.entityRenderMap.put(EntityWither.class, new RenderWither(this)); this.entityRenderMap.put(Entity.class, new RenderEntity(this)); this.entityRenderMap.put(EntityPainting.class, new RenderPainting(this)); this.entityRenderMap.put(EntityItemFrame.class, new RenderItemFrame(this, itemRendererIn)); this.entityRenderMap.put(EntityLeashKnot.class, new RenderLeashKnot(this)); this.entityRenderMap.put(EntityTippedArrow.class, new RenderTippedArrow(this)); this.entityRenderMap.put(EntitySpectralArrow.class, new RenderSpectralArrow(this)); this.entityRenderMap.put(EntitySnowball.class, new RenderSnowball(this, Items.SNOWBALL, itemRendererIn)); this.entityRenderMap.put(EntityEnderPearl.class, new RenderSnowball(this, Items.ENDER_PEARL, itemRendererIn)); this.entityRenderMap.put(EntityEnderEye.class, new RenderSnowball(this, Items.ENDER_EYE, itemRendererIn)); this.entityRenderMap.put(EntityEgg.class, new RenderSnowball(this, Items.EGG, itemRendererIn)); this.entityRenderMap.put(EntityPotion.class, new RenderPotion(this, itemRendererIn)); this.entityRenderMap.put(EntityExpBottle.class, new RenderSnowball(this, Items.EXPERIENCE_BOTTLE, itemRendererIn)); this.entityRenderMap.put(EntityFireworkRocket.class, new RenderSnowball(this, Items.FIREWORKS, itemRendererIn)); this.entityRenderMap.put(EntityLargeFireball.class, new RenderFireball(this, 2.0F)); this.entityRenderMap.put(EntitySmallFireball.class, new RenderFireball(this, 0.5F)); this.entityRenderMap.put(EntityDragonFireball.class, new RenderDragonFireball(this)); this.entityRenderMap.put(EntityWitherSkull.class, new RenderWitherSkull(this)); this.entityRenderMap.put(EntityShulkerBullet.class, new RenderShulkerBullet(this)); this.entityRenderMap.put(EntityItem.class, new RenderEntityItem(this, itemRendererIn)); this.entityRenderMap.put(EntityXPOrb.class, new RenderXPOrb(this)); this.entityRenderMap.put(EntityTNTPrimed.class, new RenderTNTPrimed(this)); this.entityRenderMap.put(EntityFallingBlock.class, new RenderFallingBlock(this)); this.entityRenderMap.put(EntityArmorStand.class, new RenderArmorStand(this)); this.entityRenderMap.put(EntityMinecartTNT.class, new RenderTntMinecart(this)); this.entityRenderMap.put(EntityMinecartMobSpawner.class, new RenderMinecartMobSpawner(this)); this.entityRenderMap.put(EntityMinecart.class, new RenderMinecart(this)); this.entityRenderMap.put(EntityBoat.class, new RenderBoat(this)); this.entityRenderMap.put(EntityFishHook.class, new RenderFish(this)); this.entityRenderMap.put(EntityAreaEffectCloud.class, new RenderAreaEffectCloud(this)); this.entityRenderMap.put(EntityHorse.class, new RenderHorse(this, new ModelHorse(), 0.75F)); this.entityRenderMap.put(EntityLightningBolt.class, new RenderLightningBolt(this)); this.playerRenderer = new RenderPlayer(this); this.skinMap.put("default", this.playerRenderer); this.skinMap.put("slim", new RenderPlayer(this, true)); net.minecraftforge.fml.client.registry.RenderingRegistry.loadEntityRenderers(this, this.entityRenderMap); }
/** * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. */ protected ResourceLocation getEntityTexture(EntityShulker entity) { return SHULKER_ENDERGOLEM_TEXTURE; }
public void doRenderLayer(EntityShulker entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) { GlStateManager.pushMatrix(); switch (entitylivingbaseIn.getAttachmentFacing()) { case DOWN: default: break; case EAST: GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case WEST: GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(-1.0F, -1.0F, 0.0F); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); break; case NORTH: GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, -1.0F); break; case SOUTH: GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -1.0F, 1.0F); break; case UP: GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); GlStateManager.translate(0.0F, -2.0F, 0.0F); } ModelRenderer modelrenderer = ((ModelShulker)RenderShulker.this.getMainModel()).head; modelrenderer.rotateAngleY = netHeadYaw * 0.017453292F; modelrenderer.rotateAngleX = headPitch * 0.017453292F; RenderShulker.this.bindTexture(RenderShulker.SHULKER_ENDERGOLEM_TEXTURE); modelrenderer.render(scale); GlStateManager.popMatrix(); }
public static DataFixer createFixer() { DataFixer datafixer = new DataFixer(512); WorldInfo.registerFixes(datafixer); EntityPlayer.registerFixesPlayer(datafixer); AnvilChunkLoader.registerFixes(datafixer); ItemStack.registerFixes(datafixer); EntityArmorStand.registerFixesArmorStand(datafixer); EntityArrow.registerFixesArrow(datafixer); EntityBat.registerFixesBat(datafixer); EntityBlaze.registerFixesBlaze(datafixer); EntityCaveSpider.registerFixesCaveSpider(datafixer); EntityChicken.registerFixesChicken(datafixer); EntityCow.registerFixesCow(datafixer); EntityCreeper.registerFixesCreeper(datafixer); EntityDragonFireball.registerFixesDragonFireball(datafixer); EntityDragon.registerFixesDragon(datafixer); EntityEnderman.registerFixesEnderman(datafixer); EntityEndermite.registerFixesEndermite(datafixer); EntityFallingBlock.registerFixesFallingBlock(datafixer); EntityLargeFireball.registerFixesLargeFireball(datafixer); EntityFireworkRocket.registerFixesFireworkRocket(datafixer); EntityGhast.registerFixesGhast(datafixer); EntityGiantZombie.registerFixesGiantZombie(datafixer); EntityGuardian.registerFixesGuardian(datafixer); EntityHorse.registerFixesHorse(datafixer); EntityItem.registerFixesItem(datafixer); EntityItemFrame.registerFixesItemFrame(datafixer); EntityMagmaCube.registerFixesMagmaCube(datafixer); EntityMinecartChest.registerFixesMinecartChest(datafixer); EntityMinecartCommandBlock.registerFixesMinecartCommand(datafixer); EntityMinecartFurnace.registerFixesMinecartFurnace(datafixer); EntityMinecartHopper.registerFixesMinecartHopper(datafixer); EntityMinecartEmpty.registerFixesMinecartEmpty(datafixer); EntityMinecartMobSpawner.registerFixesMinecartMobSpawner(datafixer); EntityMinecartTNT.registerFixesMinecartTNT(datafixer); EntityLiving.registerFixesMob(datafixer); EntityMob.registerFixesMonster(datafixer); EntityMooshroom.registerFixesMooshroom(datafixer); EntityOcelot.registerFixesOcelot(datafixer); EntityPig.registerFixesPig(datafixer); EntityPigZombie.registerFixesPigZombie(datafixer); EntityRabbit.registerFixesRabbit(datafixer); EntitySheep.registerFixesSheep(datafixer); EntityShulker.registerFixesShulker(datafixer); EntitySilverfish.registerFixesSilverfish(datafixer); EntitySkeleton.registerFixesSkeleton(datafixer); EntitySlime.registerFixesSlime(datafixer); EntitySmallFireball.registerFixesSmallFireball(datafixer); EntitySnowman.registerFixesSnowman(datafixer); EntitySnowball.registerFixesSnowball(datafixer); EntitySpectralArrow.registerFixesSpectralArrow(datafixer); EntitySpider.registerFixesSpider(datafixer); EntitySquid.registerFixesSquid(datafixer); EntityEgg.registerFixesEgg(datafixer); EntityEnderPearl.registerFixesEnderPearl(datafixer); EntityExpBottle.registerFixesExpBottle(datafixer); EntityPotion.registerFixesPotion(datafixer); EntityTippedArrow.registerFixesTippedArrow(datafixer); EntityVillager.registerFixesVillager(datafixer); EntityIronGolem.registerFixesIronGolem(datafixer); EntityWitch.registerFixesWitch(datafixer); EntityWither.registerFixesWither(datafixer); EntityWitherSkull.registerFixesWitherSkull(datafixer); EntityWolf.registerFixesWolf(datafixer); EntityZombie.registerFixesZombie(datafixer); TileEntityPiston.registerFixesPiston(datafixer); TileEntityFlowerPot.registerFixesFlowerPot(datafixer); TileEntityFurnace.registerFixesFurnace(datafixer); TileEntityChest.registerFixesChest(datafixer); TileEntityDispenser.registerFixes(datafixer); TileEntityDropper.registerFixesDropper(datafixer); TileEntityBrewingStand.registerFixesBrewingStand(datafixer); TileEntityHopper.registerFixesHopper(datafixer); BlockJukebox.registerFixesJukebox(datafixer); TileEntityMobSpawner.registerFixesMobSpawner(datafixer); registerFixes(datafixer); return datafixer; }
public boolean apply(@Nullable Entity p_apply_1_) { return p_apply_1_ instanceof EntityShulker && p_apply_1_.isEntityAlive(); }
@Override public Class<? extends EntityLivingBase> getEntityClass() { return EntityShulker.class; }
public static boolean isEndMob(EntityLivingBase e){ if(e instanceof EntityShulker||e instanceof EntityDragon||isBiomeMob(e, "sky")){ return true; } return false; }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void stopEndermanTeleporting(EnderTeleportEvent e){ if((e.getEntity() instanceof EntityEnderman || e.getEntity() instanceof EntityShulker) && ConfigurationFile.stopMobsFromTeleporting){ e.setCanceled(true); } }