package joshie.harvest.knowledge.item; import joshie.harvest.HarvestFestival; import joshie.harvest.core.base.item.ItemHFEnum; import joshie.harvest.core.util.interfaces.ICreativeSorted; import joshie.harvest.knowledge.item.ItemBook.Book; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.IStringSerializable; import net.minecraft.world.World; import javax.annotation.Nonnull; import java.util.Locale; import static joshie.harvest.core.handlers.GuiHandler.CALENDAR_GUI; import static joshie.harvest.core.handlers.GuiHandler.STATS_BOOK; public class ItemBook extends ItemHFEnum<ItemBook, Book> implements ICreativeSorted { public enum Book implements IStringSerializable { STATISTICS(STATS_BOOK), CALENDAR(CALENDAR_GUI); private final int guiID; Book(int guiID) { this.guiID = guiID; } public int getGuiID() { return guiID; } @Override public String getName() { return name().toLowerCase(Locale.ENGLISH); } } public ItemBook() { super(Book.class); } @Override @Nonnull public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { if (!player.isSneaking()) { player.openGui(HarvestFestival.instance, getEnumFromStack(stack).getGuiID(), world, 0, 0, 0); return new ActionResult<>(EnumActionResult.SUCCESS, stack); } return new ActionResult<>(EnumActionResult.PASS, stack); } @Override public int getSortValue(ItemStack stack) { return 1000; } }