1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Add deniesVanillaRules ItemSetting, this can make the Book Binder adhere to vanilla rules

This commit is contained in:
ProfElements 2021-01-02 22:50:48 -06:00
parent b23869f037
commit a42af430e3

View File

@ -11,6 +11,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import io.github.thebusybiscuit.cscorelib2.inventory.InvUtils; import io.github.thebusybiscuit.cscorelib2.inventory.InvUtils;
import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting;
import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
@ -20,9 +21,13 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
public class BookBinder extends AContainer { public class BookBinder extends AContainer {
private final ItemSetting<Boolean> deniesVanillaRules = new ItemSetting<>("denies-vanilla-rules", true);
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
public BookBinder(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { public BookBinder(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(category, item, recipeType, recipe); super(category, item, recipeType, recipe);
addItemSetting(deniesVanillaRules);
} }
@Override @Override
@ -63,7 +68,12 @@ public class BookBinder extends AContainer {
EnchantmentStorageMeta enchantMeta = (EnchantmentStorageMeta) book.getItemMeta(); EnchantmentStorageMeta enchantMeta = (EnchantmentStorageMeta) book.getItemMeta();
for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) { for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
if(deniesVanillaRules.getValue()) {
enchantMeta.addStoredEnchant(entry.getKey(), entry.getValue(), true); enchantMeta.addStoredEnchant(entry.getKey(), entry.getValue(), true);
} else {
enchantMeta.addStoredEnchant(entry.getKey(), entry.getValue(), false);
}
} }
book.setItemMeta(enchantMeta); book.setItemMeta(enchantMeta);