buildcraft/common/buildcraft/builders/LibraryBookTypeHandler.java
2015-06-04 12:06:23 +02:00

55 lines
1.5 KiB
Java

package buildcraft.builders;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import buildcraft.api.library.LibraryTypeHandlerNBT;
import buildcraft.core.lib.utils.NBTUtils;
public class LibraryBookTypeHandler extends LibraryTypeHandlerNBT {
public LibraryBookTypeHandler() {
super("book");
}
@Override
public boolean isHandler(ItemStack stack, HandlerType type) {
if (type == HandlerType.STORE) {
return stack.getItem() == Items.written_book;
} else {
return stack.getItem() == Items.writable_book || stack.getItem() == Items.written_book;
}
}
@Override
public int getTextColor() {
return 0x684804;
}
@Override
public String getName(ItemStack stack) {
String s = NBTUtils.getItemData(stack).getString("title");
return s != null ? s : "";
}
@Override
public ItemStack load(ItemStack stack, NBTTagCompound compound) {
ItemStack out = new ItemStack(Items.written_book);
NBTTagCompound outNBT = new NBTTagCompound();
outNBT.setString("title", compound.getString("title"));
outNBT.setString("author", compound.getString("author"));
outNBT.setTag("pages", compound.getTagList("pages", 8));
out.setTagCompound(outNBT);
return out;
}
@Override
public boolean store(ItemStack stack, NBTTagCompound compound) {
NBTTagCompound inNBT = NBTUtils.getItemData(stack);
compound.setString("title", inNBT.getString("title"));
compound.setString("author", inNBT.getString("author"));
compound.setTag("pages", inNBT.getTagList("pages", 8));
return true;
}
}