the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 82 lines 1.9 kB view raw
1#pragma once 2 3/* 4class WrittenBookItem extends Item { 5 6 public static final int TITLE_LENGTH = 16; 7 public static final int PAGE_LENGTH = 256; 8 public static final int MAX_PAGES = 50; 9 public static final String TAG_TITLE = "title"; 10 public static final String TAG_AUTHOR = "author"; 11 public static final String TAG_PAGES = "pages"; 12 13 public WrittenBookItem(int id) { 14 super(id); 15 setMaxStackSize(1); 16 } 17 18 public static boolean makeSureTagIsValid(CompoundTag bookTag) { 19 20 if (!WritingBookItem.makeSureTagIsValid(bookTag)) { 21 return false; 22 } 23 24 if (!bookTag.contains(TAG_TITLE)) { 25 return false; 26 } 27 String title = bookTag.getString(TAG_TITLE); 28 if (title == null || title.length() > TITLE_LENGTH) { 29 return false; 30 } 31 32 if (!bookTag.contains(TAG_AUTHOR)) { 33 return false; 34 } 35 36 return true; 37 } 38 39 @Override 40 public String getHoverName(ItemInstance itemInstance) { 41 if (itemInstance.hasTag()) { 42 CompoundTag itemTag = itemInstance.getTag(); 43 44 StringTag titleTag = (StringTag) itemTag.get(TAG_TITLE); 45 if (titleTag != null) { 46 return titleTag.toString(); 47 } 48 } 49 return super.getHoverName(itemInstance); 50 } 51 52 @Override 53 public void appendHoverText(ItemInstance itemInstance, Player player, List<String> lines, boolean advanced) { 54 55 if (itemInstance.hasTag()) { 56 CompoundTag itemTag = itemInstance.getTag(); 57 58 StringTag authorTag = (StringTag) itemTag.get(TAG_AUTHOR); 59 if (authorTag != null) { 60 lines.add(ChatFormatting.GRAY + String.format(I18n.get("book.byAuthor", authorTag.data))); 61 } 62 } 63 } 64 65 @Override 66 public ItemInstance use(ItemInstance itemInstance, Level level, Player player) { 67 player.openItemInstanceGui(itemInstance); 68 return itemInstance; 69 } 70 71 @Override 72 public boolean shouldOverrideMultiplayerNBT() { 73 return true; 74 } 75 76 @Override 77 public boolean isFoil(ItemInstance itemInstance) { 78 return true; 79 } 80 81}; 82*/