From cb8900d01e0346f4743faa5506a315951f80f59b Mon Sep 17 00:00:00 2001 From: Magnus Ulf Date: Fri, 26 Apr 2019 21:21:08 +0200 Subject: [PATCH] Updated for 1.14 --- .../massivecore/MassivePlugin.java | 4 +-- .../type/enumeration/TypeMaterial.java | 15 -------- .../massivecore/util/FlattenUtil.java | 2 +- .../massivecore/util/InventoryUtil.java | 36 +++++++------------ .../massivecore/util/SignUtil.java | 25 ++++++++++--- 5 files changed, 35 insertions(+), 47 deletions(-) diff --git a/src/com/massivecraft/massivecore/MassivePlugin.java b/src/com/massivecraft/massivecore/MassivePlugin.java index d8218a12..b94dacf4 100644 --- a/src/com/massivecraft/massivecore/MassivePlugin.java +++ b/src/com/massivecraft/massivecore/MassivePlugin.java @@ -422,12 +422,12 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener, Name @SuppressWarnings("unchecked") public List> getClassesActive(String packageName, final Class superClass, Predicate>... predicates) { - if (!Active.class.isAssignableFrom(superClass)) throw new IllegalArgumentException(superClass.getName() + " is not insatnce of Active."); + if (!Active.class.isAssignableFrom(superClass)) throw new IllegalArgumentException(superClass.getName() + " is not instance of Active."); packageName = packageName == null ? "" : "." + packageName; packageName = this.getClass().getPackage().getName() + packageName; - Predicate predicateCombined = MUtil.predicatesAnd(predicates); + Predicate predicateCombined = predicates.length > 0 ? MUtil.predicatesAnd(predicates) : x -> true; Predicate> predicateNotAbstract = type -> !Modifier.isAbstract(type.getModifiers()); Predicate> predicateSubclass = type -> !Modifier.isAbstract(type.getModifiers()); Predicate> predicateSingleton = PredicateIsClassSingleton.get(); diff --git a/src/com/massivecraft/massivecore/command/type/enumeration/TypeMaterial.java b/src/com/massivecraft/massivecore/command/type/enumeration/TypeMaterial.java index d592b926..ca47adb6 100644 --- a/src/com/massivecraft/massivecore/command/type/enumeration/TypeMaterial.java +++ b/src/com/massivecraft/massivecore/command/type/enumeration/TypeMaterial.java @@ -1,11 +1,8 @@ package com.massivecraft.massivecore.command.type.enumeration; -import com.massivecraft.massivecore.collections.MassiveSet; import com.massivecraft.massivecore.util.Txt; import org.bukkit.Material; -import java.util.Set; - public class TypeMaterial extends TypeEnum { // -------------------------------------------- // @@ -21,17 +18,5 @@ public class TypeMaterial extends TypeEnum Txt.parse("https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/Material.java") ); } - - @SuppressWarnings("deprecation") - @Override - public Set getIdsInner(Material value) - { - Set ret = new MassiveSet<>(super.getIdsInner(value)); - - String id = String.valueOf(value.getId()); - ret.add(id); - - return ret; - } } diff --git a/src/com/massivecraft/massivecore/util/FlattenUtil.java b/src/com/massivecraft/massivecore/util/FlattenUtil.java index dca44c43..c5da0760 100644 --- a/src/com/massivecraft/massivecore/util/FlattenUtil.java +++ b/src/com/massivecraft/massivecore/util/FlattenUtil.java @@ -25,7 +25,7 @@ public class FlattenUtil List ret = new MassiveList<>(); // Fill - for (Object item : (Iterable)packed) + for (Object item : (Iterable)packed) { // Recurse ret.addAll(flatten(item)); diff --git a/src/com/massivecraft/massivecore/util/InventoryUtil.java b/src/com/massivecraft/massivecore/util/InventoryUtil.java index 462351b0..b3b64461 100644 --- a/src/com/massivecraft/massivecore/util/InventoryUtil.java +++ b/src/com/massivecraft/massivecore/util/InventoryUtil.java @@ -6,7 +6,6 @@ import com.massivecraft.massivecore.comparator.ComparatorComparable; import com.massivecraft.massivecore.comparator.ComparatorEntryValue; import com.massivecraft.massivecore.event.EventMassiveCoreLorePriority; import com.massivecraft.massivecore.mixin.MixinInventory; -import com.massivecraft.massivecore.predicate.Predicate; import com.massivecraft.massivecore.predicate.PredicateStringStartsWith; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -31,9 +30,9 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map.Entry; +import java.util.stream.Collectors; public class InventoryUtil { @@ -971,7 +970,7 @@ public class InventoryUtil InventoryHolder holder = inventory.getHolder(); int size = inventory.getSize(); if (inventory instanceof PlayerInventory) size = SIZE_PLAYER_STORAGE; - String title = inventory.getTitle(); + String title = ""; ret = MixinInventory.get().createInventory(holder, size, title); } @@ -1229,25 +1228,21 @@ public class InventoryUtil // -------------------------------------------- // // Return true on change - public static boolean removeLoreMatching(ItemStack item, Predicate predicate) + public static boolean removeLoreMatching(ItemStack item, java.util.function.Predicate predicate) { - if (predicate == null) throw new NullPointerException("prefix"); + if (predicate == null) throw new NullPointerException("predicate"); List lore = getLore(item); if (lore == null) return false; - boolean ret = false; - for (Iterator it = lore.iterator(); it.hasNext();) + List newLore = lore.stream().filter(predicate).collect(Collectors.toList()); + if (lore.size() != newLore.size()) { - String line = it.next(); - if (!predicate.apply(line)) continue; - it.remove(); - ret = true; + setLore(item, lore); + return true; } - setLore(item, lore); - - return ret; + return false; } public static boolean removeLoreWithPrefix(ItemStack item, String prefix) @@ -1255,21 +1250,14 @@ public class InventoryUtil return removeLoreMatching(item, PredicateStringStartsWith.get(prefix)); } - public static List getLoreMatching(ItemStack item, Predicate predicate) + public static List getLoreMatching(ItemStack item, java.util.function.Predicate predicate) { - if (predicate == null) throw new NullPointerException("prefix"); + if (predicate == null) throw new NullPointerException("predicate"); List lore = getLore(item); if (lore == null) return null; - for (Iterator it = lore.iterator(); it.hasNext();) - { - String line = it.next(); - if (predicate.apply(line)) continue; - it.remove(); - } - - return lore; + return lore.stream().filter(predicate).collect(Collectors.toList()); } public static List getLoreWithPrefix(ItemStack item, String prefix) diff --git a/src/com/massivecraft/massivecore/util/SignUtil.java b/src/com/massivecraft/massivecore/util/SignUtil.java index 518fe7c2..fd403fe2 100644 --- a/src/com/massivecraft/massivecore/util/SignUtil.java +++ b/src/com/massivecraft/massivecore/util/SignUtil.java @@ -1,5 +1,6 @@ package com.massivecraft.massivecore.util; +import com.massivecraft.massivecore.collections.BackstringSet; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.World; @@ -238,15 +239,29 @@ public class SignUtil // -------------------------------------------- // // IS SIGN // -------------------------------------------- // - + + public static final BackstringSet MATERIALS_SIGN = new BackstringSet<>(Material.class, + "SIGN", // Minecraft 1.? + "WALL_SIGN", // Minecraft 1.? + "ACACIA_SIGN", // Minecraft 1.14 + "ACACIA_WALL_SIGN", // Minecraft 1.14 + "BIRCH_SIGN", // Minecraft 1.14 + "BIRCH_WALL_SIGN", // Minecraft 1.14 + "DARK_OAK_SIGN", // Minecraft 1.14 + "DARK_OAK_WALL_SIGN", // Minecraft 1.14 + "JUNGLE_SIGN", // Minecraft 1.14 + "JUNGLE_WALL_SIGN", // Minecraft 1.14 + "OAK_SIGN", // Minecraft 1.14 + "OAK_WALL_SIGN", // Minecraft 1.14 + "SPRUCE_SIGN", // Minecraft 1.14 + "SPRUCE_WALL_SIGN" // Minecraft 1.14 + ); + public static boolean isSign(Material material) { if (material == null) throw new NullPointerException("material"); - if (material == Material.SIGN) return true; - if (material == Material.WALL_SIGN) return true; - - return false; + return MATERIALS_SIGN.contains(material); } public static boolean isSign(Block block)