package ttftcuts.physis.common.artifact.trigger; import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import ttftcuts.physis.Physis; import ttftcuts.physis.api.artifact.IArtifactTrigger; import ttftcuts.physis.api.internal.IArtifactHandler.CooldownCategory; import ttftcuts.physis.common.artifact.PhysisArtifacts; public abstract class AbstractTrigger implements IArtifactTrigger { public static final String TARGET_HOLDER = PhysisArtifacts.PREFIX + "target.holder"; public static final String TARGET_TARGET = PhysisArtifacts.PREFIX + "target.target"; public static final String TARGET_ATTACKER = PhysisArtifacts.PREFIX + "target.attacker"; protected String name; protected String image; public double hue = 0.0; public double saturation = 0.0; public AbstractTrigger(String name) { this.name = PhysisArtifacts.PREFIX + name; this.image = "trigger"+name; this.hue = PhysisArtifacts.triggerColourRand.nextDouble(); this.saturation = 1.0 - (PhysisArtifacts.triggerColourRand.nextDouble() * PhysisArtifacts.triggerColourRand.nextDouble()); } @Override public void onUpdate(ItemStack stack, EntityLivingBase holder, int id) {} @Override public void onEquippedUpdate(ItemStack stack, EntityLivingBase holder, int id) {} @Override public void onTileUpdate(ItemStack stack, List<EntityLivingBase> targets, TileEntity tile, int id) {} @Override public void onDealDamage(ItemStack stack, EntityLivingBase target, EntityLivingBase source, int id) {} @Override public void onTakeDamage(ItemStack stack, EntityLivingBase target, EntityLivingBase source, int id) {} @Override public String getName() { return this.name; } @Override public String getLocalizationName() { return this.name; } @Override public String getUnlocalizedTriggerString() { return this.getLocalizationName() + ".trigger"; //return "When something happens, %1$s.\n%4$s second cooldown."; } @Override public String getUnlocalizedTargetString() { return TARGET_TARGET; //return "something"; } @Override public String getTooltipInfo() { return "<No extra info>"; } @Override public IIcon registerIcon(IIconRegister register) { return register.registerIcon(Physis.MOD_ID+":trigger_effect/"+this.image); } public AbstractTrigger setColour(double hue, double saturation) { this.hue = hue; this.saturation = saturation; return this; } @Override public double getHue() { return this.hue; } @Override public double getSaturation() { return this.saturation; } @Override public CooldownCategory getCooldownCategory() { return CooldownCategory.NONE; } }