Fixed check on unbreakable blocks for Crusher ritual, added event for items draining the SN

This commit is contained in:
WayofTime 2014-11-06 21:25:53 -05:00
parent 42afd64e30
commit 40a45be05e
12 changed files with 293 additions and 16 deletions

View file

@ -0,0 +1,29 @@
package WayofTime.alchemicalWizardry.api.event;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.eventhandler.Cancelable;
@Cancelable
public class ItemDrainNetworkEvent extends PlayerDrainNetworkEvent
{
public final ItemStack itemStack;
public boolean shouldDamage; //If true, will damage regardless of if the network had enough inside it
public float damageAmount; //Amount of damage that would incur if the network could not drain properly
/**
* Set result to deny the action i.e. damage/drain anyways. Cancelling event prevents action without penalties
*
* @param player Player using the item
* @param ownerNetwork Network that the item is tied to
* @param itemStack Item used
* @param drainAmount Original drain amount - change to alter cost
*/
public ItemDrainNetworkEvent(EntityPlayer player, String ownerNetwork, ItemStack itemStack, int drainAmount)
{
super(player, ownerNetwork, drainAmount);
this.itemStack = itemStack;
this.shouldDamage = false;
this.damageAmount = (float)(drainAmount) / 100.0f;
}
}

View file

@ -0,0 +1,21 @@
package WayofTime.alchemicalWizardry.api.event;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.eventhandler.Cancelable;
@Cancelable
public class PlayerDrainNetworkEvent extends SoulNetworkEvent
{
public final EntityPlayer player; //Player that activated the event
public PlayerDrainNetworkEvent(EntityPlayer player, String ownerNetwork, int drainAmount)
{
super(ownerNetwork, drainAmount);
this.player = player;
}
public EntityPlayer getPlayer()
{
return player;
}
}

View file

@ -0,0 +1,27 @@
package WayofTime.alchemicalWizardry.api.event;
import net.minecraft.entity.player.EntityPlayer;
import cpw.mods.fml.common.eventhandler.Event;
public class SoulNetworkEvent extends Event
{
public String ownerNetwork;
public int drainAmount;
public SoulNetworkEvent(String ownerNetwork, int drainAmount)
{
super();
this.ownerNetwork = ownerNetwork;
this.drainAmount = drainAmount;
}
public String getOwnerNetwork()
{
return this.ownerNetwork;
}
public int getDrainAmount()
{
return this.drainAmount;
}
}