package amerifrance.guideapi.api.util;

import amerifrance.guideapi.ModInformation;
import amerifrance.guideapi.api.abstraction.CategoryAbstract;
import amerifrance.guideapi.api.base.Book;
import net.minecraft.util.ResourceLocation;

import java.awt.*;
import java.util.ArrayList;
import java.util.List;

public class BookBuilder {

    private List<CategoryAbstract> categoryList = new ArrayList<CategoryAbstract>();
    private String unlocBookTitle = "item.GuideBook.name";
    private String unlocWelcomeMessage = unlocBookTitle;
    private String unlocDisplayName = unlocBookTitle;
    private ResourceLocation pageTexture = new ResourceLocation(ModInformation.GUITEXLOC + "book_colored.png");
    private ResourceLocation outlineTexture = new ResourceLocation(ModInformation.GUITEXLOC + "book_greyscale.png");
    private Color bookColor = new Color(171, 70, 30);
    private boolean spawnWithBook = false;
    private boolean isLostBook = false;

    public BookBuilder() {
    }

    public BookBuilder setCategories(List<CategoryAbstract> categoryList) {
        this.categoryList = categoryList;
        return this;
    }

    public BookBuilder setUnlocBookTitle(String unlocBookTitle) {
        this.unlocBookTitle = unlocBookTitle;
        return this;
    }

    public BookBuilder setUnlocWelcomeMessage(String unlocWelcomeMessage) {
        this.unlocWelcomeMessage = unlocWelcomeMessage;
        return this;
    }

    public BookBuilder setUnlocDisplayName(String unlocDisplayName) {
        this.unlocDisplayName = unlocDisplayName;
        return this;
    }

    public BookBuilder setPageTexture(ResourceLocation pageTexture) {
        this.pageTexture = pageTexture;
        return this;
    }

    public BookBuilder setOutlineTexture(ResourceLocation outlineTexture) {
        this.outlineTexture = outlineTexture;
        return this;
    }

    public BookBuilder setBookColor(Color bookColor) {
        this.bookColor = bookColor;
        return this;
    }

    public BookBuilder setSpawnWithBook(boolean spawnWithBook) {
        this.spawnWithBook = spawnWithBook;
        return this;
    }

    public BookBuilder setIsLostBook(boolean isLostBook) {
        this.isLostBook = isLostBook;
        return this;
    }

    public Book build() {
        return new Book(categoryList, unlocBookTitle, unlocWelcomeMessage, unlocDisplayName, pageTexture, outlineTexture, bookColor, spawnWithBook, isLostBook);
    }
}

@@ -37,52 +37,8 @@
 l;%0A%0A
-import amerifrance.guideapi.ModInformation;%0A
 impo
@@ -95,16 +95,16 @@
 stract;%0A
+
 import a
@@ -282,16 +282,74 @@
 lder %7B%0A%0A
+    private String GUITEXLOC = %22guideapi:textures/gui/%22;%0A%0A
     priv
@@ -655,39 +655,24 @@
 rceLocation(
-ModInformation.
 GUITEXLOC + 
@@ -763,23 +763,8 @@
 ion(
-ModInformation.
 GUIT

Remove call to non-API classes in API