/* * WorldEdit, a Minecraft world manipulation toolkit * Copyright (C) sk89q * Copyright (C) WorldEdit team and contributors * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ package com.sk89q.worldedit.blocks; import com.sk89q.worldedit.blocks.type.ItemType; import com.sk89q.worldedit.blocks.type.ItemTypes; import com.sk89q.worldedit.world.registry.BundledItemData; import java.util.HashMap; import java.util.Map; /** * Represents an item, without an amount value. See {@link BaseItemStack} * for an instance with stack amount information. * *

This class may be removed in the future.

*/ public class BaseItem { private ItemType itemType; private short damage; private final Map enchantments = new HashMap<>(); /** * Construct the object. * * @param id ID of the item */ @Deprecated public BaseItem(int id) { this(id, (short) 0); } /** * Construct the object. * * @param itemType Type of the item */ public BaseItem(ItemType itemType) { this.itemType = itemType; } /** * Construct the object. * * @param id ID of the item * @param data data value of the item */ @Deprecated public BaseItem(int id, short data) { setLegacyId(id); this.damage = data; } /** * Construct the object. * * @param itemType Type of the item * @param damage Damage value of the item */ public BaseItem(ItemType itemType, short damage) { this.itemType = itemType; this.damage = damage; } /** * Get the type of item. * * @return the id */ @Deprecated public int getLegacyId() { return this.itemType.getLegacyId(); } /** * Set the type of item. * * @param id the id to set */ @Deprecated public void setLegacyId(int id) { ItemType type = ItemTypes.getItemType(BundledItemData.getInstance().fromLegacyId(id)); setType(type); } /** * Get the type of item. * * @return the type */ public ItemType getType() { return this.itemType; } /** * Set the type of the item. * * @param itemType The type to set */ public void setType(ItemType itemType) { this.itemType = itemType; } /** * Get the damage value. * * @return the damage */ public short getDamage() { return this.damage; } /** * Get the data value. * * @return the data */ @Deprecated public short getData() { return this.damage; } /** * Set the data value. * * @param damage the damage to set */ public void setDamage(short damage) { this.damage = damage; } /** * Set the data value. * * @param data the damage to set */ @Deprecated public void setData(short data) { this.damage = data; } /** * Get the map of enchantments. * * @return map of enchantments */ public Map getEnchantments() { return enchantments; } }