mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-23 19:33:36 +00:00
1807 lines
74 KiB
C++
1807 lines
74 KiB
C++
#include "../Platform/stdafx.h"
|
|
|
|
#include "../Headers/net.minecraft.locale.h"
|
|
#include "../Headers/net.minecraft.world.h"
|
|
#include "../Headers/net.minecraft.world.entity.h"
|
|
#include "../Headers/net.minecraft.world.entity.item.h"
|
|
#include "../Headers/net.minecraft.world.level.h"
|
|
#include "../Headers/net.minecraft.world.level.tile.h"
|
|
#include "../Headers/net.minecraft.world.item.h"
|
|
#include "../Headers/net.minecraft.world.item.alchemy.h"
|
|
#include "../Headers/net.minecraft.world.food.h"
|
|
#include "../Headers/net.minecraft.world.effect.h"
|
|
#include "../Headers/net.minecraft.stats.h"
|
|
#include "MapItem.h"
|
|
#include "Item.h"
|
|
#include "HangingEntityItem.h"
|
|
#include "../Util/HtmlString.h"
|
|
|
|
typedef Item::Tier _Tier;
|
|
|
|
// const UUID Item::BASE_ATTACK_DAMAGE_UUID =
|
|
// UUID::fromString(L"CB3F55D3-645C-4F38-A497-9C13A33DB5CF");
|
|
|
|
std::wstring Item::ICON_DESCRIPTION_PREFIX = L"item.";
|
|
|
|
const _Tier* _Tier::WOOD = new _Tier(0, 59, 2, 0, 15); //
|
|
const _Tier* _Tier::STONE = new _Tier(1, 131, 4, 1, 5); //
|
|
const _Tier* _Tier::IRON = new _Tier(2, 250, 6, 2, 14); //
|
|
const _Tier* _Tier::DIAMOND = new _Tier(3, 1561, 8, 3, 10); //
|
|
const _Tier* _Tier::GOLD = new _Tier(0, 32, 12, 0, 22);
|
|
|
|
Random* Item::random = new Random();
|
|
|
|
ItemArray Item::items = ItemArray(ITEM_NUM_COUNT);
|
|
|
|
Item* Item::shovel_iron = NULL;
|
|
Item* Item::pickAxe_iron = NULL;
|
|
Item* Item::hatchet_iron = NULL;
|
|
Item* Item::flintAndSteel = NULL;
|
|
Item* Item::apple = NULL;
|
|
BowItem* Item::bow = NULL;
|
|
Item* Item::arrow = NULL;
|
|
Item* Item::coal = NULL;
|
|
Item* Item::diamond = NULL;
|
|
Item* Item::ironIngot = NULL;
|
|
Item* Item::goldIngot = NULL;
|
|
Item* Item::sword_iron = NULL;
|
|
|
|
Item* Item::sword_wood = NULL;
|
|
Item* Item::shovel_wood = NULL;
|
|
Item* Item::pickAxe_wood = NULL;
|
|
Item* Item::hatchet_wood = NULL;
|
|
|
|
Item* Item::sword_stone = NULL;
|
|
Item* Item::shovel_stone = NULL;
|
|
Item* Item::pickAxe_stone = NULL;
|
|
Item* Item::hatchet_stone = NULL;
|
|
|
|
Item* Item::sword_diamond = NULL;
|
|
Item* Item::shovel_diamond = NULL;
|
|
Item* Item::pickAxe_diamond = NULL;
|
|
Item* Item::hatchet_diamond = NULL;
|
|
|
|
Item* Item::stick = NULL;
|
|
Item* Item::bowl = NULL;
|
|
Item* Item::mushroomStew = NULL;
|
|
|
|
Item* Item::sword_gold = NULL;
|
|
Item* Item::shovel_gold = NULL;
|
|
Item* Item::pickAxe_gold = NULL;
|
|
Item* Item::hatchet_gold = NULL;
|
|
|
|
Item* Item::string = NULL;
|
|
Item* Item::feather = NULL;
|
|
Item* Item::gunpowder = NULL;
|
|
|
|
Item* Item::hoe_wood = NULL;
|
|
Item* Item::hoe_stone = NULL;
|
|
Item* Item::hoe_iron = NULL;
|
|
Item* Item::hoe_diamond = NULL;
|
|
Item* Item::hoe_gold = NULL;
|
|
|
|
Item* Item::seeds_wheat = NULL;
|
|
Item* Item::wheat = NULL;
|
|
Item* Item::bread = NULL;
|
|
|
|
ArmorItem* Item::helmet_leather = NULL;
|
|
ArmorItem* Item::chestplate_leather = NULL;
|
|
ArmorItem* Item::leggings_leather = NULL;
|
|
ArmorItem* Item::boots_leather = NULL;
|
|
|
|
ArmorItem* Item::helmet_chain = NULL;
|
|
ArmorItem* Item::chestplate_chain = NULL;
|
|
ArmorItem* Item::leggings_chain = NULL;
|
|
ArmorItem* Item::boots_chain = NULL;
|
|
|
|
ArmorItem* Item::helmet_iron = NULL;
|
|
ArmorItem* Item::chestplate_iron = NULL;
|
|
ArmorItem* Item::leggings_iron = NULL;
|
|
ArmorItem* Item::boots_iron = NULL;
|
|
|
|
ArmorItem* Item::helmet_diamond = NULL;
|
|
ArmorItem* Item::chestplate_diamond = NULL;
|
|
ArmorItem* Item::leggings_diamond = NULL;
|
|
ArmorItem* Item::boots_diamond = NULL;
|
|
|
|
ArmorItem* Item::helmet_gold = NULL;
|
|
ArmorItem* Item::chestplate_gold = NULL;
|
|
ArmorItem* Item::leggings_gold = NULL;
|
|
ArmorItem* Item::boots_gold = NULL;
|
|
|
|
Item* Item::flint = NULL;
|
|
Item* Item::porkChop_raw = NULL;
|
|
Item* Item::porkChop_cooked = NULL;
|
|
Item* Item::painting = NULL;
|
|
|
|
Item* Item::apple_gold = NULL;
|
|
|
|
Item* Item::sign = NULL;
|
|
Item* Item::door_wood = NULL;
|
|
|
|
Item* Item::bucket_empty = NULL;
|
|
Item* Item::bucket_water = NULL;
|
|
Item* Item::bucket_lava = NULL;
|
|
|
|
Item* Item::minecart = NULL;
|
|
Item* Item::saddle = NULL;
|
|
Item* Item::door_iron = NULL;
|
|
Item* Item::redStone = NULL;
|
|
Item* Item::snowBall = NULL;
|
|
|
|
Item* Item::boat = NULL;
|
|
|
|
Item* Item::leather = NULL;
|
|
Item* Item::bucket_milk = NULL;
|
|
Item* Item::brick = NULL;
|
|
Item* Item::clay = NULL;
|
|
Item* Item::reeds = NULL;
|
|
Item* Item::paper = NULL;
|
|
Item* Item::book = NULL;
|
|
Item* Item::slimeBall = NULL;
|
|
Item* Item::minecart_chest = NULL;
|
|
Item* Item::minecart_furnace = NULL;
|
|
Item* Item::egg = NULL;
|
|
Item* Item::compass = NULL;
|
|
FishingRodItem* Item::fishingRod = NULL;
|
|
Item* Item::clock = NULL;
|
|
Item* Item::yellowDust = NULL;
|
|
Item* Item::fish_raw = NULL;
|
|
Item* Item::fish_cooked = NULL;
|
|
|
|
Item* Item::dye_powder = NULL;
|
|
Item* Item::bone = NULL;
|
|
Item* Item::sugar = NULL;
|
|
Item* Item::cake = NULL;
|
|
|
|
Item* Item::bed = NULL;
|
|
|
|
Item* Item::repeater = NULL;
|
|
Item* Item::cookie = NULL;
|
|
|
|
MapItem* Item::map = NULL;
|
|
|
|
Item* Item::record_01 = NULL;
|
|
Item* Item::record_02 = NULL;
|
|
Item* Item::record_03 = NULL;
|
|
Item* Item::record_04 = NULL;
|
|
Item* Item::record_05 = NULL;
|
|
Item* Item::record_06 = NULL;
|
|
Item* Item::record_07 = NULL;
|
|
Item* Item::record_08 = NULL;
|
|
Item* Item::record_09 = NULL;
|
|
Item* Item::record_10 = NULL;
|
|
Item* Item::record_11 = NULL;
|
|
Item* Item::record_12 = NULL;
|
|
|
|
ShearsItem* Item::shears = NULL;
|
|
|
|
Item* Item::melon = NULL;
|
|
|
|
Item* Item::seeds_pumpkin = NULL;
|
|
Item* Item::seeds_melon = NULL;
|
|
|
|
Item* Item::beef_raw = NULL;
|
|
Item* Item::beef_cooked = NULL;
|
|
Item* Item::chicken_raw = NULL;
|
|
Item* Item::chicken_cooked = NULL;
|
|
Item* Item::rotten_flesh = NULL;
|
|
|
|
Item* Item::enderPearl = NULL;
|
|
|
|
Item* Item::blazeRod = NULL;
|
|
Item* Item::ghastTear = NULL;
|
|
Item* Item::goldNugget = NULL;
|
|
Item* Item::netherwart_seeds = NULL;
|
|
PotionItem* Item::potion = NULL;
|
|
Item* Item::glassBottle = NULL;
|
|
Item* Item::spiderEye = NULL;
|
|
Item* Item::fermentedSpiderEye = NULL;
|
|
Item* Item::blazePowder = NULL;
|
|
Item* Item::magmaCream = NULL;
|
|
Item* Item::brewingStand = NULL;
|
|
Item* Item::cauldron = NULL;
|
|
Item* Item::eyeOfEnder = NULL;
|
|
Item* Item::speckledMelon = NULL;
|
|
|
|
Item* Item::spawnEgg = NULL;
|
|
|
|
Item* Item::expBottle = NULL;
|
|
|
|
// TU9
|
|
Item* Item::fireball = NULL;
|
|
Item* Item::frame = NULL;
|
|
|
|
Item* Item::skull = NULL;
|
|
|
|
// TU14
|
|
// Item *Item::writingBook = NULL;
|
|
// Item *Item::writtenBook = NULL;
|
|
|
|
Item* Item::emerald = NULL;
|
|
|
|
Item* Item::flowerPot = NULL;
|
|
|
|
Item* Item::carrots = NULL;
|
|
Item* Item::potato = NULL;
|
|
Item* Item::potatoBaked = NULL;
|
|
Item* Item::potatoPoisonous = NULL;
|
|
|
|
EmptyMapItem* Item::emptyMap = NULL;
|
|
|
|
Item* Item::carrotGolden = NULL;
|
|
|
|
Item* Item::carrotOnAStick = NULL;
|
|
Item* Item::netherStar = NULL;
|
|
Item* Item::pumpkinPie = NULL;
|
|
Item* Item::fireworks = NULL;
|
|
Item* Item::fireworksCharge = NULL;
|
|
|
|
EnchantedBookItem* Item::enchantedBook = NULL;
|
|
|
|
Item* Item::comparator = NULL;
|
|
Item* Item::netherbrick = NULL;
|
|
Item* Item::netherQuartz = NULL;
|
|
Item* Item::minecart_tnt = NULL;
|
|
Item* Item::minecart_hopper = NULL;
|
|
|
|
Item* Item::horseArmorMetal = NULL;
|
|
Item* Item::horseArmorGold = NULL;
|
|
Item* Item::horseArmorDiamond = NULL;
|
|
Item* Item::lead = NULL;
|
|
Item* Item::nameTag = NULL;
|
|
|
|
void Item::staticCtor() {
|
|
Item::sword_wood =
|
|
(new WeaponItem(12, _Tier::WOOD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_sword, eMaterial_wood)
|
|
->setIconName(L"swordWood")
|
|
->setDescriptionId(IDS_ITEM_SWORD_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_SWORD);
|
|
Item::sword_stone =
|
|
(new WeaponItem(16, _Tier::STONE))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_sword, eMaterial_stone)
|
|
->setIconName(L"swordStone")
|
|
->setDescriptionId(IDS_ITEM_SWORD_STONE)
|
|
->setUseDescriptionId(IDS_DESC_SWORD);
|
|
Item::sword_iron =
|
|
(new WeaponItem(11, _Tier::IRON))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_sword, eMaterial_iron)
|
|
->setIconName(L"swordIron")
|
|
->setDescriptionId(IDS_ITEM_SWORD_IRON)
|
|
->setUseDescriptionId(IDS_DESC_SWORD);
|
|
Item::sword_diamond =
|
|
(new WeaponItem(20, _Tier::DIAMOND))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_sword, eMaterial_diamond)
|
|
->setIconName(L"swordDiamond")
|
|
->setDescriptionId(IDS_ITEM_SWORD_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_SWORD);
|
|
Item::sword_gold =
|
|
(new WeaponItem(27, _Tier::GOLD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_sword, eMaterial_gold)
|
|
->setIconName(L"swordGold")
|
|
->setDescriptionId(IDS_ITEM_SWORD_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_SWORD);
|
|
|
|
Item::shovel_wood =
|
|
(new ShovelItem(13, _Tier::WOOD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_shovel, eMaterial_wood)
|
|
->setIconName(L"shovelWood")
|
|
->setDescriptionId(IDS_ITEM_SHOVEL_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_SHOVEL);
|
|
Item::shovel_stone =
|
|
(new ShovelItem(17, _Tier::STONE))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_shovel, eMaterial_stone)
|
|
->setIconName(L"shovelStone")
|
|
->setDescriptionId(IDS_ITEM_SHOVEL_STONE)
|
|
->setUseDescriptionId(IDS_DESC_SHOVEL);
|
|
Item::shovel_iron =
|
|
(new ShovelItem(0, _Tier::IRON))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_shovel, eMaterial_iron)
|
|
->setIconName(L"shovelIron")
|
|
->setDescriptionId(IDS_ITEM_SHOVEL_IRON)
|
|
->setUseDescriptionId(IDS_DESC_SHOVEL);
|
|
Item::shovel_diamond = (new ShovelItem(21, _Tier::DIAMOND))
|
|
->setBaseItemTypeAndMaterial(
|
|
eBaseItemType_shovel, eMaterial_diamond)
|
|
->setIconName(L"shovelDiamond")
|
|
->setDescriptionId(IDS_ITEM_SHOVEL_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_SHOVEL);
|
|
Item::shovel_gold =
|
|
(new ShovelItem(28, _Tier::GOLD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_shovel, eMaterial_gold)
|
|
->setIconName(L"shovelGold")
|
|
->setDescriptionId(IDS_ITEM_SHOVEL_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_SHOVEL);
|
|
|
|
Item::pickAxe_wood =
|
|
(new PickaxeItem(14, _Tier::WOOD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pickaxe, eMaterial_wood)
|
|
->setIconName(L"pickaxeWood")
|
|
->setDescriptionId(IDS_ITEM_PICKAXE_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_PICKAXE);
|
|
Item::pickAxe_stone =
|
|
(new PickaxeItem(18, _Tier::STONE))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pickaxe, eMaterial_stone)
|
|
->setIconName(L"pickaxeStone")
|
|
->setDescriptionId(IDS_ITEM_PICKAXE_STONE)
|
|
->setUseDescriptionId(IDS_DESC_PICKAXE);
|
|
Item::pickAxe_iron =
|
|
(new PickaxeItem(1, _Tier::IRON))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pickaxe, eMaterial_iron)
|
|
->setIconName(L"pickaxeIron")
|
|
->setDescriptionId(IDS_ITEM_PICKAXE_IRON)
|
|
->setUseDescriptionId(IDS_DESC_PICKAXE);
|
|
Item::pickAxe_diamond = (new PickaxeItem(22, _Tier::DIAMOND))
|
|
->setBaseItemTypeAndMaterial(
|
|
eBaseItemType_pickaxe, eMaterial_diamond)
|
|
->setIconName(L"pickaxeDiamond")
|
|
->setDescriptionId(IDS_ITEM_PICKAXE_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_PICKAXE);
|
|
Item::pickAxe_gold =
|
|
(new PickaxeItem(29, _Tier::GOLD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pickaxe, eMaterial_gold)
|
|
->setIconName(L"pickaxeGold")
|
|
->setDescriptionId(IDS_ITEM_PICKAXE_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_PICKAXE);
|
|
|
|
Item::hatchet_wood =
|
|
(new HatchetItem(15, _Tier::WOOD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hatchet, eMaterial_wood)
|
|
->setIconName(L"hatchetWood")
|
|
->setDescriptionId(IDS_ITEM_HATCHET_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_HATCHET);
|
|
Item::hatchet_stone =
|
|
(new HatchetItem(19, _Tier::STONE))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hatchet, eMaterial_stone)
|
|
->setIconName(L"hatchetStone")
|
|
->setDescriptionId(IDS_ITEM_HATCHET_STONE)
|
|
->setUseDescriptionId(IDS_DESC_HATCHET);
|
|
Item::hatchet_iron =
|
|
(new HatchetItem(2, _Tier::IRON))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hatchet, eMaterial_iron)
|
|
->setIconName(L"hatchetIron")
|
|
->setDescriptionId(IDS_ITEM_HATCHET_IRON)
|
|
->setUseDescriptionId(IDS_DESC_HATCHET);
|
|
Item::hatchet_diamond = (new HatchetItem(23, _Tier::DIAMOND))
|
|
->setBaseItemTypeAndMaterial(
|
|
eBaseItemType_hatchet, eMaterial_diamond)
|
|
->setIconName(L"hatchetDiamond")
|
|
->setDescriptionId(IDS_ITEM_HATCHET_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_HATCHET);
|
|
Item::hatchet_gold =
|
|
(new HatchetItem(30, _Tier::GOLD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hatchet, eMaterial_gold)
|
|
->setIconName(L"hatchetGold")
|
|
->setDescriptionId(IDS_ITEM_HATCHET_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_HATCHET);
|
|
|
|
Item::hoe_wood =
|
|
(new HoeItem(34, _Tier::WOOD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hoe, eMaterial_wood)
|
|
->setIconName(L"hoeWood")
|
|
->setDescriptionId(IDS_ITEM_HOE_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_HOE);
|
|
Item::hoe_stone =
|
|
(new HoeItem(35, _Tier::STONE))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hoe, eMaterial_stone)
|
|
->setIconName(L"hoeStone")
|
|
->setDescriptionId(IDS_ITEM_HOE_STONE)
|
|
->setUseDescriptionId(IDS_DESC_HOE);
|
|
Item::hoe_iron =
|
|
(new HoeItem(36, _Tier::IRON))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hoe, eMaterial_iron)
|
|
->setIconName(L"hoeIron")
|
|
->setDescriptionId(IDS_ITEM_HOE_IRON)
|
|
->setUseDescriptionId(IDS_DESC_HOE);
|
|
Item::hoe_diamond =
|
|
(new HoeItem(37, _Tier::DIAMOND))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hoe, eMaterial_diamond)
|
|
->setIconName(L"hoeDiamond")
|
|
->setDescriptionId(IDS_ITEM_HOE_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_HOE);
|
|
Item::hoe_gold =
|
|
(new HoeItem(38, _Tier::GOLD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_hoe, eMaterial_gold)
|
|
->setIconName(L"hoeGold")
|
|
->setDescriptionId(IDS_ITEM_HOE_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_HOE);
|
|
|
|
Item::door_wood =
|
|
(new DoorItem(68, Material::wood))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_wood)
|
|
->setIconName(L"doorWood")
|
|
->setDescriptionId(IDS_ITEM_DOOR_WOOD)
|
|
->setUseDescriptionId(IDS_DESC_DOOR_WOOD);
|
|
Item::door_iron =
|
|
(new DoorItem(74, Material::metal))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_door, eMaterial_iron)
|
|
->setIconName(L"doorIron")
|
|
->setDescriptionId(IDS_ITEM_DOOR_IRON)
|
|
->setUseDescriptionId(IDS_DESC_DOOR_IRON);
|
|
|
|
Item::helmet_leather =
|
|
(ArmorItem*)((new ArmorItem(42, ArmorItem::ArmorMaterial::CLOTH, 0,
|
|
ArmorItem::SLOT_HEAD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_helmet,
|
|
eMaterial_cloth)
|
|
->setIconName(L"helmetCloth")
|
|
->setDescriptionId(IDS_ITEM_HELMET_CLOTH)
|
|
->setUseDescriptionId(IDS_DESC_HELMET_LEATHER));
|
|
Item::helmet_iron =
|
|
(ArmorItem*)((new ArmorItem(50, ArmorItem::ArmorMaterial::IRON, 2,
|
|
ArmorItem::SLOT_HEAD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_helmet,
|
|
eMaterial_iron)
|
|
->setIconName(L"helmetIron")
|
|
->setDescriptionId(IDS_ITEM_HELMET_IRON)
|
|
->setUseDescriptionId(IDS_DESC_HELMET_IRON));
|
|
Item::helmet_diamond =
|
|
(ArmorItem*)((new ArmorItem(54, ArmorItem::ArmorMaterial::DIAMOND, 3,
|
|
ArmorItem::SLOT_HEAD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_helmet,
|
|
eMaterial_diamond)
|
|
->setIconName(L"helmetDiamond")
|
|
->setDescriptionId(IDS_ITEM_HELMET_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_HELMET_DIAMOND));
|
|
Item::helmet_gold =
|
|
(ArmorItem*)((new ArmorItem(58, ArmorItem::ArmorMaterial::GOLD, 4,
|
|
ArmorItem::SLOT_HEAD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_helmet,
|
|
eMaterial_gold)
|
|
->setIconName(L"helmetGold")
|
|
->setDescriptionId(IDS_ITEM_HELMET_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_HELMET_GOLD));
|
|
|
|
Item::chestplate_leather =
|
|
(ArmorItem*)((new ArmorItem(43, ArmorItem::ArmorMaterial::CLOTH, 0,
|
|
ArmorItem::SLOT_TORSO))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_chestplate,
|
|
eMaterial_cloth)
|
|
->setIconName(L"chestplateCloth")
|
|
->setDescriptionId(IDS_ITEM_CHESTPLATE_CLOTH)
|
|
->setUseDescriptionId(IDS_DESC_CHESTPLATE_LEATHER));
|
|
Item::chestplate_iron =
|
|
(ArmorItem*)((new ArmorItem(51, ArmorItem::ArmorMaterial::IRON, 2,
|
|
ArmorItem::SLOT_TORSO))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_chestplate,
|
|
eMaterial_iron)
|
|
->setIconName(L"chestplateIron")
|
|
->setDescriptionId(IDS_ITEM_CHESTPLATE_IRON)
|
|
->setUseDescriptionId(IDS_DESC_CHESTPLATE_IRON));
|
|
Item::chestplate_diamond =
|
|
(ArmorItem*)((new ArmorItem(55, ArmorItem::ArmorMaterial::DIAMOND, 3,
|
|
ArmorItem::SLOT_TORSO))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_chestplate,
|
|
eMaterial_diamond)
|
|
->setIconName(L"chestplateDiamond")
|
|
->setDescriptionId(IDS_ITEM_CHESTPLATE_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_CHESTPLATE_DIAMOND));
|
|
Item::chestplate_gold =
|
|
(ArmorItem*)((new ArmorItem(59, ArmorItem::ArmorMaterial::GOLD, 4,
|
|
ArmorItem::SLOT_TORSO))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_chestplate,
|
|
eMaterial_gold)
|
|
->setIconName(L"chestplateGold")
|
|
->setDescriptionId(IDS_ITEM_CHESTPLATE_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_CHESTPLATE_GOLD));
|
|
|
|
Item::leggings_leather =
|
|
(ArmorItem*)((new ArmorItem(44, ArmorItem::ArmorMaterial::CLOTH, 0,
|
|
ArmorItem::SLOT_LEGS))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_leggings,
|
|
eMaterial_cloth)
|
|
->setIconName(L"leggingsCloth")
|
|
->setDescriptionId(IDS_ITEM_LEGGINGS_CLOTH)
|
|
->setUseDescriptionId(IDS_DESC_LEGGINGS_LEATHER));
|
|
Item::leggings_iron =
|
|
(ArmorItem*)((new ArmorItem(52, ArmorItem::ArmorMaterial::IRON, 2,
|
|
ArmorItem::SLOT_LEGS))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_leggings,
|
|
eMaterial_iron)
|
|
->setIconName(L"leggingsIron")
|
|
->setDescriptionId(IDS_ITEM_LEGGINGS_IRON)
|
|
->setUseDescriptionId(IDS_DESC_LEGGINGS_IRON));
|
|
Item::leggings_diamond =
|
|
(ArmorItem*)((new ArmorItem(56, ArmorItem::ArmorMaterial::DIAMOND, 3,
|
|
ArmorItem::SLOT_LEGS))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_leggings,
|
|
eMaterial_diamond)
|
|
->setIconName(L"leggingsDiamond")
|
|
->setDescriptionId(IDS_ITEM_LEGGINGS_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_LEGGINGS_DIAMOND));
|
|
Item::leggings_gold =
|
|
(ArmorItem*)((new ArmorItem(60, ArmorItem::ArmorMaterial::GOLD, 4,
|
|
ArmorItem::SLOT_LEGS))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_leggings,
|
|
eMaterial_gold)
|
|
->setIconName(L"leggingsGold")
|
|
->setDescriptionId(IDS_ITEM_LEGGINGS_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_LEGGINGS_GOLD));
|
|
|
|
Item::helmet_chain =
|
|
(ArmorItem*)((new ArmorItem(46, ArmorItem::ArmorMaterial::CHAIN, 1,
|
|
ArmorItem::SLOT_HEAD))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_helmet,
|
|
eMaterial_chain)
|
|
->setIconName(L"helmetChain")
|
|
->setDescriptionId(IDS_ITEM_HELMET_CHAIN)
|
|
->setUseDescriptionId(IDS_DESC_HELMET_CHAIN));
|
|
Item::chestplate_chain =
|
|
(ArmorItem*)((new ArmorItem(47, ArmorItem::ArmorMaterial::CHAIN, 1,
|
|
ArmorItem::SLOT_TORSO))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_chestplate,
|
|
eMaterial_chain)
|
|
->setIconName(L"chestplateChain")
|
|
->setDescriptionId(IDS_ITEM_CHESTPLATE_CHAIN)
|
|
->setUseDescriptionId(IDS_DESC_CHESTPLATE_CHAIN));
|
|
Item::leggings_chain =
|
|
(ArmorItem*)((new ArmorItem(48, ArmorItem::ArmorMaterial::CHAIN, 1,
|
|
ArmorItem::SLOT_LEGS))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_leggings,
|
|
eMaterial_chain)
|
|
->setIconName(L"leggingsChain")
|
|
->setDescriptionId(IDS_ITEM_LEGGINGS_CHAIN)
|
|
->setUseDescriptionId(IDS_DESC_LEGGINGS_CHAIN));
|
|
Item::boots_chain =
|
|
(ArmorItem*)((new ArmorItem(49, ArmorItem::ArmorMaterial::CHAIN, 1,
|
|
ArmorItem::SLOT_FEET))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_boots,
|
|
eMaterial_chain)
|
|
->setIconName(L"bootsChain")
|
|
->setDescriptionId(IDS_ITEM_BOOTS_CHAIN)
|
|
->setUseDescriptionId(IDS_DESC_BOOTS_CHAIN));
|
|
|
|
Item::boots_leather =
|
|
(ArmorItem*)((new ArmorItem(45, ArmorItem::ArmorMaterial::CLOTH, 0,
|
|
ArmorItem::SLOT_FEET))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_boots,
|
|
eMaterial_cloth)
|
|
->setIconName(L"bootsCloth")
|
|
->setDescriptionId(IDS_ITEM_BOOTS_CLOTH)
|
|
->setUseDescriptionId(IDS_DESC_BOOTS_LEATHER));
|
|
Item::boots_iron =
|
|
(ArmorItem*)((new ArmorItem(53, ArmorItem::ArmorMaterial::IRON, 2,
|
|
ArmorItem::SLOT_FEET))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_boots,
|
|
eMaterial_iron)
|
|
->setIconName(L"bootsIron")
|
|
->setDescriptionId(IDS_ITEM_BOOTS_IRON)
|
|
->setUseDescriptionId(IDS_DESC_BOOTS_IRON));
|
|
Item::boots_diamond =
|
|
(ArmorItem*)((new ArmorItem(57, ArmorItem::ArmorMaterial::DIAMOND, 3,
|
|
ArmorItem::SLOT_FEET))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_boots,
|
|
eMaterial_diamond)
|
|
->setIconName(L"bootsDiamond")
|
|
->setDescriptionId(IDS_ITEM_BOOTS_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_BOOTS_DIAMOND));
|
|
Item::boots_gold =
|
|
(ArmorItem*)((new ArmorItem(61, ArmorItem::ArmorMaterial::GOLD, 4,
|
|
ArmorItem::SLOT_FEET))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_boots,
|
|
eMaterial_gold)
|
|
->setIconName(L"bootsGold")
|
|
->setDescriptionId(IDS_ITEM_BOOTS_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_BOOTS_GOLD));
|
|
|
|
Item::ironIngot =
|
|
(new Item(9))
|
|
->setIconName(L"ingotIron")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure, eMaterial_iron)
|
|
->setDescriptionId(IDS_ITEM_INGOT_IRON)
|
|
->setUseDescriptionId(IDS_DESC_INGOT);
|
|
Item::goldIngot =
|
|
(new Item(10))
|
|
->setIconName(L"ingotGold")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure, eMaterial_gold)
|
|
->setDescriptionId(IDS_ITEM_INGOT_GOLD)
|
|
->setUseDescriptionId(IDS_DESC_INGOT);
|
|
|
|
// 4J-PB - todo - add materials and base types to the ones below
|
|
Item::bucket_empty =
|
|
(new BucketItem(69, 0))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_utensil, eMaterial_water)
|
|
->setIconName(L"bucket")
|
|
->setDescriptionId(IDS_ITEM_BUCKET)
|
|
->setUseDescriptionId(IDS_DESC_BUCKET)
|
|
->setMaxStackSize(16);
|
|
Item::bowl =
|
|
(new Item(25))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_utensil, eMaterial_wood)
|
|
->setIconName(L"bowl")
|
|
->setDescriptionId(IDS_ITEM_BOWL)
|
|
->setUseDescriptionId(IDS_DESC_BOWL)
|
|
->setMaxStackSize(64);
|
|
|
|
Item::bucket_water = (new BucketItem(70, Tile::water_Id))
|
|
->setIconName(L"bucketWater")
|
|
->setDescriptionId(IDS_ITEM_BUCKET_WATER)
|
|
->setCraftingRemainingItem(Item::bucket_empty)
|
|
->setUseDescriptionId(IDS_DESC_BUCKET_WATER);
|
|
Item::bucket_lava = (new BucketItem(71, Tile::lava_Id))
|
|
->setIconName(L"bucketLava")
|
|
->setDescriptionId(IDS_ITEM_BUCKET_LAVA)
|
|
->setCraftingRemainingItem(Item::bucket_empty)
|
|
->setUseDescriptionId(IDS_DESC_BUCKET_LAVA);
|
|
Item::bucket_milk = (new MilkBucketItem(79))
|
|
->setIconName(L"milk")
|
|
->setDescriptionId(IDS_ITEM_BUCKET_MILK)
|
|
->setCraftingRemainingItem(Item::bucket_empty)
|
|
->setUseDescriptionId(IDS_DESC_BUCKET_MILK);
|
|
|
|
Item::bow =
|
|
(BowItem*)(new BowItem(5))
|
|
->setIconName(L"bow")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_bow, eMaterial_bow)
|
|
->setDescriptionId(IDS_ITEM_BOW)
|
|
->setUseDescriptionId(IDS_DESC_BOW);
|
|
Item::arrow =
|
|
(new Item(6))
|
|
->setIconName(L"arrow")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_bow, eMaterial_arrow)
|
|
->setDescriptionId(IDS_ITEM_ARROW)
|
|
->setUseDescriptionId(IDS_DESC_ARROW);
|
|
|
|
Item::compass = (new CompassItem(89))
|
|
->setIconName(L"compass")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pockettool,
|
|
eMaterial_compass)
|
|
->setDescriptionId(IDS_ITEM_COMPASS)
|
|
->setUseDescriptionId(IDS_DESC_COMPASS);
|
|
Item::clock = (new ClockItem(91))
|
|
->setIconName(L"clock")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pockettool,
|
|
eMaterial_clock)
|
|
->setDescriptionId(IDS_ITEM_CLOCK)
|
|
->setUseDescriptionId(IDS_DESC_CLOCK);
|
|
Item::map = (MapItem*)(new MapItem(102))
|
|
->setIconName(L"map")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pockettool,
|
|
eMaterial_map)
|
|
->setDescriptionId(IDS_ITEM_MAP)
|
|
->setUseDescriptionId(IDS_DESC_MAP);
|
|
|
|
Item::flintAndSteel =
|
|
(new FlintAndSteelItem(3))
|
|
->setIconName(L"flintAndSteel")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_devicetool,
|
|
eMaterial_flintandsteel)
|
|
->setDescriptionId(IDS_ITEM_FLINT_AND_STEEL)
|
|
->setUseDescriptionId(IDS_DESC_FLINTANDSTEEL);
|
|
Item::apple =
|
|
(new FoodItem(4, 4, FoodConstants::FOOD_SATURATION_LOW, false))
|
|
->setIconName(L"apple")
|
|
->setDescriptionId(IDS_ITEM_APPLE)
|
|
->setUseDescriptionId(IDS_DESC_APPLE);
|
|
Item::coal =
|
|
(new CoalItem(7))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure, eMaterial_coal)
|
|
->setIconName(L"coal")
|
|
->setDescriptionId(IDS_ITEM_COAL)
|
|
->setUseDescriptionId(IDS_DESC_COAL);
|
|
Item::diamond = (new Item(8))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure,
|
|
eMaterial_diamond)
|
|
->setIconName(L"diamond")
|
|
->setDescriptionId(IDS_ITEM_DIAMOND)
|
|
->setUseDescriptionId(IDS_DESC_DIAMONDS);
|
|
Item::stick = (new Item(24))
|
|
->setIconName(L"stick")
|
|
->handEquipped()
|
|
->setDescriptionId(IDS_ITEM_STICK)
|
|
->setUseDescriptionId(IDS_DESC_STICK);
|
|
Item::mushroomStew = (new BowlFoodItem(26, 6))
|
|
->setIconName(L"mushroomStew")
|
|
->setDescriptionId(IDS_ITEM_MUSHROOM_STEW)
|
|
->setUseDescriptionId(IDS_DESC_MUSHROOMSTEW);
|
|
|
|
Item::string = (new TilePlanterItem(31, Tile::tripWire))
|
|
->setIconName(L"string")
|
|
->setDescriptionId(IDS_ITEM_STRING)
|
|
->setUseDescriptionId(IDS_DESC_STRING);
|
|
Item::feather = (new Item(32))
|
|
->setIconName(L"feather")
|
|
->setDescriptionId(IDS_ITEM_FEATHER)
|
|
->setUseDescriptionId(IDS_DESC_FEATHER);
|
|
Item::gunpowder =
|
|
(new Item(33))
|
|
->setIconName(L"sulphur")
|
|
->setDescriptionId(IDS_ITEM_SULPHUR)
|
|
->setUseDescriptionId(IDS_DESC_SULPHUR)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_GUNPOWDER);
|
|
|
|
Item::seeds_wheat = (new SeedItem(39, Tile::wheat_Id, Tile::farmland_Id))
|
|
->setIconName(L"seeds")
|
|
->setDescriptionId(IDS_ITEM_WHEAT_SEEDS)
|
|
->setUseDescriptionId(IDS_DESC_WHEAT_SEEDS);
|
|
Item::wheat = (new Item(40))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure,
|
|
eMaterial_wheat)
|
|
->setIconName(L"wheat")
|
|
->setDescriptionId(IDS_ITEM_WHEAT)
|
|
->setUseDescriptionId(IDS_DESC_WHEAT);
|
|
Item::bread =
|
|
(new FoodItem(41, 5, FoodConstants::FOOD_SATURATION_NORMAL, false))
|
|
->setIconName(L"bread")
|
|
->setDescriptionId(IDS_ITEM_BREAD)
|
|
->setUseDescriptionId(IDS_DESC_BREAD);
|
|
|
|
Item::flint = (new Item(62))
|
|
->setIconName(L"flint")
|
|
->setDescriptionId(IDS_ITEM_FLINT)
|
|
->setUseDescriptionId(IDS_DESC_FLINT);
|
|
Item::porkChop_raw =
|
|
(new FoodItem(63, 3, FoodConstants::FOOD_SATURATION_LOW, true))
|
|
->setIconName(L"porkchopRaw")
|
|
->setDescriptionId(IDS_ITEM_PORKCHOP_RAW)
|
|
->setUseDescriptionId(IDS_DESC_PORKCHOP_RAW);
|
|
Item::porkChop_cooked =
|
|
(new FoodItem(64, 8, FoodConstants::FOOD_SATURATION_GOOD, true))
|
|
->setIconName(L"porkchopCooked")
|
|
->setDescriptionId(IDS_ITEM_PORKCHOP_COOKED)
|
|
->setUseDescriptionId(IDS_DESC_PORKCHOP_COOKED);
|
|
Item::painting = (new HangingEntityItem(65, eTYPE_PAINTING))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_HangingItem,
|
|
eMaterial_cloth)
|
|
->setIconName(L"painting")
|
|
->setDescriptionId(IDS_ITEM_PAINTING)
|
|
->setUseDescriptionId(IDS_DESC_PICTURE);
|
|
|
|
Item::apple_gold =
|
|
(new GoldenAppleItem(66, 4, FoodConstants::FOOD_SATURATION_SUPERNATURAL,
|
|
false))
|
|
->setCanAlwaysEat()
|
|
->setEatEffect(MobEffect::regeneration->id, 5, 1, 1.0f)
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_giltFruit,
|
|
eMaterial_apple)
|
|
->setIconName(L"appleGold")
|
|
->setDescriptionId(
|
|
IDS_ITEM_APPLE_GOLD); //->setUseDescriptionId(IDS_DESC_GOLDENAPPLE);
|
|
|
|
Item::sign = (new SignItem(67))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_HangingItem,
|
|
eMaterial_wood)
|
|
->setIconName(L"sign")
|
|
->setDescriptionId(IDS_ITEM_SIGN)
|
|
->setUseDescriptionId(IDS_DESC_SIGN);
|
|
|
|
Item::minecart = (new MinecartItem(72, Minecart::TYPE_RIDEABLE))
|
|
->setIconName(L"minecart")
|
|
->setDescriptionId(IDS_ITEM_MINECART)
|
|
->setUseDescriptionId(IDS_DESC_MINECART);
|
|
Item::saddle = (new SaddleItem(73))
|
|
->setIconName(L"saddle")
|
|
->setDescriptionId(IDS_ITEM_SADDLE)
|
|
->setUseDescriptionId(IDS_DESC_SADDLE);
|
|
Item::redStone = (new RedStoneItem(75))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure,
|
|
eMaterial_redstone)
|
|
->setIconName(L"redstone")
|
|
->setDescriptionId(IDS_ITEM_REDSTONE)
|
|
->setUseDescriptionId(IDS_DESC_REDSTONE_DUST)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_REDSTONE);
|
|
Item::snowBall = (new SnowballItem(76))
|
|
->setIconName(L"snowball")
|
|
->setDescriptionId(IDS_ITEM_SNOWBALL)
|
|
->setUseDescriptionId(IDS_DESC_SNOWBALL);
|
|
|
|
Item::boat = (new BoatItem(77))
|
|
->setIconName(L"boat")
|
|
->setDescriptionId(IDS_ITEM_BOAT)
|
|
->setUseDescriptionId(IDS_DESC_BOAT);
|
|
|
|
Item::leather = (new Item(78))
|
|
->setIconName(L"leather")
|
|
->setDescriptionId(IDS_ITEM_LEATHER)
|
|
->setUseDescriptionId(IDS_DESC_LEATHER);
|
|
Item::brick = (new Item(80))
|
|
->setIconName(L"brick")
|
|
->setDescriptionId(IDS_ITEM_BRICK)
|
|
->setUseDescriptionId(IDS_DESC_BRICK);
|
|
Item::clay = (new Item(81))
|
|
->setIconName(L"clay")
|
|
->setDescriptionId(IDS_ITEM_CLAY)
|
|
->setUseDescriptionId(IDS_DESC_CLAY);
|
|
Item::reeds = (new TilePlanterItem(82, Tile::reeds))
|
|
->setIconName(L"reeds")
|
|
->setDescriptionId(IDS_ITEM_REEDS)
|
|
->setUseDescriptionId(IDS_DESC_REEDS);
|
|
Item::paper = (new Item(83))
|
|
->setBaseItemTypeAndMaterial(Item::eBaseItemType_paper,
|
|
Item::eMaterial_paper)
|
|
->setIconName(L"paper")
|
|
->setDescriptionId(IDS_ITEM_PAPER)
|
|
->setUseDescriptionId(IDS_DESC_PAPER);
|
|
Item::book = (new BookItem(84))
|
|
->setBaseItemTypeAndMaterial(Item::eBaseItemType_paper,
|
|
Item::eMaterial_book)
|
|
->setIconName(L"book")
|
|
->setDescriptionId(IDS_ITEM_BOOK)
|
|
->setUseDescriptionId(IDS_DESC_BOOK);
|
|
Item::slimeBall = (new Item(85))
|
|
->setIconName(L"slimeball")
|
|
->setDescriptionId(IDS_ITEM_SLIMEBALL)
|
|
->setUseDescriptionId(IDS_DESC_SLIMEBALL);
|
|
Item::minecart_chest =
|
|
(new MinecartItem(86, Minecart::TYPE_CHEST))
|
|
->setIconName(L"minecart_chest")
|
|
->setDescriptionId(IDS_ITEM_MINECART_CHEST)
|
|
->setUseDescriptionId(IDS_DESC_MINECARTWITHCHEST);
|
|
Item::minecart_furnace =
|
|
(new MinecartItem(87, Minecart::TYPE_FURNACE))
|
|
->setIconName(L"minecart_furnace")
|
|
->setDescriptionId(IDS_ITEM_MINECART_FURNACE)
|
|
->setUseDescriptionId(IDS_DESC_MINECARTWITHFURNACE);
|
|
Item::egg = (new EggItem(88))
|
|
->setIconName(L"egg")
|
|
->setDescriptionId(IDS_ITEM_EGG)
|
|
->setUseDescriptionId(IDS_DESC_EGG);
|
|
Item::fishingRod =
|
|
(FishingRodItem*)(new FishingRodItem(90))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_rod, eMaterial_wood)
|
|
->setIconName(L"fishingRod")
|
|
->setDescriptionId(IDS_ITEM_FISHING_ROD)
|
|
->setUseDescriptionId(IDS_DESC_FISHINGROD);
|
|
Item::yellowDust =
|
|
(new Item(92))
|
|
->setIconName(L"yellowDust")
|
|
->setDescriptionId(IDS_ITEM_YELLOW_DUST)
|
|
->setUseDescriptionId(IDS_DESC_YELLOW_DUST)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_GLOWSTONE);
|
|
Item::fish_raw =
|
|
(new FoodItem(93, 2, FoodConstants::FOOD_SATURATION_LOW, false))
|
|
->setIconName(L"fishRaw")
|
|
->setDescriptionId(IDS_ITEM_FISH_RAW)
|
|
->setUseDescriptionId(IDS_DESC_FISH_RAW);
|
|
Item::fish_cooked =
|
|
(new FoodItem(94, 5, FoodConstants::FOOD_SATURATION_NORMAL, false))
|
|
->setIconName(L"fishCooked")
|
|
->setDescriptionId(IDS_ITEM_FISH_COOKED)
|
|
->setUseDescriptionId(IDS_DESC_FISH_COOKED);
|
|
|
|
Item::dye_powder =
|
|
(new DyePowderItem(95))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_dyepowder, eMaterial_dye)
|
|
->setIconName(L"dyePowder")
|
|
->setDescriptionId(IDS_ITEM_DYE_POWDER)
|
|
->setUseDescriptionId(-1);
|
|
|
|
Item::bone = (new Item(96))
|
|
->setIconName(L"bone")
|
|
->setDescriptionId(IDS_ITEM_BONE)
|
|
->handEquipped()
|
|
->setUseDescriptionId(IDS_DESC_BONE);
|
|
Item::sugar = (new Item(97))
|
|
->setIconName(L"sugar")
|
|
->setDescriptionId(IDS_ITEM_SUGAR)
|
|
->setUseDescriptionId(IDS_DESC_SUGAR)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_SUGAR);
|
|
// 4J-PB - changing the cake to be stackable - Jens ok'ed this 23/10/12
|
|
// Item::cake = ( new TilePlanterItem(98, Tile::cake)
|
|
// )->setMaxStackSize(1)->setIcon(13,
|
|
// 1)->setDescriptionId(IDS_ITEM_CAKE)->setUseDescriptionId(IDS_DESC_CAKE);
|
|
Item::cake = (new TilePlanterItem(98, Tile::cake))
|
|
->setIconName(L"cake")
|
|
->setDescriptionId(IDS_ITEM_CAKE)
|
|
->setUseDescriptionId(IDS_DESC_CAKE);
|
|
|
|
Item::bed = (new BedItem(99))
|
|
->setMaxStackSize(1)
|
|
->setIconName(L"bed")
|
|
->setDescriptionId(IDS_ITEM_BED)
|
|
->setUseDescriptionId(IDS_DESC_BED);
|
|
|
|
Item::repeater = (new TilePlanterItem(100, (Tile*)Tile::diode_off))
|
|
->setIconName(L"diode")
|
|
->setDescriptionId(IDS_ITEM_DIODE)
|
|
->setUseDescriptionId(IDS_DESC_REDSTONEREPEATER);
|
|
Item::cookie =
|
|
(new FoodItem(101, 2, FoodConstants::FOOD_SATURATION_POOR, false))
|
|
->setIconName(L"cookie")
|
|
->setDescriptionId(IDS_ITEM_COOKIE)
|
|
->setUseDescriptionId(IDS_DESC_COOKIE);
|
|
|
|
Item::shears = (ShearsItem*)(new ShearsItem(103))
|
|
->setIconName(L"shears")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_devicetool,
|
|
eMaterial_shears)
|
|
->setDescriptionId(IDS_ITEM_SHEARS)
|
|
->setUseDescriptionId(IDS_DESC_SHEARS);
|
|
|
|
Item::melon =
|
|
(new FoodItem(104, 2, FoodConstants::FOOD_SATURATION_LOW, false))
|
|
->setIconName(L"melon")
|
|
->setDescriptionId(IDS_ITEM_MELON_SLICE)
|
|
->setUseDescriptionId(IDS_DESC_MELON_SLICE);
|
|
|
|
Item::seeds_pumpkin =
|
|
(new SeedItem(105, Tile::pumpkinStem_Id, Tile::farmland_Id))
|
|
->setIconName(L"seeds_pumpkin")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_seed, eMaterial_pumpkin)
|
|
->setDescriptionId(IDS_ITEM_PUMPKIN_SEEDS)
|
|
->setUseDescriptionId(IDS_DESC_PUMPKIN_SEEDS);
|
|
Item::seeds_melon =
|
|
(new SeedItem(106, Tile::melonStem_Id, Tile::farmland_Id))
|
|
->setIconName(L"seeds_melon")
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_seed, eMaterial_melon)
|
|
->setDescriptionId(IDS_ITEM_MELON_SEEDS)
|
|
->setUseDescriptionId(IDS_DESC_MELON_SEEDS);
|
|
|
|
Item::beef_raw =
|
|
(new FoodItem(107, 3, FoodConstants::FOOD_SATURATION_LOW, true))
|
|
->setIconName(L"beefRaw")
|
|
->setDescriptionId(IDS_ITEM_BEEF_RAW)
|
|
->setUseDescriptionId(IDS_DESC_BEEF_RAW);
|
|
Item::beef_cooked =
|
|
(new FoodItem(108, 8, FoodConstants::FOOD_SATURATION_GOOD, true))
|
|
->setIconName(L"beefCooked")
|
|
->setDescriptionId(IDS_ITEM_BEEF_COOKED)
|
|
->setUseDescriptionId(IDS_DESC_BEEF_COOKED);
|
|
Item::chicken_raw =
|
|
(new FoodItem(109, 2, FoodConstants::FOOD_SATURATION_LOW, true))
|
|
->setEatEffect(MobEffect::hunger->id, 30, 0, .3f)
|
|
->setIconName(L"chickenRaw")
|
|
->setDescriptionId(IDS_ITEM_CHICKEN_RAW)
|
|
->setUseDescriptionId(IDS_DESC_CHICKEN_RAW);
|
|
Item::chicken_cooked =
|
|
(new FoodItem(110, 6, FoodConstants::FOOD_SATURATION_NORMAL, true))
|
|
->setIconName(L"chickenCooked")
|
|
->setDescriptionId(IDS_ITEM_CHICKEN_COOKED)
|
|
->setUseDescriptionId(IDS_DESC_CHICKEN_COOKED);
|
|
Item::rotten_flesh =
|
|
(new FoodItem(111, 4, FoodConstants::FOOD_SATURATION_POOR, true))
|
|
->setEatEffect(MobEffect::hunger->id, 30, 0, .8f)
|
|
->setIconName(L"rottenFlesh")
|
|
->setDescriptionId(IDS_ITEM_ROTTEN_FLESH)
|
|
->setUseDescriptionId(IDS_DESC_ROTTEN_FLESH);
|
|
|
|
Item::enderPearl = (new EnderpearlItem(112))
|
|
->setIconName(L"enderPearl")
|
|
->setDescriptionId(IDS_ITEM_ENDER_PEARL)
|
|
->setUseDescriptionId(IDS_DESC_ENDER_PEARL);
|
|
|
|
Item::blazeRod = (new Item(113))
|
|
->setIconName(L"blazeRod")
|
|
->setDescriptionId(IDS_ITEM_BLAZE_ROD)
|
|
->setUseDescriptionId(IDS_DESC_BLAZE_ROD)
|
|
->handEquipped();
|
|
Item::ghastTear =
|
|
(new Item(114))
|
|
->setIconName(L"ghastTear")
|
|
->setDescriptionId(IDS_ITEM_GHAST_TEAR)
|
|
->setUseDescriptionId(IDS_DESC_GHAST_TEAR)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_GHASTTEARS);
|
|
Item::goldNugget =
|
|
(new Item(115))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure, eMaterial_gold)
|
|
->setIconName(L"goldNugget")
|
|
->setDescriptionId(IDS_ITEM_GOLD_NUGGET)
|
|
->setUseDescriptionId(IDS_DESC_GOLD_NUGGET);
|
|
|
|
Item::netherwart_seeds =
|
|
(new SeedItem(116, Tile::netherStalk_Id, Tile::soulsand_Id))
|
|
->setIconName(L"netherStalkSeeds")
|
|
->setDescriptionId(IDS_ITEM_NETHER_STALK_SEEDS)
|
|
->setUseDescriptionId(IDS_DESC_NETHER_STALK_SEEDS)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_NETHERWART);
|
|
|
|
Item::potion = (PotionItem*)((new PotionItem(117))
|
|
->setIconName(L"potion")
|
|
->setDescriptionId(IDS_ITEM_POTION)
|
|
->setUseDescriptionId(IDS_DESC_POTION));
|
|
Item::glassBottle =
|
|
(new BottleItem(118))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_utensil, eMaterial_glass)
|
|
->setIconName(L"glassBottle")
|
|
->setDescriptionId(IDS_ITEM_GLASS_BOTTLE)
|
|
->setUseDescriptionId(IDS_DESC_GLASS_BOTTLE);
|
|
|
|
Item::spiderEye =
|
|
(new FoodItem(119, 2, FoodConstants::FOOD_SATURATION_GOOD, false))
|
|
->setEatEffect(MobEffect::poison->id, 5, 0, 1.0f)
|
|
->setIconName(L"spiderEye")
|
|
->setDescriptionId(IDS_ITEM_SPIDER_EYE)
|
|
->setUseDescriptionId(IDS_DESC_SPIDER_EYE)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_SPIDEREYE);
|
|
Item::fermentedSpiderEye =
|
|
(new Item(120))
|
|
->setIconName(L"fermentedSpiderEye")
|
|
->setDescriptionId(IDS_ITEM_FERMENTED_SPIDER_EYE)
|
|
->setUseDescriptionId(IDS_DESC_FERMENTED_SPIDER_EYE)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_FERMENTEDEYE);
|
|
|
|
Item::blazePowder =
|
|
(new Item(121))
|
|
->setIconName(L"blazePowder")
|
|
->setDescriptionId(IDS_ITEM_BLAZE_POWDER)
|
|
->setUseDescriptionId(IDS_DESC_BLAZE_POWDER)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_BLAZEPOWDER);
|
|
Item::magmaCream =
|
|
(new Item(122))
|
|
->setIconName(L"magmaCream")
|
|
->setDescriptionId(IDS_ITEM_MAGMA_CREAM)
|
|
->setUseDescriptionId(IDS_DESC_MAGMA_CREAM)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_MAGMACREAM);
|
|
|
|
Item::brewingStand =
|
|
(new TilePlanterItem(123, Tile::brewingStand))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_device, eMaterial_blaze)
|
|
->setIconName(L"brewingStand")
|
|
->setDescriptionId(IDS_ITEM_BREWING_STAND)
|
|
->setUseDescriptionId(IDS_DESC_BREWING_STAND);
|
|
Item::cauldron =
|
|
(new TilePlanterItem(124, Tile::cauldron))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_utensil, eMaterial_iron)
|
|
->setIconName(L"cauldron")
|
|
->setDescriptionId(IDS_ITEM_CAULDRON)
|
|
->setUseDescriptionId(IDS_DESC_CAULDRON);
|
|
Item::eyeOfEnder = (new EnderEyeItem(125))
|
|
->setBaseItemTypeAndMaterial(
|
|
eBaseItemType_pockettool, eMaterial_ender)
|
|
->setIconName(L"eyeOfEnder")
|
|
->setDescriptionId(IDS_ITEM_EYE_OF_ENDER)
|
|
->setUseDescriptionId(IDS_DESC_EYE_OF_ENDER);
|
|
Item::speckledMelon =
|
|
(new Item(126))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_giltFruit,
|
|
eMaterial_melon)
|
|
->setIconName(L"speckledMelon")
|
|
->setDescriptionId(IDS_ITEM_SPECKLED_MELON)
|
|
->setUseDescriptionId(IDS_DESC_SPECKLED_MELON)
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_SPECKLEDMELON);
|
|
|
|
Item::spawnEgg = (new SpawnEggItem(127))
|
|
->setIconName(L"monsterPlacer")
|
|
->setDescriptionId(IDS_ITEM_MONSTER_SPAWNER)
|
|
->setUseDescriptionId(IDS_DESC_MONSTER_SPAWNER);
|
|
|
|
// 4J Stu - Brought this forward
|
|
Item::expBottle = (new ExperienceItem(128))
|
|
->setIconName(L"expBottle")
|
|
->setDescriptionId(IDS_ITEM_EXP_BOTTLE)
|
|
->setUseDescriptionId(IDS_DESC_EXP_BOTTLE);
|
|
|
|
Item::record_01 = (new RecordingItem(2000, L"13"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_01)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_02 = (new RecordingItem(2001, L"cat"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_02)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
|
|
// 4J - new records brought forward from 1.2.3
|
|
Item::record_03 = (new RecordingItem(2002, L"blocks"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_03)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_04 = (new RecordingItem(2003, L"chirp"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_04)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_05 = (new RecordingItem(2004, L"far"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_05)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_06 = (new RecordingItem(2005, L"mall"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_06)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_07 = (new RecordingItem(2006, L"mellohi"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_07)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_09 = (new RecordingItem(2007, L"stal"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_08)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_10 = (new RecordingItem(2008, L"strad"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_09)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_11 = (new RecordingItem(2009, L"ward"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_10)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_12 = (new RecordingItem(2010, L"11"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_11)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
Item::record_08 = (new RecordingItem(2011, L"where are we now"))
|
|
->setIconName(L"record")
|
|
->setDescriptionId(IDS_ITEM_RECORD_12)
|
|
->setUseDescriptionId(IDS_DESC_RECORD);
|
|
|
|
// TU9
|
|
// putting the fire charge in as a torch, so that it stacks without being
|
|
// near the middle of the selection boxes
|
|
Item::fireball =
|
|
(new FireChargeItem(129))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_torch, eMaterial_setfire)
|
|
->setIconName(L"fireball")
|
|
->setDescriptionId(IDS_ITEM_FIREBALL)
|
|
->setUseDescriptionId(IDS_DESC_FIREBALL);
|
|
Item::frame = (new HangingEntityItem(133, eTYPE_ITEM_FRAME))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_HangingItem,
|
|
eMaterial_glass)
|
|
->setIconName(L"frame")
|
|
->setDescriptionId(IDS_ITEM_ITEMFRAME)
|
|
->setUseDescriptionId(IDS_DESC_ITEMFRAME);
|
|
|
|
// TU12
|
|
Item::skull = (new SkullItem(141))
|
|
->setIconName(L"skull")
|
|
->setDescriptionId(IDS_ITEM_SKULL)
|
|
->setUseDescriptionId(IDS_DESC_SKULL);
|
|
|
|
// TU14
|
|
// Item::writingBook = (new WritingBookItem(130))->setIcon(11,
|
|
// 11)->setDescriptionId("writingBook"); Item::writtenBook = (new
|
|
// WrittenBookItem(131))->setIcon(12, 11)->setDescriptionId("writtenBook");
|
|
|
|
Item::emerald = (new Item(132))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_treasure,
|
|
eMaterial_emerald)
|
|
->setIconName(L"emerald")
|
|
->setDescriptionId(IDS_ITEM_EMERALD)
|
|
->setUseDescriptionId(IDS_DESC_EMERALD);
|
|
|
|
Item::flowerPot = (new TilePlanterItem(134, Tile::flowerPot))
|
|
->setIconName(L"flowerPot")
|
|
->setDescriptionId(IDS_FLOWERPOT)
|
|
->setUseDescriptionId(IDS_DESC_FLOWERPOT);
|
|
|
|
Item::carrots =
|
|
(new SeedFoodItem(135, 4, FoodConstants::FOOD_SATURATION_NORMAL,
|
|
Tile::carrots_Id, Tile::farmland_Id))
|
|
->setIconName(L"carrots")
|
|
->setDescriptionId(IDS_CARROTS)
|
|
->setUseDescriptionId(IDS_DESC_CARROTS);
|
|
Item::potato = (new SeedFoodItem(136, 1, FoodConstants::FOOD_SATURATION_LOW,
|
|
Tile::potatoes_Id, Tile::farmland_Id))
|
|
->setIconName(L"potato")
|
|
->setDescriptionId(IDS_POTATO)
|
|
->setUseDescriptionId(IDS_DESC_POTATO);
|
|
Item::potatoBaked =
|
|
(new FoodItem(137, 6, FoodConstants::FOOD_SATURATION_NORMAL, false))
|
|
->setIconName(L"potatoBaked")
|
|
->setDescriptionId(IDS_ITEM_POTATO_BAKED)
|
|
->setUseDescriptionId(IDS_DESC_POTATO_BAKED);
|
|
Item::potatoPoisonous =
|
|
(new FoodItem(138, 2, FoodConstants::FOOD_SATURATION_LOW, false))
|
|
->setEatEffect(MobEffect::poison->id, 5, 0, .6f)
|
|
->setIconName(L"potatoPoisonous")
|
|
->setDescriptionId(IDS_ITEM_POTATO_POISONOUS)
|
|
->setUseDescriptionId(IDS_DESC_POTATO_POISONOUS);
|
|
|
|
Item::emptyMap = (EmptyMapItem*)(new EmptyMapItem(139))
|
|
->setIconName(L"map_empty")
|
|
->setDescriptionId(IDS_ITEM_MAP_EMPTY)
|
|
->setUseDescriptionId(IDS_DESC_MAP_EMPTY);
|
|
|
|
Item::carrotGolden =
|
|
(new FoodItem(140, 6, FoodConstants::FOOD_SATURATION_SUPERNATURAL,
|
|
false))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_giltFruit,
|
|
eMaterial_carrot)
|
|
->setIconName(L"carrotGolden")
|
|
->setPotionBrewingFormula(PotionBrewing::MOD_GOLDENCARROT)
|
|
->setDescriptionId(IDS_ITEM_CARROT_GOLDEN)
|
|
->setUseDescriptionId(IDS_DESC_CARROT_GOLDEN);
|
|
|
|
Item::carrotOnAStick =
|
|
(new CarrotOnAStickItem(142))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_rod, eMaterial_carrot)
|
|
->setIconName(L"carrotOnAStick")
|
|
->setDescriptionId(IDS_ITEM_CARROT_ON_A_STICK)
|
|
->setUseDescriptionId(IDS_DESC_CARROT_ON_A_STICK);
|
|
Item::netherStar = (new SimpleFoiledItem(143))
|
|
->setIconName(L"nether_star")
|
|
->setDescriptionId(IDS_NETHER_STAR)
|
|
->setUseDescriptionId(IDS_DESC_NETHER_STAR);
|
|
Item::pumpkinPie =
|
|
(new FoodItem(144, 8, FoodConstants::FOOD_SATURATION_LOW, false))
|
|
->setIconName(L"pumpkinPie")
|
|
->setDescriptionId(IDS_ITEM_PUMPKIN_PIE)
|
|
->setUseDescriptionId(IDS_DESC_PUMPKIN_PIE);
|
|
Item::fireworks =
|
|
(new FireworksItem(145))
|
|
->setBaseItemTypeAndMaterial(Item::eBaseItemType_fireworks,
|
|
Item::eMaterial_undefined)
|
|
->setIconName(L"fireworks")
|
|
->setDescriptionId(IDS_FIREWORKS)
|
|
->setUseDescriptionId(IDS_DESC_FIREWORKS);
|
|
Item::fireworksCharge =
|
|
(new FireworksChargeItem(146))
|
|
->setBaseItemTypeAndMaterial(Item::eBaseItemType_fireworks,
|
|
Item::eMaterial_undefined)
|
|
->setIconName(L"fireworks_charge")
|
|
->setDescriptionId(IDS_FIREWORKS_CHARGE)
|
|
->setUseDescriptionId(IDS_DESC_FIREWORKS_CHARGE);
|
|
EnchantedBookItem::enchantedBook =
|
|
(EnchantedBookItem*)(new EnchantedBookItem(147))
|
|
->setMaxStackSize(1)
|
|
->setIconName(L"enchantedBook")
|
|
->setDescriptionId(IDS_ITEM_ENCHANTED_BOOK)
|
|
->setUseDescriptionId(IDS_DESC_ENCHANTED_BOOK);
|
|
Item::comparator = (new TilePlanterItem(148, Tile::comparator_off))
|
|
->setIconName(L"comparator")
|
|
->setDescriptionId(IDS_ITEM_COMPARATOR)
|
|
->setUseDescriptionId(IDS_DESC_COMPARATOR);
|
|
Item::netherbrick = (new Item(149))
|
|
->setIconName(L"netherbrick")
|
|
->setDescriptionId(IDS_ITEM_NETHERBRICK)
|
|
->setUseDescriptionId(IDS_DESC_ITEM_NETHERBRICK);
|
|
Item::netherQuartz = (new Item(150))
|
|
->setIconName(L"netherquartz")
|
|
->setDescriptionId(IDS_ITEM_NETHER_QUARTZ)
|
|
->setUseDescriptionId(IDS_DESC_NETHER_QUARTZ);
|
|
Item::minecart_tnt = (new MinecartItem(151, Minecart::TYPE_TNT))
|
|
->setIconName(L"minecart_tnt")
|
|
->setDescriptionId(IDS_ITEM_MINECART_TNT)
|
|
->setUseDescriptionId(IDS_DESC_MINECART_TNT);
|
|
Item::minecart_hopper = (new MinecartItem(152, Minecart::TYPE_HOPPER))
|
|
->setIconName(L"minecart_hopper")
|
|
->setDescriptionId(IDS_ITEM_MINECART_HOPPER)
|
|
->setUseDescriptionId(IDS_DESC_MINECART_HOPPER);
|
|
|
|
Item::horseArmorMetal =
|
|
(new Item(161))
|
|
->setIconName(L"iron_horse_armor")
|
|
->setMaxStackSize(1)
|
|
->setDescriptionId(IDS_ITEM_IRON_HORSE_ARMOR)
|
|
->setUseDescriptionId(IDS_DESC_IRON_HORSE_ARMOR);
|
|
Item::horseArmorGold = (new Item(162))
|
|
->setIconName(L"gold_horse_armor")
|
|
->setMaxStackSize(1)
|
|
->setDescriptionId(IDS_ITEM_GOLD_HORSE_ARMOR)
|
|
->setUseDescriptionId(IDS_DESC_GOLD_HORSE_ARMOR);
|
|
Item::horseArmorDiamond =
|
|
(new Item(163))
|
|
->setIconName(L"diamond_horse_armor")
|
|
->setMaxStackSize(1)
|
|
->setDescriptionId(IDS_ITEM_DIAMOND_HORSE_ARMOR)
|
|
->setUseDescriptionId(IDS_DESC_DIAMOND_HORSE_ARMOR);
|
|
Item::lead = (new LeashItem(164))
|
|
->setBaseItemTypeAndMaterial(eBaseItemType_pockettool,
|
|
eMaterial_undefined)
|
|
->setIconName(L"lead")
|
|
->setDescriptionId(IDS_ITEM_LEAD)
|
|
->setUseDescriptionId(IDS_DESC_LEAD);
|
|
Item::nameTag = (new NameTagItem(165))
|
|
->setIconName(L"name_tag")
|
|
->setDescriptionId(IDS_ITEM_NAME_TAG)
|
|
->setUseDescriptionId(IDS_DESC_NAME_TAG);
|
|
}
|
|
|
|
// 4J Stu - We need to do this after the staticCtor AND after staticCtors for
|
|
// other class eg Recipes
|
|
void Item::staticInit() { Stats::buildItemStats(); }
|
|
|
|
_Tier::Tier(int level, int uses, float speed, float damage,
|
|
int enchantmentValue)
|
|
: level(level),
|
|
uses(uses),
|
|
speed(speed),
|
|
damage(damage),
|
|
enchantmentValue(enchantmentValue) {}
|
|
|
|
int _Tier::getUses() const { return uses; }
|
|
|
|
float _Tier::getSpeed() const { return speed; }
|
|
|
|
float _Tier::getAttackDamageBonus() const { return damage; }
|
|
|
|
int _Tier::getLevel() const { return level; }
|
|
|
|
int _Tier::getEnchantmentValue() const { return enchantmentValue; }
|
|
|
|
int _Tier::getTierItemId() const {
|
|
if (this == Tier::WOOD) {
|
|
return Tile::wood_Id;
|
|
} else if (this == Tier::STONE) {
|
|
return Tile::cobblestone_Id;
|
|
} else if (this == Tier::GOLD) {
|
|
return Item::goldIngot_Id;
|
|
} else if (this == Tier::IRON) {
|
|
return Item::ironIngot_Id;
|
|
} else if (this == Tier::DIAMOND) {
|
|
return Item::diamond_Id;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
Item::Item(int id) : id(256 + id) {
|
|
maxStackSize = Item::MAX_STACK_SIZE;
|
|
maxDamage = 0;
|
|
icon = NULL;
|
|
m_handEquipped = false;
|
|
m_isStackedByData = false;
|
|
|
|
craftingRemainingItem = NULL;
|
|
potionBrewingFormula = L"";
|
|
|
|
m_iMaterial = eMaterial_undefined;
|
|
m_iBaseItemType = eBaseItemType_undefined;
|
|
m_textureName = L"";
|
|
|
|
// TODO Init this string
|
|
// string descriptionId;
|
|
|
|
// this->id = 256 + id;
|
|
if (items[256 + id] != NULL) {
|
|
app.DebugPrintf("CONFLICT @ %d", id);
|
|
}
|
|
|
|
items[256 + id] = this;
|
|
}
|
|
|
|
// 4J-PB - adding so we can class different items together for the new crafting
|
|
// menu so pickaxe_stone would get tagged with pickaxe and stone
|
|
Item* Item::setBaseItemTypeAndMaterial(int iType, int iMaterial) {
|
|
this->m_iBaseItemType = iType;
|
|
this->m_iMaterial = iMaterial;
|
|
return this;
|
|
}
|
|
|
|
int Item::getBaseItemType() { return this->m_iBaseItemType; }
|
|
|
|
int Item::getMaterial() { return this->m_iMaterial; }
|
|
|
|
Item* Item::setIconName(const std::wstring& name) {
|
|
m_textureName = name;
|
|
|
|
return this;
|
|
}
|
|
|
|
std::wstring Item::getIconName() { return m_textureName; }
|
|
|
|
Item* Item::setMaxStackSize(int max) {
|
|
maxStackSize = max;
|
|
return this;
|
|
}
|
|
|
|
int Item::getIconType() { return Icon::TYPE_ITEM; }
|
|
|
|
Icon* Item::getIcon(int auxValue) { return icon; }
|
|
|
|
Icon* Item::getIcon(std::shared_ptr<ItemInstance> itemInstance) {
|
|
return getIcon(itemInstance->getAuxValue());
|
|
}
|
|
|
|
bool Item::useOn(std::shared_ptr<ItemInstance> itemInstance,
|
|
std::shared_ptr<Player> player, Level* level, int x, int y,
|
|
int z, int face, float clickX, float clickY, float clickZ,
|
|
bool bTestUseOnOnly) {
|
|
return false;
|
|
}
|
|
|
|
float Item::getDestroySpeed(std::shared_ptr<ItemInstance> itemInstance,
|
|
Tile* tile) {
|
|
return 1;
|
|
}
|
|
|
|
bool Item::TestUse(std::shared_ptr<ItemInstance> itemInstance, Level* level,
|
|
std::shared_ptr<Player> player) {
|
|
return false;
|
|
}
|
|
|
|
std::shared_ptr<ItemInstance> Item::use(
|
|
std::shared_ptr<ItemInstance> itemInstance, Level* level,
|
|
std::shared_ptr<Player> player) {
|
|
return itemInstance;
|
|
}
|
|
|
|
std::shared_ptr<ItemInstance> Item::useTimeDepleted(
|
|
std::shared_ptr<ItemInstance> itemInstance, Level* level,
|
|
std::shared_ptr<Player> player) {
|
|
return itemInstance;
|
|
}
|
|
|
|
int Item::getMaxStackSize() { return maxStackSize; }
|
|
|
|
int Item::getLevelDataForAuxValue(int auxValue) { return 0; }
|
|
|
|
bool Item::isStackedByData() { return m_isStackedByData; }
|
|
|
|
Item* Item::setStackedByData(bool isStackedByData) {
|
|
this->m_isStackedByData = isStackedByData;
|
|
return this;
|
|
}
|
|
|
|
int Item::getMaxDamage() { return maxDamage; }
|
|
|
|
Item* Item::setMaxDamage(int maxDamage) {
|
|
this->maxDamage = maxDamage;
|
|
return this;
|
|
}
|
|
|
|
bool Item::canBeDepleted() { return maxDamage > 0 && !m_isStackedByData; }
|
|
|
|
/**
|
|
* Returns true when the item was used to deal more than default damage
|
|
*
|
|
* @param itemInstance
|
|
* @param mob
|
|
* @param attacker
|
|
* @return
|
|
*/
|
|
bool Item::hurtEnemy(std::shared_ptr<ItemInstance> itemInstance,
|
|
std::shared_ptr<LivingEntity> mob,
|
|
std::shared_ptr<LivingEntity> attacker) {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Returns true when the item was used to mine more efficiently
|
|
*
|
|
* @param itemInstance
|
|
* @param tile
|
|
* @param x
|
|
* @param y
|
|
* @param z
|
|
* @param owner
|
|
* @return
|
|
*/
|
|
bool Item::mineBlock(std::shared_ptr<ItemInstance> itemInstance, Level* level,
|
|
int tile, int x, int y, int z,
|
|
std::shared_ptr<LivingEntity> owner) {
|
|
return false;
|
|
}
|
|
|
|
int Item::getAttackDamage(std::shared_ptr<Entity> entity) { return 1; }
|
|
|
|
bool Item::canDestroySpecial(Tile* tile) { return false; }
|
|
|
|
bool Item::interactEnemy(std::shared_ptr<ItemInstance> itemInstance,
|
|
std::shared_ptr<Player> player,
|
|
std::shared_ptr<LivingEntity> mob) {
|
|
return false;
|
|
}
|
|
|
|
Item* Item::handEquipped() {
|
|
m_handEquipped = true;
|
|
return this;
|
|
}
|
|
|
|
bool Item::isHandEquipped() { return m_handEquipped; }
|
|
|
|
bool Item::isMirroredArt() { return false; }
|
|
|
|
Item* Item::setDescriptionId(unsigned int id) {
|
|
this->descriptionId = id;
|
|
return this;
|
|
}
|
|
|
|
LPCWSTR Item::getDescription() {
|
|
return app.GetString(getDescriptionId());
|
|
// return I18n::get(getDescriptionId());
|
|
}
|
|
|
|
LPCWSTR Item::getDescription(std::shared_ptr<ItemInstance> instance) {
|
|
return app.GetString(getDescriptionId(instance));
|
|
// return I18n::get(getDescriptionId(instance));
|
|
}
|
|
|
|
unsigned int Item::getDescriptionId(int iData /*= -1*/) {
|
|
return descriptionId;
|
|
}
|
|
|
|
unsigned int Item::getDescriptionId(std::shared_ptr<ItemInstance> instance) {
|
|
return descriptionId;
|
|
}
|
|
|
|
Item* Item::setUseDescriptionId(unsigned int id) {
|
|
this->useDescriptionId = id;
|
|
return this;
|
|
}
|
|
|
|
unsigned int Item::getUseDescriptionId() { return useDescriptionId; }
|
|
|
|
unsigned int Item::getUseDescriptionId(std::shared_ptr<ItemInstance> instance) {
|
|
return useDescriptionId;
|
|
}
|
|
|
|
Item* Item::setCraftingRemainingItem(Item* craftingRemainingItem) {
|
|
this->craftingRemainingItem = craftingRemainingItem;
|
|
return this;
|
|
}
|
|
|
|
bool Item::shouldMoveCraftingResultToInventory(
|
|
std::shared_ptr<ItemInstance> instance) {
|
|
// Default is good for the vast majority of items
|
|
return true;
|
|
}
|
|
|
|
bool Item::shouldOverrideMultiplayerNBT() { return true; }
|
|
|
|
Item* Item::getCraftingRemainingItem() { return craftingRemainingItem; }
|
|
|
|
bool Item::hasCraftingRemainingItem() { return craftingRemainingItem != NULL; }
|
|
|
|
std::wstring Item::getName() {
|
|
return L""; // I18n::get(getDescriptionId() + L".name");
|
|
}
|
|
|
|
int Item::getColor(std::shared_ptr<ItemInstance> item, int spriteLayer) {
|
|
return 0xffffff;
|
|
}
|
|
|
|
void Item::inventoryTick(std::shared_ptr<ItemInstance> itemInstance,
|
|
Level* level, std::shared_ptr<Entity> owner, int slot,
|
|
bool selected) {}
|
|
|
|
void Item::onCraftedBy(std::shared_ptr<ItemInstance> itemInstance, Level* level,
|
|
std::shared_ptr<Player> player) {}
|
|
|
|
bool Item::isComplex() { return false; }
|
|
|
|
UseAnim Item::getUseAnimation(std::shared_ptr<ItemInstance> itemInstance) {
|
|
return UseAnim_none;
|
|
}
|
|
|
|
int Item::getUseDuration(std::shared_ptr<ItemInstance> itemInstance) {
|
|
return 0;
|
|
}
|
|
|
|
void Item::releaseUsing(std::shared_ptr<ItemInstance> itemInstance,
|
|
Level* level, std::shared_ptr<Player> player,
|
|
int durationLeft) {}
|
|
|
|
Item* Item::setPotionBrewingFormula(const std::wstring& potionBrewingFormula) {
|
|
this->potionBrewingFormula = potionBrewingFormula;
|
|
return this;
|
|
}
|
|
|
|
std::wstring Item::getPotionBrewingFormula() { return potionBrewingFormula; }
|
|
|
|
bool Item::hasPotionBrewingFormula() { return !potionBrewingFormula.empty(); }
|
|
|
|
// 4jcraft: re-added old TU18 overload for java gui
|
|
void Item::appendHoverText(std::shared_ptr<ItemInstance> itemInstance,
|
|
std::shared_ptr<Player> player,
|
|
std::vector<std::wstring>* lines, bool advanced,
|
|
std::vector<std::wstring>& unformattedStrings) {}
|
|
|
|
void Item::appendHoverText(std::shared_ptr<ItemInstance> itemInstance,
|
|
std::shared_ptr<Player> player,
|
|
std::vector<HtmlString>* lines, bool advanced) {}
|
|
|
|
std::wstring Item::getHoverName(std::shared_ptr<ItemInstance> itemInstance) {
|
|
// String elementName = ("" +
|
|
// Language.getInstance().getElementName(getDescription(itemInstance))).trim();
|
|
// return elementName;
|
|
return app.GetString(getDescriptionId(itemInstance));
|
|
}
|
|
|
|
bool Item::isFoil(std::shared_ptr<ItemInstance> itemInstance) {
|
|
if (itemInstance->isEnchanted()) return true;
|
|
return false;
|
|
}
|
|
|
|
const Rarity* Item::getRarity(std::shared_ptr<ItemInstance> itemInstance) {
|
|
if (itemInstance->isEnchanted()) return Rarity::rare;
|
|
return Rarity::common;
|
|
}
|
|
|
|
bool Item::isEnchantable(std::shared_ptr<ItemInstance> itemInstance) {
|
|
return getMaxStackSize() == 1 && canBeDepleted();
|
|
}
|
|
|
|
HitResult* Item::getPlayerPOVHitResult(Level* level,
|
|
std::shared_ptr<Player> player,
|
|
bool alsoPickLiquid) {
|
|
float a = 1;
|
|
|
|
float xRot = player->xRotO + (player->xRot - player->xRotO) * a;
|
|
float yRot = player->yRotO + (player->yRot - player->yRotO) * a;
|
|
|
|
double x = player->xo + (player->x - player->xo) * a;
|
|
double y =
|
|
player->yo + (player->y - player->yo) * a + 1.62 - player->heightOffset;
|
|
double z = player->zo + (player->z - player->zo) * a;
|
|
|
|
Vec3* from = Vec3::newTemp(x, y, z);
|
|
|
|
float yCos = (float)cos(-yRot * Mth::RAD_TO_GRAD - PI);
|
|
float ySin = (float)sin(-yRot * Mth::RAD_TO_GRAD - PI);
|
|
float xCos = (float)-cos(-xRot * Mth::RAD_TO_GRAD);
|
|
float xSin = (float)sin(-xRot * Mth::RAD_TO_GRAD);
|
|
|
|
float xa = ySin * xCos;
|
|
float ya = xSin;
|
|
float za = yCos * xCos;
|
|
|
|
double range = 5;
|
|
Vec3* to = from->add(xa * range, ya * range, za * range);
|
|
return level->clip(from, to, alsoPickLiquid, !alsoPickLiquid);
|
|
}
|
|
|
|
int Item::getEnchantmentValue() { return 0; }
|
|
|
|
bool Item::hasMultipleSpriteLayers() { return false; }
|
|
|
|
Icon* Item::getLayerIcon(int auxValue, int spriteLayer) {
|
|
return getIcon(auxValue);
|
|
}
|
|
|
|
bool Item::mayBePlacedInAdventureMode() { return true; }
|
|
|
|
bool Item::isValidRepairItem(std::shared_ptr<ItemInstance> source,
|
|
std::shared_ptr<ItemInstance> repairItem) {
|
|
return false;
|
|
}
|
|
|
|
void Item::registerIcons(IconRegister* iconRegister) {
|
|
icon = iconRegister->registerIcon(m_textureName);
|
|
}
|
|
|
|
attrAttrModMap* Item::getDefaultAttributeModifiers() {
|
|
return new attrAttrModMap();
|
|
}
|
|
|
|
/*
|
|
4J: These are necesary on the PS3.
|
|
(and 4 and Vita).
|
|
*/
|
|
#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || \
|
|
defined __linux__)
|
|
const int Item::shovel_iron_Id;
|
|
const int Item::pickAxe_iron_Id;
|
|
const int Item::hatchet_iron_Id;
|
|
const int Item::flintAndSteel_Id;
|
|
const int Item::apple_Id;
|
|
const int Item::bow_Id;
|
|
const int Item::arrow_Id;
|
|
const int Item::coal_Id;
|
|
const int Item::diamond_Id;
|
|
const int Item::ironIngot_Id;
|
|
const int Item::goldIngot_Id;
|
|
const int Item::sword_iron_Id;
|
|
const int Item::sword_wood_Id;
|
|
const int Item::shovel_wood_Id;
|
|
const int Item::pickAxe_wood_Id;
|
|
const int Item::hatchet_wood_Id;
|
|
const int Item::sword_stone_Id;
|
|
const int Item::shovel_stone_Id;
|
|
const int Item::pickAxe_stone_Id;
|
|
const int Item::hatchet_stone_Id;
|
|
const int Item::sword_diamond_Id;
|
|
const int Item::shovel_diamond_Id;
|
|
const int Item::pickAxe_diamond_Id;
|
|
const int Item::hatchet_diamond_Id;
|
|
const int Item::stick_Id;
|
|
const int Item::bowl_Id;
|
|
const int Item::mushroomStew_Id;
|
|
const int Item::sword_gold_Id;
|
|
const int Item::shovel_gold_Id;
|
|
const int Item::pickAxe_gold_Id;
|
|
const int Item::hatchet_gold_Id;
|
|
const int Item::string_Id;
|
|
const int Item::feather_Id;
|
|
const int Item::gunpowder_Id;
|
|
const int Item::hoe_wood_Id;
|
|
const int Item::hoe_stone_Id;
|
|
const int Item::hoe_iron_Id;
|
|
const int Item::hoe_diamond_Id;
|
|
const int Item::hoe_gold_Id;
|
|
const int Item::seeds_wheat_Id;
|
|
const int Item::wheat_Id;
|
|
const int Item::bread_Id;
|
|
const int Item::helmet_leather_Id;
|
|
const int Item::chestplate_leather_Id;
|
|
const int Item::leggings_leather_Id;
|
|
const int Item::boots_leather_Id;
|
|
const int Item::helmet_chain_Id;
|
|
const int Item::chestplate_chain_Id;
|
|
const int Item::leggings_chain_Id;
|
|
const int Item::boots_chain_Id;
|
|
const int Item::helmet_iron_Id;
|
|
const int Item::chestplate_iron_Id;
|
|
const int Item::leggings_iron_Id;
|
|
const int Item::boots_iron_Id;
|
|
const int Item::helmet_diamond_Id;
|
|
const int Item::chestplate_diamond_Id;
|
|
const int Item::leggings_diamond_Id;
|
|
const int Item::boots_diamond_Id;
|
|
const int Item::helmet_gold_Id;
|
|
const int Item::chestplate_gold_Id;
|
|
const int Item::leggings_gold_Id;
|
|
const int Item::boots_gold_Id;
|
|
const int Item::flint_Id;
|
|
const int Item::porkChop_raw_Id;
|
|
const int Item::porkChop_cooked_Id;
|
|
const int Item::painting_Id;
|
|
const int Item::apple_gold_Id;
|
|
const int Item::sign_Id;
|
|
const int Item::door_wood_Id;
|
|
const int Item::bucket_empty_Id;
|
|
const int Item::bucket_water_Id;
|
|
const int Item::bucket_lava_Id;
|
|
const int Item::minecart_Id;
|
|
const int Item::saddle_Id;
|
|
const int Item::door_iron_Id;
|
|
const int Item::redStone_Id;
|
|
const int Item::snowBall_Id;
|
|
const int Item::boat_Id;
|
|
const int Item::leather_Id;
|
|
const int Item::bucket_milk_Id;
|
|
const int Item::brick_Id;
|
|
const int Item::clay_Id;
|
|
const int Item::reeds_Id;
|
|
const int Item::paper_Id;
|
|
const int Item::book_Id;
|
|
const int Item::slimeBall_Id;
|
|
const int Item::minecart_chest_Id;
|
|
const int Item::minecart_furnace_Id;
|
|
const int Item::egg_Id;
|
|
const int Item::compass_Id;
|
|
const int Item::fishingRod_Id;
|
|
const int Item::clock_Id;
|
|
const int Item::yellowDust_Id;
|
|
const int Item::fish_raw_Id;
|
|
const int Item::fish_cooked_Id;
|
|
const int Item::dye_powder_Id;
|
|
const int Item::bone_Id;
|
|
const int Item::sugar_Id;
|
|
const int Item::cake_Id;
|
|
const int Item::bed_Id;
|
|
const int Item::repeater_Id;
|
|
const int Item::cookie_Id;
|
|
const int Item::map_Id;
|
|
const int Item::shears_Id;
|
|
const int Item::melon_Id;
|
|
const int Item::seeds_pumpkin_Id;
|
|
const int Item::seeds_melon_Id;
|
|
const int Item::beef_raw_Id;
|
|
const int Item::beef_cooked_Id;
|
|
const int Item::chicken_raw_Id;
|
|
const int Item::chicken_cooked_Id;
|
|
const int Item::rotten_flesh_Id;
|
|
const int Item::enderPearl_Id;
|
|
const int Item::blazeRod_Id;
|
|
const int Item::ghastTear_Id;
|
|
const int Item::goldNugget_Id;
|
|
const int Item::netherwart_seeds_Id;
|
|
const int Item::potion_Id;
|
|
const int Item::glassBottle_Id;
|
|
const int Item::spiderEye_Id;
|
|
const int Item::fermentedSpiderEye_Id;
|
|
const int Item::blazePowder_Id;
|
|
const int Item::magmaCream_Id;
|
|
const int Item::brewingStand_Id;
|
|
const int Item::cauldron_Id;
|
|
const int Item::eyeOfEnder_Id;
|
|
const int Item::speckledMelon_Id;
|
|
const int Item::spawnEgg_Id;
|
|
const int Item::expBottle_Id;
|
|
const int Item::skull_Id;
|
|
const int Item::record_01_Id;
|
|
const int Item::record_02_Id;
|
|
const int Item::record_03_Id;
|
|
const int Item::record_04_Id;
|
|
const int Item::record_05_Id;
|
|
const int Item::record_06_Id;
|
|
const int Item::record_07_Id;
|
|
const int Item::record_09_Id;
|
|
const int Item::record_10_Id;
|
|
const int Item::record_11_Id;
|
|
const int Item::record_12_Id;
|
|
const int Item::record_08_Id;
|
|
const int Item::fireball_Id;
|
|
const int Item::itemFrame_Id;
|
|
const int Item::netherbrick_Id;
|
|
const int Item::emerald_Id;
|
|
const int Item::flowerPot_Id;
|
|
const int Item::carrots_Id;
|
|
const int Item::potato_Id;
|
|
const int Item::potatoBaked_Id;
|
|
const int Item::potatoPoisonous_Id;
|
|
const int Item::carrotGolden_Id;
|
|
const int Item::carrotOnAStick_Id;
|
|
const int Item::pumpkinPie_Id;
|
|
const int Item::enchantedBook_Id;
|
|
const int Item::netherQuartz_Id;
|
|
#endif
|