From a6a3bfa6f313adba5afe6eb4a0da049a8d641cfc Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Fri, 5 Jun 2015 01:53:14 +0100 Subject: Stuff! --- .../jewelrycraft/api/ModifierEffects.java | 214 ++++++++++++--------- 1 file changed, 122 insertions(+), 92 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java') diff --git a/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java b/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java index 2aa3254..be88d31 100644 --- a/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java +++ b/src/main/java/darkknight/jewelrycraft/api/ModifierEffects.java @@ -1,92 +1,122 @@ -package darkknight.jewelrycraft.api; - -import java.util.ArrayList; -import java.util.Random; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraftforge.event.entity.player.PlayerEvent; - -public class ModifierEffects -{ - protected ItemStack modifier; - protected Random rand = new Random(); - protected static ArrayList effects = new ArrayList(); - - /** - * @param modifier - */ - public ModifierEffects(ItemStack modifier) - { - this.modifier = modifier; - effects.add(this); - } - - /** - * @return - */ - public static ArrayList getEffects() - { - return effects; - } - - /** - * @param item - * @param player - * @param jewelry - */ - public void action(ItemStack item, EntityPlayer player, Item jewelry) - {}; - - /** - * @param item - * @param player - * @param target - * @param jewelry - * @return - */ - public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount) - { - return false; - } - - /** - * @param item - * @param player - * @param source - * @param jewelry - * @return - */ - public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount) - { - return false; - } - - /** - * @param item - * @param player - * @param target - * @param jewelry - * @return - */ - public void onEntityAttacked(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount) - {} - - /** - * @param item - * @param player - * @param source - * @param jewelry - * @return - */ - public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount) - {} - - public void onPlayerDead(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry) - {} - - public void onPlayerRespawn(ItemStack item, PlayerEvent.Clone event, Item jewelry) - {} -} +package darkknight.jewelrycraft.api; + +import java.util.ArrayList; +import java.util.Random; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraftforge.event.entity.player.PlayerEvent; + +public class ModifierEffects +{ + protected ItemStack modifier; + protected Random rand = new Random(); + protected static ArrayList effects = new ArrayList(); + + /** + * @param modifier The item to use as modifier + */ + public ModifierEffects(ItemStack modifier) + { + this.modifier = modifier; + effects.add(this); + } + + /** + * @return The list of all effects registered + */ + public static ArrayList getEffects() + { + return effects; + } + + /** + * @return The ItemStack set as the modifier + */ + public ItemStack getModifier() + { + return modifier; + } + + /** + * This runs every tick + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The player wearing the jewelry wearing a jewelry with this modifier on it + * @param jewelry The actual jewelry item (used by me to determine the type of jewelry so I don't have to call item.getItem() blah blah blah) + */ + public void action(ItemStack item, EntityPlayer player, Item jewelry) + {}; + + /** + * This runs when an entity is attacked. This event can be canceled. + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The player wearing the jewelry wearing a jewelry with this modifier on it + * @param target The attacked entity + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + * @param amount The amount of damage the entity took + * @return The state of the event (true to cancel it, false to not) + */ + public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount) + { + return false; + } + + /** + * This runs when a player gets damaged. This event can be canceled. + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The attacked player wearing a jewelry with this modifier on it + * @param source The source of the damage + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + * @param amount The amount of damage the player took + * @return The state of the event (true to cancel it, false to not) + */ + public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount) + { + return false; + } + + /** + * This is the same as onEntityAttackedCacellable, but this can not be canceled. + * I recommend using this over onEntityAttackedCacellable, as it is more reliable. + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The player wearing the jewelry wearing a jewelry with this modifier on it + * @param target The attacked entity + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + * @param amount The amount of damage the entity took + */ + public void onEntityAttacked(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount) + {} + + /** + * This is just like onPlayerAttackedCacellable, only that this can not be canceled. + * I recommend using this over onPlayerAttackedCacellable, as it is more reliable. + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The attacked player wearing a jewelry with this modifier on it + * @param source The source of the damage + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + * @param amount The amount of damage the player took + */ + public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount) + {} + + /** + * This runs when the player dies + * @param item The ItemStack representing the jewelry that runs the effect + * @param player The player that died wearing a jewelry with this modifier on it + * @param source The source of the killing blow + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + */ + public void onPlayerDead(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry) + {} + + /** + * This runs when the player respawns + * @param item The ItemStack representing the jewelry that runs the effect + * @param event The PlayerEvent that runs when the player respawns (this is also called when a player moves between dimensions) + * @param jewelry The actual jewelry item (aka item.getItem(), almost) + */ + public void onPlayerRespawn(ItemStack item, PlayerEvent.Clone event, Item jewelry) + {} +} -- cgit v1.2.3