mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-08 14:36:44 +01:00
Apples left n the ground for too long will eventually go bad
This commit is contained in:
parent
dc9c409a9b
commit
90635394a3
3 changed files with 50 additions and 0 deletions
|
@ -14,9 +14,12 @@ import com.minelittlepony.util.collection.Weighted;
|
||||||
import net.minecraft.block.BlockPlanks;
|
import net.minecraft.block.BlockPlanks;
|
||||||
import net.minecraft.client.util.ITooltipFlag;
|
import net.minecraft.client.util.ITooltipFlag;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.item.ItemFood;
|
import net.minecraft.item.ItemFood;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.EnumParticleTypes;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class ItemApple extends ItemFood implements IEdible {
|
public class ItemApple extends ItemFood implements IEdible {
|
||||||
|
@ -67,6 +70,41 @@ public class ItemApple extends ItemFood implements IEdible {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onEntityItemUpdate(EntityItem item) {
|
||||||
|
|
||||||
|
if (!item.isDead && item.ticksExisted > item.lifespan * 0.9) {
|
||||||
|
|
||||||
|
if (!item.world.isRemote) {
|
||||||
|
item.setDead();
|
||||||
|
|
||||||
|
EntityItem neu = new EntityItem(item.world);
|
||||||
|
neu.copyLocationAndAnglesFrom(item);
|
||||||
|
neu.setItem(new ItemStack(UItems.rotten_apple));
|
||||||
|
|
||||||
|
item.world.spawnEntity(neu);
|
||||||
|
|
||||||
|
EntityItem copy = new EntityItem(item.world);
|
||||||
|
copy.copyLocationAndAnglesFrom(item);
|
||||||
|
copy.setItem(item.getItem());
|
||||||
|
copy.getItem().shrink(1);
|
||||||
|
|
||||||
|
item.world.spawnEntity(copy);
|
||||||
|
} else {
|
||||||
|
float bob = MathHelper.sin(((float)item.getAge() + 1) / 10F + item.hoverStart) * 0.1F + 0.1F;
|
||||||
|
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
item.world.spawnParticle(EnumParticleTypes.SPELL_MOB, item.posX, item.posY + bob, item.posZ,
|
||||||
|
item.world.rand.nextGaussian() - 0.5F,
|
||||||
|
item.world.rand.nextGaussian() - 0.5F,
|
||||||
|
item.world.rand.nextGaussian() - 0.5F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||||
if (this == UItems.red_apple && isInCreativeTab(tab)) {
|
if (this == UItems.red_apple && isInCreativeTab(tab)) {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.item;
|
||||||
import com.minelittlepony.unicopia.forgebullshit.IMultiItem;
|
import com.minelittlepony.unicopia.forgebullshit.IMultiItem;
|
||||||
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
|
||||||
|
@ -60,6 +61,11 @@ public class ItemAppleMultiType extends ItemApple implements IMultiItem {
|
||||||
return super.getMetadata(stack);
|
return super.getMetadata(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onEntityItemUpdate(EntityItem item) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTranslationKey(ItemStack stack) {
|
public String getTranslationKey(ItemStack stack) {
|
||||||
if (getHasSubtypes()) {
|
if (getHasSubtypes()) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.minelittlepony.unicopia.item;
|
package com.minelittlepony.unicopia.item;
|
||||||
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
|
||||||
|
@ -15,6 +16,11 @@ public class ItemRottenApple extends ItemApple {
|
||||||
return 150;
|
return 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onEntityItemUpdate(EntityItem item) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||||
if (isInCreativeTab(tab)) {
|
if (isInCreativeTab(tab)) {
|
||||||
|
|
Loading…
Reference in a new issue