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 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 Furnace = Cobblestone, 1:1, 1:2, 1:3, 2:1, 2:3, 3:1, 3:2, 3:3
JunglePlanks, 4 = JungleLog, * JunglePlanks, 4 = JungleLog, *
OakPlanks, 4 = OakLog, * OakPlanks, 4 = OakLog, *
SprucePlanks, 4 = SpruceLog, * SprucePlanks, 4 = SpruceLog, *
Stick, 4 = Planks^-1, 2:2, 2:3 Stick, 4 = Planks^-1, 2:2, 2:3
Torch, 4 = Stick, 1:2 | Coal^-1, 1:1 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 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 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, * 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 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 MelonBlock = MelonSlice, 1:1, 1:2, 1:3, 2:1, 2:2, 2:3, 3:1, 3:2, 3:3
MelonSeeds = MelonSlice, * MelonSeeds = MelonSlice, *
@ -858,7 +857,7 @@ GoldNugget, 9 = GoldIngot, *
MagmaCream = SlimeBall, * | BlazePowder, * MagmaCream = SlimeBall, * | BlazePowder, *
#******************************************************# #******************************************************#
# Dyed Armor # Dyed Armor
# Do not modify # Do not modify
LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, * LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, *
LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, * | Dye^-1, * LeatherHelmet = LeatherHelmet^-1, * | Dye^-1, * | Dye^-1, *

View File

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

View File

@ -21,23 +21,21 @@ public:
virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) override virtual bool EatItem(cPlayer * a_Player, cItem * a_Item) override
{ {
if (!super::EatItem(a_Player, a_Item)) super::EatItem(a_Player, a_Item);
{
return false;
}
// Add the effects: // Enchanted golden apples have stronger 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:
if (a_Item->m_ItemDamage >= E_META_GOLDEN_APPLE_ENCHANTED) 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::effResistance, 6000, 0);
a_Player->AddEntityEffect(cEntityEffect::effFireResistance, 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; return true;
} }

View File

@ -822,17 +822,8 @@ bool cItemHandler::GetPlacementBlockTypeMeta(
bool cItemHandler::EatItem(cPlayer * a_Player, cItem * a_Item) bool cItemHandler::EatItem(cPlayer * a_Player, cItem * a_Item)
{ {
if (!a_Player->IsGameModeCreative()) auto FoodInfo = GetFoodInfo(a_Item);
{ return a_Player->Feed(FoodInfo.FoodLevel, FoodInfo.Saturation);
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;
} }