package ttftcuts.physis.common.artifact; import java.util.List; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import ttftcuts.physis.api.artifact.IArtifactEffect; import ttftcuts.physis.api.artifact.IArtifactTrigger; import ttftcuts.physis.api.internal.IArtifactHandler; public class ArtifactHandler implements IArtifactHandler { @Override public boolean registerArtifactTrigger(IArtifactTrigger trigger, int weight) { return PhysisArtifacts.registerTrigger(trigger, weight); } @Override public boolean registerArtifactEffect(IArtifactEffect effect, int weight) { return PhysisArtifacts.registerEffect(effect, weight); } @Override public boolean triggerArtifactEffect(ItemStack stack, List<EntityLivingBase> target, EntityLivingBase source, int id, CooldownCategory cooldown) { NBTTagCompound[] sockets = PhysisArtifacts.getSocketablesFromStack(stack); if (sockets != null) { if (sockets[id] != null) { IArtifactEffect effect = PhysisArtifacts.getEffectFromSocketable(sockets[id]); effect.doEffect(stack, target, source, id, cooldown); } } return false; } @Override public void triggerEffectCooldown(ItemStack stack, int ticks, int id) { NBTTagCompound[] sockets = PhysisArtifacts.getSocketablesFromStack(stack); if (sockets[id] != null) { PhysisArtifacts.setEffectCooldown(sockets[id], ticks); } } }