@Override public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.world.isRemote && !this.isDead) { EntityPigZombieMage entitymage = new EntityPigZombieMage(this.world); entitymage.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitymage.onInitialSpawn(this.world.getDifficultyForLocation(new BlockPos(entitymage)), (IEntityLivingData) null); entitymage.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitymage.setCustomNameTag(this.getCustomNameTag()); entitymage.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.world.spawnEntity(entitymage); this.setDead(); } }
/** * Called when a lightning bolt hits the entity. */ public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.worldObj.isRemote && !this.isDead) { EntityWitch entitywitch = new EntityWitch(this.worldObj); entitywitch.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitywitch.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entitywitch)), (IEntityLivingData)null); entitywitch.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitywitch.setCustomNameTag(this.getCustomNameTag()); entitywitch.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.worldObj.spawnEntityInWorld(entitywitch); this.setDead(); } }
/** * Called when a lightning bolt hits the entity. */ public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.worldObj.isRemote && !this.isDead) { EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj); entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword)); entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitypigzombie.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitypigzombie.setCustomNameTag(this.getCustomNameTag()); entitypigzombie.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.worldObj.spawnEntityInWorld(entitypigzombie); this.setDead(); } }
/** * Updates the task */ public void updateTask() { DifficultyInstance difficultyinstance = this.horse.world.getDifficultyForLocation(new BlockPos(this.horse)); this.horse.func_190691_p(false); this.horse.setHorseTamed(true); this.horse.setGrowingAge(0); this.horse.world.addWeatherEffect(new EntityLightningBolt(this.horse.world, this.horse.posX, this.horse.posY, this.horse.posZ, true)); EntitySkeleton entityskeleton = this.createSkeleton(difficultyinstance, this.horse); entityskeleton.startRiding(this.horse); for (int i = 0; i < 3; ++i) { AbstractHorse abstracthorse = this.createHorse(difficultyinstance); EntitySkeleton entityskeleton1 = this.createSkeleton(difficultyinstance, abstracthorse); entityskeleton1.startRiding(abstracthorse); abstracthorse.addVelocity(this.horse.getRNG().nextGaussian() * 0.5D, 0.0D, this.horse.getRNG().nextGaussian() * 0.5D); } }
/** * Called when a lightning bolt hits the entity. */ public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.world.isRemote && !this.isDead) { EntityWitch entitywitch = new EntityWitch(this.world); entitywitch.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitywitch.onInitialSpawn(this.world.getDifficultyForLocation(new BlockPos(entitywitch)), (IEntityLivingData)null); entitywitch.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitywitch.setCustomNameTag(this.getCustomNameTag()); entitywitch.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.world.spawnEntityInWorld(entitywitch); this.setDead(); } }
/** * Called when a lightning bolt hits the entity. */ public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.world.isRemote && !this.isDead) { EntityPigZombie entitypigzombie = new EntityPigZombie(this.world); entitypigzombie.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_SWORD)); entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitypigzombie.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitypigzombie.setCustomNameTag(this.getCustomNameTag()); entitypigzombie.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.world.spawnEntityInWorld(entitypigzombie); this.setDead(); } }
/** * Updates the task */ public void updateTask() { DifficultyInstance difficultyinstance = this.horse.worldObj.getDifficultyForLocation(new BlockPos(this.horse)); this.horse.setSkeletonTrap(false); this.horse.setType(HorseType.SKELETON); this.horse.setHorseTamed(true); this.horse.setGrowingAge(0); this.horse.worldObj.addWeatherEffect(new EntityLightningBolt(this.horse.worldObj, this.horse.posX, this.horse.posY, this.horse.posZ, true)); EntitySkeleton entityskeleton = this.createSkeleton(difficultyinstance, this.horse); entityskeleton.startRiding(this.horse); for (int i = 0; i < 3; ++i) { EntityHorse entityhorse = this.createHorse(difficultyinstance); EntitySkeleton entityskeleton1 = this.createSkeleton(difficultyinstance, entityhorse); entityskeleton1.startRiding(entityhorse); entityhorse.addVelocity(this.horse.getRNG().nextGaussian() * 0.5D, 0.0D, this.horse.getRNG().nextGaussian() * 0.5D); } }
public static boolean isStringEntityName(Entity entityIn, String entityName) { String s = getEntityString(entityIn); if (s == null) { if (entityIn instanceof EntityPlayer) { s = "Player"; } else { if (!(entityIn instanceof EntityLightningBolt)) { return false; } s = "LightningBolt"; } } return entityName.equals(s); }
/** * Called when a lightning bolt hits the entity. */ public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.worldObj.isRemote && !this.isDead) { EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj); entitypigzombie.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.GOLDEN_SWORD)); entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entitypigzombie.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entitypigzombie.setCustomNameTag(this.getCustomNameTag()); entitypigzombie.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.worldObj.spawnEntityInWorld(entitypigzombie); this.setDead(); } }
@Override public void update() { World world = entity.getWorld(); if(entity.ticksExisted()==5*Refs.TPS)this.renderActive=false; if(!world.isRemote&&entity.ticksExisted()>5*20){ int radius=0; switch(EnumDustTypes.getByMeta(meta)){ case GUNPOWDER:radius=4; break; case LAPIS: radius=6; break; case BLAZE:radius=8; break; default: this.onPatternBroken();return; } List<EntityLivingBase> ents =world.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(getPos().add(-radius,-radius,-radius), getPos().add(radius,radius,radius))); if(!ents.isEmpty()){ for(EntityLivingBase e:ents){ world.addWeatherEffect(new EntityLightningBolt(world, e.posX, e.posY, e.posZ,false)); } world.addWeatherEffect(new EntityLightningBolt(world, getPos().getX(), getPos().getY(), getPos().getZ(),false)); this.onPatternBroken(); } } }
/** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack is, World w, EntityPlayer e) { int charge; charge = is.stackTagCompound.getInteger("charge"); if (charge == 500) { is.stackTagCompound.setInteger("charge", 0); w.spawnEntityInWorld(new EntityLightningBolt(w, e.posX - 4, e.posY, e.posZ - 4)); w.spawnEntityInWorld(new EntityLightningBolt(w, e.posX + 4, e.posY, e.posZ - 4)); w.spawnEntityInWorld(new EntityLightningBolt(w, e.posX + 4, e.posY, e.posZ + 4)); w.spawnEntityInWorld(new EntityLightningBolt(w, e.posX - 4, e.posY, e.posZ + 4)); } return (super.onItemRightClick(is, w, e)); }
@Override public void onStruckByLightning(EntityLightningBolt lightningBolt) { if (!this.world.isRemote && !this.isDead) { EntityVex entityVex = new EntityVex(this.world); entityVex.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); entityVex.onInitialSpawn(this.world.getDifficultyForLocation(new BlockPos(entityVex)), null); entityVex.setNoAI(this.isAIDisabled()); if (this.hasCustomName()) { entityVex.setCustomNameTag(this.getCustomNameTag()); entityVex.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag()); } this.world.spawnEntity(entityVex); this.setDead(); } }
/** * Attack the specified entity using a ranged attack. */ public void attackEntityWithRangedAttack(EntityLivingBase target, float p_82196_2_) { if (isDrinkingPotion()) { return; } int roll = rand.nextInt(100); setStaffAttacking(true); if (roll < 60) { attackWithPotion(target); } else if (roll < 90) { if (getDistanceSqToEntity(target) > 16 && rand.nextInt(100) > 60) { world.addWeatherEffect(new EntityLightningBolt(world, target.posX, target.posY, target.posZ, false)); } else { attackWithForce(target); } } else { attackWithMobSpawn(target); } }
@Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { if (this == ItemsAether.flaming_sword) { entityliving.setFire(30); } else if (this == ItemsAether.lightning_sword) { EntityLightningBolt lightning = new EntityLightningBolt(entityliving1.worldObj, entityliving.posX, entityliving.posY, entityliving.posZ, false); entityliving1.worldObj.spawnEntityInWorld(lightning); } else if (this == ItemsAether.holy_sword && entityliving.isEntityUndead()) { entityliving.attackEntityFrom(DamageSource.causeMobDamage(entityliving1), 10); itemstack.damageItem(10, entityliving1); } return super.hitEntity(itemstack, entityliving, entityliving1); }
@Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { if (!entity.worldObj.isRemote) { if (Config.pickaxeSummonsLightning) { entity.worldObj.addWeatherEffect(new EntityLightningBolt(entity.worldObj, entity.posX + 0.5, entity.posY + 1, entity.posZ + 0.5)); } if (entity instanceof EntityPlayer) { EntityPlayer enemyPlayer = (EntityPlayer) entity; for (int i = 0; i < Config.pickaxeEffects.length; i++) { if (Config.pickaxeEffects[i] != null && Config.pickaxeEffects[i].getPotionID() > 0) enemyPlayer.addPotionEffect(new PotionEffect(Config.pickaxeEffects[i].getPotionID(), Config.pickaxeEffects[i].getDuration(), Config.pickaxeEffects[i].getAmplifier(), Config.pickaxeEffects[i].getIsAmbient(), Config.pickaxeEffects[i].getIsShowParticles())); } } } return false; }
@Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { if (!entity.worldObj.isRemote) { if (Config.giantSwordSummonsLightning) { entity.worldObj.addWeatherEffect(new EntityLightningBolt(entity.worldObj, entity.posX + 0.5, entity.posY + 1, entity.posZ + 0.5)); } if (entity instanceof EntityPlayer) { EntityPlayer enemyPlayer = (EntityPlayer) entity; for (int i = 0; i < Config.giantSwordEffects.length; i++) { if (Config.giantSwordEffects[i] != null && Config.giantSwordEffects[i].getPotionID() > 0) enemyPlayer.addPotionEffect(new PotionEffect(Config.giantSwordEffects[i].getPotionID(), Config.giantSwordEffects[i].getDuration(), Config.giantSwordEffects[i].getAmplifier(), Config.giantSwordEffects[i].getIsAmbient(), Config.giantSwordEffects[i].getIsShowParticles())); } } } return false; }
@Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { if (!entity.worldObj.isRemote) { if (Config.swordSummonsLightning) { entity.worldObj.addWeatherEffect(new EntityLightningBolt(entity.worldObj, entity.posX + 0.5, entity.posY + 1, entity.posZ + 0.5)); } if (entity instanceof EntityPlayer) { EntityPlayer enemyPlayer = (EntityPlayer) entity; for (int i = 0; i < Config.swordEffects.length; i++) { if (Config.swordEffects[i] != null && Config.swordEffects[i].getPotionID() > 0) enemyPlayer.addPotionEffect(new PotionEffect(Config.swordEffects[i].getPotionID(), Config.swordEffects[i].getDuration(), Config.swordEffects[i].getAmplifier(), Config.swordEffects[i].getIsAmbient(), Config.swordEffects[i].getIsShowParticles())); } } } return false; }
public EntityThundara (World world, EntityPlayer sender, double x, double y, double z) { super(world); this.posX = x; this.posY = y; this.posZ = z; this.player = sender; double distance = 3.0D; AxisAlignedBB aabb = player.getEntityBoundingBox().grow(3, 3, 3); List list = this.world.getEntitiesWithinAABBExcludingEntity(player, aabb); if (!list.isEmpty()) for (int i = 0; i < list.size(); i++) { Entity e = (Entity) list.get(i); if (e instanceof EntityLivingBase) { summonLightning = true; if (!world.isRemote) PacketDispatcher.sendToAllAround(new SpawnThunderEntity(this, 2), player, 64.0D); this.world.spawnEntity((new EntityLightningBolt(this.world, e.posX, e.posY, e.posZ, false))); } } aabb.grow(-3, -3, -3); }
public EntityThunder (World world, EntityLivingBase sender, double x, double y, double z) { super(world); this.posX = x; this.posY = y; this.posZ = z; this.player = sender; double distance = 3.0D; AxisAlignedBB aabb = player.getEntityBoundingBox().grow(5, 5, 5); List list = this.world.getEntitiesWithinAABBExcludingEntity(player, aabb); if (!list.isEmpty()) for (int i = 0; i < list.size(); i++) { Entity e = (Entity) list.get(i); if (e instanceof EntityLivingBase) { summonLightning = true; if(player instanceof EntityPlayer) if (!world.isRemote) PacketDispatcher.sendToAllAround(new SpawnThunderEntity(this, 1), (EntityPlayer)player, 64.0D); this.world.addWeatherEffect((new EntityLightningBolt(this.world, e.posX, e.posY, e.posZ, false))); }else{ if (!world.isRemote) PacketDispatcher.sendToAllAround(new SpawnThunderEntity(this,1), dimension, this.posX, this.posY, this.posZ, 64D); } } aabb.grow(-5, -5, -5); }
public EntityThundaga (World world, EntityPlayer sender, double x, double y, double z) { super(world); this.posX = x; this.posY = y; this.posZ = z; this.player = sender; double distance = 3.0D; AxisAlignedBB aabb = player.getEntityBoundingBox().grow(3, 3, 3); List list = this.world.getEntitiesWithinAABBExcludingEntity(player, aabb); if (!list.isEmpty()) for (int i = 0; i < list.size(); i++) { Entity e = (Entity) list.get(i); if (e instanceof EntityLivingBase) { summonLightning = true; if (!world.isRemote) PacketDispatcher.sendToAllAround(new SpawnThunderEntity(this, 3), player, 64.0D); this.world.spawnEntity((new EntityLightningBolt(this.world, e.posX, e.posY, e.posZ, false))); } } aabb.grow(-3, -3, -3); }
@Override public void updateWither() { if( ownerWither.worldObj.getTotalWorldTime() > lightningNextTick ) { int targetId = ownerWither.getWatchedTargetId(0); if( targetId != -1) { Entity target = ownerWither.worldObj.getEntityByID(targetId); if(target != null) { double lightningXPos = target.lastTickPosX + (8 * random.nextGaussian() * lightningInaccuracy); double lightningYPos = target.lastTickPosY + (8 * random.nextGaussian() * lightningInaccuracy); double lightningZPos = target.lastTickPosZ + (8 * random.nextGaussian() * lightningInaccuracy); ownerWither.worldObj.addWeatherEffect(new EntityLightningBolt(ownerWither.worldObj, lightningXPos, lightningYPos, lightningZPos)); setNextRandomTick(); } } } }
@Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack held, EnumFacing side, float par7, float par8, float par9) { int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); controlRed.generate(world, i + -1, j, k, true); { WarsMod.generateBlock(world, i + -1, j, k + 1, WarsBlocks.controlYellow); WarsMod.generateBlock(world, i + 1, j, k + 1, WarsBlocks.controlBlue); WarsMod.generateBlock(world, i, j, k, WarsBlocks.controlRed); WarsMod.generateBlock(world, i, j, k + 2, WarsBlocks.controlGreen); } { EntityLightningBolt entityLightningBolt = new EntityLightningBolt(world, 1, 1, 1, true); entityLightningBolt.setLocationAndAngles((double) i + 0.5D, j, (double) k + 0.5D, 0.0F, 0.0F); world.spawnEntityInWorld(entityLightningBolt); } return false; }
@Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack held, EnumFacing side, float par7, float par8, float par9) { int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); controlGreen.generate(world, i + -1, j, k + -2, true); { WarsMod.generateBlock(world, i + -1, j, k + -1, WarsBlocks.controlYellow); WarsMod.generateBlock(world, i + 1, j, k + -1, WarsBlocks.controlBlue); WarsMod.generateBlock(world, i, j, k + -2, WarsBlocks.controlRed); WarsMod.generateBlock(world, i, j, k, WarsBlocks.controlGreen); } { EntityLightningBolt entityLightningBolt = new EntityLightningBolt(world, 1, 1, 1, true); entityLightningBolt.setLocationAndAngles((double) i + 0.5D, j, (double) k + 0.5D, 0.0F, 0.0F); world.spawnEntityInWorld(entityLightningBolt); } return false; }
@Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack held, EnumFacing side, float par7, float par8, float par9) { int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); controlBlue.generate(world, i + -2, j, k + -1, true); { WarsMod.generateBlock(world, i + -2, j, k, WarsBlocks.controlYellow); WarsMod.generateBlock(world, i, j, k, WarsBlocks.controlBlue); WarsMod.generateBlock(world, i + -1, j, k + -1, WarsBlocks.controlRed); WarsMod.generateBlock(world, i + -1, j, k + 1, WarsBlocks.controlGreen); } { EntityLightningBolt entityLightningBolt = new EntityLightningBolt(world, 1, 1, 1, true); entityLightningBolt.setLocationAndAngles((double) i + 0.5D, j, (double) k + 0.5D, 0.0F, 0.0F); world.spawnEntityInWorld(entityLightningBolt); } return false; }
@Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack held, EnumFacing side, float par7, float par8, float par9) { int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); controlYellow.generate(world, i, j, k + -1, true); { WarsMod.generateBlock(world, i, j, k, WarsBlocks.controlYellow); WarsMod.generateBlock(world, i + 2, j, k, WarsBlocks.controlBlue); WarsMod.generateBlock(world, i + 1, j, k + -1, WarsBlocks.controlRed); WarsMod.generateBlock(world, i + 1, j, k + 1, WarsBlocks.controlGreen); } { EntityLightningBolt entityLightningBolt = new EntityLightningBolt(world, 1, 1, 1, true); entityLightningBolt.setLocationAndAngles((double) i + 0.5D, j, (double) k + 0.5D, 0.0F, 0.0F); world.spawnEntityInWorld(entityLightningBolt); } return false; }
public GenControlTower(EntityPlayer player, int i, int j, int k) { controlMain.generate(player.worldObj, i + -1, j, k + -1, true); { WarsMod.generateBlock(player.worldObj, i, j, k, Blocks.PLANKS); WarsMod.generateBlock(player.worldObj, i + -1, j, k, WarsBlocks.controlYellow); WarsMod.generateBlock(player.worldObj, i + 1, j, k, WarsBlocks.controlBlue); WarsMod.generateBlock(player.worldObj, i, j, k + -1, WarsBlocks.controlRed); WarsMod.generateBlock(player.worldObj, i, j, k + 1, WarsBlocks.controlGreen); } { EntityLightningBolt entityLightningBolt = new EntityLightningBolt(player.worldObj, i, j, k, true); entityLightningBolt.setLocationAndAngles((double) i + 0.5D, j, (double) k + 0.5D, 0.0F, 0.0F); player.worldObj.spawnEntityInWorld(entityLightningBolt); } }
@Override public void onUse(World world, EntityPlayer player, IPlayerSession session, ItemStack stack, int boost, int cost) { if (session.hasEnoughMana(cost())) { MovingObjectPosition mop = SimpleUtil.rayTrace(player, world, 43); if (mop != null) { if (mop.typeOfHit == MovingObjectType.BLOCK) { int blockX = mop.blockX; int blockY = mop.blockY; int blockZ = mop.blockZ; Block block = world.getBlock(blockX, blockY, blockZ); if (block != null && !world.isAirBlock(blockX, blockY, blockZ)) { EntityLightningBolt light = new EntityLightningBolt(world, blockX, blockY, blockZ); world.spawnEntityInWorld(light); session.adjustMana(-cost(), false); } } } } }
@Override public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float px, float py, float pz) { if (par1World.getBlockMetadata(x, y, z) > 0) { if (par5EntityPlayer.getEquipmentInSlot(0) == null) { IaSPlayerHelper.messagePlayer(par5EntityPlayer, "It's missing something. That center stone looks like bloodstone..."); return false; } if (par5EntityPlayer.getEquipmentInSlot(0).getItem() == NyxItems.bloodstone) { par1World.setBlockMetadataWithNotify(x, y, z, par1World.getBlockMetadata(x, y, z) - 1, 0x2); if (!par5EntityPlayer.capabilities.isCreativeMode) { par5EntityPlayer.getEquipmentInSlot(0).stackSize -= 1; } if (par1World.getBlockMetadata(x, y, z) == 0) { par1World.setBlock(x, y - 1, z, NyxBlocks.cryingObsidian, 1, 0x2); par1World.spawnEntityInWorld(new EntityLightningBolt(par1World, x, y, z)); } } return true; } return false; }
@Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { if(FMLCommonHandler.instance().getEffectiveSide() == Side.SERVER) { --stack.stackSize; EntityLightningBolt lightning = new EntityLightningBolt(world, player.posX, player.posY, player.posZ + 5); world.spawnEntityInWorld(lightning); if(player.getExtendedProperties(ExtendedPlayerProperties.PROP_NAME) != null) { ExtendedPlayerProperties props = (ExtendedPlayerProperties) player.getExtendedProperties(ExtendedPlayerProperties.PROP_NAME); props.setAbilityUsage(props.getAbilityUsageAmount() + 5); } player.addChatMessage(new ChatComponentText("And so it begins...")); } return stack; }
@Override protected void completeRitualServer(World world, BlockPos pos, EntityPlayer player){ world.addWeatherEffect(new EntityLightningBolt(world, pos.getX(), pos.getY() + 1, pos.getZ(), false)); TileEntity altar = world.getTileEntity(pos); NBTTagCompound compound = new NBTTagCompound(); NBTTagCompound newItem = new NBTTagCompound(); altar.writeToNBT(compound); NBTTagCompound nbtItem = compound.getCompoundTag("Item"); ItemStack stack = new ItemStack(nbtItem); if(stack.isEmpty() || !stack.isItemEqual(item)){ item.writeToNBT(newItem); compound.setTag("Item", newItem); } altar.readFromNBT(compound); }