Add advancements for library update features

This commit is contained in:
Electroblob77
2020-08-01 23:24:33 +01:00
parent 0d7d36c0b5
commit 9d8b0b3a90
10 changed files with 312 additions and 5 deletions
@@ -1,5 +1,7 @@
package electroblob.wizardry.block;
import electroblob.wizardry.item.ItemWizardArmour;
import electroblob.wizardry.registry.WizardryAdvancementTriggers;
import electroblob.wizardry.registry.WizardryBlocks;
import electroblob.wizardry.registry.WizardryTabs;
import electroblob.wizardry.tileentity.TileEntityArcaneWorkbench;
@@ -148,6 +150,11 @@ public class BlockImbuementAltar extends Block implements ITileEntityProvider {
}
((TileEntityImbuementAltar)tileEntity).setStack(ItemStack.EMPTY);
if(currentStack.getItem() instanceof ItemWizardArmour && ((ItemWizardArmour)currentStack.getItem()).element != null){
// Not perfect since we don't know if the player actually imbued the armour, but it's good enough for now
WizardryAdvancementTriggers.create_elemental_armour.triggerFor(player);
}
}
return true;
@@ -3,9 +3,7 @@ package electroblob.wizardry.block;
import com.google.common.collect.Maps;
import electroblob.wizardry.constants.Element;
import electroblob.wizardry.item.ItemSpectralDust;
import electroblob.wizardry.registry.WizardryItems;
import electroblob.wizardry.registry.WizardrySounds;
import electroblob.wizardry.registry.WizardryTabs;
import electroblob.wizardry.registry.*;
import electroblob.wizardry.tileentity.TileEntityReceptacle;
import electroblob.wizardry.util.GeometryUtils;
import electroblob.wizardry.util.ParticleBuilder;
@@ -13,6 +11,7 @@ import net.minecraft.block.BlockTorch;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@@ -27,6 +26,7 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import javax.annotation.Nullable;
import java.util.Arrays;
import java.util.Map;
import java.util.Random;
@@ -200,6 +200,17 @@ public class BlockReceptacle extends BlockTorch implements ITileEntityProvider {
}
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack){
if(placer instanceof EntityPlayer){
BlockPos centre = pos.offset(world.getBlockState(pos).getValue(FACING).getOpposite());
if(world.getBlockState(centre).getBlock() == WizardryBlocks.imbuement_altar
&& Arrays.stream(EnumFacing.HORIZONTALS).allMatch(f -> world.getBlockState(centre.offset(f)).getBlock() == WizardryBlocks.receptacle)){
WizardryAdvancementTriggers.restore_imbuement_altar.triggerFor((EntityPlayer)placer);
}
}
}
@Nullable
@Override
public TileEntity createNewTileEntity(World world, int meta){