Redo levelling convert to compatMaterial

This commit is contained in:
Daniel Ciepluch 2020-03-26 18:42:38 +01:00 committed by Brianna
parent 2d296c4c77
commit 23337a889b

View File

@ -1,5 +1,6 @@
package com.songoda.skyblock.menus.admin; package com.songoda.skyblock.menus.admin;
import com.songoda.core.compatibility.CompatibleMaterial;
import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.SkyBlock;
import com.songoda.skyblock.config.FileManager; import com.songoda.skyblock.config.FileManager;
import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.config.FileManager.Config;
@ -14,7 +15,6 @@ import com.songoda.skyblock.utils.NumberUtil;
import com.songoda.skyblock.utils.item.MaterialUtil; import com.songoda.skyblock.utils.item.MaterialUtil;
import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.SkullUtil;
import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.item.nInventoryUtil;
import com.songoda.skyblock.utils.version.Materials;
import com.songoda.skyblock.utils.version.NMSUtil; import com.songoda.skyblock.utils.version.NMSUtil;
import com.songoda.skyblock.utils.version.Sounds; import com.songoda.skyblock.utils.version.Sounds;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -61,7 +61,7 @@ public class Levelling implements Listener {
// Filter out materials that won't be displayed in the GUI properly // Filter out materials that won't be displayed in the GUI properly
Inventory testInventory = Bukkit.createInventory(null, 9); Inventory testInventory = Bukkit.createInventory(null, 9);
levellingMaterials = levellingMaterials.stream().filter(x -> { levellingMaterials = levellingMaterials.stream().filter(x -> {
if (!x.getMaterials().isAvailable()) return false; //if (!x.getMaterials().isAvailable()) return false; //TODO: Add spawner check
if (x.getItemStack() == null) return false; if (x.getItemStack() == null) return false;
ItemStack itemStack = new ItemStack(MaterialUtil.correctMaterial(x.getItemStack().getType()), 1, x.getItemStack().getDurability()); ItemStack itemStack = new ItemStack(MaterialUtil.correctMaterial(x.getItemStack().getType()), 1, x.getItemStack().getDurability());
if (itemStack == null || itemStack.getItemMeta() == null) return false; if (itemStack == null || itemStack.getItemMeta() == null) return false;
@ -75,11 +75,11 @@ public class Levelling implements Listener {
nInventoryUtil nInv = new nInventoryUtil(player, null); nInventoryUtil nInv = new nInventoryUtil(player, null);
nInv.addItem( nInv.addItem(
nInv.createItem(Materials.OAK_FENCE_GATE.parseItem(), nInv.createItem(CompatibleMaterial.OAK_FENCE_GATE.getItem(),
configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"), null, null, null, null), configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"), null, null, null, null),
0, 8); 0, 8);
nInv.addItem( nInv.addItem(
nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), nInv.createItem(new ItemStack(CompatibleMaterial.OAK_SIGN.getMaterial()),
configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"), configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"),
configLoad.getStringList("Menu.Admin.Levelling.Item.Information.Lore"), configLoad.getStringList("Menu.Admin.Levelling.Item.Information.Lore"),
new Placeholder[]{new Placeholder("%materials", "" + levellingMaterials.size()), new Placeholder[]{new Placeholder("%materials", "" + levellingMaterials.size()),
@ -89,7 +89,7 @@ public class Levelling implements Listener {
null, null), null, null),
4); 4);
nInv.addItem( nInv.addItem(
nInv.createItem(Materials.BLACK_STAINED_GLASS_PANE.parseItem(), nInv.createItem(CompatibleMaterial.BLACK_STAINED_GLASS_PANE.getItem(),
configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"), null, null, null, null), configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"), null, null, null, null),
9, 10, 11, 12, 13, 14, 15, 16, 17); 9, 10, 11, 12, 13, 14, 15, 16, 17);
@ -184,7 +184,7 @@ public class Levelling implements Listener {
return; return;
} }
if ((event.getCurrentItem().getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) if ((event.getCurrentItem().getType() == CompatibleMaterial.BLACK_STAINED_GLASS_PANE.getMaterial())
&& (is.hasItemMeta()) && (is.hasItemMeta())
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"))))) { configLoad.getString("Menu.Admin.Levelling.Item.Barrier.Displayname"))))) {
@ -192,7 +192,7 @@ public class Levelling implements Listener {
soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F);
return; return;
} else if ((event.getCurrentItem().getType() == Materials.OAK_FENCE_GATE.parseMaterial()) } else if ((event.getCurrentItem().getType() == CompatibleMaterial.OAK_FENCE_GATE.getMaterial())
&& (is.hasItemMeta()) && (is.hasItemMeta())
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"))))) { configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"))))) {
@ -201,7 +201,7 @@ public class Levelling implements Listener {
player.closeInventory(); player.closeInventory();
return; return;
} else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) } else if ((event.getCurrentItem().getType() == CompatibleMaterial.OAK_SIGN.getMaterial()) && (is.hasItemMeta())
&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&',
configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"))))) { configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"))))) {
event.setCancelled(true); event.setCancelled(true);
@ -299,9 +299,9 @@ public class Levelling implements Listener {
if (is.hasItemMeta() && is.getItemMeta().hasDisplayName()) { if (is.hasItemMeta() && is.getItemMeta().hasDisplayName()) {
for (LevellingMaterial materialList : levellingManager.getWorthsAsLevelingMaterials()) { for (LevellingMaterial materialList : levellingManager.getWorthsAsLevelingMaterials()) {
Materials materials = materialList.getMaterials(); CompatibleMaterial materials = materialList.getMaterials();
if (event.getCurrentItem().getType() == MaterialUtil.correctMaterial(materials.parseMaterial()) if (event.getCurrentItem().getType() == MaterialUtil.correctMaterial(materials.getMaterial())
&& ChatColor.stripColor(is.getItemMeta().getDisplayName()).equals(materials.name())) { && ChatColor.stripColor(is.getItemMeta().getDisplayName()).equals(materials.name())) {
event.setCancelled(true); event.setCancelled(true);
@ -408,13 +408,10 @@ public class Levelling implements Listener {
event.setCancelled(true); event.setCancelled(true);
Materials materials; CompatibleMaterial materials = CompatibleMaterial.getMaterial(event.getCurrentItem().getType());
if (NMSUtil.getVersionNumber() < 13) { if (NMSUtil.getVersionNumber() < 13) {
materials = Materials.requestMaterials(event.getCurrentItem().getType().name(), materials.getItem().setData(event.getCurrentItem().getData());
(byte) event.getCurrentItem().getDurability());
} else {
materials = Materials.fromString(event.getCurrentItem().getType().name());
} }
if (levellingManager.hasWorth(materials)) { if (levellingManager.hasWorth(materials)) {