mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-07 05:47:14 +00:00
DWORD→uint32_t, BYTE→uint8_t, HRESULT→int32_t, HANDLE→void*, UINT→uint32_t, INT→int32_t, WORD→uint16_t, LONG→int32_t, SHORT→int16_t, LONGLONG→int64_t, ULONG_PTR→uintptr_t, PBYTE→uint8_t*, LPWSTR/PWSTR→wchar_t*, FLOAT→float, CHAR→char, boolean→bool, CONST→const, TRUE→true, FALSE→false across 176 files (excluding vendor libs and Linux stubs).
81 lines
2.6 KiB
C++
81 lines
2.6 KiB
C++
#pragma once
|
|
|
|
/*
|
|
class WrittenBookItem extends Item {
|
|
|
|
public static final int TITLE_LENGTH = 16;
|
|
public static final int PAGE_LENGTH = 256;
|
|
public static final int MAX_PAGES = 50;
|
|
public static final String TAG_TITLE = "title";
|
|
public static final String TAG_AUTHOR = "author";
|
|
public static final String TAG_PAGES = "pages";
|
|
|
|
public WrittenBookItem(int id) {
|
|
super(id);
|
|
setMaxStackSize(1);
|
|
}
|
|
|
|
public static bool makeSureTagIsValid(CompoundTag bookTag) {
|
|
|
|
if (!WritingBookItem.makeSureTagIsValid(bookTag)) {
|
|
return false;
|
|
}
|
|
|
|
if (!bookTag.contains(TAG_TITLE)) {
|
|
return false;
|
|
}
|
|
String title = bookTag.getString(TAG_TITLE);
|
|
if (title == null || title.length() > TITLE_LENGTH) {
|
|
return false;
|
|
}
|
|
|
|
if (!bookTag.contains(TAG_AUTHOR)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public String getHoverName(ItemInstance itemInstance) {
|
|
if (itemInstance.hasTag()) {
|
|
CompoundTag itemTag = itemInstance.getTag();
|
|
|
|
StringTag titleTag = (StringTag)
|
|
itemTag.get(TAG_TITLE); if (titleTag != null) { return titleTag.toString();
|
|
}
|
|
}
|
|
return super.getHoverName(itemInstance);
|
|
}
|
|
|
|
@Override
|
|
public void appendHoverText(ItemInstance itemInstance, Player
|
|
player, List<String> lines, bool advanced) {
|
|
|
|
if (itemInstance.hasTag()) {
|
|
CompoundTag itemTag = itemInstance.getTag();
|
|
|
|
StringTag authorTag = (StringTag)
|
|
itemTag.get(TAG_AUTHOR); if (authorTag != null) { lines.add(ChatFormatting.GRAY
|
|
+ String.format(I18n.get("book.byAuthor", authorTag.data)));
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public ItemInstance use(ItemInstance itemInstance, Level level,
|
|
Player player) { player.openItemInstanceGui(itemInstance); return itemInstance;
|
|
}
|
|
|
|
@Override
|
|
public bool shouldOverrideMultiplayerNBT() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public bool isFoil(ItemInstance itemInstance) {
|
|
return true;
|
|
}
|
|
|
|
};
|
|
*/ |