mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
53 lines
1.5 KiB
Java
53 lines
1.5 KiB
Java
package api.hbm.item;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import com.hbm.util.ArmorRegistry.HazardClass;
|
|
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
public interface IGasMask {
|
|
|
|
/**
|
|
* Returns a list of HazardClasses which can not be protected against by this mask (e.g. chlorine gas for half masks)
|
|
* @param stack
|
|
* @param entity
|
|
* @return an empty list if there's no blacklist
|
|
*/
|
|
public ArrayList<HazardClass> getBlacklist(ItemStack stack, EntityLivingBase entity);
|
|
|
|
/**
|
|
* Returns the loaded filter, if there is any
|
|
* @param stack
|
|
* @param entity
|
|
* @return null if no filter is installed
|
|
*/
|
|
public ItemStack getFilter(ItemStack stack, EntityLivingBase entity);
|
|
|
|
/**
|
|
* Checks whether the provided filter can be screwed into the mask, does not take already applied filters into account (those get ejected)
|
|
* @param stack
|
|
* @param entity
|
|
* @param filter
|
|
* @return
|
|
*/
|
|
public boolean isFilterApplicable(ItemStack stack, EntityLivingBase entity, ItemStack filter);
|
|
|
|
/**
|
|
* This will write the filter to the stack's NBT, it ignores any previously installed filter and won't eject those
|
|
* @param stack
|
|
* @param entity
|
|
* @param filter
|
|
*/
|
|
public void installFilter(ItemStack stack, EntityLivingBase entity, ItemStack filter);
|
|
|
|
/**
|
|
* Damages the installed filter, if there is one
|
|
* @param stack
|
|
* @param entity
|
|
* @param damage
|
|
*/
|
|
public void damageFilter(ItemStack stack, EntityLivingBase entity, int damage);
|
|
}
|