<commit_before>package net.alcuria.umbracraft.definitions.items;

import net.alcuria.umbracraft.annotations.Order;
import net.alcuria.umbracraft.annotations.Tooltip;
import net.alcuria.umbracraft.definitions.Definition;

/** Defines a collectible item.
 * @author <NAME> */
public class ItemDefinition extends Definition {

	/** Enumerates the {@link ItemType#EQUIPMENT} type
	 * @author <NAME> */
	public static enum EquipType {
		ACCESSORY("silhouette_ring"), BOTTOM("silhouette_shoe"), GLOVES("silhouette_fist"), HELM("silhouette_helm"), SHIELD("silhouette_shield"), TOP("silhouette_armor"), WEAPON("silhouette_sword");
		private final String emptyFilename;

		EquipType(String emptyFilename) {
			this.emptyFilename = emptyFilename;
		}

		public String getEmptyFilename() {
			return emptyFilename;
		}
	}

	/** Enumerates different types of items.
	 * @author <NAME> */
	public static enum ItemType {
		COLLECTIBLE(true), CONSUMABLE(true), EQUIPMENT(false), SCRIPT(true);

		private final boolean stackable;

		ItemType(boolean stackable) {
			this.stackable = stackable;
		}

		/** @return whether or not this item type is stackable */
		public boolean isStackable() {
			return stackable;
		}
	}
<commit_msg>Add method to retrieve slot from equip type<commit_after>package net.alcuria.umbracraft.definitions.items;

import net.alcuria.umbracraft.annotations.Order;
import net.alcuria.umbracraft.annotations.Tooltip;
import net.alcuria.umbracraft.definitions.Definition;
import net.alcuria.umbracraft.party.PartyMember.EquipSlot;

/** Defines a collectible item.
 * @author <NAME> */
public class ItemDefinition extends Definition {

	/** Enumerates the {@link ItemType#EQUIPMENT} type
	 * @author <NAME> */
	public static enum EquipType {
		ACCESSORY("silhouette_ring"), BOTTOM("silhouette_shoe"), GLOVES("silhouette_fist"), HELM("silhouette_helm"), SHIELD("silhouette_shield"), TOP("silhouette_armor"), WEAPON("silhouette_sword");
		private final String emptyFilename;

		EquipType(String emptyFilename) {
			this.emptyFilename = emptyFilename;
		}

		public String getEmptyFilename() {
			return emptyFilename;
		}

		public EquipSlot getSlot() {
			switch (this) {
			case ACCESSORY:
				return EquipSlot.ACCESSORY_1; //TODO: intelligently determine which slot should be used here
			case BOTTOM:
				return EquipSlot.BOTTOM;
			case GLOVES:
				return EquipSlot.GLOVES;
			case HELM:
				return EquipSlot.HELM;
			case SHIELD:
				return EquipSlot.SHIELD;
			case TOP:
				return EquipSlot.TOP;
			case WEAPON:
				return EquipSlot.WEAPON;
			default:
				throw new NullPointerException("No slot type for " + this);
			}
		}
	}

	/** Enumerates different types of items.
	 * @author <NAME> */
	public static enum ItemType {
		COLLECTIBLE(true), CONSUMABLE(true), EQUIPMENT(false), SCRIPT(true);

		private final boolean stackable;

		ItemType(boolean stackable) {
			this.stackable = stackable;
		}

		/** @return whether or not this item type is stackable */
		public boolean isStackable() {
			return stackable;
		}
	}

{'fraction_non_alphanumeric': 0.10715463237718431, 'fraction_numerical': 0.0003297065611605671, 'mean_word_length': 4.56697247706422, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4045476', 'n_tokens_mistral': 1097, 'n_tokens_neox': 978, 'n_words': 233}