the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "net.minecraft.world.effect.h"
3#include "net.minecraft.world.entity.player.h"
4#include "net.minecraft.world.level.h"
5#include "SharedConstants.h"
6#include "GoldenAppleItem.h"
7
8GoldenAppleItem::GoldenAppleItem(int id, int nutrition, float saturationMod, bool isMeat) : FoodItem(id, nutrition, saturationMod, isMeat)
9{
10 setStackedByData(true);
11}
12
13bool GoldenAppleItem::isFoil(shared_ptr<ItemInstance> itemInstance)
14{
15 return itemInstance->getAuxValue() > 0;
16}
17
18const Rarity *GoldenAppleItem::getRarity(shared_ptr<ItemInstance> itemInstance)
19{
20 if (itemInstance->getAuxValue() == 0)
21 {
22 return Rarity::rare;
23 }
24 return Rarity::epic;
25}
26
27void GoldenAppleItem::addEatEffect(shared_ptr<ItemInstance> instance, Level *level, shared_ptr<Player> player)
28{
29 if (!level->isClientSide) player->addEffect(new MobEffectInstance(MobEffect::absorption->id, 2 * 60 * SharedConstants::TICKS_PER_SECOND, 0));
30
31 if (instance->getAuxValue() > 0)
32 {
33 if (!level->isClientSide)
34 {
35 player->addEffect(new MobEffectInstance(MobEffect::regeneration->id, 30 * SharedConstants::TICKS_PER_SECOND, 4));
36 player->addEffect(new MobEffectInstance(MobEffect::damageResistance->id, 300 * SharedConstants::TICKS_PER_SECOND, 0));
37 player->addEffect(new MobEffectInstance(MobEffect::fireResistance->id, 300 * SharedConstants::TICKS_PER_SECOND, 0));
38 }
39 }
40 else
41 {
42 FoodItem::addEatEffect(instance, level, player);
43 }
44}
45
46unsigned int GoldenAppleItem::getUseDescriptionId(int iData /*= -1*/)
47{
48 if (iData == 0) return IDS_DESC_GOLDENAPPLE;
49 else return IDS_DESC_ENCHANTED_GOLDENAPPLE;
50}
51
52unsigned int GoldenAppleItem::getUseDescriptionId(shared_ptr<ItemInstance> instance)
53{
54 return this->getUseDescriptionId(instance->getAuxValue());
55}