Java 类net.minecraft.item.ItemFood 实例源码
项目:ExSartagine
文件:SlotPanInput.java
@Override
public boolean isItemValid(ItemStack stack) {
if(!stack.isEmpty())
{
boolean flag = false;
int[] ids = OreDictionary.getOreIDs(stack);
for(int id: ids)
if(OreDictionary.getOreName(id).contains("food")){
flag = true;
break;
}
if(stack.getItem() instanceof ItemFood || flag)
{
if(!FurnaceRecipes.instance().getSmeltingResult(stack).isEmpty())
{
return true;
}
}
}
return false;
}
项目:BetterThanWeagles
文件:RecipeSimicSlaw.java
@Override
public boolean matches(InventoryCrafting inv, World worldIn) {
// Make sure the first item is a Simic Slaw
ItemStack stack0 = inv.getStackInSlot(0);
if (stack0.getItem() != ModItems.simic_slaw) {
return false;
}
// Make sure the slaw isn't full
if (stack0.hasTagCompound()) {
byte foodAdditions = stack0.getTagCompound().getByte("additions");
if (foodAdditions > 5) {
return false;
}
}
// Make sure we're putting food into the slaw
ItemStack stack1 = inv.getStackInSlot(1);
if (!(stack1.getItem() instanceof ItemFood)) {
return false;
}
return true;
}
项目:connor41-etfuturum2
文件:EtFuturum.java
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
Items.blaze_rod.setFull3D();
Blocks.trapped_chest.setCreativeTab(CreativeTabs.tabRedstone);
if (enableUpdatedFoodValues) {
setFinalField(ItemFood.class, Items.carrot, 3, "healAmount", "field_77853_b");
setFinalField(ItemFood.class, Items.baked_potato, 5, "healAmount", "field_77853_b");
}
if (enableUpdatedHarvestLevels) {
Blocks.packed_ice.setHarvestLevel("pickaxe", 0);
Blocks.ladder.setHarvestLevel("axe", 0);
Blocks.melon_block.setHarvestLevel("axe", 0);
}
}
项目:EMC
文件:IItem.java
public boolean instanceOf(IItemType type) {
if (type.equals(IItemType.ItemFishingRod)) {
return item instanceof ItemFishingRod;
} else if (type.equals(IItemType.ItemPotion)) {
return item instanceof ItemPotion;
} else if (type.equals(IItemType.ItemFood)) {
return item instanceof ItemFood;
} else if (type.equals(IItemType.ItemSword)) {
return item instanceof ItemSword;
} else if (type.equals(IItemType.ItemTool)) {
return item instanceof ItemTool;
} else if (type.equals(IItemType.ItemNameTag)) {
return item instanceof ItemNameTag;
} else if (type.equals(IItemType.ItemBlock)) {
return item instanceof ItemBlock;
} else if (type.equals(IItemType.ItemHoe)) {
return item instanceof ItemHoe;
}
return false;
}
项目:uniquecrops
文件:GrowthSteps.java
@Override
public boolean canAdvance(World world, BlockPos pos, IBlockState state) {
List<EntityItem> items = world.getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(pos, pos.add(1, 1, 1)));
for (EntityItem item : items) {
if (!item.isDead && item.getEntityItem() != null) {
if (item.getEntityItem().getItem() instanceof ItemFood)
{
UCPacketHandler.sendToNearbyPlayers(world, pos, new PacketUCEffect(EnumParticleTypes.CLOUD, pos.getX(), pos.getY(), pos.getZ(), 6));
item.getEntityItem().stackSize--;
if (item.getEntityItem().stackSize <= 0)
item.setDead();
return true;
}
}
}
return false;
}
项目:Backmemed
文件:AutoEat.java
private void eatFood() {
for(int slot = 44; slot >= 9; slot--) {
ItemStack stack = Wrapper.getPlayer().inventoryContainer.getSlot(slot).getStack();
if(stack != null) {
if(slot >= 36 && slot <= 44) {
if(stack.getItem() instanceof ItemFood
&& !(stack.getItem() instanceof ItemAppleGold)) {
Wrapper.getPlayer().inventory.currentItem = slot - 36;
Wrapper.getMinecraft().gameSettings.keyBindUseItem.pressed = true;
return;
}
} else if(stack.getItem() instanceof ItemFood
&& !(stack.getItem() instanceof ItemAppleGold)) {
int itemSlot = slot;
int currentSlot = Wrapper.getPlayer().inventory.currentItem + 36;
Wrapper.getMinecraft().playerController.windowClick(0, slot, 0, ClickType.PICKUP, Wrapper.getPlayer());
Wrapper.getMinecraft().playerController.windowClick(0, currentSlot, 0, ClickType.PICKUP, Wrapper.getPlayer());
Wrapper.getMinecraft().playerController.windowClick(0, slot, 0, ClickType.PICKUP, Wrapper.getPlayer());
return;
}
}
}
}
项目:BetterBeginningsReborn
文件:RegisterItems.java
public static void tweakVanilla()
{
((ItemFood) Items.BEEF).setPotionEffect(new PotionEffect(MobEffects.HUNGER, 20, 0), 20);
((ItemFood) Items.PORKCHOP).setPotionEffect(new PotionEffect(MobEffects.HUNGER, 25, 0), 25);
((ItemFood) Items.FISH).setPotionEffect(new PotionEffect(MobEffects.HUNGER, 30, 1), 60); // Both fish types here
((ItemFood) Items.MUTTON).setPotionEffect(new PotionEffect(MobEffects.HUNGER, 20, 0), 25);
((ItemFood) Items.RABBIT).setPotionEffect(new PotionEffect(MobEffects.HUNGER, 25, 0), 30);
if(BBConfig.makeStuffStackable)
{
// Let's face it, the vanilla stack sizes for these suck.
Items.MINECART.setMaxStackSize(16);
// Strangely enough the oak one doesn't change name.
Items.OAK_DOOR.setMaxStackSize(16);
Items.SPRUCE_DOOR.setMaxStackSize(16);
Items.BIRCH_DOOR.setMaxStackSize(16);
Items.ACACIA_DOOR.setMaxStackSize(16);
Items.DARK_OAK_DOOR.setMaxStackSize(16);
Items.IRON_DOOR.setMaxStackSize(16);
}
if(BBConfig.moduleFurnaces) Items.FURNACE_MINECART.setUnlocalizedName(ModMain.MODID + ".kilnCart");
}
项目:FoodCraft-Reloaded
文件:LiqueurLoader.java
@Load
public void loadLiqueurs() {
ForgeRegistries.ITEMS.getKeys().stream().filter(s -> s.getResourcePath().contains("liqueur")).map(ForgeRegistries.ITEMS::getValue).forEach(liqueur -> {
for (LiqueurType liqueurType : LiqueurTypes.values()) {
if (liqueurType == LiqueurTypes.NORMAL)
continue;
ItemLiqueur typedLiqueur = new ItemLiqueur(MathHelper.floor(liqueurType.getHealModifier() * ((ItemFood) liqueur).getHealAmount(new ItemStack(liqueur))));
typedLiqueur.setLiqueurType(liqueurType);
typedLiqueur.setRegistryName(liqueur.getRegistryName().getResourceDomain(), liqueurType.getUnlocalizedName() + "_" + liqueur.getRegistryName().getResourcePath());
typedLiqueur.setUnlocalizedName(liqueur.getUnlocalizedName());
ForgeRegistries.ITEMS.register(typedLiqueur);
OreDictionary.registerOre("listAll" + StringUtils.capitalize(liqueurType.getUnlocalizedName()) + "liqueur", typedLiqueur);
OreDictionary.registerOre("listAllliqueur", typedLiqueur);
OreDictionary.registerOre("listAllfoods", typedLiqueur);
cachedLiqueurs.add(typedLiqueur);
}
});
}
项目:LittleThings-old
文件:FoodEvents.java
@SubscribeEvent
public void OnFinish(LivingEntityUseItemEvent.Finish e) //Why not PlayerUseItemEvent.Finish... FORGE 1.9
{
if (e.getEntity() instanceof EntityPlayer && e.getItem() != null && e.getItem().getItem() instanceof ItemFood) {
ItemFood food = (ItemFood) e.getItem().getItem();
World world = e.getEntity().getEntityWorld();
if (!world.isRemote) {
String unlocName = food.getUnlocalizedName().substring(5).toLowerCase();
if (unlocName.startsWith("raw") || unlocName.endsWith("raw") || unlocName.equals("fish")) {
if (world.rand.nextFloat() > 0.3F)
((EntityPlayer) e.getEntity()).addPotionEffect(new PotionEffect(MobEffects.hunger, 600, 0));
}
}
}
}
项目:CrystalMod
文件:CrystalFurnaceManager.java
public static BasicMachineRecipe getRecipe(ItemStack input){
if (ItemStackTools.isNullStack(input)) {
return null;
}
for(ItemStack stack : recipeMap.keySet()){
if(ItemUtil.stackMatchUseOre(input, stack)){
return recipeMap.get(stack);
}
}
if(ItemStackTools.isValid(FurnaceRecipes.instance().getSmeltingResult(input))){
ItemStack output = FurnaceRecipes.instance().getSmeltingResult(input).copy();
int i = 1600;
if ((output.getItem() instanceof ItemFood)) {
i /= 2;
}
if ((input.getItem() instanceof ItemFood)) {
i /= 2;
}
if ((ItemUtil.isDust(output)) && (ItemUtil.isIngot(output))) {
i = 1000;
}
return new BasicMachineRecipe(input, output, i);
}
return null;
}
项目:wolfarmor
文件:EntityAIWolfAutoEat.java
@Override
public void updateTask() {
--eatCooldown;
if(eatingFood != ItemStack.EMPTY) {
if (foodEatTime > 0) {
if (--foodEatTime % 4 == 0) {
PacketHandler.getChannel().sendToAllAround(
new WolfEatMessage(entity.getEntityId(), eatingFood),
new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 60));
this.entity.playSound(SoundEvents.ENTITY_GENERIC_EAT,
0.5F,
(this.entity.getRNG().nextFloat() - this.entity.getRNG().nextFloat()) * 0.2F + 1);
}
} else if (!hasHealedSinceLastReset) {
hasHealedSinceLastReset = true;
PacketHandler.getChannel().sendToAllAround(
new WolfHealMessage(entity.getEntityId()),
new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 60));
this.entity.heal((float) ((ItemFood) eatingFood.getItem()).getHealAmount(eatingFood));
this.eatingFood.shrink(1);
}
}
}
项目:Alchemy
文件:EntityAIEatMeat.java
@Override
public void updateTask() {
if (!meat.isDead & Math.pow(living.posX - meat.posX, 2) + Math.pow(living.posZ - meat.posZ, 2) < 32 * 32 &&
meat.getPosition().distanceSq(living.getPosition()) < 2 && apply(meat)) {
ItemStack food = meat.getItem();
food.setCount(food.getCount() - 1);
if (food.getCount() < 1)
meat.setDead();
living.heal(((ItemFood) food.getItem()).getHealAmount(food));
living.getEntityData().setInteger(NBT_KEY_LAST_MEAL, living.ticksExisted);
List<Double6IntArrayPackage> d6iaps = new LinkedList<Double6IntArrayPackage>();
for (int i = 0; i < 7; i++)
d6iaps.add(new Double6IntArrayPackage(
living.posX + (living.rand.nextFloat() * living.width * 2.0F) - living.width,
living.posY + 0.5D + living.rand.nextFloat() * living.height,
living.posZ + (living.rand.nextFloat() * living.width * 2.0F) - living.width,
living.rand.nextGaussian() * 0.02D, living.rand.nextGaussian() * 0.02D, living.rand.nextGaussian() * 0.02D));
AlchemyNetworkHandler.spawnParticle(EnumParticleTypes.HEART,
AABBHelper.getAABBFromEntity(living, AlchemyNetworkHandler.getParticleRange()), living.world, d6iaps);
}
}
项目:Factorization
文件:TileEntityCaliometricBurner.java
int getFoodValue(ItemStack is) {
if (is == null) {
return 0;
}
Item it = is.getItem();
int heal = 0;
double sat = 0;
FoodInfo fi = lookup(is);
if (fi != null) {
heal = fi.heal;
sat = fi.sat;
} else if (it instanceof ItemFood) {
ItemFood nom = (ItemFood) it;
heal = nom.getHealAmount(is);
sat = nom.getSaturationModifier(is);
}
if (heal < sat) {
double swapah = heal;
heal = (int) sat;
sat = swapah;
}
heal += Math.min(0, heal*2*sat);
int r = (int)(heal*(heal/4F));
return Math.max(heal, r);
}
项目:EvenWurse
文件:AutoEatMod.java
@Override
public void onUpdate() {
if (!AutoEatMod.this.isActive() || Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode ||
Minecraft.getMinecraft().thePlayer.getFoodStats().getFoodLevel() >= 20) {
stop();
return;
}
ItemStack item = Minecraft.getMinecraft().thePlayer.inventory.getStackInSlot(bestSlot);
if (item == null || !(item.getItem() instanceof ItemFood)) {
stop();
return;
}
Minecraft.getMinecraft().thePlayer.inventory.currentItem = bestSlot;
Minecraft.getMinecraft().playerController
.sendUseItem(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().theWorld, item);
Minecraft.getMinecraft().gameSettings.keyBindUseItem.pressed = true;
}
项目:TFC2
文件:Food.java
public static void addNutrition(FoodStats fs, ItemStack is)
{
IFoodStatsTFC stats = (IFoodStatsTFC)fs;
TFCFood food = FoodRegistry.getInstance().getFood(is.getItem(), is.getItemDamage());
if(food != null && is.getItem() instanceof ItemFood)
{
ItemFood item = (ItemFood)is.getItem();
Iterator iter = food.foodGroup.iterator();
while(iter.hasNext())
{
FoodGroupPair pair = (FoodGroupPair) iter.next();
float amount = pair.amount;
if(pair.foodGroup != EnumFoodGroup.None)
{
amount = Math.min(stats.getNutritionMap().get(pair.foodGroup) + (item.getHealAmount(is) * (pair.amount / 100f)*0.25f), 20);
stats.getNutritionMap().put(pair.foodGroup, amount);
}
}
}
}
项目:DimsumCraft
文件:CChoppingBoard.java
@Override
public void onCraftMatrixChanged(IInventory inventoryIn) {
ItemStack stack1 = this.craftMatrix.getStackInSlot(0);
ItemStack stack2 = this.craftMatrix.getStackInSlot(1);
if (this.findRecipeAndAddToResultSlot(stack1, stack2) || this.findRecipeAndAddToResultSlot(stack2, stack1)) {
return;
}
if (stack1 != null && stack2 != null) {
ItemStack food = null;
if (stack1.getItem() instanceof ItemFood && !(stack1.getItem() instanceof ICondiment)) {
food = stack1;
} else if (stack2.getItem() instanceof ItemFood && !(stack2.getItem() instanceof ICondiment)) {
food = stack2;
}
if (CondimentsHandler.instance().isFoodCooked(food)) {
if (this.addCondimentToItem(stack1, stack2) || this.addCondimentToItem(stack2, stack1)) {
return;
}
}
}
}
项目:DimsumCraft
文件:CChoppingBoard.java
public boolean addCondimentToItem(ItemStack item, ItemStack condiment) {
if (item != null && item.stackSize > 0 && item.getItem() instanceof ItemFood && condiment != null && condiment.stackSize > 0) {
ItemStack newItem = item.copy();
newItem.stackSize = 1;
if (condiment.getItem() instanceof ICondiment) {
CondimentsHandler.instance().addCondimentToFood(((ICondiment) condiment.getItem()).getID(), newItem);
} else if (condiment.getItem() == Items.sugar) {
CondimentsHandler.instance().addCondimentToFood(ModCondimentIDs.SUGER_ID.ordinal(), newItem);
} else {
return false;
}
this.craftResult.setInventorySlotContents(0, newItem);
return true;
} else {
this.craftResult.setInventorySlotContents(0, null);
return false;
}
}
项目:Cyclic
文件:TextInfoModule.java
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onItemTooltipEvent(ItemTooltipEvent event) {
if (Keyboard.isCreated()
&& (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT))) {
// https://www.reddit.com/r/minecraftsuggestions/comments/3brh7v/when_hovering_over_a_food_it_shows_how_many_food/
ItemStack itemStack = event.getItemStack();
if (itemStack == null || itemStack.getItem() == null) {
return;
}
if (foodDetails && itemStack.getItem() instanceof ItemFood) {
ItemFood food = (ItemFood) itemStack.getItem();
int hunger = food.getHealAmount(itemStack);
float satur = food.getSaturationModifier(itemStack);
if (hunger > 0 || satur > 0) {
event.getToolTip().add(hunger + " (" + satur + ")");
}
}
if (fuelDetails) {
int burnTime = TileEntityFurnace.getItemBurnTime(itemStack);
if (burnTime > 0) {
event.getToolTip().add(UtilChat.lang("tooltip.burntime") + burnTime);
}
}
}
}
项目:Carnivora
文件:ItemHandler.java
private static void initFoods() {
for( FoodDefinition def : FoodDefinition.values() ) {
if( !def.settings.enabled ) continue;
final ItemFood item = new ItemFood(def.hunger, def.saturation, def.dogfood);
item.setMaxStackSize(def.stackSize);
item.setTextureName(Version.TEXTURE_PREFIX + def.texture);
item.setUnlocalizedName(Version.MOD_ID.toLowerCase() + "." + def.texture);
item.setCreativeTab(CreativeTabs.tabFood);
// save the reference :)
def.item = item;
GameRegistry.registerItem(item, def.texture);
for( String oreName : def.oreDict ) {
OreDictionary.registerOre(oreName, item);
}
}
}
项目:HarderStart
文件:FoodBucketItemBlock.java
/**
* Player gets food eaten effect and the barrel "takes damage"
*/
@Override
public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player)
{
int damage = stack.getItemDamage();
int maxdamage = stack.getMaxDamage();
int replenishment = maxdamage - damage;
if (replenishment > 4)
{
replenishment = 4;
}
if (replenishment > 0)
{
player.getFoodStats().func_151686_a(new ItemFood(replenishment, 0.6F, false), stack);
world.playSoundAtEntity(player, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F);
}
return new ItemStack(stack.getItem(), 1, damage + replenishment);
}
项目:HarderStart
文件:FurnaceRecipeHandler.java
/**
* Iterates through furnace recipes removes those I don't want TODO use for
* something worthwhile
*/
public static void recipeRemover()
{
Map<Integer, ItemStack> recipes = FurnaceRecipes.smelting().getSmeltingList();
Iterator current = recipes.entrySet().iterator();
while (current.hasNext())
{
Map.Entry<Integer, ItemStack> entry = (Entry<Integer, ItemStack>) current.next();
ItemStack stack = (ItemStack) entry.getValue();
if (ItemFood.class.isAssignableFrom(stack.getItem().getClass()))
{
current.remove();
}
else if (stack.getItem() == Items.iron_ingot)
{
current.remove();
}
}
return;
}
项目:Et-Futurum
文件:EtFuturum.java
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
Items.blaze_rod.setFull3D();
Blocks.trapped_chest.setCreativeTab(CreativeTabs.tabRedstone);
if (enableUpdatedFoodValues) {
setFinalField(ItemFood.class, Items.carrot, 3, "healAmount", "field_77853_b");
setFinalField(ItemFood.class, Items.baked_potato, 5, "healAmount", "field_77853_b");
}
if (enableUpdatedHarvestLevels) {
Blocks.packed_ice.setHarvestLevel("pickaxe", 0);
Blocks.ladder.setHarvestLevel("axe", 0);
Blocks.melon_block.setHarvestLevel("axe", 0);
}
}
项目:It-s-About-Time-Minecraft-Mod
文件:EntityIatWolf.java
public boolean isBreedingItem(ItemStack stack)
{
if(isCarnivore){
return stack == null ? false : (!(stack.getItem() instanceof ItemFood) ? false : ((ItemFood)stack.getItem()).isWolfsFavoriteMeat());
}else{
if(stack != null){
if(stack.getItem() != null){
if(stack.getItem() == this.getHerbivoreItem()){
return true;
}
}
}
}
return false;
}
项目:It-s-About-Time-Minecraft-Mod
文件:ModItems.java
public static void initializeItems(){
timeToolMaterial = EnumHelper.addToolMaterial("timeToolMaterial", 6, 1620, 8.0F, 4.0F, 7);
pheromoneArmor = EnumHelper.addArmorMaterial("pheromoneArmor", 12, new int[]{2, 4, 2, 1}, 9);
fossil_Shard = new Item().setUnlocalizedName("iat.fossil_Shard").setTextureName("iat:fossil").setCreativeTab(ItsAboutTime.iatTab);
rockPick = new ItemRockPick().setUnlocalizedName("iat.rockPick").setTextureName("iat:rockPick").setCreativeTab(ItsAboutTime.iatTab);
fossil_Broken = new ItemFossilBroken().setUnlocalizedName("iat.fossil_Broken").setCreativeTab(ItsAboutTime.iatTab);
fossil = new ItemFossil().setUnlocalizedName("iat.fossil").setCreativeTab(ItsAboutTime.iatTab);
for (int i = 0; i < EnumFossilSkeleton.values().length; i++) {
EnumFossilSkeleton.values()[i].fossilItem = new Item().setTextureName("iat:fossil").setUnlocalizedName("iat.fossil" + EnumFossilSkeleton.values()[i].name).setCreativeTab(ItsAboutTime.iatTab);
EnumFossilSkeleton.values()[i].fossilBrokenItem = new Item().setTextureName("iat:fossil").setUnlocalizedName("iat.fossil_Broken" + EnumFossilSkeleton.values()[i].name).setCreativeTab(ItsAboutTime.iatTab);
}
amber = new ItemAmber().setUnlocalizedName("iat.amber").setCreativeTab(ItsAboutTime.iatTab);
plaster_Ball = new Item().setUnlocalizedName("iat.plaster_Ball").setTextureName("iat:plaster").setCreativeTab(ItsAboutTime.iatTab);
time_Crystal = new ItemTimeCrystal().setUnlocalizedName("iat.time_Crystal").setTextureName("iat:time_Crystal").setCreativeTab(ItsAboutTime.iatTab);
time_Shovel = new ItemModSpade(timeToolMaterial).setUnlocalizedName("iat.time_Shovel").setTextureName("iat:time_Shovel").setCreativeTab(ItsAboutTime.iatTab);
time_Pickaxe = new ItemModPickaxe(timeToolMaterial).setUnlocalizedName("iat.time_Pickaxe").setTextureName("iat:time_Pickaxe").setCreativeTab(ItsAboutTime.iatTab);
time_Axe = new ItemModAxe(timeToolMaterial).setUnlocalizedName("iat.time_Axe").setTextureName("iat:time_Axe").setCreativeTab(ItsAboutTime.iatTab);
time_Sword = new ItemSword(timeToolMaterial).setUnlocalizedName("iat.time_Sword").setTextureName("iat:time_Sword").setCreativeTab(ItsAboutTime.iatTab);
time_Hoe = new ItemHoe(timeToolMaterial).setUnlocalizedName("iat.time_Hoe").setTextureName("iat:time_Hoe").setCreativeTab(ItsAboutTime.iatTab);
pheromoneChest = new ItemPheromoneArmor(pheromoneArmor, 0, 1).setUnlocalizedName("iat.pheromoneCanester").setTextureName("iat:pheromoneCanester").setCreativeTab(ItsAboutTime.iatTab);
bucket_Time = new ItemBucket(ModBlocks.fluidTimeBlock).setUnlocalizedName("iat.bucket_Time").setTextureName("iat:bucket_Time").setContainerItem(Items.bucket);
ginkoNuts = new ItemFood(2, 0.2F, false).setPotionEffect(Potion.hunger.id, 30, 0, 0.3F).setUnlocalizedName("iat.ginkoNut").setTextureName("iat:ginko_nut").setCreativeTab(ItsAboutTime.iatTab);
}
项目:Resilience-Client-Source
文件:ModuleFastEat.java
@Override
public void onOutwardPacket(EventOnOutwardPacket event){
if(!invoker.isOnGround()) return;
Packet packet = event.getPacket();
if (packet instanceof C08PacketPlayerBlockPlacement) {
if(!(invoker.getCurrentItem().getItem() instanceof ItemFood)) return;
C08PacketPlayerBlockPlacement packetBlockPlacement = (C08PacketPlayerBlockPlacement) packet;
if (packetBlockPlacement.func_149576_c() != -1 || packetBlockPlacement.func_149571_d() != -1 || packetBlockPlacement.func_149570_e() != -1 || packetBlockPlacement.func_149568_f() != 255) {
return;
}
event.addPacketToList(new C09PacketHeldItemChange(Minecraft.getMinecraft().thePlayer.inventory.currentItem));
for (int i = 0; i < 40; i++) {
event.addPacketToList(new C03PacketPlayer(false));
}
event.addPacketToList(new C07PacketPlayerDigging(5, 0, 0, 0, 255));
}
}
项目:Resilience-Client-Source
文件:ModuleAutoEat.java
@Override
public void onUpdate(EventOnUpdate event){
if(prevSlot != -1 && finished && goOnce){
invoker.setInvSlot(prevSlot);
invoker.setUseItemKeyPressed(false);
goOnce = false;
}
if(invoker.getFoodLevel() < 18){
for(int i=0; i<9; i++){
ItemStack item = invoker.getItemAtSlotHotbar(i);
if(item != null && item.getItem() instanceof ItemFood){
prevSlot = invoker.getCurInvSlot();
invoker.setInvSlot(i);
invoker.setUseItemKeyPressed(true);
if(invoker.getFoodLevel() > 16){
goOnce = true;
finished = true;
}
}
}
}
}
项目:TheKitchenMod
文件:OvenRecipes.java
/**
* @param input1 The ItemStack to get result of.
* @return Returns the result of the item stack when cooked in the Oven. Returns null when nothing was found
*/
public static ItemStack getCookingResult(ItemStack input1)
{
for (Map.Entry<ItemStack, ItemStack> entry : customOvenRecipes.entrySet())
{
ItemStack input2 = entry.getKey();
if (input1.isItemEqual(input2))
return entry.getValue().copy();
}
ItemStack furnaceOutput = FurnaceRecipes.smelting().getSmeltingResult(input1);
if (furnaceOutput != null && furnaceOutput.getItem() instanceof ItemFood)
furnaceOutput.copy();
/*for (int i = 0; i < customOvenRecipes[0].size(); i++)
{
ItemStack stack = customOvenRecipes[0].get(i);
if (itemStack.isItemEqual(stack))
return customOvenRecipes[1].get(i);
}*/
return null;
}
项目:MineFantasy
文件:EntityHound.java
public boolean isTempting(ItemStack item)
{
if(item != null)
{
if(item.itemID == Item.bone.itemID)
{
return true;
}
if(item.getItem() instanceof ItemFood)
{
if(((ItemFood)item.getItem()).isWolfsFavoriteMeat())
{
return true;
}
}
}
return false;
}
项目:MineFantasy
文件:BlockDogBowl.java
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i1, float f1, float f2, float f3) {
ItemStack itemstack = player.inventory.getCurrentItem();
TileEntityDogBowl tile = (TileEntityDogBowl) world.getBlockTileEntity(x, y, z);
if (!world.isRemote && tile != null && itemstack != null && itemstack.getItem() instanceof ItemFood)
{
ItemFood food = (ItemFood) itemstack.getItem();
if (food.isWolfsFavoriteMeat() && tile.canPutFood())
{
tile.addFood(food.getHealAmount());
if(!player.capabilities.isCreativeMode)
itemstack.stackSize--;
player.swingItem();
return true;
}
}
return false;
}
项目:MineFantasy
文件:TileEntityOven.java
public ItemStack getResult(ItemStack item)
{
ItemStack result = OvenRecipes.getSmeltingResult(item);
if(result != null)
{
return result;
}
result = FurnaceRecipes.smelting().getSmeltingResult(item);
if(result != null && result.getItem() instanceof ItemFood)
{
return result;
}
return null;
}
项目:TectoCraft
文件:FeedOMatic.java
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) {
if(world.isRemote){
NBTTagCompound tag = ItemUtils.getItemTag(stack);
tag.setInteger("hungerStorage", 0);
tag.setInteger("maxHungerStorage", 0);
EntityPlayer player = (EntityPlayer)entity;
if(Keyboard.isKeyDown(Keyboard.KEY_F)){
if(tag.getInteger("hungerStorage") < tag.getInteger("maxHungerStorage")){
tag.setInteger("hungerStorage", tag.getInteger("hungerStorage")+((ItemFood) foodFunc(stack, player)).func_150905_g(stack));
player.inventory.consumeInventoryItem(foodFunc(stack, player));
}
}
if(player.getFoodStats().getFoodLevel() < 20 && player.getFoodStats().needFood() && tag.getInteger("hungerStorage") > 20 - player.getFoodStats().getFoodLevel()){
player.getFoodStats().setFoodLevel(20 - player.getFoodStats().getFoodLevel());
tag.setInteger("hungerStorage", 20 - player.getFoodStats().getFoodLevel());
}
}
}
项目:TFC2
文件:Food.java
public static void addNutrition(FoodStats fs, ItemStack is)
{
IFoodStatsTFC stats = (IFoodStatsTFC)fs;
TFCFood food = FoodRegistry.getInstance().getFood(is.getItem(), is.getItemDamage());
if(food != null && is.getItem() instanceof ItemFood)
{
ItemFood item = (ItemFood)is.getItem();
Iterator iter = food.foodGroup.iterator();
while(iter.hasNext())
{
FoodGroupPair pair = (FoodGroupPair) iter.next();
float amount = pair.amount;
if(pair.foodGroup != EnumFoodGroup.None)
{
amount = Math.min(stats.getNutritionMap().get(pair.foodGroup) + (item.getHealAmount(is) * (pair.amount / 100f)*0.25f), 20);
stats.getNutritionMap().put(pair.foodGroup, amount);
}
}
}
}
项目:ZeroQuest
文件:TileEntityFoodBowl.java
public int getFirstDogFoodStack(EntityZertumEntity dog) {
for (int i = 0; i < 5; i++) {
if (bowlContents[i] == null)
continue;
Item item = bowlContents[i].getItem();
if (item == null || !(item instanceof ItemFood))
continue;
ItemStack itemstack = getStackInSlot(i);
if(dog.foodValue(itemstack) != 0)
return i;
}
return -1;
}
项目:ZeroQuest
文件:TileEntityFoodBowl.java
private boolean ContainsFood()
{
for (int i = 0; i < 5; i++)
{
if (bowlContents[i] == null)
{
continue;
}
Item item = bowlContents[i].getItem();
if (item != null && (item instanceof ItemFood))
{
return true;
}
}
return false;
}
项目:MagicalRings
文件:ItemEventHandler.java
@SubscribeEvent
public void finishItemUse(PlayerUseItemEvent.Finish event) {
if (FMLCommonHandler.instance().getSide() == Side.SERVER) {
EntityPlayer player = event.entityPlayer;
ItemStack stack = event.item;
if (Rings.proxy.manaHandler.playerHasSession(player) && !player.capabilities.isCreativeMode) {
if (stack.getItem() instanceof ItemFood) {
int foodPoints = ((ItemFood) stack.getItem()).func_150905_g(stack) * 2;
IPlayerSession playerSession = Rings.proxy.manaHandler.getPlayerSession(player);
playerSession.adjustMana(foodPoints, false);
Rings.proxy.manaHandler.updatePlayerSession(playerSession, player.getEntityWorld().provider.dimensionId);
}
}
/*
if (MagicHandler.getMagicHandler().getPlayerTag(player) != null && !player.capabilities.isCreativeMode) {
if (stack.getItem() instanceof ItemFood) {
int foodPoints = ((ItemFood) stack.getItem()).func_150905_g(stack) * 2;
Rings.pktHandler.sendToServer(new PacketModifyMp(player, foodPoints, 0));
}
}*/
}
}
项目:Corruption
文件:GluttonyCorruption.java
@Override
public void onUpdate(EntityPlayer player, Side side) {
if (player.worldObj.getTotalWorldTime() % 40 == 0 && side.isServer()) {
InventoryPlayer inventoryPlayer = player.inventory;
player.addPotionEffect(new PotionEffect(Potion.hunger.id, 40));
for (int i = 0; i < inventoryPlayer.getSizeInventory(); i++) {
ItemStack itemStack = inventoryPlayer.getStackInSlot(i);
if (itemStack != null && itemStack.getItem() instanceof ItemFood) {
inventoryPlayer.setInventorySlotContents(i, itemStack.onFoodEaten(player.worldObj, player).stackSize <= 0 ? null : itemStack);
player.worldObj.playSoundAtEntity(player, "random.eat", 0.5F + 0.5F * (float) player.getRNG().nextInt(2), (player.getRNG().nextFloat() - player.getRNG().nextFloat()) * 0.2F + 1.0F);
this.playerCount.add(player.getCommandSenderName());
break;
}
}
if (player.worldObj.getTotalWorldTime() % 80 == 0) this.playerCount.add(player.getCommandSenderName());
}
}
项目:GardenCollection
文件:CompostRegistry.java
private void init () {
registerCompostMaterial(new ItemStack(Blocks.melon_block), defaultMaterial);
registerCompostMaterial(new ItemStack(Blocks.pumpkin), defaultMaterial);
registerCompostMaterial(new ItemStack(Blocks.hay_block), defaultMaterial);
registerCompostMaterial(new ItemStack(Items.string), new StandardCompostMaterial(100, 0.0625f));
registerCompostMaterial(new ItemStack(Items.wheat), new StandardCompostMaterial(100, 0.125f));
registerCompostMaterial(new ItemStack(Items.reeds), new StandardCompostMaterial(150, 0.125f));
registerCompostMaterial(new ItemStack(Items.feather), new StandardCompostMaterial(50, 0.0625f));
registerCompostMaterial(new ItemStack(Items.rotten_flesh), new StandardCompostMaterial(150, 0.125f));
registerCompostMaterial(new ItemStack(Items.leather), new StandardCompostMaterial(150, 0.125f));
registerCompostMaterial("treeWood", new StandardCompostMaterial(300, 0.25f));
registerCompostMaterial("logWood", new StandardCompostMaterial(300, 0.25f));
registerCompostMaterial("treeLeaves", defaultMaterial);
registerCompostMaterial("treeSapling", defaultMaterial);
registerCompostMaterial("stickWood", defaultMaterial);
registerCompostMaterial(IPlantable.class, defaultMaterial);
registerCompostMaterial(IGrowable.class, defaultMaterial);
registerCompostMaterial(BlockLeavesBase.class, defaultMaterial);
registerCompostMaterial(BlockVine.class, defaultMaterial);
registerCompostMaterial(ItemFood.class, defaultMaterial);
}
项目:dragon-mounts
文件:DragonInteractEat.java
@Override
public boolean interact(EntityPlayer player, ItemStack item) {
// eat only if hurt
if (dragon.isServer() && dragon.getHealthRelative() < 1) {
ItemFood food = (ItemFood) ItemUtils.consumeEquipped(player,
dragon.getBreed().getFoodItems());
// heal only if the food was actually consumed
if (food != null) {
dragon.heal(food.getHealAmount(item));
dragon.playSound(dragon.getSoundManager().getEatSound(), 0.7f, 1);
return true;
}
}
return false;
}
项目:AdvancedUtilities
文件:ItemArmorRebreather.java
/**
* Called to tick armor in the armor slot. Override to do something
*
* @param world
* @param player
* @param itemStack
*/
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
{
if(itemStack!=null)
{
RebreatherInv inv = new RebreatherInv(itemStack);
if(player.getFoodStats().needFood())
{
for(int i = 0; i < inv.INV_SIZE/2; i++)
{
if(inv.getStackInSlot(i)!= null && inv.getStackInSlot(i).getItem() instanceof ItemFood)
{
if(player.getFoodStats().getFoodLevel()+((ItemFood) inv.getStackInSlot(i).getItem()).func_150905_g(inv.getStackInSlot(i)) <= 20)
{
player.getFoodStats().setFoodLevel(player.getFoodStats().getFoodLevel()+((ItemFood) inv.getStackInSlot(i).getItem()).func_150905_g(inv.getStackInSlot(i)));
player.getFoodStats().setFoodSaturationLevel(player.getFoodStats().getSaturationLevel()+((ItemFood) inv.getStackInSlot(i).getItem()).func_150906_h(inv.getStackInSlot(i)));
inv.decrStackSize(i, 1);
}
}
}
}
}
}
项目:Fluxed-Trinkets
文件:EffectFeed.java
@Override
public int onWornTick(ItemStack stack, EntityLivingBase entity, ITrinket item) {
if (!entity.worldObj.isRemote && entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) entity;
for (int i = 0; i < player.inventory.getSizeInventory(); i++) {
ItemStack foodStack = player.inventory.getStackInSlot(i);
if (player.getFoodStats().getFoodLevel() < 20 && foodStack != null && foodStack.getItem() instanceof ItemFood) {
ItemFood food = (ItemFood) foodStack.getItem();
if (hasEnergy(item, foodStack, getUsage()) && player.getFoodStats().getFoodLevel() + food.func_150905_g(player.inventory.getStackInSlot(i)) <= 20) {
food.onEaten(new ItemStack(food), entity.worldObj, player);
player.inventory.getStackInSlot(i).stackSize--;
if (player.inventory.getStackInSlot(i).stackSize == 0) {
player.inventory.setInventorySlotContents(i, null);
}
return getUsage();
}
}
}
}
return 0;
}