1
0

Golden Apple Fixes (#4130)

* Do not remove food item until player has been fed
* Golden apples now ignore hunger when eating
* Removed EnchantedGoldenApple recipe, as it was removed in 1.9
    Reference: https://minecraft.gamepedia.com/1.9#Items_2
* Adjust golden apple effects, as they were changed in 1.9
    Reference: https://minecraft.gamepedia.com/1.9#Items_2
This commit is contained in:
Alexander Harkness 2018-01-06 00:39:23 +00:00 committed by peterbell10
parent d7de2dccf0
commit 2529a89835
4 changed files with 16 additions and 24 deletions

View File

@ -50,7 +50,7 @@ DarkOakPlanks, 4 = DarkOakLog, *
EnderChest = EyeOfEnder, 2:2 | Obsidian, 1:1, 1:2, 1:3, 2:1, 2:3, 3:1, 3:2, 3:3
Furnace = Cobblestone, 1:1, 1:2, 1:3, 2:1, 2:3, 3:1, 3:2, 3:3
JunglePlanks, 4 = JungleLog, *
OakPlanks, 4 = OakLog, *
OakPlanks, 4 = OakLog, *
SprucePlanks, 4 = SpruceLog, *
Stick, 4 = Planks^-1, 2:2, 2:3
Torch, 4 = Stick, 1:2 | Coal^-1, 1:1
@ -345,7 +345,6 @@ Bowl, 4 = Planks^-1, 1:1, 2:2, 3:1
Bread = Wheat, 1:1, 2:1, 3:1
Cake = MilkBucket, 1:1, 2:1, 3:1 | Sugar, 1:2, 3:2 | Egg, 2:2 | Wheat, 1:3, 2:3, 3:3
Cookie, 8 = Wheat, *, * | CocoaBeans, *
EnchantedGoldenApple = RedApple, 2:2 | GoldBlock, 1:1, 1:2, 1:3, 2:1, 2:3, 3:1, 3:2, 3:3
GoldenApple = RedApple, 2:2 | GoldIngot, 1:1, 1:2, 1:3, 2:1, 2:3, 3:1, 3:2, 3:3
MelonBlock = MelonSlice, 1:1, 1:2, 1:3, 2:1, 2:2, 2:3, 3:1, 3:2, 3:3
MelonSeeds = MelonSlice, *
@ -858,7 +857,7 @@ GoldNugget, 9 = GoldIngot, *
MagmaCream = SlimeBall, * | BlazePowder, *
#******************************************************#
# Dyed Armor
# Dyed Armor
# Do not modify
LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, *
LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, * | Dye^-1, *

View File

@ -678,6 +678,10 @@ void cPlayer::FinishEating(void)
{
return;
}
if (!IsGameModeCreative())
{
GetInventory().RemoveOneEquippedItem();
}
ItemHandler->OnFoodEaten(m_World, this, &Item);
}

View File

@ -21,23 +21,21 @@ public:
virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) override
{
if (!super::EatItem(a_Player, a_Item))
{
return false;
}
super::EatItem(a_Player, a_Item);
// Add the effects:
a_Player->AddEntityEffect(cEntityEffect::effAbsorption, 2400, 0);
a_Player->AddEntityEffect(cEntityEffect::effRegeneration, 100, 1);
// When the apple is a 'notch apple', give extra effects:
// Enchanted golden apples have stronger effects:
if (a_Item->m_ItemDamage >= E_META_GOLDEN_APPLE_ENCHANTED)
{
a_Player->AddEntityEffect(cEntityEffect::effRegeneration, 600, 4);
a_Player->AddEntityEffect(cEntityEffect::effAbsorption, 2400, 3);
a_Player->AddEntityEffect(cEntityEffect::effRegeneration, 400, 1);
a_Player->AddEntityEffect(cEntityEffect::effResistance, 6000, 0);
a_Player->AddEntityEffect(cEntityEffect::effFireResistance, 6000, 0);
return true;
}
a_Player->AddEntityEffect(cEntityEffect::effAbsorption, 2400, 0);
a_Player->AddEntityEffect(cEntityEffect::effRegeneration, 100, 1);
return true;
}

View File

@ -822,17 +822,8 @@ bool cItemHandler::GetPlacementBlockTypeMeta(
bool cItemHandler::EatItem(cPlayer * a_Player, cItem * a_Item)
{
if (!a_Player->IsGameModeCreative())
{
a_Player->GetInventory().RemoveOneEquippedItem();
}
FoodInfo Info = GetFoodInfo(a_Item);
if ((Info.FoodLevel > 0) || (Info.Saturation > 0.f))
{
return a_Player->Feed(Info.FoodLevel, Info.Saturation);
}
return false;
auto FoodInfo = GetFoodInfo(a_Item);
return a_Player->Feed(FoodInfo.FoodLevel, FoodInfo.Saturation);
}