From 434c29cbe18537e193927375d15741935eb84d3b Mon Sep 17 00:00:00 2001 From: Roy Curtis Date: Wed, 1 Jun 2016 17:55:13 +0100 Subject: SPIGOT-783: API for book generation data. --- .../java/org/bukkit/inventory/meta/BookMeta.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src') diff --git a/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java index 00175963..845f71c4 100644 --- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/BookMeta.java @@ -10,6 +10,28 @@ import org.bukkit.Material; */ public interface BookMeta extends ItemMeta { + /** + * Represents the generation (or level of copying) of a written book + */ + enum Generation { + /** + * Book written into a book-and-quill. Can be copied. (Default value) + */ + ORIGINAL, + /** + * Book that was copied from an original. Can be copied. + */ + COPY_OF_ORIGINAL, + /** + * Book that was copied from a copy of an original. Can't be copied. + */ + COPY_OF_COPY, + /** + * Unused; unobtainable by players. Can't be copied. + */ + TATTERED; + } + /** * Checks for the existence of a title in the book. * @@ -61,6 +83,22 @@ public interface BookMeta extends ItemMeta { */ void setAuthor(String author); + /** + * Gets the generation of the book, or null if it's out of bounds. + * + * @return the generation of the book or null + */ + Generation getGeneration(); + + /** + * Sets the generation of the book. + *

+ * Assumes Generation.ORIGINAL if given null. + * + * @param generation the generation of the book + */ + void setGeneration(Generation generation); + /** * Checks for the existence of pages in the book. * -- cgit v1.2.3