aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/util/GT_FoodStat.java
diff options
context:
space:
mode:
authorShawn Buckley <shawntbuckley@gmail.com>2015-10-18 23:04:39 -0400
committerShawn Buckley <shawntbuckley@gmail.com>2015-10-18 23:04:39 -0400
commit85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (patch)
treecb302d8e0f46e06be0b1d391317578b165aec245 /main/java/gregtech/api/util/GT_FoodStat.java
parentce25063b910bb3bdd2b0c234b185fc4077caebdb (diff)
downloadGT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.gz
GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.bz2
GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.zip
Move source directory
Diffstat (limited to 'main/java/gregtech/api/util/GT_FoodStat.java')
-rw-r--r--main/java/gregtech/api/util/GT_FoodStat.java102
1 files changed, 0 insertions, 102 deletions
diff --git a/main/java/gregtech/api/util/GT_FoodStat.java b/main/java/gregtech/api/util/GT_FoodStat.java
deleted file mode 100644
index a2134290cf..0000000000
--- a/main/java/gregtech/api/util/GT_FoodStat.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package gregtech.api.util;
-
-import static gregtech.api.enums.GT_Values.F;
-import gregtech.api.damagesources.GT_DamageSources;
-import gregtech.api.interfaces.IFoodStat;
-import gregtech.api.items.GT_MetaBase_Item;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.item.EnumAction;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.PotionEffect;
-
-public class GT_FoodStat implements IFoodStat {
- private final int mFoodLevel;
- private final int[] mPotionEffects;
- private final float mSaturation;
- private final EnumAction mAction;
- private final ItemStack mEmptyContainer;
- private final boolean mAlwaysEdible, mInvisibleParticles, mIsRotten;
- private boolean mExplosive = F, mMilk = F;
-
- /**
- * @param aFoodLevel Amount of Food in Half Bacon [0 - 20]
- * @param aSaturation Amount of Saturation [0.0F - 1.0F]
- * @param aAction The Action to be used. If this is null, it uses the Eating Action
- * @param aEmptyContainer An empty Container (Optional)
- * @param aAlwaysEdible If this Item is always edible, like Golden Apples or Potions
- * @param aInvisibleParticles If the Particles of the Potion Effects are invisible
- * @param aPotionEffects An Array of Potion Effects with %4==0 Elements as follows
- * ID of a Potion Effect. 0 for none
- * Duration of the Potion in Ticks
- * Level of the Effect. [0, 1, 2] are for [I, II, III]
- * The likelihood that this Potion Effect takes place upon being eaten [1 - 100]
- */
- public GT_FoodStat(int aFoodLevel, float aSaturation, EnumAction aAction, ItemStack aEmptyContainer, boolean aAlwaysEdible, boolean aInvisibleParticles, boolean aIsRotten, int... aPotionEffects) {
- mFoodLevel = aFoodLevel;
- mSaturation = aSaturation;
- mAction = aAction==null?EnumAction.eat:aAction;
- mPotionEffects = aPotionEffects;
- mEmptyContainer = GT_Utility.copy(aEmptyContainer);
- mInvisibleParticles = aInvisibleParticles;
- mAlwaysEdible = aAlwaysEdible;
- mIsRotten = aIsRotten;
- }
-
- public GT_FoodStat setExplosive() {
- mExplosive = true;
- return this;
- }
-
- public GT_FoodStat setMilk() {
- mMilk = true;
- return this;
- }
-
- @Override
- public int getFoodLevel(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer) {
- return mFoodLevel;
- }
-
- @Override
- public float getSaturation(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer) {
- return mSaturation;
- }
-
- @Override
- public void onEaten(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer) {
- aStack.stackSize--;
- ItemStack tStack = GT_OreDictUnificator.get(GT_Utility.copy(mEmptyContainer));
- if (tStack != null && !aPlayer.inventory.addItemStackToInventory(tStack)) aPlayer.dropPlayerItemWithRandomChoice(tStack, true);
- aPlayer.worldObj.playSoundAtEntity(aPlayer, "random.burp", 0.5F, aPlayer.worldObj.rand.nextFloat() * 0.1F + 0.9F);
- if (!aPlayer.worldObj.isRemote) {
- if (mMilk) {
- aPlayer.curePotionEffects(new ItemStack(Items.milk_bucket, 1, 0));
- }
- for (int i = 3; i < mPotionEffects.length; i+=4) {
- if (aPlayer.worldObj.rand.nextInt(100) < mPotionEffects[i]) {
- aPlayer.addPotionEffect(new PotionEffect(mPotionEffects[i-3], mPotionEffects[i-2], mPotionEffects[i-1], mInvisibleParticles));
- }
- }
- if (mExplosive) {
- aPlayer.worldObj.newExplosion(aPlayer, aPlayer.posX, aPlayer.posY, aPlayer.posZ, 4, true, true);
- aPlayer.attackEntityFrom(GT_DamageSources.getExplodingDamage(), Float.MAX_VALUE);
- }
- }
- }
-
- @Override
- public EnumAction getFoodAction(GT_MetaBase_Item aItem, ItemStack aStack) {
- return mAction;
- }
-
- @Override
- public boolean alwaysEdible(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer) {
- return mAlwaysEdible;
- }
-
- @Override
- public boolean isRotten(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer) {
- return mIsRotten;
- }
-} \ No newline at end of file